system
The system addresses inconsistent data formats by converting and merging data into a unified format, checking for outdated records, and sending alerts, enhancing business efficiency by maintaining data consistency and automating updates.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Conventional data management systems face issues with inconsistent and outdated information across different departments due to disparate data formats, leading to reduced business efficiency and the need for extensive manual checking and correction.
A system that converts data from various formats into a unified format, merges them into a single integrated dataset, checks for outdated records, and generates alert messages to notify responsible personnel, ensuring data consistency and efficiency.
Prevents information from becoming outdated or inconsistent, thereby improving business efficiency by automating the detection and correction of outdated data across multiple departments.
Smart Images

Figure 2026041451000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In conventional data management systems, company information, service information, customer information, service locations, and facilities are all managed in different formats for each department, creating the problem of information being out of date or inconsistent. Such information inconsistencies can lead to reduced business efficiency and problems, and require significant time for checking and correcting. Effective solutions to these problems are needed. [Means for solving the problem]
[0005] This invention provides a system that converts data of different formats into a unified format and merges them into a single integrated dataset. This system has the function of periodically checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time. It also has the function of generating an alert message based on the listed records and notifying the responsible person. This prevents information from being out of date or inconsistent, improving business efficiency.
[0006] A "database" is a set of information systems that efficiently store data and make it easy to search and manage.
[0007] "Getting information" refers to the operation of extracting data stored in a database by query or the like.
[0008] "Format" is a concept that describes how data is structured or formatted.
[0009] A "uniform format" is a standard data structure that converts data of different formats into a consistent format and makes them compatible.
[0010] An "integrated dataset" is a collection of data obtained from multiple databases.
[0011] A "record" refers to an individual data item or row in a database.
[0012] "Last update date and time" is information about the date and time when each record in the database was last updated.
[0013] "Listing" is an operation to extract data that meets specific conditions and display or manage it as a list.
[0014] An "alert message" is a message that alerts or notifies the user.
[0015] A "person in charge" is a person who is entrusted with managing a specific task or data.
[0016] "Notification" is a series of processes used to communicate important information to users. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram illustrating a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0039] Database connection and data retrieval
[0040] The server connects to each department's database and runs programs to retrieve the required information. For example, you can use SQL queries to extract information from the sales, engineering, and management databases.
[0041] Data organization and unification
[0042] The server converts the retrieved data into a common format. This process standardizes the different column names and formats from each database. For example, "Company Name" is unified to "Name" and "Contact Email" is unified.
[0043] Merging Data
[0044] The transformed data is merged into a single unified data set. The server brings together information from several data sources, checking for duplicate data.
[0045] Update Check
[0046] The server checks each record in the integrated data set and lists records whose last update date and time has not been updated for more than a certain period (for example, three months).
[0047] Alerting and Notifications
[0048] The server generates an alert message for the person in charge based on the records that need to be updated. This message includes the last update date and time, record contents, and the person in charge's email address. The generated message is sent to the person in charge by email.
[0049] Specific examples
[0050] For example, when adding new customer data, a salesperson inputs company information. The information is stored in the sales department's database, but other departments also need to be able to reference the data.
[0051] The server runs a scheduled job every day to collect information from each database, unify the format, add the most recent data to the consolidated dataset, and check for data that hasn't been updated in over three months.
[0052] If a record that needs to be updated is found, the server will send an email to inform the sales representative of the information. For example, an error message stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[0053] This system is expected to prevent information from being left out or becoming inconsistent, thereby improving business efficiency.
[0054] The processing flow will be explained below.
[0055] Step 1:
[0056] The server connects to each department's database and retrieves the necessary data. For example, it executes SQL queries on the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[0057] Step 2:
[0058] The server converts the retrieved data into a common format. Specifically, it standardizes the different column names and formats retrieved from each database, converting "company name" to "name" and "contact person email address" to "email address."
[0059] Step 3:
[0060] The server merges the converted data into a single integrated data set, and if there are duplicates, combines them or stores the most recent data first.
[0061] Step 4:
[0062] The server checks the last modified date and time of each record in the integrated dataset. This process is performed periodically, for example, once a week.
[0063] Step 5:
[0064] The server lists records whose last update date and time has not been updated for a certain period of time (for example, three months). In this listing process, the "last update date and time" of each record is checked to determine whether it has passed the criterion.
[0065] Step 6:
[0066] The server generates an alert message based on the records that need to be updated, including information such as the company name, the last update date and time, and the contact's email address.
[0067] Step 7:
[0068] The server will then send an email to the person in charge for the missing records listed, containing an alert message informing the person in charge of the information that needs to be updated.
[0069] Step 8:
[0070] The user, or person in charge, checks the received email and logs in to the system to update the necessary information, such as customer contact information or service provision details.
[0071] Step 9:
[0072] During the next scheduled check, the server will recheck the updated data to ensure that any missing updates have been resolved, thereby maintaining consistency of the information.
[0073] Example 1
[0074] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0075] With conventional data management systems, it was difficult to collect information from different databases in each department, convert it into a unified format, and keep it up to date. Furthermore, if data has not been updated for a certain period of time, the lack of updates or discrepancies in the information could have a negative impact on business operations. A system that can efficiently solve these problems is needed.
[0076] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0077] In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated dataset, means for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a person in charge, means for analyzing the acquired data and converting different column names and formats into a common format, means for checking for duplicate data and unifying it into the latest information, and means for sending the alert message by email.This makes it possible to prevent information from being out of date or inconsistent, and improve business efficiency.
[0078] A "database" is a collection of systems that store data managed by different departments of a company or organization.
[0079] "Means for obtaining information" refers to the processes, devices, and programs that connect to each database and extract the necessary information.
[0080] "Data in different formats" refers to data stored in each department's database with different input formats and column names.
[0081] A "uniform format" refers to a specification or format for converting data of different formats into a standardized common format.
[0082] "Integrated Dataset" means a collection of data that has been converted into a unified format and stored in a centralized manner.
[0083] "Last updated date and time" refers to the date and time when each record was last changed or updated.
[0084] "Records that have not been updated for a certain period of time" refers to data that has not been changed or updated for a specific period of time (for example, three months) since the last update date and time.
[0085] The "listing means" refers to a process, device, or program that detects records that have not been updated and compiles them into a list.
[0086] "Alert Message" means a notification that is generated based on certain conditions and sent to alert you to a problem or issue.
[0087] "Person in Charge" means an individual or group responsible for managing a particular task or data.
[0088] "Means for notifying" refers to a device, process, or program for communicating a generated alert message to a responsible party.
[0089] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0090] Database connection and data retrieval
[0091] When it is time to execute a scheduled job, the server automatically connects to each department's database. To connect, it uses software such as MySQL (registered trademark) or PostgreSQL, which is used as the database management system (DBMS). The server executes SQL queries against each database to obtain the required information. For example, to extract information from the sales department database, it executes a query to obtain data from a specific period.
[0092] Data organization and unification
[0093] The server analyzes the data it receives and converts the different column names and formats from each database into a common format. This process converts different notations and formats into standard names and formats. For example, the "CompanyName" column in the sales department's database can be changed to "Name," and the "ContactEmail" column in the engineering department can be unified to "Contact Email." This method uses the Python Pandas library, among others.
[0094] Merging Data
[0095] The server merges the organized data into a single integrated dataset. During this process, if there is any duplicate data, it checks that data and unifies it with the latest information. Again, this process uses libraries such as Pandas in Python to merge data frames and eliminate duplicates.
[0096] Update Check
[0097] The server checks the last update date and time of each record in the integrated dataset. It lists records whose last update date and time has not been updated for a certain period of time (for example, 3 months). This process is also achieved using the filtering function of Pandas.
[0098] Alerting and Notifications
[0099] The server generates an alert message for the person in charge based on the records that need to be updated. This message contains information such as the last update date and time, the record contents, and the person in charge's email address. The generated message is sent as an email. This is done using the Python smtplib library.
[0100] Specific examples
[0101] For example, when adding new customer data, a sales representative enters company information. That information is stored in the sales department's database, but other departments also need to be able to access that data. The server runs a scheduled job every day to collect information from each database and standardize the format. It then adds the latest data to the integrated dataset and checks for data that has not been updated for more than three months. If any records that need to be updated are found, the server sends an email to notify the sales representative. For example, the server could send an error message to the sales representative stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[0102] This system is expected to prevent information from being left out or becoming inconsistent, and improve business efficiency.
[0103] Prompt Sentence Examples
[0104] "Design a system that collects information from various departments in the company's databases, standardizes the format, and merges it into a unified data set. This system should generate an alert and notify the appropriate person if the data hasn't been updated in over three months."
[0105] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0106] Step 1:
[0107] When it's time to run a scheduled job, the server automatically connects to each department's database. The input is the connection information for each database, and the output is the establishment of a database connection. Specifically, it uses software such as MySQL or PostgreSQL as the database management system (DBMS), connects to the appropriate database, and executes SQL queries to retrieve the required information.
[0108] Step 2:
[0109] The server executes SQL queries against each database to retrieve data. The input is the SQL query, and the output is the retrieved data. Specifically, it executes the following query from the sales department database:
[0110] sql
[0111] SELECT FROM sales_data WHERE date >= '2023-01-01';
[0112] This query retrieves data for a specific time period.
[0113] Step 3:
[0114] The server analyzes the data it receives and converts the different column names and formats obtained from each database into a common format. The input is the raw data obtained from each department, and the output is the data converted into a unified format. Specifically, it uses the Python Pandas library to convert the column names as follows:
[0115] python
[0116] import pandas as pd
[0117] df_sales = pd.read_sql('SELECT FROM sales_data WHERE date >= "2023-01-01"', con=conn_sales)
[0118] df_sales.rename(columns={'CompanyName': 'Name', 'ContactEmail': 'Contact Email'}, inplace=True)
[0119] Step 4:
[0120] The server merges the cleaned data into a single unified dataset. The input is multiple datasets converted to a unified format, and the output is the unified dataset. Specifically, it uses the Pandas library to merge data frames and remove duplicates:
[0121] python
[0122] df_all = pd.concat([df_sales, df_tech, df_admin]).drop_duplicates()
[0123] Step 5:
[0124] The server checks the last update date and time of each record in the combined dataset. The input is the combined dataset, and the output is a list of records that haven't been updated for a certain period of time. Specifically, we use Pandas to filter out records that haven't been updated for more than three months:
[0125] python
[0126] outdated_records = df_all[df_all['Last updated date and time'] < (pd.Timestamp.now() - pd.DateOffset(months=3))]
[0127] Step 6:
[0128] The server generates an alert message for the person in charge based on the records that need to be updated. The input is a list of old records, and the output is the alert message. Specifically, the server generates the content of the alert email based on the information in each record.
[0129] Step 7:
[0130] The server notifies the person in charge of the generated alert message. The input is the generated alert message, and the output is the email that was sent. The specific operation of sending an email using Python's smtplib library is as follows:
[0131] python
[0132] import smtplib
[0133] from email.mime.text import MIMEText
[0134] for index, row in outdated_records.iterrows():
[0135] msg = MIMEText(f"The record for {row['Name']} has not been updated for more than three months. Please check the latest information and update it.")
[0136] msg['Subject'] = "Data Update Reminder"
[0137] msg['From'] = "admin@example.com"
[0138] msg['To'] = row['Contact Email']
[0139] with smtplib.SMTP('smtp.example.com') as server:
[0140] server.send_message(msg)
[0141] Through these steps, the server can automatically perform a series of processes, from retrieving information from each database to sending alert messages. This system can prevent information from being left out or becoming inconsistent, and is expected to improve business efficiency.
[0142] (Application example 1)
[0143] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0144] In security systems, information from multiple databases is not centrally managed, and data updates may not be performed appropriately. In addition, it is difficult to identify data that has not been updated, which can lead to delayed responses. As a result, there is a risk of increasing security risks.
[0145] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0146] In this invention, the server includes: means for acquiring information from each database and converting data of different formats into a unified format; means for merging the data converted into the unified format into a single integrated data set; means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time; means for generating an alert message based on the listed records and notifying a security officer; means for sending the notification message by email; means for applying the list to the monitoring system database, listing data that has not been updated, and notifying a security officer; and means for including details of records that have not been updated in the notification message. This enables centralized management of data, making it possible to identify data that has not been updated and to take prompt action.
[0147] A database is a system that organizes and manages information in a certain format, allowing it to be efficiently searched, stored, and updated.
[0148] A "server" is a computer system that provides services to other computers and devices over a network.
[0149] A "unified format" is a format for converting data of different formats into one common format.
[0150] An "integrated dataset" is a dataset that combines information obtained from multiple data sources.
[0151] "Last updated date and time" is the date and time when the data was last changed or updated.
[0152] The "certain period" refers to a specific period that has been set in advance, and in this case it mainly refers to 90 days.
[0153] "Listing" is an operation for extracting items that meet a condition and compiling them into a list.
[0154] An "alert message" is a message that notifies you when an abnormality or a specific condition occurs.
[0155] A "person in charge" is an individual or department with a specific task or responsibility.
[0156] "Email" means a form of message sent and received electronically over the Internet.
[0157] A "surveillance system" is a system that uses sensors and cameras to monitor and record specific environments and situations.
[0158] A "security officer" is an individual or department that manages and monitors security systems and responds to incidents.
[0159] "Centralized data management" means managing information from multiple data sources in a unified manner and keeping it available.
[0160] This invention provides a system for improving the efficiency of data management in a security system and for quickly detecting and addressing defects in data updates. Below, we will explain how to build and operate this system as a specific embodiment.
[0161] Hardware and Software
[0162] The system consists of the following hardware and software:
[0163] Server: A web server using Python and Flask for data handling and processing.
[0164] Database: PostgreSQL database for storing and searching various data
[0165] Mail Server: SMTP server for sending alert messages
[0166] Device: Smartphone used by security personnel
[0167] Data processing and calculation
[0168] 1. Data Acquisition
[0169] The server retrieves data using SQL queries against each database (e.g. camera feed database, access log database, and alarm system database), which captures information in different formats.
[0170] 2. Data unification
[0171] The server converts the retrieved data into a unified format, which includes standardizing the different column names and data formats of each database.
[0172] 3. Data Merge
[0173] The data converted into a unified format is merged by the server into a single integrated data set, checking for duplicate records during the merge and creating a single comprehensive data set.
[0174] 4. Update Check
[0175] The server periodically checks the last update date and time of each record in the integrated data set, and lists records that have not been updated for a certain period of time (for example, 90 days).
[0176] 5. Alerting and Notification
[0177] Based on the records that have not been updated, the server generates an alert message and notifies the responsible person via email, which contains details of the records that have not been updated.
[0178] Specific examples
[0179] For example, data from the surveillance camera database, the access record database, and the alarm system database is collected daily, converted into a unified format, and compiled into an integrated data set. The server checks the integrated data set, and if it finds a record whose last update date and time has not been updated for more than 90 days, it sends an email to the security officer's smartphone stating, "The record from camera 3 has not been updated for 90 days. Please check again."
[0180] Prompt Sentence Examples
[0181] Regularly check each database (camera feed, access log, alarm system) and list any records that have not been updated for more than 90 days. The email will include details of the records that have not been updated (such as camera ID and login date and time).
[0182] This will improve the efficiency of data management for security systems, making it possible to identify data that has not been updated and to take prompt action.
[0183] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0184] Step 1:
[0185] The server uses the connection information for each database (e.g. camera feeds, access logs, alarm systems) to execute SQL queries to retrieve the required information from each database. The input is the connection information for each database and the SQL query, and the output is the raw data retrieved from each database.
[0186] Step 2:
[0187] The server converts the raw data it receives into a unified format. This conversion standardizes the different column names and data formats of each database. For example, it standardizes "camera ID" to "device ID." The input is the raw data received from each database, and the output is the data converted into a unified format.
[0188] Step 3:
[0189] The server merges the unified data into a single unified dataset. This merge process checks for duplicate records and creates a unique dataset. The input is the unified data from each database, and the output is the unified dataset.
[0190] Step 4:
[0191] The server periodically checks the last modified date and time of each record in the consolidated dataset. For example, it runs a scheduled job to perform this check at a fixed time each day. The input is the consolidated dataset, and the output is a list of records that have not been updated for a certain period of time (e.g., 90 days).
[0192] Step 5:
[0193] The server lists records that have not been updated and generates an alert message based on the list. The alert message includes the last update date and time, record details, and contact information of the person in charge. The input is the list of listed records, and the output is the generated alert message.
[0194] Step 6:
[0195] The server sends the generated alert message via email to the security officer, containing details of the records that have not been updated. The input is the generated alert message, and the output is the email sent to the security officer's smartphone.
[0196] Step 7:
[0197] The security officer (user) receives the email on their device (smartphone) and takes immediate action based on the missing data, such as rechecking the camera feed or checking for malfunctioning alarm systems. The input is the email sent from the server, and the output is the security response action.
[0198] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0199] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates emotion engines that recognize user emotions, and provides appropriate notifications based on the user's emotions.
[0200] Database connection and data retrieval
[0201] The server connects to each department's database and retrieves the required information. This process executes SQL queries against different databases, such as sales, engineering, and management, to extract company, customer, and service information.
[0202] Data organization and unification
[0203] Convert the retrieved data into a common format. The server standardizes the different column names and formats retrieved from each database. For example, convert "company name" to "name" and "contact person email address" to "email address."
[0204] Merging Data
[0205] The converted data is compiled into a single integrated data set, and the server prioritizes storing the most recent data when duplicate data exists.
[0206] Update Check
[0207] The server periodically checks each record in the integrated data set and lists records whose last update date and time is more than a certain period (for example, three months).
[0208] Alert generation and notification preparation
[0209] Generates alert messages based on records that need updating. The server creates messages containing information such as email address, company name, and last update date.
[0210] Use of emotion engine
[0211] An emotion engine is used to recognize the user's emotions. The device analyzes the user's operations, facial expressions, voice input, etc. to generate emotion data. This data is sent to the server.
[0212] Customizing Notification Handling
[0213] The server customizes the content, timing, and method of notifications based on emotional data. For example, if the user is feeling stressed, the server may soften the content of notifications or reduce the frequency of notifications.
[0214] Specific examples
[0215] For example, if new customer information hasn't been updated for more than three months, the server generates an alert message. This message includes the company name, the last update date and time, and the email address of the person in charge. The emotion engine recognizes whether the user is currently busy or stressed through the device.
[0216] As a result, the server will adjust the content of the email depending on the user's situation. For example, it could change the content to something like, "Company A's information hasn't been updated for over three months. We apologize for bothering you, but we need to update it to the latest information." Also, if the user is extremely focused on other tasks, it may consider delaying the notification.
[0217] This system is expected to improve work efficiency by preventing information from being left out or becoming inconsistent, and by providing efficient notifications while taking users' feelings into consideration.
[0218] The processing flow will be explained below.
[0219] Step 1:
[0220] The server connects to each department's database and retrieves the necessary information. It executes SQL queries against the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[0221] Step 2:
[0222] The server converts the retrieved data into a common format, unifying the different column names and formats retrieved from each database, such as "company name" to "name" and "contact person email address" to "email address."
[0223] Step 3:
[0224] The converted data is merged into a single integrated data set. During this process, if there is duplicate data, the server will prioritize and store the most recent data. For example, if information about the same company is obtained from multiple departments, the data with the most recent update date and time will be selected and integrated.
[0225] Step 4:
[0226] The server periodically checks the last modified date and time of each record in the integrated dataset. For example, it runs this checking process once a week and lists records whose last modified date and time is more than three months old.
[0227] Step 5:
[0228] After listing the records that need to be updated, the server generates an alert message that includes information such as the company name, the date and time of the last update, and the email address of the person responsible.
[0229] Step 6:
[0230] The device uses an emotion engine to analyze the user's operations, facial expressions, voice input, etc., and generates emotional data about the user. For example, the device can capture the user's facial expressions while using a computer or smartphone with a camera and analyze them.
[0231] Step 7:
[0232] The server receives the emotion data generated by the emotion engine and customizes the content and timing of the alert message based on that data. For example, if the user is feeling stressed, the notification content will be softened.
[0233] Step 8:
[0234] The server sends the generated alert message as an email to the person in charge, which includes a customized message that reflects the user's emotional data.
[0235] Step 9:
[0236] The user (person in charge) checks the received email and logs in to the system to update the necessary information, for example, updating the customer's contact information and service provision details.
[0237] Step 10:
[0238] During the next scheduled check, the server will recheck the updated data to ensure that the missing updates have been resolved, thereby maintaining consistency of the information.
[0239] Example 2
[0240] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0241] In modern companies, multiple departments, such as sales, engineering, and management, manage data independently, making it extremely important to integrate and centrally manage this data. However, differences in data formats and delays in updates can disrupt operations. Furthermore, there is a need for a notification method that can respond appropriately when users are busy or stressed. Conventional systems do not provide a notification method that takes emotions into account, and no satisfactory solution has been found in this regard.
[0242] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0243] In this invention, the server includes means for acquiring information from each database and converting data in different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for generating emotion data using an emotion analysis engine for recognizing user emotions, and means for customizing the content and timing of the alert based on the emotion data. This not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[0244] A "database" is a system for storing information in an organized manner and for efficiently searching and updating information as needed.
[0245] A "unified format" is a format that makes data with different formats and structures consistent according to common standards.
[0246] An "integrated dataset" is a collection of data obtained from multiple different data sources.
[0247] "Last update date and time" is information indicating the date and time when specific data was last updated.
[0248] An "alert message" is an informational or warning message that is generated based on a specific condition and notified to the user.
[0249] An "emotion analysis engine" is an algorithm or program that analyzes a user's actions, facial expressions, voice, etc. to recognize the user's current emotions.
[0250] "Emotion data" is data generated by an emotion analysis engine that indicates the emotional state of a user.
[0251] "Customization" refers to adjusting or changing the functionality or content of a system or service to meet specific needs or conditions.
[0252] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates a sentiment analysis engine that recognizes user emotions and provides appropriate notifications based on the user's emotions.
[0253] First, the server connects to the databases of each department (sales, engineering, management, etc.) to retrieve the required information. This process uses database connection libraries (for example, JDBC drivers or the Python psycopg2 library). The server then runs SQL queries against each database to extract company, customer, and service information.
[0254] Next, the server converts the retrieved data into a common format. Specifically, it uses Python's Pandas library to create a data frame and standardizes column names and data formats. For example, it converts the "company name" retrieved from the Oracle database into "name," and the "contact person email address" retrieved from the MySQL database into "email address." It also converts different data formats into a common format (e.g., ISO 8601).
[0255] The server then merges the different data sets obtained from each database into one. Again, this uses the Pandas merge method. If duplicate data exists, the most recent data is saved first. Specifically, the most recent data among the duplicate records is retained using the drop_duplicates method.
[0256] The server then scans each record in the combined dataset to check its last modified date and time. It uses Pandas and the Python datetime module to list records whose last modified date and time are older than a certain period (e.g., three months). It then generates an alert message based on the listed records. The server then uses the Python smtplib library to prepare the email content and send it as an email.
[0257] To recognize the user's emotions, the device analyzes the user's operations, facial expressions, and voice input to generate emotion data. This process uses IBM Watson (registered trademark) emotion analysis API, among others. The generated emotion data is then sent to the server.
[0258] Finally, the server customizes the content and timing of notifications based on the received emotion data, using a generative AI model (e.g., OpenAI's GPT-3®) to generate the content of the notification email.
[0259] Below are some examples of prompt sentences:
[0260] Example prompt sentence:
[0261] "Generate notification email content when user is busy:
[0262] Original message: 'Company A's information hasn't been updated for over three months. We apologize for the inconvenience, but we need to update it with the latest information.'
[0263] Using this prompt, the specific notification content can be automatically generated by a generative AI model. This system not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[0264] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0265] Step 1:
[0266] The server connects to each department's database. As input, it receives database connection information (e.g., hostname, port, username, and password). The library used is, for example, a JDBC driver or the Python psycopg2 library. As output, it generates a database connection object. The server uses this object to perform database operations.
[0267] Step 2:
[0268] The server executes SQL queries to retrieve the required information from each database. As input, it receives an SQL query (e.g. SELECT FROM customer_info) and a database connection object. It executes the query to extract data such as company information, customer information, and service information. The output is a list of the extracted data. The extracted data is temporarily stored in memory.
[0269] Step 3:
[0270] The server converts the column names and data format of the retrieved data into a unified format. It receives a list of extracted data as input. Specifically, it creates a data frame using Python's Pandas library and changes the column names. For example, it converts "Company Name" to "Name" and "Contact Email" to "Email Address." It also converts the date format to ISO 8601. The output is a data frame converted into a unified format.
[0271] Step 4:
[0272] The server merges the data converted to a unified format into a single unified dataset. As input, it receives multiple data frames. It merges them into a single data frame using the Pandas merge method. If duplicate data exists, it preserves the most recent information first. The output is a data frame of the unified dataset. This data frame has duplicates removed and a consistent structure.
[0273] Step 5:
[0274] The server checks the last modified date of each record in the combined dataset. As input, it receives the data frame of the combined dataset. It uses Pandas and the Python datetime module to filter records whose last modified date is older than a certain period (e.g., 3 months). The output is a list of records that need to be updated. This list includes records that are overdue for updates.
[0275] Step 6:
[0276] The server generates an alert message based on the listed records. As input, it receives a list of records that need to be updated and detailed information about each record (e.g., company name, last update date, email address). For example, it creates an alert message that includes the company name and last update date. The output is the generated alert message.
[0277] Step 7:
[0278] The server notifies the person in charge of the generated alert message. It receives the alert message and the destination email address as input. It sends it as an email using the Python smtplib library. The output is the notification sending status.
[0279] Step 8:
[0280] The device analyzes the user's operations, facial expressions, and voice input to generate emotional data. It receives the user's operation log and voice data as input. It recognizes the user's emotional state using IBM Watson's emotion analysis API. The output is the generated emotional data. This data indicates the user's stress level and concentration level.
[0281] Step 9:
[0282] The server customizes the content and timing of alerts based on the emotional data. It receives the generated emotional data and the original alert message as input. It uses a generative AI model (e.g., OpenAI's GPT-3) to generate the content of the notification email based on the emotional state. An example prompt is "Generate the content of a notification email when the user is busy: Original message: 'Company A's information has not been updated for over three months. We apologize for bothering you, but you need to update to the latest information.'" The output is a customized notification email.
[0283] (Application example 2)
[0284] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0285] While traditional data integration systems could retrieve information from each department's database and merge it into an integrated data set, their notifications were mechanical and did not take into account the user's emotions or situation. This made it difficult to work efficiently, especially under stress or in busy environments. Furthermore, in environments where real-time feedback was required, these mechanical notifications could be counterproductive.
[0286] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for acquiring user emotion data and customizing the content and timing of the notification, and means for analyzing the user's emotions in real time using an emotion engine. This enables flexible notification according to the user's emotions and situation, thereby improving business efficiency and user satisfaction.
[0287] A "database" is a system for collecting and storing information owned by each department.
[0288] "Means for obtaining information" refers to the process by which the server accesses each database and extracts the required information.
[0289] "Means of converting to a unified format" is the process of standardizing different data formats and arranging them into a consistent format.
[0290] "Means of merging into a unified dataset" refers to the process of assembling data converted into a unified format into a single dataset.
[0291] The "means for checking the last update date and time" is a process for checking the most recent update date and time of each record in the integrated data set.
[0292] The "means for listing records that have not been updated for a certain period of time" is a process for extracting records whose last update date and time exceeds a set period of time.
[0293] The "means for generating alert messages" is the process that creates notifications based on the listed records.
[0294] "Means for notifying personnel" is the process of sending the generated alert message to personnel.
[0295] "Means for acquiring emotional data" refers to the process of collecting emotional information from the user's facial expressions, voice, operations, etc.
[0296] "Means for customizing notification content and timing" refers to the process of adjusting the content and timing of notifications based on the acquired emotion data.
[0297] The "emotion engine" is a system that analyzes user emotions in real time and generates emotion data.
[0298] The system for implementing this invention is composed of several hardware and software components. Specifically, it uses smart glasses, a server, a database, and an emotion engine. The present invention achieves its functions through the following steps:
[0299] First, the server connects to each database to retrieve information. For example, a relational database management system like MySQL is used to retrieve company information, customer information, product information, etc. from the database, and converts the data from different formats into a unified format. This process standardizes the retrieved data and organizes it into a consistent format.
[0300] The server then merges the data converted into a unified format into a single integrated dataset. Duplicate data is combined into a single dataset, with the most recent data taking priority. It then periodically checks the last update date and time of each record and lists records that have not been updated for a certain period of time (e.g., three months).
[0301] Based on this list of records, the server generates an alert message and notifies the responsible person. This notification is often sent by email. The notification content includes the company name, the last update date and time, and the responsible person's email address.
[0302] Furthermore, the smart glasses are used by an emotion engine to acquire the user's emotion data. The smart glasses capture the user's facial expressions, voice, and operation data in real time, and generate emotion data based on this. This emotion data is then analyzed using an emotion engine such as the Microsoft® Azure® Emotion Analysis API.
[0303] Emotion data is sent to a server, which then uses this data to customize the content and timing of notifications. For example, if a user is busy or stressed, notifications can be softened or sent less frequently. Additionally, if positive emotions are detected in real time, the system can notify users of special offers or additional purchase incentives.
[0304] For example, consider the following prompt:
[0305] "When the sentiment engine analysis result for the customer's question 'Please tell me information about product A' is 'positive', please generate the following notification."
[0306] This makes it possible to provide flexible notifications according to the user's emotions and circumstances, thereby improving work efficiency and user satisfaction.
[0307] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0308] Step 1:
[0309] The server connects to each database and retrieves information. Specifically, it uses SQL queries to extract company, customer, and product information from the databases of the sales, engineering, and management departments. It receives connection information and SQL queries for each database as input and obtains the required information as output.
[0310] Step 2:
[0311] The server converts the acquired data into a unified format, specifically standardizing different data formats (e.g., unifying "company name," "business name," and "corporation" into "name"). It receives the acquired raw data as input and generates standardized data as output.
[0312] Step 3:
[0313] The server merges the standardized data into a single integrated data set. If there are any duplicates, the resulting data is integrated, with the most recent data taking priority. It receives standardized departmental data as input and generates an integrated data set as output.
[0314] Step 4:
[0315] The server periodically checks the last update date and time of each record in the integrated dataset and lists records that have not been updated for a certain period of time (e.g., three months).It receives the integrated dataset as input and generates a list of records that need to be updated as output.
[0316] Step 5:
[0317] The server generates an alert message based on the listed records and notifies the person in charge. Specifically, it creates a message including the company name, last update date and time, and the person in charge's contact information and sends it by email. It receives the listed records and the person in charge's email address as input and generates an alert message as output.
[0318] Step 6:
[0319] The device (smart glasses) captures the user's facial expressions and voice and generates emotion data. Specifically, it analyzes the user's operations and voice and generates emotion data using an emotion engine (for example, Microsoft Azure Emotion Analysis API). It receives the user's facial expressions and voice data as input and generates emotion data as output.
[0320] Step 7:
[0321] The server customizes the content and timing of notifications based on emotional data. Specifically, it determines the user's level of stress and adjusts the tone of the notification to a softer tone. It also considers delaying notifications if the user is highly focused. It receives emotional data and the generated alert message as input and generates a customized message as output.
[0322] Step 8:
[0323] The server notifies the user with a customized message. Specifically, it sends the message via email or other notification means as described above. It receives the customized message as input and notifies the user as output.
[0324] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0325] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0326] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0327] [Second embodiment]
[0328] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0329] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0330] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0331] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0332] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0333] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0334] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0335] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0336] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0337] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0338] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0339] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0340] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0341] Database connection and data retrieval
[0342] The server connects to each department's database and runs programs to retrieve the required information. For example, you can use SQL queries to extract information from the sales, engineering, and management databases.
[0343] Data organization and unification
[0344] The server converts the retrieved data into a common format. This process standardizes the different column names and formats from each database. For example, "Company Name" is unified to "Name" and "Contact Email" is unified.
[0345] Merging Data
[0346] The transformed data is merged into a single unified data set. The server brings together information from several data sources, checking for duplicate data.
[0347] Update Check
[0348] The server checks each record in the integrated data set and lists records whose last update date and time has not been updated for more than a certain period (for example, three months).
[0349] Alerting and Notifications
[0350] The server generates an alert message for the person in charge based on the records that need to be updated. This message includes the last update date and time, record contents, and the person in charge's email address. The generated message is sent to the person in charge by email.
[0351] Specific examples
[0352] For example, when adding new customer data, a salesperson inputs company information. The information is stored in the sales department's database, but other departments also need to be able to reference the data.
[0353] The server runs a scheduled job every day to collect information from each database, unify the format, add the most recent data to the consolidated dataset, and check for data that hasn't been updated in over three months.
[0354] If a record that needs to be updated is found, the server will send an email to inform the sales representative of the information. For example, an error message stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[0355] This system is expected to prevent information from being left out or becoming inconsistent, thereby improving business efficiency.
[0356] The processing flow will be explained below.
[0357] Step 1:
[0358] The server connects to each department's database and retrieves the necessary data. For example, it executes SQL queries on the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[0359] Step 2:
[0360] The server converts the retrieved data into a common format. Specifically, it standardizes the different column names and formats retrieved from each database, converting "company name" to "name" and "contact person email address" to "email address."
[0361] Step 3:
[0362] The server merges the converted data into a single integrated data set, and if there are duplicates, combines them or stores the most recent data first.
[0363] Step 4:
[0364] The server checks the last modified date and time of each record in the integrated dataset. This process is performed periodically, for example, once a week.
[0365] Step 5:
[0366] The server lists records whose last update date and time has not been updated for a certain period of time (for example, three months). In this listing process, the "last update date and time" of each record is checked to determine whether it has passed the criterion.
[0367] Step 6:
[0368] The server generates an alert message based on the records that need to be updated, including information such as the company name, the last update date and time, and the contact's email address.
[0369] Step 7:
[0370] The server will then send an email to the person in charge for the missing records listed, containing an alert message informing the person in charge of the information that needs to be updated.
[0371] Step 8:
[0372] The user, or person in charge, checks the received email and logs in to the system to update the necessary information, such as customer contact information or service provision details.
[0373] Step 9:
[0374] During the next scheduled check, the server will recheck the updated data to ensure that any missing updates have been resolved, thereby maintaining consistency of the information.
[0375] Example 1
[0376] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0377] With conventional data management systems, it was difficult to collect information from different databases in each department, convert it into a unified format, and keep it up to date. Furthermore, if data has not been updated for a certain period of time, the lack of updates or discrepancies in the information could have a negative impact on business operations. A system that can efficiently solve these problems is needed.
[0378] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0379] In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated dataset, means for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a person in charge, means for analyzing the acquired data and converting different column names and formats into a common format, means for checking for duplicate data and unifying it into the latest information, and means for sending the alert message by email.This makes it possible to prevent information from being out of date or inconsistent, and improve business efficiency.
[0380] A "database" is a collection of systems that store data managed by different departments of a company or organization.
[0381] "Means for obtaining information" refers to the processes, devices, and programs that connect to each database and extract the necessary information.
[0382] "Data in different formats" refers to data stored in each department's database with different input formats and column names.
[0383] A "uniform format" refers to a specification or format for converting data of different formats into a standardized common format.
[0384] "Integrated Dataset" means a collection of data that has been converted into a unified format and stored in a centralized manner.
[0385] "Last updated date and time" refers to the date and time when each record was last changed or updated.
[0386] "Records that have not been updated for a certain period of time" refers to data that has not been changed or updated for a specific period of time (for example, three months) since the last update date and time.
[0387] The "listing means" refers to a process, device, or program that detects records that have not been updated and compiles them into a list.
[0388] "Alert Message" means a notification that is generated based on certain conditions and sent to alert you to a problem or issue.
[0389] "Person in Charge" means an individual or group responsible for managing a particular task or data.
[0390] "Means for notifying" refers to a device, process, or program for communicating a generated alert message to a responsible party.
[0391] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0392] Database connection and data retrieval
[0393] When it's time to run a scheduled job, the server automatically connects to each department's database. This connection uses software such as MySQL or PostgreSQL, which is used as a database management system (DBMS). The server executes SQL queries against each database to obtain the required information. For example, to extract information from the sales department database, the server executes a query to obtain data from a specific period.
[0394] Data organization and unification
[0395] The server analyzes the data it receives and converts the different column names and formats from each database into a common format. This process converts different notations and formats into standard names and formats. For example, the "CompanyName" column in the sales department's database can be changed to "Name," and the "ContactEmail" column in the engineering department can be unified to "Contact Email." This method uses the Python Pandas library, among others.
[0396] Merging Data
[0397] The server merges the organized data into a single integrated dataset. During this process, if there is any duplicate data, it checks that data and unifies it with the latest information. Again, this process uses libraries such as Pandas in Python to merge data frames and eliminate duplicates.
[0398] Update Check
[0399] The server checks the last update date and time of each record in the integrated dataset. It lists records whose last update date and time has not been updated for a certain period of time (for example, 3 months). This process is also achieved using the filtering function of Pandas.
[0400] Alerting and Notifications
[0401] The server generates an alert message for the person in charge based on the records that need to be updated. This message contains information such as the last update date and time, the record contents, and the person in charge's email address. The generated message is sent as an email. This is done using the Python smtplib library.
[0402] Specific examples
[0403] For example, when adding new customer data, a sales representative enters company information. That information is stored in the sales department's database, but other departments also need to be able to access that data. The server runs a scheduled job every day to collect information from each database and standardize the format. It then adds the latest data to the integrated dataset and checks for data that has not been updated for more than three months. If any records that need to be updated are found, the server sends an email to notify the sales representative. For example, the server could send an error message to the sales representative stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[0404] This system is expected to prevent information from being left out or becoming inconsistent, and improve business efficiency.
[0405] Prompt Sentence Examples
[0406] "Design a system that collects information from various departments in the company's databases, standardizes the format, and merges it into a unified data set. This system should generate an alert and notify the appropriate person if the data hasn't been updated in over three months."
[0407] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0408] Step 1:
[0409] When it's time to run a scheduled job, the server automatically connects to each department's database. The input is the connection information for each database, and the output is the establishment of a database connection. Specifically, it uses software such as MySQL or PostgreSQL as the database management system (DBMS), connects to the appropriate database, and executes SQL queries to retrieve the required information.
[0410] Step 2:
[0411] The server executes SQL queries against each database to retrieve data. The input is the SQL query, and the output is the retrieved data. Specifically, it executes the following query from the sales department database:
[0412] sql
[0413] SELECT FROM sales_data WHERE date >= '2023-01-01';
[0414] This query retrieves data for a specific time period.
[0415] Step 3:
[0416] The server analyzes the data it receives and converts the different column names and formats obtained from each database into a common format. The input is the raw data obtained from each department, and the output is the data converted into a unified format. Specifically, it uses the Python Pandas library to convert the column names as follows:
[0417] python
[0418] import pandas as pd
[0419] df_sales = pd.read_sql('SELECT FROM sales_data WHERE date >= "2023-01-01"', con=conn_sales)
[0420] df_sales.rename(columns={'CompanyName': 'Name', 'ContactEmail': 'Contact Email'}, inplace=True)
[0421] Step 4:
[0422] The server merges the cleaned data into a single unified dataset. The input is multiple datasets converted to a unified format, and the output is the unified dataset. Specifically, it uses the Pandas library to merge data frames and remove duplicates:
[0423] python
[0424] df_all = pd.concat([df_sales, df_tech, df_admin]).drop_duplicates()
[0425] Step 5:
[0426] The server checks the last update date and time of each record in the combined dataset. The input is the combined dataset, and the output is a list of records that haven't been updated for a certain period of time. Specifically, we use Pandas to filter out records that haven't been updated for more than three months:
[0427] python
[0428] outdated_records = df_all[df_all['Last updated date and time'] < (pd.Timestamp.now() - pd.DateOffset(months=3))]
[0429] Step 6:
[0430] The server generates an alert message for the person in charge based on the records that need to be updated. The input is a list of old records, and the output is the alert message. Specifically, the server generates the content of the alert email based on the information in each record.
[0431] Step 7:
[0432] The server notifies the person in charge of the generated alert message. The input is the generated alert message, and the output is the email that was sent. The specific operation of sending an email using Python's smtplib library is as follows:
[0433] python
[0434] import smtplib
[0435] from email.mime.text import MIMEText
[0436] for index, row in outdated_records.iterrows():
[0437] msg = MIMEText(f"The record for {row['Name']} has not been updated for more than three months. Please check the latest information and update it.")
[0438] msg['Subject'] = "Data Update Reminder"
[0439] msg['From'] = "admin@example.com"
[0440] msg['To'] = row['Contact Email']
[0441] with smtplib.SMTP('smtp.example.com') as server:
[0442] server.send_message(msg)
[0443] Through these steps, the server can automatically perform a series of processes, from retrieving information from each database to sending alert messages. This system can prevent information from being left out or becoming inconsistent, and is expected to improve business efficiency.
[0444] (Application example 1)
[0445] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0446] In security systems, information from multiple databases is not centrally managed, and data updates may not be performed appropriately. In addition, it is difficult to identify data that has not been updated, which can lead to delayed responses. As a result, there is a risk of increasing security risks.
[0447] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0448] In this invention, the server includes: means for acquiring information from each database and converting data of different formats into a unified format; means for merging the data converted into the unified format into a single integrated data set; means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time; means for generating an alert message based on the listed records and notifying a security officer; means for sending the notification message by email; means for applying the list to the monitoring system database, listing data that has not been updated, and notifying a security officer; and means for including details of records that have not been updated in the notification message. This enables centralized management of data, making it possible to identify data that has not been updated and to take prompt action.
[0449] A database is a system that organizes and manages information in a certain format, allowing it to be efficiently searched, stored, and updated.
[0450] A "server" is a computer system that provides services to other computers and devices over a network.
[0451] A "unified format" is a format for converting data of different formats into one common format.
[0452] An "integrated dataset" is a dataset that combines information obtained from multiple data sources.
[0453] "Last updated date and time" is the date and time when the data was last changed or updated.
[0454] The "certain period" refers to a specific period that has been set in advance, and in this case it mainly refers to 90 days.
[0455] "Listing" is an operation for extracting items that meet a condition and compiling them into a list.
[0456] An "alert message" is a message that notifies you when an abnormality or a specific condition occurs.
[0457] A "person in charge" is an individual or department with a specific task or responsibility.
[0458] "Email" means a form of message sent and received electronically over the Internet.
[0459] A "surveillance system" is a system that uses sensors and cameras to monitor and record specific environments and situations.
[0460] A "security officer" is an individual or department that manages and monitors security systems and responds to incidents.
[0461] "Centralized data management" means managing information from multiple data sources in a unified manner and keeping it available.
[0462] This invention provides a system for improving the efficiency of data management in a security system and for quickly detecting and addressing defects in data updates. Below, we will explain how to build and operate this system as a specific embodiment.
[0463] Hardware and Software
[0464] The system consists of the following hardware and software:
[0465] Server: A web server using Python and Flask for data handling and processing.
[0466] Database: PostgreSQL database for storing and searching various data
[0467] Mail Server: SMTP server for sending alert messages
[0468] Device: Smartphone used by security personnel
[0469] Data processing and calculation
[0470] 1. Data Acquisition
[0471] The server retrieves data using SQL queries against each database (e.g. camera feed database, access log database, and alarm system database), which captures information in different formats.
[0472] 2. Data unification
[0473] The server converts the retrieved data into a unified format, which includes standardizing the different column names and data formats of each database.
[0474] 3. Data Merge
[0475] The data converted into a unified format is merged by the server into a single integrated data set, checking for duplicate records during the merge and creating a single comprehensive data set.
[0476] 4. Update Check
[0477] The server periodically checks the last update date and time of each record in the integrated data set, and lists records that have not been updated for a certain period of time (for example, 90 days).
[0478] 5. Alerting and Notification
[0479] Based on the records that have not been updated, the server generates an alert message and notifies the responsible person via email, which contains details of the records that have not been updated.
[0480] Specific examples
[0481] For example, data from the surveillance camera database, the access record database, and the alarm system database is collected daily, converted into a unified format, and compiled into an integrated data set. The server checks the integrated data set, and if it finds a record whose last update date and time has not been updated for more than 90 days, it sends an email to the security officer's smartphone stating, "The record from camera 3 has not been updated for 90 days. Please check again."
[0482] Prompt Sentence Examples
[0483] Regularly check each database (camera feed, access log, alarm system) and list any records that have not been updated for more than 90 days. The email will include details of the records that have not been updated (such as camera ID and login date and time).
[0484] This will improve the efficiency of data management for security systems, making it possible to identify data that has not been updated and to take prompt action.
[0485] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0486] Step 1:
[0487] The server uses the connection information for each database (e.g. camera feeds, access logs, alarm systems) to execute SQL queries to retrieve the required information from each database. The input is the connection information for each database and the SQL query, and the output is the raw data retrieved from each database.
[0488] Step 2:
[0489] The server converts the raw data it receives into a unified format. This conversion standardizes the different column names and data formats of each database. For example, it standardizes "camera ID" to "device ID." The input is the raw data received from each database, and the output is the data converted into a unified format.
[0490] Step 3:
[0491] The server merges the unified data into a single unified dataset. This merge process checks for duplicate records and creates a unique dataset. The input is the unified data from each database, and the output is the unified dataset.
[0492] Step 4:
[0493] The server periodically checks the last modified date and time of each record in the consolidated dataset. For example, it runs a scheduled job to perform this check at a fixed time each day. The input is the consolidated dataset, and the output is a list of records that have not been updated for a certain period of time (e.g., 90 days).
[0494] Step 5:
[0495] The server lists records that have not been updated and generates an alert message based on the list. The alert message includes the last update date and time, record details, and contact information of the person in charge. The input is the list of listed records, and the output is the generated alert message.
[0496] Step 6:
[0497] The server sends the generated alert message via email to the security officer, containing details of the records that have not been updated. The input is the generated alert message, and the output is the email sent to the security officer's smartphone.
[0498] Step 7:
[0499] The security officer (user) receives the email on their device (smartphone) and takes immediate action based on the missing data, such as rechecking the camera feed or checking for malfunctioning alarm systems. The input is the email sent from the server, and the output is the security response action.
[0500] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0501] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates emotion engines that recognize user emotions, and provides appropriate notifications based on the user's emotions.
[0502] Database connection and data retrieval
[0503] The server connects to each department's database and retrieves the required information. This process executes SQL queries against different databases, such as sales, engineering, and management, to extract company, customer, and service information.
[0504] Data organization and unification
[0505] Convert the retrieved data into a common format. The server standardizes the different column names and formats retrieved from each database. For example, convert "company name" to "name" and "contact person email address" to "email address."
[0506] Merging Data
[0507] The converted data is compiled into a single integrated data set, and the server prioritizes storing the most recent data when duplicate data exists.
[0508] Update Check
[0509] The server periodically checks each record in the integrated data set and lists records whose last update date and time is more than a certain period (for example, three months).
[0510] Alert generation and notification preparation
[0511] Generates alert messages based on records that need updating. The server creates messages containing information such as email address, company name, and last update date.
[0512] Use of emotion engine
[0513] An emotion engine is used to recognize the user's emotions. The device analyzes the user's operations, facial expressions, voice input, etc. to generate emotion data. This data is sent to the server.
[0514] Customizing Notification Handling
[0515] The server customizes the content, timing, and method of notifications based on emotional data. For example, if the user is feeling stressed, the server may soften the content of notifications or reduce the frequency of notifications.
[0516] Specific examples
[0517] For example, if new customer information hasn't been updated for more than three months, the server generates an alert message. This message includes the company name, the last update date and time, and the email address of the person in charge. The emotion engine recognizes whether the user is currently busy or stressed through the device.
[0518] As a result, the server will adjust the content of the email depending on the user's situation. For example, it could change the content to something like, "Company A's information hasn't been updated for over three months. We apologize for bothering you, but we need to update it to the latest information." Also, if the user is extremely focused on other tasks, it may consider delaying the notification.
[0519] This system is expected to improve work efficiency by preventing information from being left out or becoming inconsistent, and by providing efficient notifications while taking users' feelings into consideration.
[0520] The processing flow will be explained below.
[0521] Step 1:
[0522] The server connects to each department's database and retrieves the necessary information. It executes SQL queries against the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[0523] Step 2:
[0524] The server converts the retrieved data into a common format, unifying the different column names and formats retrieved from each database, such as "company name" to "name" and "contact person email address" to "email address."
[0525] Step 3:
[0526] The converted data is merged into a single integrated data set. During this process, if there is duplicate data, the server will prioritize and store the most recent data. For example, if information about the same company is obtained from multiple departments, the data with the most recent update date and time will be selected and integrated.
[0527] Step 4:
[0528] The server periodically checks the last modified date and time of each record in the integrated dataset. For example, it runs this checking process once a week and lists records whose last modified date and time is more than three months old.
[0529] Step 5:
[0530] After listing the records that need to be updated, the server generates an alert message that includes information such as the company name, the date and time of the last update, and the email address of the person responsible.
[0531] Step 6:
[0532] The device uses an emotion engine to analyze the user's operations, facial expressions, voice input, etc., and generates emotional data about the user. For example, the device can capture the user's facial expressions while using a computer or smartphone with a camera and analyze them.
[0533] Step 7:
[0534] The server receives the emotion data generated by the emotion engine and customizes the content and timing of the alert message based on that data. For example, if the user is feeling stressed, the notification content will be softened.
[0535] Step 8:
[0536] The server sends the generated alert message as an email to the person in charge, which includes a customized message that reflects the user's emotional data.
[0537] Step 9:
[0538] The user (person in charge) checks the received email and logs in to the system to update the necessary information, for example, updating the customer's contact information and service provision details.
[0539] Step 10:
[0540] During the next scheduled check, the server will recheck the updated data to ensure that the missing updates have been resolved, thereby maintaining consistency of the information.
[0541] Example 2
[0542] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0543] In modern companies, multiple departments, such as sales, engineering, and management, manage data independently, making it extremely important to integrate and centrally manage this data. However, differences in data formats and delays in updates can disrupt operations. Furthermore, there is a need for a notification method that can respond appropriately when users are busy or stressed. Conventional systems do not provide a notification method that takes emotions into account, and no satisfactory solution has been found in this regard.
[0544] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0545] In this invention, the server includes means for acquiring information from each database and converting data in different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for generating emotion data using an emotion analysis engine for recognizing user emotions, and means for customizing the content and timing of the alert based on the emotion data. This not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[0546] A "database" is a system for storing information in an organized manner and for efficiently searching and updating information as needed.
[0547] A "unified format" is a format that makes data with different formats and structures consistent according to common standards.
[0548] An "integrated dataset" is a collection of data obtained from multiple different data sources.
[0549] "Last update date and time" is information indicating the date and time when specific data was last updated.
[0550] An "alert message" is an informational or warning message that is generated based on a specific condition and notified to the user.
[0551] An "emotion analysis engine" is an algorithm or program that analyzes a user's actions, facial expressions, voice, etc. to recognize the user's current emotions.
[0552] "Emotion data" is data generated by an emotion analysis engine that indicates the emotional state of a user.
[0553] "Customization" refers to adjusting or changing the functionality or content of a system or service to meet specific needs or conditions.
[0554] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates a sentiment analysis engine that recognizes user emotions and provides appropriate notifications based on the user's emotions.
[0555] First, the server connects to the databases of each department (sales, engineering, management, etc.) to retrieve the required information. This process uses database connection libraries (for example, JDBC drivers or the Python psycopg2 library). The server then runs SQL queries against each database to extract company, customer, and service information.
[0556] Next, the server converts the retrieved data into a common format. Specifically, it uses Python's Pandas library to create a data frame and standardizes column names and data formats. For example, it converts the "company name" retrieved from the Oracle database into "name," and the "contact person email address" retrieved from the MySQL database into "email address." It also converts different data formats into a common format (e.g., ISO 8601).
[0557] The server then merges the different data sets obtained from each database into one. Again, this uses the Pandas merge method. If duplicate data exists, the most recent data is saved first. Specifically, the most recent data among the duplicate records is retained using the drop_duplicates method.
[0558] The server then scans each record in the combined dataset to check its last modified date and time. It uses Pandas and the Python datetime module to list records whose last modified date and time are older than a certain period (e.g., three months). It then generates an alert message based on the listed records. The server then uses the Python smtplib library to prepare the email content and send it as an email.
[0559] To recognize the user's emotions, the device analyzes the user's actions, facial expressions, and voice input to generate emotional data. This process uses IBM Watson's emotion analysis API, among others. The generated emotional data is then sent to the server.
[0560] Finally, the server customizes the content and timing of notifications based on the received emotion data, using a generative AI model (e.g., OpenAI's GPT-3) to generate the content of the notification email.
[0561] Below are some examples of prompt sentences:
[0562] Example prompt sentence:
[0563] "Generate notification email content when user is busy:
[0564] Original message: 'Company A's information hasn't been updated for over three months. We apologize for the inconvenience, but we need to update it with the latest information.'
[0565] Using this prompt, the specific notification content can be automatically generated by a generative AI model. This system not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[0566] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0567] Step 1:
[0568] The server connects to each department's database. As input, it receives database connection information (e.g., hostname, port, username, and password). The library used is, for example, a JDBC driver or the Python psycopg2 library. As output, it generates a database connection object. The server uses this object to perform database operations.
[0569] Step 2:
[0570] The server executes SQL queries to retrieve the required information from each database. As input, it receives an SQL query (e.g. SELECT FROM customer_info) and a database connection object. It executes the query to extract data such as company information, customer information, and service information. The output is a list of the extracted data. The extracted data is temporarily stored in memory.
[0571] Step 3:
[0572] The server converts the column names and data format of the retrieved data into a unified format. It receives a list of extracted data as input. Specifically, it creates a data frame using Python's Pandas library and changes the column names. For example, it converts "Company Name" to "Name" and "Contact Email" to "Email Address." It also converts the date format to ISO 8601. The output is a data frame converted into a unified format.
[0573] Step 4:
[0574] The server merges the data converted to a unified format into a single unified dataset. As input, it receives multiple data frames. It merges them into a single data frame using the Pandas merge method. If duplicate data exists, it preserves the most recent information first. The output is a data frame of the unified dataset. This data frame has duplicates removed and a consistent structure.
[0575] Step 5:
[0576] The server checks the last modified date of each record in the combined dataset. As input, it receives the data frame of the combined dataset. It uses Pandas and the Python datetime module to filter records whose last modified date is older than a certain period (e.g., 3 months). The output is a list of records that need to be updated. This list includes records that are overdue for updates.
[0577] Step 6:
[0578] The server generates an alert message based on the listed records. As input, it receives a list of records that need to be updated and detailed information about each record (e.g., company name, last update date, email address). For example, it creates an alert message that includes the company name and last update date. The output is the generated alert message.
[0579] Step 7:
[0580] The server notifies the person in charge of the generated alert message. It receives the alert message and the destination email address as input. It sends it as an email using the Python smtplib library. The output is the notification sending status.
[0581] Step 8:
[0582] The device analyzes the user's operations, facial expressions, and voice input to generate emotional data. It receives the user's operation log and voice data as input. It recognizes the user's emotional state using IBM Watson's emotion analysis API. The output is the generated emotional data. This data indicates the user's stress level and concentration level.
[0583] Step 9:
[0584] The server customizes the content and timing of alerts based on the emotional data. It receives the generated emotional data and the original alert message as input. It uses a generative AI model (e.g., OpenAI's GPT-3) to generate the content of the notification email based on the emotional state. An example prompt is "Generate the content of a notification email when the user is busy: Original message: 'Company A's information has not been updated for over three months. We apologize for bothering you, but you need to update to the latest information.'" The output is a customized notification email.
[0585] (Application example 2)
[0586] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0587] While traditional data integration systems could retrieve information from each department's database and merge it into an integrated data set, their notifications were mechanical and did not take into account the user's emotions or situation. This made it difficult to work efficiently, especially under stress or in busy environments. Furthermore, in environments where real-time feedback was required, these mechanical notifications could be counterproductive.
[0588] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for acquiring user emotion data and customizing the content and timing of the notification, and means for analyzing the user's emotions in real time using an emotion engine. This enables flexible notification according to the user's emotions and situation, thereby improving business efficiency and user satisfaction.
[0589] A "database" is a system for collecting and storing information owned by each department.
[0590] "Means for obtaining information" refers to the process by which the server accesses each database and extracts the required information.
[0591] "Means of converting to a unified format" is the process of standardizing different data formats and arranging them into a consistent format.
[0592] "Means of merging into a unified dataset" refers to the process of assembling data converted into a unified format into a single dataset.
[0593] The "means for checking the last update date and time" is a process for checking the most recent update date and time of each record in the integrated data set.
[0594] The "means for listing records that have not been updated for a certain period of time" is a process for extracting records whose last update date and time exceeds a set period of time.
[0595] The "means for generating alert messages" is the process that creates notifications based on the listed records.
[0596] "Means for notifying personnel" is the process of sending the generated alert message to personnel.
[0597] "Means for acquiring emotional data" refers to the process of collecting emotional information from the user's facial expressions, voice, operations, etc.
[0598] "Means for customizing notification content and timing" refers to the process of adjusting the content and timing of notifications based on the acquired emotion data.
[0599] The "emotion engine" is a system that analyzes user emotions in real time and generates emotion data.
[0600] The system for implementing this invention is composed of several hardware and software components. Specifically, it uses smart glasses, a server, a database, and an emotion engine. The present invention achieves its functions through the following steps:
[0601] First, the server connects to each database to retrieve information. For example, a relational database management system like MySQL is used to retrieve company information, customer information, product information, etc. from the database, and converts the data from different formats into a unified format. This process standardizes the retrieved data and organizes it into a consistent format.
[0602] The server then merges the data converted into a unified format into a single integrated dataset. Duplicate data is combined into a single dataset, with the most recent data taking priority. It then periodically checks the last update date and time of each record and lists records that have not been updated for a certain period of time (e.g., three months).
[0603] Based on this list of records, the server generates an alert message and notifies the responsible person. This notification is often sent by email. The notification content includes the company name, the last update date and time, and the responsible person's email address.
[0604] Furthermore, the smart glasses are used by the emotion engine to acquire the user's emotion data. The smart glasses capture the user's facial expressions, voice, and operation data in real time, and generate emotion data based on this. This emotion data is then analyzed using an emotion engine such as the Microsoft Azure Emotion Analysis API.
[0605] Emotion data is sent to a server, which then uses this data to customize the content and timing of notifications. For example, if a user is busy or stressed, notifications can be softened or sent less frequently. Additionally, if positive emotions are detected in real time, the system can notify users of special offers or additional purchase incentives.
[0606] For example, consider the following prompt:
[0607] "When the sentiment engine analysis result for the customer's question 'Please tell me information about product A' is 'positive', please generate the following notification."
[0608] This makes it possible to provide flexible notifications according to the user's emotions and circumstances, thereby improving work efficiency and user satisfaction.
[0609] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0610] Step 1:
[0611] The server connects to each database and retrieves information. Specifically, it uses SQL queries to extract company, customer, and product information from the databases of the sales, engineering, and management departments. It receives connection information and SQL queries for each database as input and obtains the required information as output.
[0612] Step 2:
[0613] The server converts the acquired data into a unified format, specifically standardizing different data formats (e.g., unifying "company name," "business name," and "corporation" into "name"). It receives the acquired raw data as input and generates standardized data as output.
[0614] Step 3:
[0615] The server merges the standardized data into a single integrated data set. If there are any duplicates, the resulting data is integrated, with the most recent data taking priority. It receives standardized departmental data as input and generates an integrated data set as output.
[0616] Step 4:
[0617] The server periodically checks the last update date and time of each record in the integrated dataset and lists records that have not been updated for a certain period of time (e.g., three months).It receives the integrated dataset as input and generates a list of records that need to be updated as output.
[0618] Step 5:
[0619] The server generates an alert message based on the listed records and notifies the person in charge. Specifically, it creates a message including the company name, last update date and time, and the person in charge's contact information and sends it by email. It receives the listed records and the person in charge's email address as input and generates an alert message as output.
[0620] Step 6:
[0621] The device (smart glasses) captures the user's facial expressions and voice and generates emotion data. Specifically, it analyzes the user's operations and voice and generates emotion data using an emotion engine (for example, Microsoft Azure Emotion Analysis API). It receives the user's facial expressions and voice data as input and generates emotion data as output.
[0622] Step 7:
[0623] The server customizes the content and timing of notifications based on emotional data. Specifically, it determines the user's level of stress and adjusts the tone of the notification to a softer tone. It also considers delaying notifications if the user is highly focused. It receives emotional data and the generated alert message as input and generates a customized message as output.
[0624] Step 8:
[0625] The server notifies the user with a customized message. Specifically, it sends the message via email or other notification means as described above. It receives the customized message as input and notifies the user as output.
[0626] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0627] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0628] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0629] [Third embodiment]
[0630] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0631] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0632] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0633] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0634] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0635] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0636] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0637] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0638] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0639] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0640] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0641] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0642] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0643] Database connection and data retrieval
[0644] The server connects to each department's database and runs programs to retrieve the required information. For example, you can use SQL queries to extract information from the sales, engineering, and management databases.
[0645] Data organization and unification
[0646] The server converts the retrieved data into a common format. This process standardizes the different column names and formats from each database. For example, "Company Name" is unified to "Name" and "Contact Email" is unified.
[0647] Merging Data
[0648] The transformed data is merged into a single unified data set. The server brings together information from several data sources, checking for duplicate data.
[0649] Update Check
[0650] The server checks each record in the integrated data set and lists records whose last update date and time has not been updated for more than a certain period (for example, three months).
[0651] Alerting and Notifications
[0652] The server generates an alert message for the person in charge based on the records that need to be updated. This message includes the last update date and time, record contents, and the person in charge's email address. The generated message is sent to the person in charge by email.
[0653] Specific examples
[0654] For example, when adding new customer data, a salesperson inputs company information. The information is stored in the sales department's database, but other departments also need to be able to reference the data.
[0655] The server runs a scheduled job every day to collect information from each database, unify the format, add the most recent data to the consolidated dataset, and check for data that hasn't been updated in over three months.
[0656] If a record that needs to be updated is found, the server will send an email to inform the sales representative of the information. For example, an error message stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[0657] This system is expected to prevent information from being left out or becoming inconsistent, thereby improving business efficiency.
[0658] The processing flow will be explained below.
[0659] Step 1:
[0660] The server connects to each department's database and retrieves the necessary data. For example, it executes SQL queries on the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[0661] Step 2:
[0662] The server converts the retrieved data into a common format. Specifically, it standardizes the different column names and formats retrieved from each database, converting "company name" to "name" and "contact person email address" to "email address."
[0663] Step 3:
[0664] The server merges the converted data into a single integrated data set, and if there are duplicates, combines them or stores the most recent data first.
[0665] Step 4:
[0666] The server checks the last modified date and time of each record in the integrated dataset. This process is performed periodically, for example, once a week.
[0667] Step 5:
[0668] The server lists records whose last update date and time has not been updated for a certain period of time (for example, three months). In this listing process, the "last update date and time" of each record is checked to determine whether it has passed the criterion.
[0669] Step 6:
[0670] The server generates an alert message based on the records that need to be updated, including information such as the company name, the last update date and time, and the contact's email address.
[0671] Step 7:
[0672] The server will then send an email to the person in charge for the missing records listed, containing an alert message informing the person in charge of the information that needs to be updated.
[0673] Step 8:
[0674] The user, or person in charge, checks the received email and logs in to the system to update the necessary information, such as customer contact information or service provision details.
[0675] Step 9:
[0676] During the next scheduled check, the server will recheck the updated data to ensure that any missing updates have been resolved, thereby maintaining consistency of the information.
[0677] Example 1
[0678] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0679] With conventional data management systems, it was difficult to collect information from different databases in each department, convert it into a unified format, and keep it up to date. Furthermore, if data has not been updated for a certain period of time, the lack of updates or discrepancies in the information could have a negative impact on business operations. A system that can efficiently solve these problems is needed.
[0680] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0681] In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated dataset, means for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a person in charge, means for analyzing the acquired data and converting different column names and formats into a common format, means for checking for duplicate data and unifying it into the latest information, and means for sending the alert message by email.This makes it possible to prevent information from being out of date or inconsistent, and improve business efficiency.
[0682] A "database" is a collection of systems that store data managed by different departments of a company or organization.
[0683] "Means for obtaining information" refers to the processes, devices, and programs that connect to each database and extract the necessary information.
[0684] "Data in different formats" refers to data stored in each department's database with different input formats and column names.
[0685] A "uniform format" refers to a specification or format for converting data of different formats into a standardized common format.
[0686] "Integrated Dataset" means a collection of data that has been converted into a unified format and stored in a centralized manner.
[0687] "Last updated date and time" refers to the date and time when each record was last changed or updated.
[0688] "Records that have not been updated for a certain period of time" refers to data that has not been changed or updated for a specific period of time (for example, three months) since the last update date and time.
[0689] The "listing means" refers to a process, device, or program that detects records that have not been updated and compiles them into a list.
[0690] "Alert Message" means a notification that is generated based on certain conditions and sent to alert you to a problem or issue.
[0691] "Person in Charge" means an individual or group responsible for managing a particular task or data.
[0692] "Means for notifying" refers to a device, process, or program for communicating a generated alert message to a responsible party.
[0693] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0694] Database connection and data retrieval
[0695] When it's time to run a scheduled job, the server automatically connects to each department's database. This connection uses software such as MySQL or PostgreSQL, which is used as a database management system (DBMS). The server executes SQL queries against each database to obtain the required information. For example, to extract information from the sales department database, the server executes a query to obtain data from a specific period.
[0696] Data organization and unification
[0697] The server analyzes the data it receives and converts the different column names and formats from each database into a common format. This process converts different notations and formats into standard names and formats. For example, the "CompanyName" column in the sales department's database can be changed to "Name," and the "ContactEmail" column in the engineering department can be unified to "Contact Email." This method uses the Python Pandas library, among others.
[0698] Merging Data
[0699] The server merges the organized data into a single integrated dataset. During this process, if there is any duplicate data, it checks that data and unifies it with the latest information. Again, this process uses libraries such as Pandas in Python to merge data frames and eliminate duplicates.
[0700] Update Check
[0701] The server checks the last update date and time of each record in the integrated dataset. It lists records whose last update date and time has not been updated for a certain period of time (for example, 3 months). This process is also achieved using the filtering function of Pandas.
[0702] Alerting and Notifications
[0703] The server generates an alert message for the person in charge based on the records that need to be updated. This message contains information such as the last update date and time, the record contents, and the person in charge's email address. The generated message is sent as an email. This is done using the Python smtplib library.
[0704] Specific examples
[0705] For example, when adding new customer data, a sales representative enters company information. That information is stored in the sales department's database, but other departments also need to be able to access that data. The server runs a scheduled job every day to collect information from each database and standardize the format. It then adds the latest data to the integrated dataset and checks for data that has not been updated for more than three months. If any records that need to be updated are found, the server sends an email to notify the sales representative. For example, the server could send an error message to the sales representative stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[0706] This system is expected to prevent information from being left out or becoming inconsistent, and improve business efficiency.
[0707] Prompt Sentence Examples
[0708] "Design a system that collects information from various departments in the company's databases, standardizes the format, and merges it into a unified data set. This system should generate an alert and notify the appropriate person if the data hasn't been updated in over three months."
[0709] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0710] Step 1:
[0711] When it's time to run a scheduled job, the server automatically connects to each department's database. The input is the connection information for each database, and the output is the establishment of a database connection. Specifically, it uses software such as MySQL or PostgreSQL as the database management system (DBMS), connects to the appropriate database, and executes SQL queries to retrieve the required information.
[0712] Step 2:
[0713] The server executes SQL queries against each database to retrieve data. The input is the SQL query, and the output is the retrieved data. Specifically, it executes the following query from the sales department database:
[0714] sql
[0715] SELECT FROM sales_data WHERE date >= '2023-01-01';
[0716] This query retrieves data for a specific time period.
[0717] Step 3:
[0718] The server analyzes the data it receives and converts the different column names and formats obtained from each database into a common format. The input is the raw data obtained from each department, and the output is the data converted into a unified format. Specifically, it uses the Python Pandas library to convert the column names as follows:
[0719] python
[0720] import pandas as pd
[0721] df_sales = pd.read_sql('SELECT FROM sales_data WHERE date >= "2023-01-01"', con=conn_sales)
[0722] df_sales.rename(columns={'CompanyName': 'Name', 'ContactEmail': 'Contact Email'}, inplace=True)
[0723] Step 4:
[0724] The server merges the cleaned data into a single unified dataset. The input is multiple datasets converted to a unified format, and the output is the unified dataset. Specifically, it uses the Pandas library to merge data frames and remove duplicates:
[0725] python
[0726] df_all = pd.concat([df_sales, df_tech, df_admin]).drop_duplicates()
[0727] Step 5:
[0728] The server checks the last update date and time of each record in the combined dataset. The input is the combined dataset, and the output is a list of records that haven't been updated for a certain period of time. Specifically, we use Pandas to filter out records that haven't been updated for more than three months:
[0729] python
[0730] outdated_records = df_all[df_all['Last updated date and time'] < (pd.Timestamp.now() - pd.DateOffset(months=3))]
[0731] Step 6:
[0732] The server generates an alert message for the person in charge based on the records that need to be updated. The input is a list of old records, and the output is the alert message. Specifically, the server generates the content of the alert email based on the information in each record.
[0733] Step 7:
[0734] The server notifies the person in charge of the generated alert message. The input is the generated alert message, and the output is the email that was sent. The specific operation of sending an email using Python's smtplib library is as follows:
[0735] python
[0736] import smtplib
[0737] from email.mime.text import MIMEText
[0738] for index, row in outdated_records.iterrows():
[0739] msg = MIMEText(f"The record for {row['Name']} has not been updated for more than three months. Please check the latest information and update it.")
[0740] msg['Subject'] = "Data Update Reminder"
[0741] msg['From'] = "admin@example.com"
[0742] msg['To'] = row['Contact Email']
[0743] with smtplib.SMTP('smtp.example.com') as server:
[0744] server.send_message(msg)
[0745] Through these steps, the server can automatically perform a series of processes, from retrieving information from each database to sending alert messages. This system can prevent information from being left out or becoming inconsistent, and is expected to improve business efficiency.
[0746] (Application example 1)
[0747] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0748] In security systems, information from multiple databases is not centrally managed, and data updates may not be performed appropriately. In addition, it is difficult to identify data that has not been updated, which can lead to delayed responses. As a result, there is a risk of increasing security risks.
[0749] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0750] In this invention, the server includes: means for acquiring information from each database and converting data of different formats into a unified format; means for merging the data converted into the unified format into a single integrated data set; means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time; means for generating an alert message based on the listed records and notifying a security officer; means for sending the notification message by email; means for applying the list to the monitoring system database, listing data that has not been updated, and notifying a security officer; and means for including details of records that have not been updated in the notification message. This enables centralized management of data, making it possible to identify data that has not been updated and to take prompt action.
[0751] A database is a system that organizes and manages information in a certain format, allowing it to be efficiently searched, stored, and updated.
[0752] A "server" is a computer system that provides services to other computers and devices over a network.
[0753] A "unified format" is a format for converting data of different formats into one common format.
[0754] An "integrated dataset" is a dataset that combines information obtained from multiple data sources.
[0755] "Last updated date and time" is the date and time when the data was last changed or updated.
[0756] The "certain period" refers to a specific period that has been set in advance, and in this case it mainly refers to 90 days.
[0757] "Listing" is an operation for extracting items that meet a condition and compiling them into a list.
[0758] An "alert message" is a message that notifies you when an abnormality or a specific condition occurs.
[0759] A "person in charge" is an individual or department with a specific task or responsibility.
[0760] "Email" means a form of message sent and received electronically over the Internet.
[0761] A "surveillance system" is a system that uses sensors and cameras to monitor and record specific environments and situations.
[0762] A "security officer" is an individual or department that manages and monitors security systems and responds to incidents.
[0763] "Centralized data management" means managing information from multiple data sources in a unified manner and keeping it available.
[0764] This invention provides a system for improving the efficiency of data management in a security system and for quickly detecting and addressing defects in data updates. Below, we will explain how to build and operate this system as a specific embodiment.
[0765] Hardware and Software
[0766] The system consists of the following hardware and software:
[0767] Server: A web server using Python and Flask for data handling and processing.
[0768] Database: PostgreSQL database for storing and searching various data
[0769] Mail Server: SMTP server for sending alert messages
[0770] Device: Smartphone used by security personnel
[0771] Data processing and calculation
[0772] 1. Data Acquisition
[0773] The server retrieves data using SQL queries against each database (e.g. camera feed database, access log database, and alarm system database), which captures information in different formats.
[0774] 2. Data unification
[0775] The server converts the retrieved data into a unified format, which includes standardizing the different column names and data formats of each database.
[0776] 3. Data Merge
[0777] The data converted into a unified format is merged by the server into a single integrated data set, checking for duplicate records during the merge and creating a single comprehensive data set.
[0778] 4. Update Check
[0779] The server periodically checks the last update date and time of each record in the integrated data set, and lists records that have not been updated for a certain period of time (for example, 90 days).
[0780] 5. Alerting and Notification
[0781] Based on the records that have not been updated, the server generates an alert message and notifies the responsible person via email, which contains details of the records that have not been updated.
[0782] Specific examples
[0783] For example, data from the surveillance camera database, the access record database, and the alarm system database is collected daily, converted into a unified format, and compiled into an integrated data set. The server checks the integrated data set, and if it finds a record whose last update date and time has not been updated for more than 90 days, it sends an email to the security officer's smartphone stating, "The record from camera 3 has not been updated for 90 days. Please check again."
[0784] Prompt Sentence Examples
[0785] Regularly check each database (camera feed, access log, alarm system) and list any records that have not been updated for more than 90 days. The email will include details of the records that have not been updated (such as camera ID and login date and time).
[0786] This will improve the efficiency of data management for security systems, making it possible to identify data that has not been updated and to take prompt action.
[0787] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0788] Step 1:
[0789] The server uses the connection information for each database (e.g. camera feeds, access logs, alarm systems) to execute SQL queries to retrieve the required information from each database. The input is the connection information for each database and the SQL query, and the output is the raw data retrieved from each database.
[0790] Step 2:
[0791] The server converts the raw data it receives into a unified format. This conversion standardizes the different column names and data formats of each database. For example, it standardizes "camera ID" to "device ID." The input is the raw data received from each database, and the output is the data converted into a unified format.
[0792] Step 3:
[0793] The server merges the unified data into a single unified dataset. This merge process checks for duplicate records and creates a unique dataset. The input is the unified data from each database, and the output is the unified dataset.
[0794] Step 4:
[0795] The server periodically checks the last modified date and time of each record in the consolidated dataset. For example, it runs a scheduled job to perform this check at a fixed time each day. The input is the consolidated dataset, and the output is a list of records that have not been updated for a certain period of time (e.g., 90 days).
[0796] Step 5:
[0797] The server lists records that have not been updated and generates an alert message based on the list. The alert message includes the last update date and time, record details, and contact information of the person in charge. The input is the list of listed records, and the output is the generated alert message.
[0798] Step 6:
[0799] The server sends the generated alert message via email to the security officer, containing details of the records that have not been updated. The input is the generated alert message, and the output is the email sent to the security officer's smartphone.
[0800] Step 7:
[0801] The security officer (user) receives the email on their device (smartphone) and takes immediate action based on the missing data, such as rechecking the camera feed or checking for malfunctioning alarm systems. The input is the email sent from the server, and the output is the security response action.
[0802] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0803] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates emotion engines that recognize user emotions, and provides appropriate notifications based on the user's emotions.
[0804] Database connection and data retrieval
[0805] The server connects to each department's database and retrieves the required information. This process executes SQL queries against different databases, such as sales, engineering, and management, to extract company, customer, and service information.
[0806] Data organization and unification
[0807] Convert the retrieved data into a common format. The server standardizes the different column names and formats retrieved from each database. For example, convert "company name" to "name" and "contact person email address" to "email address."
[0808] Merging Data
[0809] The converted data is compiled into a single integrated data set, and the server prioritizes storing the most recent data when duplicate data exists.
[0810] Update Check
[0811] The server periodically checks each record in the integrated data set and lists records whose last update date and time is more than a certain period (for example, three months).
[0812] Alert generation and notification preparation
[0813] Generates alert messages based on records that need updating. The server creates messages containing information such as email address, company name, and last update date.
[0814] Use of emotion engine
[0815] An emotion engine is used to recognize the user's emotions. The device analyzes the user's operations, facial expressions, voice input, etc. to generate emotion data. This data is sent to the server.
[0816] Customizing Notification Handling
[0817] The server customizes the content, timing, and method of notifications based on emotional data. For example, if the user is feeling stressed, the server may soften the content of notifications or reduce the frequency of notifications.
[0818] Specific examples
[0819] For example, if new customer information hasn't been updated for more than three months, the server generates an alert message. This message includes the company name, the last update date and time, and the email address of the person in charge. The emotion engine recognizes whether the user is currently busy or stressed through the device.
[0820] As a result, the server will adjust the content of the email depending on the user's situation. For example, it could change the content to something like, "Company A's information hasn't been updated for over three months. We apologize for bothering you, but we need to update it to the latest information." Also, if the user is extremely focused on other tasks, it may consider delaying the notification.
[0821] This system is expected to improve work efficiency by preventing information from being left out or becoming inconsistent, and by providing efficient notifications while taking users' feelings into consideration.
[0822] The processing flow will be explained below.
[0823] Step 1:
[0824] The server connects to each department's database and retrieves the necessary information. It executes SQL queries against the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[0825] Step 2:
[0826] The server converts the retrieved data into a common format, unifying the different column names and formats retrieved from each database, such as "company name" to "name" and "contact person email address" to "email address."
[0827] Step 3:
[0828] The converted data is merged into a single integrated data set. During this process, if there is duplicate data, the server will prioritize and store the most recent data. For example, if information about the same company is obtained from multiple departments, the data with the most recent update date and time will be selected and integrated.
[0829] Step 4:
[0830] The server periodically checks the last modified date and time of each record in the integrated dataset. For example, it runs this checking process once a week and lists records whose last modified date and time is more than three months old.
[0831] Step 5:
[0832] After listing the records that need to be updated, the server generates an alert message that includes information such as the company name, the date and time of the last update, and the email address of the person responsible.
[0833] Step 6:
[0834] The device uses an emotion engine to analyze the user's operations, facial expressions, voice input, etc., and generates emotional data about the user. For example, the device can capture the user's facial expressions while using a computer or smartphone with a camera and analyze them.
[0835] Step 7:
[0836] The server receives the emotion data generated by the emotion engine and customizes the content and timing of the alert message based on that data. For example, if the user is feeling stressed, the notification content will be softened.
[0837] Step 8:
[0838] The server sends the generated alert message as an email to the person in charge, which includes a customized message that reflects the user's emotional data.
[0839] Step 9:
[0840] The user (person in charge) checks the received email and logs in to the system to update the necessary information, for example, updating the customer's contact information and service provision details.
[0841] Step 10:
[0842] During the next scheduled check, the server will recheck the updated data to ensure that the missing updates have been resolved, thereby maintaining consistency of the information.
[0843] Example 2
[0844] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0845] In modern companies, multiple departments, such as sales, engineering, and management, manage data independently, making it extremely important to integrate and centrally manage this data. However, differences in data formats and delays in updates can disrupt operations. Furthermore, there is a need for a notification method that can respond appropriately when users are busy or stressed. Conventional systems do not provide a notification method that takes emotions into account, and no satisfactory solution has been found in this regard.
[0846] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0847] In this invention, the server includes means for acquiring information from each database and converting data in different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for generating emotion data using an emotion analysis engine for recognizing user emotions, and means for customizing the content and timing of the alert based on the emotion data. This not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[0848] A "database" is a system for storing information in an organized manner and for efficiently searching and updating information as needed.
[0849] A "unified format" is a format that makes data with different formats and structures consistent according to common standards.
[0850] An "integrated dataset" is a collection of data obtained from multiple different data sources.
[0851] "Last update date and time" is information indicating the date and time when specific data was last updated.
[0852] An "alert message" is an informational or warning message that is generated based on a specific condition and notified to the user.
[0853] An "emotion analysis engine" is an algorithm or program that analyzes a user's actions, facial expressions, voice, etc. to recognize the user's current emotions.
[0854] "Emotion data" is data generated by an emotion analysis engine that indicates the emotional state of a user.
[0855] "Customization" refers to adjusting or changing the functionality or content of a system or service to meet specific needs or conditions.
[0856] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates a sentiment analysis engine that recognizes user emotions and provides appropriate notifications based on the user's emotions.
[0857] First, the server connects to the databases of each department (sales, engineering, management, etc.) to retrieve the required information. This process uses database connection libraries (for example, JDBC drivers or the Python psycopg2 library). The server then runs SQL queries against each database to extract company, customer, and service information.
[0858] Next, the server converts the retrieved data into a common format. Specifically, it uses Python's Pandas library to create a data frame and standardizes column names and data formats. For example, it converts the "company name" retrieved from the Oracle database into "name," and the "contact person email address" retrieved from the MySQL database into "email address." It also converts different data formats into a common format (e.g., ISO 8601).
[0859] The server then merges the different data sets obtained from each database into one. Again, this uses the Pandas merge method. If duplicate data exists, the most recent data is saved first. Specifically, the most recent data among the duplicate records is retained using the drop_duplicates method.
[0860] The server then scans each record in the combined dataset to check its last modified date and time. It uses Pandas and the Python datetime module to list records whose last modified date and time are older than a certain period (e.g., three months). It then generates an alert message based on the listed records. The server then uses the Python smtplib library to prepare the email content and send it as an email.
[0861] To recognize the user's emotions, the device analyzes the user's actions, facial expressions, and voice input to generate emotional data. This process uses IBM Watson's emotion analysis API, among others. The generated emotional data is then sent to the server.
[0862] Finally, the server customizes the content and timing of notifications based on the received emotion data, using a generative AI model (e.g., OpenAI's GPT-3) to generate the content of the notification email.
[0863] Below are some examples of prompt sentences:
[0864] Example prompt sentence:
[0865] "Generate notification email content when user is busy:
[0866] Original message: 'Company A's information hasn't been updated for over three months. We apologize for the inconvenience, but we need to update it with the latest information.'
[0867] Using this prompt, the specific notification content can be automatically generated by a generative AI model. This system not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[0868] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0869] Step 1:
[0870] The server connects to each department's database. As input, it receives database connection information (e.g., hostname, port, username, and password). The library used is, for example, a JDBC driver or the Python psycopg2 library. As output, it generates a database connection object. The server uses this object to perform database operations.
[0871] Step 2:
[0872] The server executes SQL queries to retrieve the required information from each database. As input, it receives an SQL query (e.g. SELECT FROM customer_info) and a database connection object. It executes the query to extract data such as company information, customer information, and service information. The output is a list of the extracted data. The extracted data is temporarily stored in memory.
[0873] Step 3:
[0874] The server converts the column names and data format of the retrieved data into a unified format. It receives a list of extracted data as input. Specifically, it creates a data frame using Python's Pandas library and changes the column names. For example, it converts "Company Name" to "Name" and "Contact Email" to "Email Address." It also converts the date format to ISO 8601. The output is a data frame converted into a unified format.
[0875] Step 4:
[0876] The server merges the data converted to a unified format into a single unified dataset. As input, it receives multiple data frames. It merges them into a single data frame using the Pandas merge method. If duplicate data exists, it preserves the most recent information first. The output is a data frame of the unified dataset. This data frame has duplicates removed and a consistent structure.
[0877] Step 5:
[0878] The server checks the last modified date of each record in the combined dataset. As input, it receives the data frame of the combined dataset. It uses Pandas and the Python datetime module to filter records whose last modified date is older than a certain period (e.g., 3 months). The output is a list of records that need to be updated. This list includes records that are overdue for updates.
[0879] Step 6:
[0880] The server generates an alert message based on the listed records. As input, it receives a list of records that need to be updated and detailed information about each record (e.g., company name, last update date, email address). For example, it creates an alert message that includes the company name and last update date. The output is the generated alert message.
[0881] Step 7:
[0882] The server notifies the person in charge of the generated alert message. It receives the alert message and the destination email address as input. It sends it as an email using the Python smtplib library. The output is the notification sending status.
[0883] Step 8:
[0884] The device analyzes the user's operations, facial expressions, and voice input to generate emotional data. It receives the user's operation log and voice data as input. It recognizes the user's emotional state using IBM Watson's emotion analysis API. The output is the generated emotional data. This data indicates the user's stress level and concentration level.
[0885] Step 9:
[0886] The server customizes the content and timing of alerts based on the emotional data. It receives the generated emotional data and the original alert message as input. It uses a generative AI model (e.g., OpenAI's GPT-3) to generate the content of the notification email based on the emotional state. An example prompt is "Generate the content of a notification email when the user is busy: Original message: 'Company A's information has not been updated for over three months. We apologize for bothering you, but you need to update to the latest information.'" The output is a customized notification email.
[0887] (Application example 2)
[0888] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0889] While traditional data integration systems could retrieve information from each department's database and merge it into an integrated data set, their notifications were mechanical and did not take into account the user's emotions or situation. This made it difficult to work efficiently, especially under stress or in busy environments. Furthermore, in environments where real-time feedback was required, these mechanical notifications could be counterproductive.
[0890] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for acquiring user emotion data and customizing the content and timing of the notification, and means for analyzing the user's emotions in real time using an emotion engine. This enables flexible notification according to the user's emotions and situation, thereby improving business efficiency and user satisfaction.
[0891] A "database" is a system for collecting and storing information owned by each department.
[0892] "Means for obtaining information" refers to the process by which the server accesses each database and extracts the required information.
[0893] "Means of converting to a unified format" is the process of standardizing different data formats and arranging them into a consistent format.
[0894] "Means of merging into a unified dataset" refers to the process of assembling data converted into a unified format into a single dataset.
[0895] The "means for checking the last update date and time" is a process for checking the most recent update date and time of each record in the integrated data set.
[0896] The "means for listing records that have not been updated for a certain period of time" is a process for extracting records whose last update date and time exceeds a set period of time.
[0897] The "means for generating alert messages" is the process that creates notifications based on the listed records.
[0898] "Means for notifying personnel" is the process of sending the generated alert message to personnel.
[0899] "Means for acquiring emotional data" refers to the process of collecting emotional information from the user's facial expressions, voice, operations, etc.
[0900] "Means for customizing notification content and timing" refers to the process of adjusting the content and timing of notifications based on the acquired emotion data.
[0901] The "emotion engine" is a system that analyzes user emotions in real time and generates emotion data.
[0902] The system for implementing this invention is composed of several hardware and software components. Specifically, it uses smart glasses, a server, a database, and an emotion engine. The present invention achieves its functions through the following steps:
[0903] First, the server connects to each database to retrieve information. For example, a relational database management system like MySQL is used to retrieve company information, customer information, product information, etc. from the database, and converts the data from different formats into a unified format. This process standardizes the retrieved data and organizes it into a consistent format.
[0904] The server then merges the data converted into a unified format into a single integrated dataset. Duplicate data is combined into a single dataset, with the most recent data taking priority. It then periodically checks the last update date and time of each record and lists records that have not been updated for a certain period of time (e.g., three months).
[0905] Based on this list of records, the server generates an alert message and notifies the responsible person. This notification is often sent by email. The notification content includes the company name, the last update date and time, and the responsible person's email address.
[0906] Furthermore, the smart glasses are used by the emotion engine to acquire the user's emotion data. The smart glasses capture the user's facial expressions, voice, and operation data in real time, and generate emotion data based on this. This emotion data is then analyzed using an emotion engine such as the Microsoft Azure Emotion Analysis API.
[0907] Emotion data is sent to a server, which then uses this data to customize the content and timing of notifications. For example, if a user is busy or stressed, notifications can be softened or sent less frequently. Additionally, if positive emotions are detected in real time, the system can notify users of special offers or additional purchase incentives.
[0908] For example, consider the following prompt:
[0909] "When the sentiment engine analysis result for the customer's question 'Please tell me information about product A' is 'positive', please generate the following notification."
[0910] This makes it possible to provide flexible notifications according to the user's emotions and circumstances, thereby improving work efficiency and user satisfaction.
[0911] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0912] Step 1:
[0913] The server connects to each database and retrieves information. Specifically, it uses SQL queries to extract company, customer, and product information from the databases of the sales, engineering, and management departments. It receives connection information and SQL queries for each database as input and obtains the required information as output.
[0914] Step 2:
[0915] The server converts the acquired data into a unified format, specifically standardizing different data formats (e.g., unifying "company name," "business name," and "corporation" into "name"). It receives the acquired raw data as input and generates standardized data as output.
[0916] Step 3:
[0917] The server merges the standardized data into a single integrated data set. If there are any duplicates, the resulting data is integrated, with the most recent data taking priority. It receives standardized departmental data as input and generates an integrated data set as output.
[0918] Step 4:
[0919] The server periodically checks the last update date and time of each record in the integrated dataset and lists records that have not been updated for a certain period of time (e.g., three months).It receives the integrated dataset as input and generates a list of records that need to be updated as output.
[0920] Step 5:
[0921] The server generates an alert message based on the listed records and notifies the person in charge. Specifically, it creates a message including the company name, last update date and time, and the person in charge's contact information and sends it by email. It receives the listed records and the person in charge's email address as input and generates an alert message as output.
[0922] Step 6:
[0923] The device (smart glasses) captures the user's facial expressions and voice and generates emotion data. Specifically, it analyzes the user's operations and voice and generates emotion data using an emotion engine (for example, Microsoft Azure Emotion Analysis API). It receives the user's facial expressions and voice data as input and generates emotion data as output.
[0924] Step 7:
[0925] The server customizes the content and timing of notifications based on emotional data. Specifically, it determines the user's level of stress and adjusts the tone of the notification to a softer tone. It also considers delaying notifications if the user is highly focused. It receives emotional data and the generated alert message as input and generates a customized message as output.
[0926] Step 8:
[0927] The server notifies the user with a customized message. Specifically, it sends the message via email or other notification means as described above. It receives the customized message as input and notifies the user as output.
[0928] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0929] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0930] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[0931] [Fourth embodiment]
[0932] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0933] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0934] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0935] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[0936] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0937] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0938] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0939] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[0940] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0941] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0942] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0943] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0944] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0945] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0946] Database connection and data retrieval
[0947] The server connects to each department's database and runs programs to retrieve the required information. For example, you can use SQL queries to extract information from the sales, engineering, and management databases.
[0948] Data organization and unification
[0949] The server converts the retrieved data into a common format. This process standardizes the different column names and formats from each database. For example, "Company Name" is unified to "Name" and "Contact Email" is unified.
[0950] Merging Data
[0951] The transformed data is merged into a single unified data set. The server brings together information from several data sources, checking for duplicate data.
[0952] Update Check
[0953] The server checks each record in the integrated data set and lists records whose last update date and time has not been updated for more than a certain period (for example, three months).
[0954] Alerting and Notifications
[0955] The server generates an alert message for the person in charge based on the records that need to be updated. This message includes the last update date and time, record contents, and the person in charge's email address. The generated message is sent to the person in charge by email.
[0956] Specific examples
[0957] For example, when adding new customer data, a salesperson inputs company information. The information is stored in the sales department's database, but other departments also need to be able to reference the data.
[0958] The server runs a scheduled job every day to collect information from each database, unify the format, add the most recent data to the consolidated dataset, and check for data that hasn't been updated in over three months.
[0959] If a record that needs to be updated is found, the server will send an email to inform the sales representative of the information. For example, an error message stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[0960] This system is expected to prevent information from being left out or becoming inconsistent, thereby improving business efficiency.
[0961] The processing flow will be explained below.
[0962] Step 1:
[0963] The server connects to each department's database and retrieves the necessary data. For example, it executes SQL queries on the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[0964] Step 2:
[0965] The server converts the retrieved data into a common format. Specifically, it standardizes the different column names and formats retrieved from each database, converting "company name" to "name" and "contact person email address" to "email address."
[0966] Step 3:
[0967] The server merges the converted data into a single integrated data set, and if there are duplicates, combines them or stores the most recent data first.
[0968] Step 4:
[0969] The server checks the last modified date and time of each record in the integrated dataset. This process is performed periodically, for example, once a week.
[0970] Step 5:
[0971] The server lists records whose last update date and time has not been updated for a certain period of time (for example, three months). In this listing process, the "last update date and time" of each record is checked to determine whether it has passed the criterion.
[0972] Step 6:
[0973] The server generates an alert message based on the records that need to be updated, including information such as the company name, the last update date and time, and the contact's email address.
[0974] Step 7:
[0975] The server will then send an email to the person in charge for the missing records listed, containing an alert message informing the person in charge of the information that needs to be updated.
[0976] Step 8:
[0977] The user, or person in charge, checks the received email and logs in to the system to update the necessary information, such as customer contact information or service provision details.
[0978] Step 9:
[0979] During the next scheduled check, the server will recheck the updated data to ensure that any missing updates have been resolved, thereby maintaining consistency of the information.
[0980] Example 1
[0981] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[0982] With conventional data management systems, it was difficult to collect information from different databases in each department, convert it into a unified format, and keep it up to date. Furthermore, if data has not been updated for a certain period of time, the lack of updates or discrepancies in the information could have a negative impact on business operations. A system that can efficiently solve these problems is needed.
[0983] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0984] In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated dataset, means for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a person in charge, means for analyzing the acquired data and converting different column names and formats into a common format, means for checking for duplicate data and unifying it into the latest information, and means for sending the alert message by email.This makes it possible to prevent information from being out of date or inconsistent, and improve business efficiency.
[0985] A "database" is a collection of systems that store data managed by different departments of a company or organization.
[0986] "Means for obtaining information" refers to the processes, devices, and programs that connect to each database and extract the necessary information.
[0987] "Data in different formats" refers to data stored in each department's database with different input formats and column names.
[0988] A "uniform format" refers to a specification or format for converting data of different formats into a standardized common format.
[0989] "Integrated Dataset" means a collection of data that has been converted into a unified format and stored in a centralized manner.
[0990] "Last updated date and time" refers to the date and time when each record was last changed or updated.
[0991] "Records that have not been updated for a certain period of time" refers to data that has not been changed or updated for a specific period of time (for example, three months) since the last update date and time.
[0992] The "listing means" refers to a process, device, or program that detects records that have not been updated and compiles them into a list.
[0993] "Alert Message" means a notification that is generated based on certain conditions and sent to alert you to a problem or issue.
[0994] "Person in Charge" means an individual or group responsible for managing a particular task or data.
[0995] "Means for notifying" refers to a device, process, or program for communicating a generated alert message to a responsible party.
[0996] This system acquires information from various databases, converts data in different formats into a unified format, and merges the unified data into a single integrated dataset. This system periodically checks the last update date and time of each record in the integrated dataset, discovers and lists records that have not been updated for a certain period of time, and has the ability to generate alert messages based on the listed records and notify the responsible person.
[0997] Database connection and data retrieval
[0998] When it's time to run a scheduled job, the server automatically connects to each department's database. This connection uses software such as MySQL or PostgreSQL, which is used as a database management system (DBMS). The server executes SQL queries against each database to obtain the required information. For example, to extract information from the sales department database, the server executes a query to obtain data from a specific period.
[0999] Data organization and unification
[1000] The server analyzes the data it receives and converts the different column names and formats from each database into a common format. This process converts different notations and formats into standard names and formats. For example, the "CompanyName" column in the sales department's database can be changed to "Name," and the "ContactEmail" column in the engineering department can be unified to "Contact Email." This method uses the Python Pandas library, among others.
[1001] Merging Data
[1002] The server merges the organized data into a single integrated dataset. During this process, if there is any duplicate data, it checks that data and unifies it with the latest information. Again, this process uses libraries such as Pandas in Python to merge data frames and eliminate duplicates.
[1003] Update Check
[1004] The server checks the last update date and time of each record in the integrated dataset. It lists records whose last update date and time has not been updated for a certain period of time (for example, 3 months). This process is also achieved using the filtering function of Pandas.
[1005] Alerting and Notifications
[1006] The server generates an alert message for the person in charge based on the records that need to be updated. This message contains information such as the last update date and time, the record contents, and the person in charge's email address. The generated message is sent as an email. This is done using the Python smtplib library.
[1007] Specific examples
[1008] For example, when adding new customer data, a sales representative enters company information. That information is stored in the sales department's database, but other departments also need to be able to access that data. The server runs a scheduled job every day to collect information from each database and standardize the format. It then adds the latest data to the integrated dataset and checks for data that has not been updated for more than three months. If any records that need to be updated are found, the server sends an email to notify the sales representative. For example, the server could send an error message to the sales representative stating, "Company A's contact information has not been updated for more than three months. Please check the latest information and update it."
[1009] This system is expected to prevent information from being left out or becoming inconsistent, and improve business efficiency.
[1010] Prompt Sentence Examples
[1011] "Design a system that collects information from various departments in the company's databases, standardizes the format, and merges it into a unified data set. This system should generate an alert and notify the appropriate person if the data hasn't been updated in over three months."
[1012] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1013] Step 1:
[1014] When it's time to run a scheduled job, the server automatically connects to each department's database. The input is the connection information for each database, and the output is the establishment of a database connection. Specifically, it uses software such as MySQL or PostgreSQL as the database management system (DBMS), connects to the appropriate database, and executes SQL queries to retrieve the required information.
[1015] Step 2:
[1016] The server executes SQL queries against each database to retrieve data. The input is the SQL query, and the output is the retrieved data. Specifically, it executes the following query from the sales department database:
[1017] sql
[1018] SELECT FROM sales_data WHERE date >= '2023-01-01';
[1019] This query retrieves data for a specific time period.
[1020] Step 3:
[1021] The server analyzes the data it receives and converts the different column names and formats obtained from each database into a common format. The input is the raw data obtained from each department, and the output is the data converted into a unified format. Specifically, it uses the Python Pandas library to convert the column names as follows:
[1022] python
[1023] import pandas as pd
[1024] df_sales = pd.read_sql('SELECT FROM sales_data WHERE date >= "2023-01-01"', con=conn_sales)
[1025] df_sales.rename(columns={'CompanyName': 'Name', 'ContactEmail': 'Contact Email'}, inplace=True)
[1026] Step 4:
[1027] The server merges the cleaned data into a single unified dataset. The input is multiple datasets converted to a unified format, and the output is the unified dataset. Specifically, it uses the Pandas library to merge data frames and remove duplicates:
[1028] python
[1029] df_all = pd.concat([df_sales, df_tech, df_admin]).drop_duplicates()
[1030] Step 5:
[1031] The server checks the last update date and time of each record in the combined dataset. The input is the combined dataset, and the output is a list of records that haven't been updated for a certain period of time. Specifically, we use Pandas to filter out records that haven't been updated for more than three months:
[1032] python
[1033] outdated_records = df_all[df_all['Last updated date and time'] < (pd.Timestamp.now() - pd.DateOffset(months=3))]
[1034] Step 6:
[1035] The server generates an alert message for the person in charge based on the records that need to be updated. The input is a list of old records, and the output is the alert message. Specifically, the server generates the content of the alert email based on the information in each record.
[1036] Step 7:
[1037] The server notifies the person in charge of the generated alert message. The input is the generated alert message, and the output is the email that was sent. The specific operation of sending an email using Python's smtplib library is as follows:
[1038] python
[1039] import smtplib
[1040] from email.mime.text import MIMEText
[1041] for index, row in outdated_records.iterrows():
[1042] msg = MIMEText(f"The record for {row['Name']} has not been updated for more than three months. Please check the latest information and update it.")
[1043] msg['Subject'] = "Data Update Reminder"
[1044] msg['From'] = "admin@example.com"
[1045] msg['To'] = row['Contact Email']
[1046] with smtplib.SMTP('smtp.example.com') as server:
[1047] server.send_message(msg)
[1048] Through these steps, the server can automatically perform a series of processes, from retrieving information from each database to sending alert messages. This system can prevent information from being left out or becoming inconsistent, and is expected to improve business efficiency.
[1049] (Application example 1)
[1050] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1051] In security systems, information from multiple databases is not centrally managed, and data updates may not be performed appropriately. In addition, it is difficult to identify data that has not been updated, which can lead to delayed responses. As a result, there is a risk of increasing security risks.
[1052] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1053] In this invention, the server includes: means for acquiring information from each database and converting data of different formats into a unified format; means for merging the data converted into the unified format into a single integrated data set; means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time; means for generating an alert message based on the listed records and notifying a security officer; means for sending the notification message by email; means for applying the list to the monitoring system database, listing data that has not been updated, and notifying a security officer; and means for including details of records that have not been updated in the notification message. This enables centralized management of data, making it possible to identify data that has not been updated and to take prompt action.
[1054] A database is a system that organizes and manages information in a certain format, allowing it to be efficiently searched, stored, and updated.
[1055] A "server" is a computer system that provides services to other computers and devices over a network.
[1056] A "unified format" is a format for converting data of different formats into one common format.
[1057] An "integrated dataset" is a dataset that combines information obtained from multiple data sources.
[1058] "Last updated date and time" is the date and time when the data was last changed or updated.
[1059] The "certain period" refers to a specific period that has been set in advance, and in this case it mainly refers to 90 days.
[1060] "Listing" is an operation for extracting items that meet a condition and compiling them into a list.
[1061] An "alert message" is a message that notifies you when an abnormality or a specific condition occurs.
[1062] A "person in charge" is an individual or department with a specific task or responsibility.
[1063] "Email" means a form of message sent and received electronically over the Internet.
[1064] A "surveillance system" is a system that uses sensors and cameras to monitor and record specific environments and situations.
[1065] A "security officer" is an individual or department that manages and monitors security systems and responds to incidents.
[1066] "Centralized data management" means managing information from multiple data sources in a unified manner and keeping it available.
[1067] This invention provides a system for improving the efficiency of data management in a security system and for quickly detecting and addressing defects in data updates. Below, we will explain how to build and operate this system as a specific embodiment.
[1068] Hardware and Software
[1069] The system consists of the following hardware and software:
[1070] Server: A web server using Python and Flask for data handling and processing.
[1071] Database: PostgreSQL database for storing and searching various data
[1072] Mail Server: SMTP server for sending alert messages
[1073] Device: Smartphone used by security personnel
[1074] Data processing and calculation
[1075] 1. Data Acquisition
[1076] The server retrieves data using SQL queries against each database (e.g. camera feed database, access log database, and alarm system database), which captures information in different formats.
[1077] 2. Data unification
[1078] The server converts the retrieved data into a unified format, which includes standardizing the different column names and data formats of each database.
[1079] 3. Data Merge
[1080] The data converted into a unified format is merged by the server into a single integrated data set, checking for duplicate records during the merge and creating a single comprehensive data set.
[1081] 4. Update Check
[1082] The server periodically checks the last update date and time of each record in the integrated data set, and lists records that have not been updated for a certain period of time (for example, 90 days).
[1083] 5. Alerting and Notification
[1084] Based on the records that have not been updated, the server generates an alert message and notifies the responsible person via email, which contains details of the records that have not been updated.
[1085] Specific examples
[1086] For example, data from the surveillance camera database, the access record database, and the alarm system database is collected daily, converted into a unified format, and compiled into an integrated data set. The server checks the integrated data set, and if it finds a record whose last update date and time has not been updated for more than 90 days, it sends an email to the security officer's smartphone stating, "The record from camera 3 has not been updated for 90 days. Please check again."
[1087] Prompt Sentence Examples
[1088] Regularly check each database (camera feed, access log, alarm system) and list any records that have not been updated for more than 90 days. The email will include details of the records that have not been updated (such as camera ID and login date and time).
[1089] This will improve the efficiency of data management for security systems, making it possible to identify data that has not been updated and to take prompt action.
[1090] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1091] Step 1:
[1092] The server uses the connection information for each database (e.g. camera feeds, access logs, alarm systems) to execute SQL queries to retrieve the required information from each database. The input is the connection information for each database and the SQL query, and the output is the raw data retrieved from each database.
[1093] Step 2:
[1094] The server converts the raw data it receives into a unified format. This conversion standardizes the different column names and data formats of each database. For example, it standardizes "camera ID" to "device ID." The input is the raw data received from each database, and the output is the data converted into a unified format.
[1095] Step 3:
[1096] The server merges the unified data into a single unified dataset. This merge process checks for duplicate records and creates a unique dataset. The input is the unified data from each database, and the output is the unified dataset.
[1097] Step 4:
[1098] The server periodically checks the last modified date and time of each record in the consolidated dataset. For example, it runs a scheduled job to perform this check at a fixed time each day. The input is the consolidated dataset, and the output is a list of records that have not been updated for a certain period of time (e.g., 90 days).
[1099] Step 5:
[1100] The server lists records that have not been updated and generates an alert message based on the list. The alert message includes the last update date and time, record details, and contact information of the person in charge. The input is the list of listed records, and the output is the generated alert message.
[1101] Step 6:
[1102] The server sends the generated alert message via email to the security officer, containing details of the records that have not been updated. The input is the generated alert message, and the output is the email sent to the security officer's smartphone.
[1103] Step 7:
[1104] The security officer (user) receives the email on their device (smartphone) and takes immediate action based on the missing data, such as rechecking the camera feed or checking for malfunctioning alarm systems. The input is the email sent from the server, and the output is the security response action.
[1105] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1106] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates emotion engines that recognize user emotions, and provides appropriate notifications based on the user's emotions.
[1107] Database connection and data retrieval
[1108] The server connects to each department's database and retrieves the required information. This process executes SQL queries against different databases, such as sales, engineering, and management, to extract company, customer, and service information.
[1109] Data organization and unification
[1110] Convert the retrieved data into a common format. The server standardizes the different column names and formats retrieved from each database. For example, convert "company name" to "name" and "contact person email address" to "email address."
[1111] Merging Data
[1112] The converted data is compiled into a single integrated data set, and the server prioritizes storing the most recent data when duplicate data exists.
[1113] Update Check
[1114] The server periodically checks each record in the integrated data set and lists records whose last update date and time is more than a certain period (for example, three months).
[1115] Alert generation and notification preparation
[1116] Generates alert messages based on records that need updating. The server creates messages containing information such as email address, company name, and last update date.
[1117] Use of emotion engine
[1118] An emotion engine is used to recognize the user's emotions. The device analyzes the user's operations, facial expressions, voice input, etc. to generate emotion data. This data is sent to the server.
[1119] Customizing Notification Handling
[1120] The server customizes the content, timing, and method of notifications based on emotional data. For example, if the user is feeling stressed, the server may soften the content of notifications or reduce the frequency of notifications.
[1121] Specific examples
[1122] For example, if new customer information hasn't been updated for more than three months, the server generates an alert message. This message includes the company name, the last update date and time, and the email address of the person in charge. The emotion engine recognizes whether the user is currently busy or stressed through the device.
[1123] As a result, the server will adjust the content of the email depending on the user's situation. For example, it could change the content to something like, "Company A's information hasn't been updated for over three months. We apologize for bothering you, but we need to update it to the latest information." Also, if the user is extremely focused on other tasks, it may consider delaying the notification.
[1124] This system is expected to improve work efficiency by preventing information from being left out or becoming inconsistent, and by providing efficient notifications while taking users' feelings into consideration.
[1125] The processing flow will be explained below.
[1126] Step 1:
[1127] The server connects to each department's database and retrieves the necessary information. It executes SQL queries against the databases of the sales, engineering, and management departments to extract company information, customer information, service information, etc.
[1128] Step 2:
[1129] The server converts the retrieved data into a common format, unifying the different column names and formats retrieved from each database, such as "company name" to "name" and "contact person email address" to "email address."
[1130] Step 3:
[1131] The converted data is merged into a single integrated data set. During this process, if there is duplicate data, the server will prioritize and store the most recent data. For example, if information about the same company is obtained from multiple departments, the data with the most recent update date and time will be selected and integrated.
[1132] Step 4:
[1133] The server periodically checks the last modified date and time of each record in the integrated dataset. For example, it runs this checking process once a week and lists records whose last modified date and time is more than three months old.
[1134] Step 5:
[1135] After listing the records that need to be updated, the server generates an alert message that includes information such as the company name, the date and time of the last update, and the email address of the person responsible.
[1136] Step 6:
[1137] The device uses an emotion engine to analyze the user's operations, facial expressions, voice input, etc., and generates emotional data about the user. For example, the device can capture the user's facial expressions while using a computer or smartphone with a camera and analyze them.
[1138] Step 7:
[1139] The server receives the emotion data generated by the emotion engine and customizes the content and timing of the alert message based on that data. For example, if the user is feeling stressed, the notification content will be softened.
[1140] Step 8:
[1141] The server sends the generated alert message as an email to the person in charge, which includes a customized message that reflects the user's emotional data.
[1142] Step 9:
[1143] The user (person in charge) checks the received email and logs in to the system to update the necessary information, for example, updating the customer's contact information and service provision details.
[1144] Step 10:
[1145] During the next scheduled check, the server will recheck the updated data to ensure that the missing updates have been resolved, thereby maintaining consistency of the information.
[1146] Example 2
[1147] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1148] In modern companies, multiple departments, such as sales, engineering, and management, manage data independently, making it extremely important to integrate and centrally manage this data. However, differences in data formats and delays in updates can disrupt operations. Furthermore, there is a need for a notification method that can respond appropriately when users are busy or stressed. Conventional systems do not provide a notification method that takes emotions into account, and no satisfactory solution has been found in this regard.
[1149] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1150] In this invention, the server includes means for acquiring information from each database and converting data in different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for generating emotion data using an emotion analysis engine for recognizing user emotions, and means for customizing the content and timing of the alert based on the emotion data. This not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[1151] A "database" is a system for storing information in an organized manner and for efficiently searching and updating information as needed.
[1152] A "unified format" is a format that makes data with different formats and structures consistent according to common standards.
[1153] An "integrated dataset" is a collection of data obtained from multiple different data sources.
[1154] "Last update date and time" is information indicating the date and time when specific data was last updated.
[1155] An "alert message" is an informational or warning message that is generated based on a specific condition and notified to the user.
[1156] An "emotion analysis engine" is an algorithm or program that analyzes a user's actions, facial expressions, voice, etc. to recognize the user's current emotions.
[1157] "Emotion data" is data generated by an emotion analysis engine that indicates the emotional state of a user.
[1158] "Customization" refers to adjusting or changing the functionality or content of a system or service to meet specific needs or conditions.
[1159] The present invention provides a system that retrieves information from various databases, converts the different data formats into a unified format, and merges them into a single integrated data set. In addition, the present invention combines and operates a sentiment analysis engine that recognizes user emotions and provides appropriate notifications based on the user's emotions.
[1160] First, the server connects to the databases of each department (sales, engineering, management, etc.) to retrieve the required information. This process uses database connection libraries (for example, JDBC drivers or the Python psycopg2 library). The server then runs SQL queries against each database to extract company, customer, and service information.
[1161] Next, the server converts the retrieved data into a common format. Specifically, it uses Python's Pandas library to create a data frame and standardizes column names and data formats. For example, it converts the "company name" retrieved from the Oracle database into "name," and the "contact person email address" retrieved from the MySQL database into "email address." It also converts different data formats into a common format (e.g., ISO 8601).
[1162] The server then merges the different data sets obtained from each database into one. Again, this uses the Pandas merge method. If duplicate data exists, the most recent data is saved first. Specifically, the most recent data among the duplicate records is retained using the drop_duplicates method.
[1163] The server then scans each record in the combined dataset to check its last modified date and time. It uses Pandas and the Python datetime module to list records whose last modified date and time are older than a certain period (e.g., three months). It then generates an alert message based on the listed records. The server then uses the Python smtplib library to prepare the email content and send it as an email.
[1164] To recognize the user's emotions, the device analyzes the user's actions, facial expressions, and voice input to generate emotional data. This process uses IBM Watson's emotion analysis API, among others. The generated emotional data is then sent to the server.
[1165] Finally, the server customizes the content and timing of notifications based on the received emotion data, using a generative AI model (e.g., OpenAI's GPT-3) to generate the content of the notification email.
[1166] Below are some examples of prompt sentences:
[1167] Example prompt sentence:
[1168] "Generate notification email content when user is busy:
[1169] Original message: 'Company A's information hasn't been updated for over three months. We apologize for the inconvenience, but we need to update it with the latest information.'
[1170] Using this prompt, the specific notification content can be automatically generated by a generative AI model. This system not only enables efficient data integration and update management, but also makes it possible to provide notifications that take user emotions into consideration.
[1171] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1172] Step 1:
[1173] The server connects to each department's database. As input, it receives database connection information (e.g., hostname, port, username, and password). The library used is, for example, a JDBC driver or the Python psycopg2 library. As output, it generates a database connection object. The server uses this object to perform database operations.
[1174] Step 2:
[1175] The server executes SQL queries to retrieve the required information from each database. As input, it receives an SQL query (e.g. SELECT FROM customer_info) and a database connection object. It executes the query to extract data such as company information, customer information, and service information. The output is a list of the extracted data. The extracted data is temporarily stored in memory.
[1176] Step 3:
[1177] The server converts the column names and data format of the retrieved data into a unified format. It receives a list of extracted data as input. Specifically, it creates a data frame using Python's Pandas library and changes the column names. For example, it converts "Company Name" to "Name" and "Contact Email" to "Email Address." It also converts the date format to ISO 8601. The output is a data frame converted into a unified format.
[1178] Step 4:
[1179] The server merges the data converted to a unified format into a single unified dataset. As input, it receives multiple data frames. It merges them into a single data frame using the Pandas merge method. If duplicate data exists, it preserves the most recent information first. The output is a data frame of the unified dataset. This data frame has duplicates removed and a consistent structure.
[1180] Step 5:
[1181] The server checks the last modified date of each record in the combined dataset. As input, it receives the data frame of the combined dataset. It uses Pandas and the Python datetime module to filter records whose last modified date is older than a certain period (e.g., 3 months). The output is a list of records that need to be updated. This list includes records that are overdue for updates.
[1182] Step 6:
[1183] The server generates an alert message based on the listed records. As input, it receives a list of records that need to be updated and detailed information about each record (e.g., company name, last update date, email address). For example, it creates an alert message that includes the company name and last update date. The output is the generated alert message.
[1184] Step 7:
[1185] The server notifies the person in charge of the generated alert message. It receives the alert message and the destination email address as input. It sends it as an email using the Python smtplib library. The output is the notification sending status.
[1186] Step 8:
[1187] The device analyzes the user's operations, facial expressions, and voice input to generate emotional data. It receives the user's operation log and voice data as input. It recognizes the user's emotional state using IBM Watson's emotion analysis API. The output is the generated emotional data. This data indicates the user's stress level and concentration level.
[1188] Step 9:
[1189] The server customizes the content and timing of alerts based on the emotional data. It receives the generated emotional data and the original alert message as input. It uses a generative AI model (e.g., OpenAI's GPT-3) to generate the content of the notification email based on the emotional state. An example prompt is "Generate the content of a notification email when the user is busy: Original message: 'Company A's information has not been updated for over three months. We apologize for bothering you, but you need to update to the latest information.'" The output is a customized notification email.
[1190] (Application example 2)
[1191] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1192] While traditional data integration systems could retrieve information from each department's database and merge it into an integrated data set, their notifications were mechanical and did not take into account the user's emotions or situation. This made it difficult to work efficiently, especially under stress or in busy environments. Furthermore, in environments where real-time feedback was required, these mechanical notifications could be counterproductive.
[1193] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring information from each database and converting data of different formats into a unified format, means for merging the data converted into the unified format into a single integrated data set, means for checking the last update date and time of each record in the integrated data set and listing records that have not been updated for a certain period of time, means for generating an alert message based on the listed records and notifying a responsible person, means for acquiring user emotion data and customizing the content and timing of the notification, and means for analyzing the user's emotions in real time using an emotion engine. This enables flexible notification according to the user's emotions and situation, thereby improving business efficiency and user satisfaction.
[1194] A "database" is a system for collecting and storing information owned by each department.
[1195] "Means for obtaining information" refers to the process by which the server accesses each database and extracts the required information.
[1196] "Means of converting to a unified format" is the process of standardizing different data formats and arranging them into a consistent format.
[1197] "Means of merging into a unified dataset" refers to the process of assembling data converted into a unified format into a single dataset.
[1198] The "means for checking the last update date and time" is a process for checking the most recent update date and time of each record in the integrated data set.
[1199] The "means for listing records that have not been updated for a certain period of time" is a process for extracting records whose last update date and time exceeds a set period of time.
[1200] The "means for generating alert messages" is the process that creates notifications based on the listed records.
[1201] "Means for notifying personnel" is the process of sending the generated alert message to personnel.
[1202] "Means for acquiring emotional data" refers to the process of collecting emotional information from the user's facial expressions, voice, operations, etc.
[1203] "Means for customizing notification content and timing" refers to the process of adjusting the content and timing of notifications based on the acquired emotion data.
[1204] The "emotion engine" is a system that analyzes user emotions in real time and generates emotion data.
[1205] The system for implementing this invention is composed of several hardware and software components. Specifically, it uses smart glasses, a server, a database, and an emotion engine. The present invention achieves its functions through the following steps:
[1206] First, the server connects to each database to retrieve information. For example, a relational database management system like MySQL is used to retrieve company information, customer information, product information, etc. from the database, and converts the data from different formats into a unified format. This process standardizes the retrieved data and organizes it into a consistent format.
[1207] The server then merges the data converted into a unified format into a single integrated dataset. Duplicate data is combined into a single dataset, with the most recent data taking priority. It then periodically checks the last update date and time of each record and lists records that have not been updated for a certain period of time (e.g., three months).
[1208] Based on this list of records, the server generates an alert message and notifies the responsible person. This notification is often sent by email. The notification content includes the company name, the last update date and time, and the responsible person's email address.
[1209] Furthermore, the smart glasses are used by the emotion engine to acquire the user's emotion data. The smart glasses capture the user's facial expressions, voice, and operation data in real time, and generate emotion data based on this. This emotion data is then analyzed using an emotion engine such as the Microsoft Azure Emotion Analysis API.
[1210] Emotion data is sent to a server, which then uses this data to customize the content and timing of notifications. For example, if a user is busy or stressed, notifications can be softened or sent less frequently. Additionally, if positive emotions are detected in real time, the system can notify users of special offers or additional purchase incentives.
[1211] For example, consider the following prompt:
[1212] "When the sentiment engine analysis result for the customer's question 'Please tell me information about product A' is 'positive', please generate the following notification."
[1213] This makes it possible to provide flexible notifications according to the user's emotions and circumstances, thereby improving work efficiency and user satisfaction.
[1214] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1215] Step 1:
[1216] The server connects to each database and retrieves information. Specifically, it uses SQL queries to extract company, customer, and product information from the databases of the sales, engineering, and management departments. It receives connection information and SQL queries for each database as input and obtains the required information as output.
[1217] Step 2:
[1218] The server converts the acquired data into a unified format, specifically standardizing different data formats (e.g., unifying "company name," "business name," and "corporation" into "name"). It receives the acquired raw data as input and generates standardized data as output.
[1219] Step 3:
[1220] The server merges the standardized data into a single integrated data set. If there are any duplicates, the resulting data is integrated, with the most recent data taking priority. It receives standardized departmental data as input and generates an integrated data set as output.
[1221] Step 4:
[1222] The server periodically checks the last update date and time of each record in the integrated dataset and lists records that have not been updated for a certain period of time (e.g., three months).It receives the integrated dataset as input and generates a list of records that need to be updated as output.
[1223] Step 5:
[1224] The server generates an alert message based on the listed records and notifies the person in charge. Specifically, it creates a message including the company name, last update date and time, and the person in charge's contact information and sends it by email. It receives the listed records and the person in charge's email address as input and generates an alert message as output.
[1225] Step 6:
[1226] The device (smart glasses) captures the user's facial expressions and voice and generates emotion data. Specifically, it analyzes the user's operations and voice and generates emotion data using an emotion engine (for example, Microsoft Azure Emotion Analysis API). It receives the user's facial expressions and voice data as input and generates emotion data as output.
[1227] Step 7:
[1228] The server customizes the content and timing of notifications based on emotional data. Specifically, it determines the user's level of stress and adjusts the tone of the notification to a softer tone. It also considers delaying notifications if the user is highly focused. It receives emotional data and the generated alert message as input and generates a customized message as output.
[1229] Step 8:
[1230] The server notifies the user with a customized message. Specifically, it sends the message via email or other notification means as described above. It receives the customized message as input and notifies the user as output.
[1231] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1232] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1233] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1234] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1235] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1236] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1237] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1238] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1239] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1240] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1241] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1242] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1243] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1244] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1245] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1246] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1247] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1248] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1249] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1250] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1251] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1252] The following is further disclosed regarding the above embodiment.
[1253] (Claim 1)
[1254] A means of retrieving information from each database and converting data of different formats into a unified format;
[1255] a means for merging the data converted into a unified format into a single integrated data set;
[1256] A method for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time;
[1257] The system includes a means for generating alert messages based on the listed records and notifying personnel.
[1258] (Claim 2)
[1259] 10. The system of claim 1, wherein the alert message is sent as an email.
[1260] (Claim 3)
[1261] 2. The system according to claim 1, wherein the information acquired from the database corresponds to a plurality of departments.
[1262] "Example 1"
[1263] (Claim 1)
[1264] A means of retrieving information from each database and converting data of different formats into a unified format;
[1265] a means for merging the data converted into a unified format into a single integrated data set;
[1266] A method for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time;
[1267] A means for generating an alert message based on the listed records and notifying a person in charge;
[1268] A means to analyze the acquired data and convert different column names and formats into a common format,
[1269] A method to check for duplicate data and unify it with the latest information,
[1270] The system includes a means for sending the alert message as an email.
[1271] (Claim 2)
[1272] 10. The system of claim 1, wherein the alert message is sent as an email.
[1273] (Claim 3)
[1274] 2. The system according to claim 1, wherein the information acquired from the database corresponds to a plurality of departments.
[1275] "Application Example 1"
[1276] (Claim 1)
[1277] A means of retrieving information from each database and converting data of different formats into a unified format;
[1278] a means for merging the data converted into a unified format into a single integrated data set;
[1279] A method for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time;
[1280] A means for generating an alert message based on the listed records and notifying a person in charge;
[1281] means for sending the notification message as an email;
[1282] A method for applying the information to the monitoring system database, listing data that has not been updated, and notifying security personnel;
[1283] a means for including in the notification message details of the records for which updates have not been made;
[1284] A system including:
[1285] (Claim 2)
[1286] 10. The system of claim 1, wherein the alert message is sent as an email and displayed on a security-enabled device.
[1287] (Claim 3)
[1288] 2. The system according to claim 1, wherein the information obtained from the database corresponds to a plurality of security systems.
[1289] "Example 2: Combining Emotion Engines"
[1290] (Claim 1)
[1291] A means of retrieving information from each database and converting data of different formats into a unified format;
[1292] a means for merging the data converted into a unified format into a single integrated data set;
[1293] A method for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time;
[1294] A means for generating an alert message based on the listed records and notifying a person in charge;
[1295] means for generating emotion data using a sentiment analysis engine for recognizing a user's emotion;
[1296] A system that includes a means to customize the content and timing of alerts based on emotional data.
[1297] (Claim 2)
[1298] 10. The system of claim 1, wherein the alert message is sent as an email.
[1299] (Claim 3)
[1300] 2. The system according to claim 1, wherein the information acquired from the database corresponds to a plurality of departments.
[1301] "Application example 2 when combining emotion engines"
[1302] (Claim 1)
[1303] A means of retrieving information from each database and converting data of different formats into a unified format;
[1304] a means for merging the data converted into a unified format into a single integrated data set;
[1305] A method for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time;
[1306] A means for generating an alert message based on the listed records and notifying a person in charge;
[1307] A means to obtain user emotion data and customize the content and timing of notifications,
[1308] A system including means for analyzing user emotions in real time using an emotion engine.
[1309] (Claim 2)
[1310] 10. The system of claim 1, wherein the alert message is sent as an email.
[1311] (Claim 3)
[1312] 2. The system according to claim 1, wherein the information acquired from the database corresponds to a plurality of departments. [Explanation of symbols]
[1313] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of retrieving information from each database and converting data of different formats into a unified format; a means for merging the data converted into a unified format into a single integrated data set; A method for checking the last update date and time of each record in the integrated dataset and listing records that have not been updated for a certain period of time; and means for generating an alert message based on the listed records and notifying a responsible person.
2. The system of claim 1 , wherein the alert message is sent as an email.
3. 2. The system according to claim 1, wherein the information acquired from the database corresponds to a plurality of departments.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A