system
A system automates the process of receiving, analyzing, and integrating natural language queries to access and present data from multiple organizations, enhancing business efficiency and opportunity creation.
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
The challenge of efficiently sharing and integrating information across organizations with different database formats and access methods leads to reduced business efficiency and missed opportunities.
A system that receives natural language queries, analyzes them to generate database queries, retrieves and integrates data from multiple organizations, and presents results in natural language format, automating the process from query input to result display.
Enables quick retrieval, integration, and analysis of necessary information, improving business efficiency and creating new opportunities by simplifying information sharing and presentation.
Smart Images

Figure 2026041364000001_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 today's corporate environment, there is a demand for fast and efficient information sharing within and between organizations. However, due to the different database formats and access methods used by each organization, it is difficult to acquire and integrate information. This can lead to reduced business efficiency, information duplication, and missed business opportunities. The present invention aims to solve these problems by providing a system that allows information to be easily shared and used between organizations. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by providing a system including means for receiving a natural language query, means for analyzing the received natural language query and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and retrieving data based on the database query, means for integrating and analyzing the retrieved data, means for generating the analyzed results in a natural language format, and means for displaying the generated results in a natural language format. This system enables necessary information to be quickly retrieved from databases of various organizations, integrated, and used, which is expected to improve business efficiency and create new business opportunities.
[0006] A "natural language query" is a search or question text entered by a user in normal speech or prose.
[0007] "Parsing" is the process of extracting meaning and intent from an incoming natural language query and translating it into a corresponding database query.
[0008] A "database query" is a statement in a particular format sent to a database management system to retrieve desired data.
[0009] "Organization" refers to any group or company that owns a database and shares information internally or externally.
[0010] A "database" is an information management system that organizes and stores information based on certain rules, allowing it to be searched and used efficiently.
[0011] "Integration" is the process of compiling data from multiple databases into a unified format and treating it as a single data set.
[0012] "Analytical methods" are the processes and techniques used to derive meaningful information from collected and integrated data.
[0013] "Generative means" refers to the process or technology that uses the analysis results to create text in a format that is easy for humans to understand, especially in natural language format.
[0014] The "display means" is a technique for visually presenting the results to the user. [Brief explanation of the drawings]
[0015] [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 showing 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
[0016] 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.
[0017] First, the terms used in the following description will be explained.
[0018] 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).
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 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.
[0026] 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).
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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."
[0036] The present invention provides a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. A specific example of the system is described below.
[0037] System Overview
[0038] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[0039] Specific processing of the system
[0040] 1. Receiving user input
[0041] The user inputs a question in natural language format into the terminal.
[0042] Example: "What is this month's sales data?"
[0043] 2. Submitting a query
[0044] The terminal sends the user's query to the server.
[0045] 3. Query Analysis
[0046] The server analyzes the received query.
[0047] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[0048] 4. Generating Database Queries
[0049] The server generates a database query based on the analysis results.
[0050] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN® '2023-10-01' AND '2023-10-15'".
[0051] 5. Accessing the Database
[0052] The server sends the generated SQL queries to multiple organization databases.
[0053] Each database management system (DBMS) executes the query and returns the relevant data.
[0054] 6. Receipt and integration of data
[0055] The server receives the data returned from each database.
[0056] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[0057] 7. Creating the generated results
[0058] The server generates text in natural language format based on the results of the integration and analysis.
[0059] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[0060] 8. Sending and displaying results
[0061] The server generates a result in natural language format and sends it to the terminal.
[0062] The terminal displays the results to the user.
[0063] Specific examples
[0064] When a user types "Tell me this month's sales data," the terminal sends this query to the server. The server generates a database query, "Get sales data from 2023-10-01 to 2023-10-15," and sends it to the databases of multiple organizations. The server integrates the received data and generates the result, "Sales for the current month are 500,000 yen," which is displayed to the user via the terminal.
[0065] In this way, the system of the present invention can automatically and consistently perform everything from inputting queries in natural language to acquiring, integrating, and analyzing data and displaying the results, thereby effectively promoting information sharing between organizations.
[0066] The processing flow will be explained below.
[0067] Step 1:
[0068] A user inputs a question in natural language format into a computer terminal.
[0069] Example: "What is this month's sales data?"
[0070] Step 2:
[0071] The terminal receives the user's query and sends it to the server as is.
[0072] Step 3:
[0073] The server analyzes the received query.
[0074] The query analysis engine analyzes the natural language query and, based on the request for "sales data for this month," identifies the data range "2023-10-01 to 2023-10-15" as the current date.
[0075] Step 4:
[0076] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[0077] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[0078] Step 5:
[0079] The server sends the generated SQL queries to each organization's database.
[0080] In other words, it connects to the respective database and makes a request to execute a database query to get the required data.
[0081] Step 6:
[0082] Each organization's database management system (DBMS) executes the SQL queries from the server and extracts the specified data.
[0083] Each DBMS then returns the extracted data to the server.
[0084] Step 7:
[0085] The server receives the data returned from each DBMS.
[0086] Step 8:
[0087] The server's data integration engine converts the received data into a unified format and performs aggregation processing to perform total sales and other necessary calculations.
[0088] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[0089] Step 9:
[0090] The server generates a result text in a natural language format based on the integration and analysis results.
[0091] Example: "Sales for the current month are 500,000 yen."
[0092] Step 10:
[0093] The server generates a result in natural language format and sends it to the terminal.
[0094] Step 11:
[0095] The terminal displays the results sent from the server to the user.
[0096] Example: The device screen displays the message "Current month's sales are 500,000 yen."
[0097] Example 1
[0098] 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."
[0099] In conventional systems, even when users entered queries in natural language format, a great deal of manual work was required to properly send the queries to each database and retrieve, integrate, and analyze the necessary information. Furthermore, unifying data in different formats required specialized knowledge, resulting in problems that reduced efficiency. Furthermore, there were limited ways to present the analyzed results to users in an easy-to-understand manner, making it difficult to effectively utilize the information.
[0100] 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.
[0101] In this invention, the server includes: means for receiving a query in natural language format entered by a user; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query; means for integrating and analyzing the acquired data, which includes converting the data into a unified format and performing necessary aggregation processing; means for generating the analyzed results in natural language format, which includes using text generated using a generative AI model; and means for displaying the generated results in natural language format. This enables a user to automatically acquire, integrate, and analyze required information and present it in an easy-to-understand manner simply by entering a query in natural language.
[0102] A "user" is a person or entity that utilizes the system to enter natural language queries and obtain information.
[0103] "Query" refers to a question or request in natural language that a user enters into a terminal.
[0104] "Server" means a computer system that analyzes queries, sends appropriate queries to each database, and collects, consolidates, and analyzes data.
[0105] "Device" means the device used by a User to enter a query and receive and view results, such as a computer or smartphone.
[0106] "Natural language" refers to the language used by humans on a daily basis, not specific program code or instructions.
[0107] A database is a software system that systematically collects, stores, searches, and edits data. Multiple organizations may have their own databases.
[0108] A "database query" is a statement used to retrieve desired information from a database, such as SQL.
[0109] An "integration engine" is a software component that centrally consolidates data obtained from multiple data sources and converts it into a unified format.
[0110] A "generative AI model" is an algorithm or model that uses artificial intelligence technology to generate natural language text that is easy for humans to understand.
[0111] A "natural language processing (NLP) engine" is software that has the technology to analyze natural language text and understand its meaning and structure.
[0112] An "HTTP request" is a type of protocol used when communicating between a web browser and a web server, and is used to send a query.
[0113] An "SQL query" is a statement used to retrieve information from a database using the Structured Query Language (SQL).
[0114] A "REST API" is an interface for communicating with databases and other web services that uses standard HTTP methods.
[0115] The system of this invention automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. The configuration and processing details for specifically implementing the present invention are described below.
[0116] First, the system consists of three main components: the user, the terminal, and the server. The user inputs a natural language query using the terminal, and the terminal sends the query to the server. The server analyzes the query, retrieves, integrates, and analyzes the necessary data, and generates the results in natural language format and sends them back to the terminal.
[0117] Specifically, a user enters a query into a device, such as "Tell me this month's sales data." The device receives this query and sends it to the server using an HTTP POST request. The server uses a natural language processing (NLP) engine to analyze the query and identify the specific request (e.g., "sales data" and the time period "this month"). The server then uses a generative AI model, such as BERT or GPT, to generate an SQL query based on the analysis. For example, the SQL query might be "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'."
[0118] The server then sends this SQL query to multiple databases. The database management system (DBMS) executes the query and returns the relevant data. The server receives this data and uses an integration engine to unify the data formats and perform any necessary aggregations. For example, the integration engine may unify sales data in different formats and aggregate "total sales."
[0119] The server then uses a generative AI model to generate text in natural language format based on the results of the integration and analysis. For example, it generates a sentence like, "Sales for the current month are 500,000 yen." The server sends this generated result to the device, which then displays it to the user.
[0120] In this way, the system of the present invention can automatically and consistently perform everything from obtaining the necessary data to integrating, analyzing, and displaying the results, simply by having the user input a query in natural language. As a specific example, if the user inputs "Tell me this month's sales data," the terminal sends this query to the server, and the server obtains sales data from 2023-10-01 to 2023-10-15 from the analysis results, generates the result "Sales for the current month are 500,000 yen," and displays it to the user via the terminal.
[0121] Example prompt sentence:
[0122] "In this system, when a user enters a query into a terminal to find out this month's sales data, the server analyzes it, retrieves and integrates information from multiple databases, and returns the results in natural language. Please explain the process. As a specific example, please give the query "Tell me this month's sales data."
[0123] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0124] Step 1:
[0125] The user types a query in natural language into the device, for example, "What are the sales figures for this month?" The device receives this text input and stores it in its internal memory, ready to send the query in its raw form to the server.
[0126] Input: A natural language query typed by the user (e.g., "What are the sales figures for this month?")
[0127] Output: The natural language query is received on the device and stored in memory
[0128] Step 2:
[0129] The device sends the received natural language query to the server using the HTTP POST request as the communication protocol. The device sends an HTTP request containing the query to the server's analysis endpoint.
[0130] Input: A natural language query stored on your device
[0131] Output: An HTTP POST request containing the query is sent to the server
[0132] Step 3:
[0133] The server analyzes the received natural language query. First, it uses an NLP engine to analyze the meaning of the query and identify key keywords and data ranges. A generative AI model (such as BERT or GPT) is used for this analysis. Specifically, the keywords "sales data" and "this month" are extracted, and the time period "from 2023-10-01 to 2023-10-31" is identified.
[0134] Input: A natural language query included in an HTTP POST request
[0135] Output: Analysis results with keywords and data ranges identified
[0136] Step 4:
[0137] The server generates an SQL query based on the analysis results. Based on the analysis results, SQL syntax is automatically generated. For example, the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'" is generated.
[0138] Input: Identified keywords and data ranges
[0139] Output: A SQL query is generated (e.g., "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'").
[0140] Step 5:
[0141] The server generates SQL queries and sends them to multiple databases. Each database is accessed using a REST API or a direct database connection (such as JDBC) to execute the SQL queries. Each database management system (DBMS) executes the queries and returns the relevant data.
[0142] Input: Generated SQL query
[0143] Output: Data retrieved from each database
[0144] Step 6:
[0145] The server receives the data returned from each database, unifies the data format using the integration engine, and performs the necessary aggregation processing. For example, it converts sales data from each data source into a unified format and calculates total sales. This unifies data in different formats.
[0146] Input: Data obtained from each database
[0147] Output: Data converted into a unified format and aggregated
[0148] Step 7:
[0149] Based on the results of the integration and analysis, the server uses a generative AI model to generate text in natural language format, such as "Current month's sales are 500,000 yen."
[0150] Input: Integrated and analyzed data
[0151] Output: Natural language formatted text (e.g. "Sales for the current month are 500,000 yen")
[0152] Step 8:
[0153] The server sends the generated results to the terminal. The terminal displays the received results to the user. Specifically, the text "Current month's sales are 500,000 yen" is displayed on the terminal screen.
[0154] Input: Natural language formatted text
[0155] Output: The result displayed on the terminal (e.g., "Sales for the current month are 500,000 yen")
[0156] (Application example 1)
[0157] 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."
[0158] Inventory management and delivery planning optimization are extremely important in logistics centers, but collecting and analyzing information scattered across multiple databases on-site is cumbersome, making it difficult to efficiently acquire information. The purpose of this invention is to significantly improve the operational efficiency of logistics centers by enabling simple query input using natural language, rapid information acquisition from multiple databases, and automating integration and analysis.
[0159] 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.
[0160] In this invention, the server includes means for receiving a query in natural language, means for analyzing the received query in natural language and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated result in a natural language format, and means for analyzing a query specialized for logistics information and providing an optimal delivery plan and inventory information. This makes it possible to improve business efficiency, such as understanding inventory status at logistics centers and optimizing delivery plans.
[0161] A "natural language query" is a question or request entered by a user in everyday language.
[0162] A "database query" is a query command issued to a database management system to obtain specific data.
[0163] A "multi-organizational database" refers to a collection of data owned by many different organizations or departments.
[0164] "Means of information retrieval" refers to the methods or techniques used to extract specific information from a database.
[0165] "Means for integrating and analyzing acquired data" refers to a method for consolidating collected data into one and performing analysis and processing based on that data.
[0166] "Means for generating analyzed results in natural language format" refers to methods and techniques for expressing analyzed data in sentences that are easy for humans to understand.
[0167] "Means for displaying results" refers to a display or interface for showing processed information or results to a user.
[0168] "Logistics information-specific queries" are questions or requests related to logistics operations, particularly inventory status and delivery plans.
[0169] "Means for providing optimal delivery plans and inventory information" refers to methods and technologies for calculating appropriate delivery schedules and inventory levels in order to maximize logistics efficiency.
[0170] This system automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on logistics-related queries entered in natural language by users on their smartphones. A specific example of the system is described below.
[0171] System configuration
[0172] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[0173] Hardware and software used
[0174] Smartphone: the device on which the application is installed and on which the user enters queries
[0175] Python: The main implementation language for the application
[0176] Web frameworks such as Flask: Used to build server-side APIs
[0177] The requests module: Sending and receiving HTTP requests
[0178] Database Management System (DBMS): A system that manages data for multiple organizations.
[0179] Data processing and calculation
[0180] Receiving User Input
[0181] The user inputs a question in natural language format into the terminal.
[0182] Example: "What is the current stock situation?"
[0183] Submitting a query
[0184] The terminal sends the user's query to the server.
[0185] Query Analysis
[0186] The server analyzes the received query. The query analysis engine interprets the input query (e.g., "current stock status") and identifies the relevant data range and data source.
[0187] Generate database queries
[0188] Based on the analysis results, the server generates specific database queries for each organization's database.
[0189] Accessing the database
[0190] The server sends the generated database queries to multiple organizational databases to retrieve the required data.
[0191] Data integration and analysis
[0192] The server receives the data returned from each database, uses an integration engine to convert the data from different formats into a unified format, and then performs the necessary aggregation and analysis.
[0193] Creating generated results
[0194] The server generates text in natural language format based on the results of the integration and analysis. For example, it generates the sentence "Current stock is 500 units."
[0195] Sending and displaying results
[0196] The server sends the generated results in natural language format to the terminal, which displays the results to the user.
[0197] Prompt Sentence Examples
[0198] When a user types "What is the current inventory status?" into their smartphone, the system retrieves the latest inventory information from each warehouse database and replies, "There are 500 units in stock now."
[0199] In this way, by implementing the system of the present invention, it is possible to quickly obtain and analyze information from multiple databases at a logistics center, and to achieve more efficient logistics operations.
[0200] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0201] Step 1:
[0202] A user inputs a natural language query using a smartphone. For example, the user inputs the query "What is the current stock situation?" This natural language query becomes the input for the system.
[0203] Step 2:
[0204] The device sends a natural language query entered by the user to the server. The entered query is sent to the server as an HTTP request. This request includes the user's question text.
[0205] Step 3:
[0206] The server analyzes the received query. The server's query analysis engine interprets the natural language query and identifies the range of data required and the specific data source. Specifically, the analysis results in the generation of an SQL query to obtain "current inventory information." This is the output of the analysis results.
[0207] Step 4:
[0208] The server generates a database query based on the analysis results. Here, a specific SQL query (e.g., "SELECT FROM inventory WHERE status = 'current'") is generated. This query is used to query each organization's database. The generated SQL query is the output.
[0209] Step 5:
[0210] The server generates a database query and sends it to multiple organization databases. Each database management system (DBMS) executes the query and returns the relevant data (e.g., current inventory information). The inventory information returned from the databases is the output of this step.
[0211] Step 6:
[0212] The server receives and consolidates the data returned from each database. The consolidation engine converts the data from different formats into a unified format and performs any necessary aggregations or analysis. Specifically, it aggregates inventory data from multiple data sources and calculates the total inventory count. The aggregated inventory data is the output.
[0213] Step 7:
[0214] The server generates a natural language result based on the integration and analysis results. Specifically, it generates text such as "Current inventory is 500 units." This natural language result is the output.
[0215] Step 8:
[0216] The server generates a natural language result and sends it to the terminal. The terminal displays the result to the user. The user's smartphone displays a message saying "Current stock is 500 units." The displayed message is the final output.
[0217] The above is a specific flow of the program processing of the system that realizes the application example.
[0218] 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.
[0219] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language with an emotion engine that recognizes the user's emotions. This makes it possible to provide adaptive responses according to the user's emotional state. A specific example of the system is described below.
[0220] System Overview
[0221] This system consists of a user, a terminal, a server, and an emotion engine. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends appropriate queries to each organization's database to collect, integrate, and analyze the necessary data. The server generates the results in natural language, adjusts the response based on the user's emotion using the emotion engine, and sends it back to the terminal.
[0222] Specific processing of the system
[0223] 1. Receiving user input
[0224] A user inputs a question in natural language format into a computer terminal.
[0225] Example: "What is this month's sales data?"
[0226] 2. Submitting a query
[0227] The terminal sends the user's query to the server.
[0228] 3. Query Analysis
[0229] The server analyzes the received query.
[0230] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[0231] 4. Generating Database Queries
[0232] The server generates a database query based on the analysis results.
[0233] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'".
[0234] 5. Accessing the Database
[0235] The server sends the generated SQL queries to multiple organization databases.
[0236] Each database management system (DBMS) executes the query and extracts the specified data.
[0237] 6. Receipt and integration of data
[0238] The server receives the data returned from each DBMS.
[0239] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[0240] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[0241] 7. Creating the generated results
[0242] The server generates text in natural language format based on the integration and analysis results.
[0243] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[0244] 8. User Emotion Recognition
[0245] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[0246] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[0247] 9. Adjusting the response
[0248] The server adjusts the generated text based on the analysis results of the emotion engine according to the user's emotions.
[0249] For example, if a user is feeling stressed, you can adjust the prompt to something like, "Your current monthly sales are 500,000 yen. Do you need some advice on how to increase your sales even more?"
[0250] 10. Sending and displaying results
[0251] The server sends the results in a tailored natural language format to the terminal.
[0252] The terminal displays the results to the user.
[0253] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[0254] In this way, the system of the present invention can automatically perform all processes from inputting a query in natural language to acquiring, integrating, analyzing, recognizing emotions, adjusting the results, and displaying them, thereby providing flexible and effective responses that correspond to the user's emotional state.
[0255] The processing flow will be explained below.
[0256] Step 1:
[0257] A user inputs a question in natural language format into a computer terminal.
[0258] Example: "What is this month's sales data?"
[0259] Step 2:
[0260] The terminal receives the user's query and sends it to the server as is.
[0261] Step 3:
[0262] The server analyzes the received query.
[0263] The query analysis engine extracts meaning from the natural language query and identifies a specific data range (e.g., 2023-10-01 to 2023-10-15) to understand "this month's sales data."
[0264] Step 4:
[0265] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[0266] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[0267] Step 5:
[0268] The server sends the generated SQL queries to each organization's database.
[0269] It connects to each database and executes the generated SQL queries to make requests to retrieve the required data.
[0270] Step 6:
[0271] Each organization's database management system (DBMS) executes the SQL query sent from the server and extracts the specified data.
[0272] Data is returned from each DBMS.
[0273] Step 7:
[0274] The server receives the data returned from each DBMS.
[0275] Step 8:
[0276] The server's data integration engine converts the received data into a unified format and performs aggregation processing.
[0277] For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[0278] Step 9:
[0279] The server generates text in natural language format based on the integration and analysis results.
[0280] Example: "Sales for the current month are 500,000 yen."
[0281] Step 10:
[0282] The device collects facial expressions, tone of voice, and other information to recognize the user's emotions.
[0283] This data is sent to the server.
[0284] Step 11:
[0285] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[0286] Step 12:
[0287] The server adjusts the generated text based on the user's emotions based on the analysis results of the emotion engine.
[0288] Example: If the user is feeling stressed, try adjusting by saying, "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales even more?"
[0289] Step 13:
[0290] The server sends the results in a tailored natural language format to the terminal.
[0291] Step 14:
[0292] The terminal displays the results sent from the server to the user.
[0293] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[0294] Example 2
[0295] 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."
[0296] Conventional technologies have had difficulty in properly acquiring, integrating, and analyzing data in response to natural language queries from users. Furthermore, they lacked a mechanism for providing flexible and effective responses according to the user's emotional state, limiting the user experience. The present invention aims to solve these problems by providing a system that allows users to efficiently acquire the information they need and provides responses according to their emotional state.
[0297] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for receiving a natural language query; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple institutions and acquiring data based on the database query; means for integrating and analyzing the acquired data; means for generating the analyzed results in a natural language format; an emotion engine for recognizing the user's emotional state; means for adjusting the generated natural language result based on the analysis result of the emotion engine; and means for displaying the generated natural language result. This enables the user to efficiently acquire necessary information and provides an adaptive response according to the user's emotional state.
[0298] A "natural language query" refers to a question or request entered by a user in everyday language or sentences.
[0299] "Query parsing" refers to the process of technically understanding a received natural language query and translating it into a database query.
[0300] A "database query" refers to a command or statement that retrieves specific data from a database.
[0301] "Multiple institution databases" refers to multiple databases managed by different organizations or companies.
[0302] "Data integration" refers to processing data obtained from different databases together.
[0303] "Analysis" refers to the process of analyzing acquired data to obtain useful information and insights.
[0304] An "emotion engine" refers to software or hardware for analyzing a user's emotional state from facial expressions, tone of voice, etc.
[0305] "Natural language results" refers to text generated in natural language to make the analyzed data easier for users to understand.
[0306] "Response adjustment" refers to modifying and optimizing the natural language format results generated based on the analysis results of the emotion engine according to the user's emotional state.
[0307] This invention is a system that automatically retrieves, integrates, and analyzes necessary data from databases of multiple institutions based on a query entered by a user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to provide adaptive responses according to the user's emotional state. A specific embodiment of the system is described below.
[0308] Hardware and Software
[0309] This system has the following hardware and software as its main components:
[0310] User terminal: The device through which a user enters a natural language query (e.g., personal computer, smartphone).
[0311] Server: A computer system for analyzing data, generating database queries, data integration, and sentiment analysis using the sentiment engine.
[0312] Emotion Engine: A software module for analyzing user emotions, working in conjunction with a facial recognition camera and microphone.
[0313] Data processing and calculation
[0314] Natural Language Processing (NLP) Engine: The server receives a natural language query entered by the user, for example, "What are the sales figures for this month?"
[0315] Query analysis engine: The server uses an NLP engine to analyze the query and generate an appropriate database query, such as "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[0316] Data integration engine: The server integrates data obtained from multiple databases and converts data in different formats into a unified format. For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[0317] Emotion analysis: The emotion engine analyzes the user's facial expressions and tone of voice to recognize emotions such as happiness, sadness, anger, etc. For example, it uses data from the camera and microphone to determine whether the user is stressed.
[0318] Response generation and adjustment: The server generates natural language text based on the integration and analysis results, and adjusts the response based on the emotional state obtained from the emotion engine. For example, it generates an adjustment result such as, "Current monthly sales are 500,000 yen. Do you need any advice on how to increase sales further?"
[0319] Examples of concrete examples and prompts
[0320] For example, the following steps are taken:
[0321] 1. Example of a prompt entered by the user: "What are the sales figures for this month?"
[0322] 2. Example of query analysis and SQL generation: The server analyzes the input prompt statement and generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[0323] 3. Example of data integration: The sales data returned from each store (Store A: 300,000 yen, Store B: 200,000 yen) is integrated to calculate total sales of 500,000 yen.
[0324] 4. Example of emotion recognition: Based on the user's facial expressions and voice, the emotion engine determines the user's emotional state as "stress."
[0325] 5. Example of response tailoring: The final generated response will be "Current monthly sales are 500,000 yen. Do you need advice on how to increase sales further?"
[0326] In this way, the system can automatically perform a series of processes, from user query input, data acquisition, data integration, and emotion-based response generation, enabling efficient and flexible information provision.
[0327] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0328] Step 1: Receiving User Input
[0329] A user inputs a question in natural language format into a computer terminal.
[0330] Input: The user types "What are the sales figures for this month?" into the text input field.
[0331] What happens: The user enters text using the device's keyboard or touchscreen.
[0332] Output: The device gets the natural language query "What are the sales figures for this month?"
[0333] Step 2: Submitting a query
[0334] The terminal sends the user's query to the server.
[0335] Input: A natural language query obtained from the user.
[0336] Specific operation: The device sends a query to the server via the Internet.
[0337] Output: The query data is sent to the server.
[0338] Step 3: Parsing the query
[0339] The server analyzes the received query.
[0340] Input: A natural language query sent from the device.
[0341] What happens: The server uses a natural language processing (NLP) engine to parse the query and understand what the user wants.
[0342] Output: Analysis results, including the specific data range or request (e.g., "Get sales data, period = 2023-10-01 to 2023-10-31").
[0343] Step 4: Generate Database Queries
[0344] The server generates a database query based on the analysis results.
[0345] Input: The results of the query analysis.
[0346] Specific operation: The server generates an SQL query based on the analysis results.
[0347] Output: SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[0348] Step 5: Access the Database
[0349] The server sends the generated SQL queries to multiple organization databases.
[0350] Input: SQL query.
[0351] Specific operation: The server executes SQL queries against each database management system (DBMS).
[0352] Output: Sales data retrieved from each database.
[0353] Step 6: Receiving and consolidating data
[0354] The server receives and consolidates the data returned from each DBMS.
[0355] Input: Sales data retrieved from each database.
[0356] Specific operation: The server's integration engine converts the incoming data into a unified format and aggregates it.
[0357] Output: Consolidated sales data (e.g. total sales is 500,000 yen).
[0358] Step 7: Creating the generated results
[0359] The server generates text in natural language format based on the integration results.
[0360] Input: Consolidated sales data.
[0361] What it does: The server uses a generative AI model to generate text in natural language format.
[0362] Output: Natural language text "Sales for the current month are 500,000 yen."
[0363] Step 8: Recognizing User Emotions
[0364] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[0365] Input: User facial and voice data.
[0366] Specific operation: Captures data using the device's built-in camera and microphone and sends it to a server.
[0367] Output: User's emotional state data.
[0368] Step 9: Adjusting the response
[0369] The server adjusts the generated natural language format results based on the analysis results of the emotion engine.
[0370] Input: Emotional state data from the emotion engine and generated natural language text.
[0371] What it does: Adjust text appropriately depending on emotional state.
[0372] Output: Tailored response "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[0373] Step 10: Send and view results
[0374] The server sends the results in a tailored natural language format to the terminal.
[0375] Input: A tailored natural language response.
[0376] Specific operation: The server sends the adjusted text to the device.
[0377] Output: Message displayed on the terminal: "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[0378] (Application example 2)
[0379] 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."
[0380] Conventional natural language processing systems only provide simple answers without considering the user's emotional state, which can lead to a loss of user satisfaction and trust. Furthermore, security services require fast and appropriate responses to emergency reports and anomaly detection, but the lack of emotional response has prevented users from feeling fully secure. There is a need to solve these problems and provide a more effective system with higher user satisfaction.
[0381] The identification process by the identification 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 receiving a natural language query, means for analyzing the received natural language query and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated natural language result, means for recognizing a user's emotion, and means for adjusting the natural language result based on the recognized user's emotion. This makes it possible to provide a flexible and effective response according to the user's emotional state and give the user a sense of security in security services, etc.
[0382] A "natural language query" is a question or command that a user enters into a system in everyday language.
[0383] A "means for parsing" is a process for understanding a received natural language query and generating a corresponding specific database query.
[0384] A "database query" is a formal inquiry to retrieve specific information from a database.
[0385] The "means for obtaining" is a method for gathering the required information from multiple databases using the generated database query.
[0386] "Means for integrating and analyzing data" refers to a method for converting data obtained from multiple databases into a single unified format and then analyzing it.
[0387] "Means for generating in natural language format" refers to the process of converting the analyzed results into sentences or expressions that are easy for users to understand.
[0388] The "means for displaying" is the method by which the generated natural language results are visually presented to the user.
[0389] "Means for recognizing user emotions" refers to the process of determining the user's emotional state from facial expressions, tone of voice, etc.
[0390] A "tuning means" is a method for changing the generated natural language results to a more appropriate form based on the perceived emotional state of the user.
[0391] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language, with an emotion engine that recognizes the user's emotions. A specific example of the system is described below.
[0392] In this system, users input queries in natural language through their devices, which are then analyzed by the server to generate database queries. The server then sends the generated queries to multiple organizations' databases to retrieve data based on them. The retrieved data is then integrated and analyzed by the server, and the results are generated in natural language format. The generated results are then adjusted based on the user's emotional state. The final results are then displayed on the device.
[0393] The hardware and software used will be specifically described.
[0394] Hardware used
[0395] Device: The device (e.g., smartphone, smart glasses, head-mounted display) on which the user enters a query and displays the results.
[0396] Server: A server for query analysis, database query generation, data acquisition, data integration and analysis, natural language generation, emotion recognition, etc.
[0397] Software used
[0398] Natural Language Processing Engine (NLPModel): Software for parsing natural language queries and generating database queries.
[0399] Database Management System (DBMS): A system for executing database queries and retrieving data.
[0400] Emotion Recognition Engine (emotion_recognition): Software for recognizing user emotions.
[0401] Data integration engine: Software for integrating and analyzing acquired data.
[0402] Natural language generation engine: Software for generating analysis results in natural language format.
[0403] As a concrete example of using the system, consider the case where a user enters the query "I saw a suspicious person in front of the building." The system operates as follows.
[0404] 1. The user types into the terminal, "I saw a suspicious person in front of the building."
[0405] 2. The device sends this query to the server.
[0406] 3. The server parses the query using a natural language processing engine and generates a relevant database query.
[0407] 4. The server sends the generated database query to multiple databases to retrieve relevant information.
[0408] 5. The acquired information is integrated and analyzed using a data integration engine.
[0409] 6. The analysis results are converted into natural language text using a natural language generation engine.
[0410] 7. An emotion recognition engine recognizes the user's emotions and adjusts the generated text based on those emotions.
[0411] 8. The final result is sent to the terminal and displayed to the user.
[0412] This embodiment allows the user to receive flexible and effective responses according to their emotions.
[0413] Prompt Sentence Examples
[0414] User input: "I saw a suspicious person in front of the building."
[0415] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0416] Step 1:
[0417] The user inputs a query in natural language into the terminal. The input query is text, such as "I saw a suspicious person in front of the building." The input data is the user's text-based question or report, which is imported into the system via the terminal.
[0418] Step 2:
[0419] The terminal sends the received query to the server. In this step, the terminal sends the input query to the server via the network. The input is the user's natural language query, and the output is that the query is sent to the server.
[0420] Step 3:
[0421] The server analyzes the received query. Specifically, it uses a natural language processing engine (NLPModel) to analyze the query and generate a database query. The input is a query in natural language format, which is analyzed to generate a specific database query. For example, from the query "I saw a suspicious person in front of the building," a query to search surveillance camera data and security records in the target area is generated.
[0422] Step 4:
[0423] The server sends the generated database query to multiple organizations' databases to retrieve the required data. The server issues queries to multiple database management systems (DBMS) to collect the specified information. The input is the database query, and the output is the retrieved data from each database.
[0424] Step 5:
[0425] The acquired data is integrated and analyzed using a data integration engine. The server converts data obtained from multiple databases into a unified format and performs aggregation and analysis as necessary. The input is data in different formats, and the output is data that has been integrated and analyzed in a unified format.
[0426] Step 6:
[0427] The analysis results are converted into natural language text using a natural language generation engine. The server then generates sentences based on the analyzed data that are easy for users to understand. For example, the generated text might be, "A suspicious person has been spotted in front of the building. We are currently reviewing the footage from the surveillance camera." The input is the analysis result data, and the output is the generated natural language text.
[0428] Step 7:
[0429] The emotion recognition engine recognizes the user's emotions. The device acquires data such as the user's facial expressions and tone of voice, and sends that data to the server. The server then uses the emotion recognition engine to analyze the user's emotions. The input is the user's emotional data, and the output is the analyzed emotional state of the user.
[0430] Step 8:
[0431] The generated natural language text is adjusted based on the user's emotional state. The server adjusts the response based on the user's emotions based on the results of the emotion recognition engine. For example, if the user is feeling anxious, the server changes the message to one that provides reassurance, such as "A security team will arrive shortly." The input is the user's emotional state and the generated text, and the output is the adjusted natural language text.
[0432] Step 9:
[0433] The adjusted result is sent to the terminal and displayed to the user. The final result is sent from the server to the terminal, and the terminal displays the result to the user. The input is adjusted natural language text, and the output is a message visually displayed to the user.
[0434] 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.
[0435] 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.
[0436] 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.
[0437] [Second embodiment]
[0438] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0439] 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.
[0440] 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).
[0441] 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.
[0442] 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.
[0443] 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).
[0444] 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.
[0445] 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.
[0446] 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.
[0447] 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.
[0448] 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.
[0449] 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."
[0450] The present invention provides a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. A specific example of the system is described below.
[0451] System Overview
[0452] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[0453] Specific processing of the system
[0454] 1. Receiving user input
[0455] The user inputs a question in natural language format into the terminal.
[0456] Example: "What is this month's sales data?"
[0457] 2. Submitting a query
[0458] The terminal sends the user's query to the server.
[0459] 3. Query Analysis
[0460] The server analyzes the received query.
[0461] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[0462] 4. Generating Database Queries
[0463] The server generates a database query based on the analysis results.
[0464] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'".
[0465] 5. Accessing the Database
[0466] The server sends the generated SQL queries to multiple organization databases.
[0467] Each database management system (DBMS) executes the query and returns the relevant data.
[0468] 6. Receipt and integration of data
[0469] The server receives the data returned from each database.
[0470] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[0471] 7. Creating the generated results
[0472] The server generates text in natural language format based on the results of the integration and analysis.
[0473] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[0474] 8. Sending and displaying results
[0475] The server generates a result in natural language format and sends it to the terminal.
[0476] The terminal displays the results to the user.
[0477] Specific examples
[0478] When a user types "Tell me this month's sales data," the terminal sends this query to the server. The server generates a database query, "Get sales data from 2023-10-01 to 2023-10-15," and sends it to the databases of multiple organizations. The server integrates the received data and generates the result, "Sales for the current month are 500,000 yen," which is displayed to the user via the terminal.
[0479] In this way, the system of the present invention can automatically and consistently perform everything from inputting queries in natural language to acquiring, integrating, and analyzing data and displaying the results, thereby effectively promoting information sharing between organizations.
[0480] The processing flow will be explained below.
[0481] Step 1:
[0482] A user inputs a question in natural language format into a computer terminal.
[0483] Example: "What is this month's sales data?"
[0484] Step 2:
[0485] The terminal receives the user's query and sends it to the server as is.
[0486] Step 3:
[0487] The server analyzes the received query.
[0488] The query analysis engine analyzes the natural language query and, based on the request for "sales data for this month," identifies the data range "2023-10-01 to 2023-10-15" as the current date.
[0489] Step 4:
[0490] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[0491] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[0492] Step 5:
[0493] The server sends the generated SQL queries to each organization's database.
[0494] In other words, it connects to the respective database and makes a request to execute a database query to get the required data.
[0495] Step 6:
[0496] Each organization's database management system (DBMS) executes the SQL queries from the server and extracts the specified data.
[0497] Each DBMS then returns the extracted data to the server.
[0498] Step 7:
[0499] The server receives the data returned from each DBMS.
[0500] Step 8:
[0501] The server's data integration engine converts the received data into a unified format and performs aggregation processing to perform total sales and other necessary calculations.
[0502] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[0503] Step 9:
[0504] The server generates a result text in a natural language format based on the integration and analysis results.
[0505] Example: "Sales for the current month are 500,000 yen."
[0506] Step 10:
[0507] The server generates a result in natural language format and sends it to the terminal.
[0508] Step 11:
[0509] The terminal displays the results sent from the server to the user.
[0510] Example: The device screen displays the message "Current month's sales are 500,000 yen."
[0511] Example 1
[0512] 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."
[0513] In conventional systems, even when users entered queries in natural language format, a great deal of manual work was required to properly send the queries to each database and retrieve, integrate, and analyze the necessary information. Furthermore, unifying data in different formats required specialized knowledge, resulting in problems that reduced efficiency. Furthermore, there were limited ways to present the analyzed results to users in an easy-to-understand manner, making it difficult to effectively utilize the information.
[0514] 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.
[0515] In this invention, the server includes: means for receiving a query in natural language format entered by a user; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query; means for integrating and analyzing the acquired data, which includes converting the data into a unified format and performing necessary aggregation processing; means for generating the analyzed results in natural language format, which includes using text generated using a generative AI model; and means for displaying the generated results in natural language format. This enables a user to automatically acquire, integrate, and analyze required information and present it in an easy-to-understand manner simply by entering a query in natural language.
[0516] A "user" is a person or entity that utilizes the system to enter natural language queries and obtain information.
[0517] "Query" refers to a question or request in natural language that a user enters into a terminal.
[0518] "Server" means a computer system that analyzes queries, sends appropriate queries to each database, and collects, consolidates, and analyzes data.
[0519] "Device" means the device used by a User to enter a query and receive and view results, such as a computer or smartphone.
[0520] "Natural language" refers to the language used by humans on a daily basis, not specific program code or instructions.
[0521] A database is a software system that systematically collects, stores, searches, and edits data. Multiple organizations may have their own databases.
[0522] A "database query" is a statement used to retrieve desired information from a database, such as SQL.
[0523] An "integration engine" is a software component that centrally consolidates data obtained from multiple data sources and converts it into a unified format.
[0524] A "generative AI model" is an algorithm or model that uses artificial intelligence technology to generate natural language text that is easy for humans to understand.
[0525] A "natural language processing (NLP) engine" is software that has the technology to analyze natural language text and understand its meaning and structure.
[0526] An "HTTP request" is a type of protocol used when communicating between a web browser and a web server, and is used to send a query.
[0527] An "SQL query" is a statement used to retrieve information from a database using the Structured Query Language (SQL).
[0528] A "REST API" is an interface for communicating with databases and other web services that uses standard HTTP methods.
[0529] The system of this invention automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. The configuration and processing details for specifically implementing the present invention are described below.
[0530] First, the system consists of three main components: the user, the terminal, and the server. The user inputs a natural language query using the terminal, and the terminal sends the query to the server. The server analyzes the query, retrieves, integrates, and analyzes the necessary data, and generates the results in natural language format and sends them back to the terminal.
[0531] Specifically, a user enters a query into a device, such as "Tell me this month's sales data." The device receives this query and sends it to the server using an HTTP POST request. The server uses a natural language processing (NLP) engine to analyze the query and identify the specific request (e.g., "sales data" and the time period "this month"). The server then uses a generative AI model, such as BERT or GPT, to generate an SQL query based on the analysis. For example, the SQL query might be "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'."
[0532] The server then sends this SQL query to multiple databases. The database management system (DBMS) executes the query and returns the relevant data. The server receives this data and uses an integration engine to unify the data formats and perform any necessary aggregations. For example, the integration engine may unify sales data in different formats and aggregate "total sales."
[0533] The server then uses a generative AI model to generate text in natural language format based on the results of the integration and analysis. For example, it generates a sentence like, "Sales for the current month are 500,000 yen." The server sends this generated result to the device, which then displays it to the user.
[0534] In this way, the system of the present invention can automatically and consistently perform everything from obtaining the necessary data to integrating, analyzing, and displaying the results, simply by having the user input a query in natural language. As a specific example, if the user inputs "Tell me this month's sales data," the terminal sends this query to the server, and the server obtains sales data from 2023-10-01 to 2023-10-15 from the analysis results, generates the result "Sales for the current month are 500,000 yen," and displays it to the user via the terminal.
[0535] Example prompt sentence:
[0536] "In this system, when a user enters a query into a terminal to find out this month's sales data, the server analyzes it, retrieves and integrates information from multiple databases, and returns the results in natural language. Please explain the process. As a specific example, please give the query "Tell me this month's sales data."
[0537] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0538] Step 1:
[0539] The user types a query in natural language into the device, for example, "What are the sales figures for this month?" The device receives this text input and stores it in its internal memory, ready to send the query in its raw form to the server.
[0540] Input: A natural language query typed by the user (e.g., "What are the sales figures for this month?")
[0541] Output: The natural language query is received on the device and stored in memory
[0542] Step 2:
[0543] The device sends the received natural language query to the server using the HTTP POST request as the communication protocol. The device sends an HTTP request containing the query to the server's analysis endpoint.
[0544] Input: A natural language query stored on your device
[0545] Output: An HTTP POST request containing the query is sent to the server
[0546] Step 3:
[0547] The server analyzes the received natural language query. First, it uses an NLP engine to analyze the meaning of the query and identify key keywords and data ranges. A generative AI model (such as BERT or GPT) is used for this analysis. Specifically, the keywords "sales data" and "this month" are extracted, and the time period "from 2023-10-01 to 2023-10-31" is identified.
[0548] Input: A natural language query included in an HTTP POST request
[0549] Output: Analysis results with keywords and data ranges identified
[0550] Step 4:
[0551] The server generates an SQL query based on the analysis results. Based on the analysis results, SQL syntax is automatically generated. For example, the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'" is generated.
[0552] Input: Identified keywords and data ranges
[0553] Output: A SQL query is generated (e.g., "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'").
[0554] Step 5:
[0555] The server generates SQL queries and sends them to multiple databases. Each database is accessed using a REST API or a direct database connection (such as JDBC) to execute the SQL queries. Each database management system (DBMS) executes the queries and returns the relevant data.
[0556] Input: Generated SQL query
[0557] Output: Data retrieved from each database
[0558] Step 6:
[0559] The server receives the data returned from each database, unifies the data format using the integration engine, and performs the necessary aggregation processing. For example, it converts sales data from each data source into a unified format and calculates total sales. This unifies data in different formats.
[0560] Input: Data obtained from each database
[0561] Output: Data converted into a unified format and aggregated
[0562] Step 7:
[0563] Based on the results of the integration and analysis, the server uses a generative AI model to generate text in natural language format, such as "Current month's sales are 500,000 yen."
[0564] Input: Integrated and analyzed data
[0565] Output: Natural language formatted text (e.g. "Sales for the current month are 500,000 yen")
[0566] Step 8:
[0567] The server sends the generated results to the terminal. The terminal displays the received results to the user. Specifically, the text "Current month's sales are 500,000 yen" is displayed on the terminal screen.
[0568] Input: Natural language formatted text
[0569] Output: The result displayed on the terminal (e.g., "Sales for the current month are 500,000 yen")
[0570] (Application example 1)
[0571] 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."
[0572] Inventory management and delivery planning optimization are extremely important in logistics centers, but collecting and analyzing information scattered across multiple databases on-site is cumbersome, making it difficult to efficiently acquire information. The purpose of this invention is to significantly improve the operational efficiency of logistics centers by enabling simple query input using natural language, rapid information acquisition from multiple databases, and automating integration and analysis.
[0573] 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.
[0574] In this invention, the server includes means for receiving a query in natural language, means for analyzing the received query in natural language and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated result in a natural language format, and means for analyzing a query specialized for logistics information and providing an optimal delivery plan and inventory information. This makes it possible to improve business efficiency, such as understanding inventory status at logistics centers and optimizing delivery plans.
[0575] A "natural language query" is a question or request entered by a user in everyday language.
[0576] A "database query" is a query command issued to a database management system to obtain specific data.
[0577] A "multi-organizational database" refers to a collection of data owned by many different organizations or departments.
[0578] "Means of information retrieval" refers to the methods or techniques used to extract specific information from a database.
[0579] "Means for integrating and analyzing acquired data" refers to a method for consolidating collected data into one and performing analysis and processing based on that data.
[0580] "Means for generating analyzed results in natural language format" refers to methods and techniques for expressing analyzed data in sentences that are easy for humans to understand.
[0581] "Means for displaying results" refers to a display or interface for showing processed information or results to a user.
[0582] "Logistics information-specific queries" are questions or requests related to logistics operations, particularly inventory status and delivery plans.
[0583] "Means for providing optimal delivery plans and inventory information" refers to methods and technologies for calculating appropriate delivery schedules and inventory levels in order to maximize logistics efficiency.
[0584] This system automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on logistics-related queries entered in natural language by users on their smartphones. A specific example of the system is described below.
[0585] System configuration
[0586] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[0587] Hardware and software used
[0588] Smartphone: the device on which the application is installed and on which the user enters queries
[0589] Python: The main implementation language for the application
[0590] Web frameworks such as Flask: Used to build server-side APIs
[0591] The requests module: Sending and receiving HTTP requests
[0592] Database Management System (DBMS): A system that manages data for multiple organizations.
[0593] Data processing and calculation
[0594] Receiving User Input
[0595] The user inputs a question in natural language format into the terminal.
[0596] Example: "What is the current stock situation?"
[0597] Submitting a query
[0598] The terminal sends the user's query to the server.
[0599] Query Analysis
[0600] The server analyzes the received query. The query analysis engine interprets the input query (e.g., "current stock status") and identifies the relevant data range and data source.
[0601] Generate database queries
[0602] Based on the analysis results, the server generates specific database queries for each organization's database.
[0603] Accessing the database
[0604] The server sends the generated database queries to multiple organizational databases to retrieve the required data.
[0605] Data integration and analysis
[0606] The server receives the data returned from each database, uses an integration engine to convert the data from different formats into a unified format, and then performs the necessary aggregation and analysis.
[0607] Creating generated results
[0608] The server generates text in natural language format based on the results of the integration and analysis. For example, it generates the sentence "Current stock is 500 units."
[0609] Sending and displaying results
[0610] The server sends the generated results in natural language format to the terminal, which displays the results to the user.
[0611] Prompt Sentence Examples
[0612] When a user types "What is the current inventory status?" into their smartphone, the system retrieves the latest inventory information from each warehouse database and replies, "There are 500 units in stock now."
[0613] In this way, by implementing the system of the present invention, it is possible to quickly obtain and analyze information from multiple databases at a logistics center, and to achieve more efficient logistics operations.
[0614] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0615] Step 1:
[0616] A user inputs a natural language query using a smartphone. For example, the user inputs the query "What is the current stock situation?" This natural language query becomes the input for the system.
[0617] Step 2:
[0618] The device sends a natural language query entered by the user to the server. The entered query is sent to the server as an HTTP request. This request includes the user's question text.
[0619] Step 3:
[0620] The server analyzes the received query. The server's query analysis engine interprets the natural language query and identifies the range of data required and the specific data source. Specifically, the analysis results in the generation of an SQL query to obtain "current inventory information." This is the output of the analysis results.
[0621] Step 4:
[0622] The server generates a database query based on the analysis results. Here, a specific SQL query (e.g., "SELECT FROM inventory WHERE status = 'current'") is generated. This query is used to query each organization's database. The generated SQL query is the output.
[0623] Step 5:
[0624] The server generates a database query and sends it to multiple organization databases. Each database management system (DBMS) executes the query and returns the relevant data (e.g., current inventory information). The inventory information returned from the databases is the output of this step.
[0625] Step 6:
[0626] The server receives and consolidates the data returned from each database. The consolidation engine converts the data from different formats into a unified format and performs any necessary aggregations or analysis. Specifically, it aggregates inventory data from multiple data sources and calculates the total inventory count. The aggregated inventory data is the output.
[0627] Step 7:
[0628] The server generates a natural language result based on the integration and analysis results. Specifically, it generates text such as "Current inventory is 500 units." This natural language result is the output.
[0629] Step 8:
[0630] The server generates a natural language result and sends it to the terminal. The terminal displays the result to the user. The user's smartphone displays a message saying "Current stock is 500 units." The displayed message is the final output.
[0631] The above is a specific flow of the program processing of the system that realizes the application example.
[0632] 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.
[0633] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language with an emotion engine that recognizes the user's emotions. This makes it possible to provide adaptive responses according to the user's emotional state. A specific example of the system is described below.
[0634] System Overview
[0635] This system consists of a user, a terminal, a server, and an emotion engine. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends appropriate queries to each organization's database to collect, integrate, and analyze the necessary data. The server generates the results in natural language, adjusts the response based on the user's emotion using the emotion engine, and sends it back to the terminal.
[0636] Specific processing of the system
[0637] 1. Receiving user input
[0638] A user inputs a question in natural language format into a computer terminal.
[0639] Example: "What is this month's sales data?"
[0640] 2. Submitting a query
[0641] The terminal sends the user's query to the server.
[0642] 3. Query Analysis
[0643] The server analyzes the received query.
[0644] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[0645] 4. Generating Database Queries
[0646] The server generates a database query based on the analysis results.
[0647] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'".
[0648] 5. Accessing the Database
[0649] The server sends the generated SQL queries to multiple organization databases.
[0650] Each database management system (DBMS) executes the query and extracts the specified data.
[0651] 6. Receipt and integration of data
[0652] The server receives the data returned from each DBMS.
[0653] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[0654] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[0655] 7. Creating the generated results
[0656] The server generates text in natural language format based on the integration and analysis results.
[0657] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[0658] 8. User Emotion Recognition
[0659] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[0660] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[0661] 9. Adjusting the response
[0662] The server adjusts the generated text based on the analysis results of the emotion engine according to the user's emotions.
[0663] For example, if a user is feeling stressed, you can adjust the prompt to something like, "Your current monthly sales are 500,000 yen. Do you need some advice on how to increase your sales even more?"
[0664] 10. Sending and displaying results
[0665] The server sends the results in a tailored natural language format to the terminal.
[0666] The terminal displays the results to the user.
[0667] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[0668] In this way, the system of the present invention can automatically perform all processes from inputting a query in natural language to acquiring, integrating, analyzing, recognizing emotions, adjusting the results, and displaying them, thereby providing flexible and effective responses that correspond to the user's emotional state.
[0669] The processing flow will be explained below.
[0670] Step 1:
[0671] A user inputs a question in natural language format into a computer terminal.
[0672] Example: "What is this month's sales data?"
[0673] Step 2:
[0674] The terminal receives the user's query and sends it to the server as is.
[0675] Step 3:
[0676] The server analyzes the received query.
[0677] The query analysis engine extracts meaning from the natural language query and identifies a specific data range (e.g., 2023-10-01 to 2023-10-15) to understand "this month's sales data."
[0678] Step 4:
[0679] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[0680] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[0681] Step 5:
[0682] The server sends the generated SQL queries to each organization's database.
[0683] It connects to each database and executes the generated SQL queries to make requests to retrieve the required data.
[0684] Step 6:
[0685] Each organization's database management system (DBMS) executes the SQL query sent from the server and extracts the specified data.
[0686] Data is returned from each DBMS.
[0687] Step 7:
[0688] The server receives the data returned from each DBMS.
[0689] Step 8:
[0690] The server's data integration engine converts the received data into a unified format and performs aggregation processing.
[0691] For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[0692] Step 9:
[0693] The server generates text in natural language format based on the integration and analysis results.
[0694] Example: "Sales for the current month are 500,000 yen."
[0695] Step 10:
[0696] The device collects facial expressions, tone of voice, and other information to recognize the user's emotions.
[0697] This data is sent to the server.
[0698] Step 11:
[0699] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[0700] Step 12:
[0701] The server adjusts the generated text based on the user's emotions based on the analysis results of the emotion engine.
[0702] Example: If the user is feeling stressed, try adjusting by saying, "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales even more?"
[0703] Step 13:
[0704] The server sends the results in a tailored natural language format to the terminal.
[0705] Step 14:
[0706] The terminal displays the results sent from the server to the user.
[0707] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[0708] Example 2
[0709] 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."
[0710] Conventional technologies have had difficulty in properly acquiring, integrating, and analyzing data in response to natural language queries from users. Furthermore, they lacked a mechanism for providing flexible and effective responses according to the user's emotional state, limiting the user experience. The present invention aims to solve these problems by providing a system that allows users to efficiently acquire the information they need and provides responses according to their emotional state.
[0711] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for receiving a natural language query; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple institutions and acquiring data based on the database query; means for integrating and analyzing the acquired data; means for generating the analyzed results in a natural language format; an emotion engine for recognizing the user's emotional state; means for adjusting the generated natural language result based on the analysis result of the emotion engine; and means for displaying the generated natural language result. This enables the user to efficiently acquire necessary information and provides an adaptive response according to the user's emotional state.
[0712] A "natural language query" refers to a question or request entered by a user in everyday language or sentences.
[0713] "Query parsing" refers to the process of technically understanding a received natural language query and translating it into a database query.
[0714] A "database query" refers to a command or statement that retrieves specific data from a database.
[0715] "Multiple institution databases" refers to multiple databases managed by different organizations or companies.
[0716] "Data integration" refers to processing data obtained from different databases together.
[0717] "Analysis" refers to the process of analyzing acquired data to obtain useful information and insights.
[0718] An "emotion engine" refers to software or hardware for analyzing a user's emotional state from facial expressions, tone of voice, etc.
[0719] "Natural language results" refers to text generated in natural language to make the analyzed data easier for users to understand.
[0720] "Response adjustment" refers to modifying and optimizing the natural language format results generated based on the analysis results of the emotion engine according to the user's emotional state.
[0721] This invention is a system that automatically retrieves, integrates, and analyzes necessary data from databases of multiple institutions based on a query entered by a user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to provide adaptive responses according to the user's emotional state. A specific embodiment of the system is described below.
[0722] Hardware and Software
[0723] This system has the following hardware and software as its main components:
[0724] User terminal: The device through which a user enters a natural language query (e.g., personal computer, smartphone).
[0725] Server: A computer system for analyzing data, generating database queries, data integration, and sentiment analysis using the sentiment engine.
[0726] Emotion Engine: A software module for analyzing user emotions, working in conjunction with a facial recognition camera and microphone.
[0727] Data processing and calculation
[0728] Natural Language Processing (NLP) Engine: The server receives a natural language query entered by the user, for example, "What are the sales figures for this month?"
[0729] Query analysis engine: The server uses an NLP engine to analyze the query and generate an appropriate database query, such as "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[0730] Data integration engine: The server integrates data obtained from multiple databases and converts data in different formats into a unified format. For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[0731] Emotion analysis: The emotion engine analyzes the user's facial expressions and tone of voice to recognize emotions such as happiness, sadness, anger, etc. For example, it uses data from the camera and microphone to determine whether the user is stressed.
[0732] Response generation and adjustment: The server generates natural language text based on the integration and analysis results, and adjusts the response based on the emotional state obtained from the emotion engine. For example, it generates an adjustment result such as, "Current monthly sales are 500,000 yen. Do you need any advice on how to increase sales further?"
[0733] Examples of concrete examples and prompts
[0734] For example, the following steps are taken:
[0735] 1. Example of a prompt entered by the user: "What are the sales figures for this month?"
[0736] 2. Example of query analysis and SQL generation: The server analyzes the input prompt statement and generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[0737] 3. Example of data integration: The sales data returned from each store (Store A: 300,000 yen, Store B: 200,000 yen) is integrated to calculate total sales of 500,000 yen.
[0738] 4. Example of emotion recognition: Based on the user's facial expressions and voice, the emotion engine determines the user's emotional state as "stress."
[0739] 5. Example of response tailoring: The final generated response will be "Current monthly sales are 500,000 yen. Do you need advice on how to increase sales further?"
[0740] In this way, the system can automatically perform a series of processes, from user query input, data acquisition, data integration, and emotion-based response generation, enabling efficient and flexible information provision.
[0741] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0742] Step 1: Receiving User Input
[0743] A user inputs a question in natural language format into a computer terminal.
[0744] Input: The user types "What are the sales figures for this month?" into the text input field.
[0745] What happens: The user enters text using the device's keyboard or touchscreen.
[0746] Output: The device gets the natural language query "What are the sales figures for this month?"
[0747] Step 2: Submitting a query
[0748] The terminal sends the user's query to the server.
[0749] Input: A natural language query obtained from the user.
[0750] Specific operation: The device sends a query to the server via the Internet.
[0751] Output: The query data is sent to the server.
[0752] Step 3: Parsing the query
[0753] The server analyzes the received query.
[0754] Input: A natural language query sent from the device.
[0755] What happens: The server uses a natural language processing (NLP) engine to parse the query and understand what the user wants.
[0756] Output: Analysis results, including the specific data range or request (e.g., "Get sales data, period = 2023-10-01 to 2023-10-31").
[0757] Step 4: Generate Database Queries
[0758] The server generates a database query based on the analysis results.
[0759] Input: The results of the query analysis.
[0760] Specific operation: The server generates an SQL query based on the analysis results.
[0761] Output: SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[0762] Step 5: Access the Database
[0763] The server sends the generated SQL queries to multiple organization databases.
[0764] Input: SQL query.
[0765] Specific operation: The server executes SQL queries against each database management system (DBMS).
[0766] Output: Sales data retrieved from each database.
[0767] Step 6: Receiving and consolidating data
[0768] The server receives and consolidates the data returned from each DBMS.
[0769] Input: Sales data retrieved from each database.
[0770] Specific operation: The server's integration engine converts the incoming data into a unified format and aggregates it.
[0771] Output: Consolidated sales data (e.g. total sales is 500,000 yen).
[0772] Step 7: Creating the generated results
[0773] The server generates text in natural language format based on the integration results.
[0774] Input: Consolidated sales data.
[0775] What it does: The server uses a generative AI model to generate text in natural language format.
[0776] Output: Natural language text "Sales for the current month are 500,000 yen."
[0777] Step 8: Recognizing User Emotions
[0778] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[0779] Input: User facial and voice data.
[0780] Specific operation: Captures data using the device's built-in camera and microphone and sends it to a server.
[0781] Output: User's emotional state data.
[0782] Step 9: Adjusting the response
[0783] The server adjusts the generated natural language format results based on the analysis results of the emotion engine.
[0784] Input: Emotional state data from the emotion engine and generated natural language text.
[0785] What it does: Adjust text appropriately depending on emotional state.
[0786] Output: Tailored response "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[0787] Step 10: Send and view results
[0788] The server sends the results in a tailored natural language format to the terminal.
[0789] Input: A tailored natural language response.
[0790] Specific operation: The server sends the adjusted text to the device.
[0791] Output: Message displayed on the terminal: "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[0792] (Application example 2)
[0793] 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."
[0794] Conventional natural language processing systems only provide simple answers without considering the user's emotional state, which can lead to a loss of user satisfaction and trust. Furthermore, security services require fast and appropriate responses to emergency reports and anomaly detection, but the lack of emotional response has prevented users from feeling fully secure. There is a need to solve these problems and provide a more effective system with higher user satisfaction.
[0795] The identification process by the identification 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 receiving a natural language query, means for analyzing the received natural language query and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated natural language result, means for recognizing a user's emotion, and means for adjusting the natural language result based on the recognized user's emotion. This makes it possible to provide a flexible and effective response according to the user's emotional state and give the user a sense of security in security services, etc.
[0796] A "natural language query" is a question or command that a user enters into a system in everyday language.
[0797] A "means for parsing" is a process for understanding a received natural language query and generating a corresponding specific database query.
[0798] A "database query" is a formal inquiry to retrieve specific information from a database.
[0799] The "means for obtaining" is a method for gathering the required information from multiple databases using the generated database query.
[0800] "Means for integrating and analyzing data" refers to a method for converting data obtained from multiple databases into a single unified format and then analyzing it.
[0801] "Means for generating in natural language format" refers to the process of converting the analyzed results into sentences or expressions that are easy for users to understand.
[0802] The "means for displaying" is the method by which the generated natural language results are visually presented to the user.
[0803] "Means for recognizing user emotions" refers to the process of determining the user's emotional state from facial expressions, tone of voice, etc.
[0804] A "tuning means" is a method for changing the generated natural language results to a more appropriate form based on the perceived emotional state of the user.
[0805] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language, with an emotion engine that recognizes the user's emotions. A specific example of the system is described below.
[0806] In this system, users input queries in natural language through their devices, which are then analyzed by the server to generate database queries. The server then sends the generated queries to multiple organizations' databases to retrieve data based on them. The retrieved data is then integrated and analyzed by the server, and the results are generated in natural language format. The generated results are then adjusted based on the user's emotional state. The final results are then displayed on the device.
[0807] The hardware and software used will be specifically described.
[0808] Hardware used
[0809] Device: The device (e.g., smartphone, smart glasses, head-mounted display) on which the user enters a query and displays the results.
[0810] Server: A server for query analysis, database query generation, data acquisition, data integration and analysis, natural language generation, emotion recognition, etc.
[0811] Software used
[0812] Natural Language Processing Engine (NLPModel): Software for parsing natural language queries and generating database queries.
[0813] Database Management System (DBMS): A system for executing database queries and retrieving data.
[0814] Emotion Recognition Engine (emotion_recognition): Software for recognizing user emotions.
[0815] Data integration engine: Software for integrating and analyzing acquired data.
[0816] Natural language generation engine: Software for generating analysis results in natural language format.
[0817] As a concrete example of using the system, consider the case where a user enters the query "I saw a suspicious person in front of the building." The system operates as follows.
[0818] 1. The user types into the terminal, "I saw a suspicious person in front of the building."
[0819] 2. The device sends this query to the server.
[0820] 3. The server parses the query using a natural language processing engine and generates a relevant database query.
[0821] 4. The server sends the generated database query to multiple databases to retrieve relevant information.
[0822] 5. The acquired information is integrated and analyzed using a data integration engine.
[0823] 6. The analysis results are converted into natural language text using a natural language generation engine.
[0824] 7. An emotion recognition engine recognizes the user's emotions and adjusts the generated text based on those emotions.
[0825] 8. The final result is sent to the terminal and displayed to the user.
[0826] This embodiment allows the user to receive flexible and effective responses according to their emotions.
[0827] Prompt Sentence Examples
[0828] User input: "I saw a suspicious person in front of the building."
[0829] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0830] Step 1:
[0831] The user inputs a query in natural language into the terminal. The input query is text, such as "I saw a suspicious person in front of the building." The input data is the user's text-based question or report, which is imported into the system via the terminal.
[0832] Step 2:
[0833] The terminal sends the received query to the server. In this step, the terminal sends the input query to the server via the network. The input is the user's natural language query, and the output is that the query is sent to the server.
[0834] Step 3:
[0835] The server analyzes the received query. Specifically, it uses a natural language processing engine (NLPModel) to analyze the query and generate a database query. The input is a query in natural language format, which is analyzed to generate a specific database query. For example, from the query "I saw a suspicious person in front of the building," a query to search surveillance camera data and security records in the target area is generated.
[0836] Step 4:
[0837] The server sends the generated database query to multiple organizations' databases to retrieve the required data. The server issues queries to multiple database management systems (DBMS) to collect the specified information. The input is the database query, and the output is the retrieved data from each database.
[0838] Step 5:
[0839] The acquired data is integrated and analyzed using a data integration engine. The server converts data obtained from multiple databases into a unified format and performs aggregation and analysis as necessary. The input is data in different formats, and the output is data that has been integrated and analyzed in a unified format.
[0840] Step 6:
[0841] The analysis results are converted into natural language text using a natural language generation engine. The server then generates sentences based on the analyzed data that are easy for users to understand. For example, the generated text might be, "A suspicious person has been spotted in front of the building. We are currently reviewing the footage from the surveillance camera." The input is the analysis result data, and the output is the generated natural language text.
[0842] Step 7:
[0843] The emotion recognition engine recognizes the user's emotions. The device acquires data such as the user's facial expressions and tone of voice, and sends that data to the server. The server then uses the emotion recognition engine to analyze the user's emotions. The input is the user's emotional data, and the output is the analyzed emotional state of the user.
[0844] Step 8:
[0845] The generated natural language text is adjusted based on the user's emotional state. The server adjusts the response based on the user's emotions based on the results of the emotion recognition engine. For example, if the user is feeling anxious, the server changes the message to one that provides reassurance, such as "A security team will arrive shortly." The input is the user's emotional state and the generated text, and the output is the adjusted natural language text.
[0846] Step 9:
[0847] The adjusted result is sent to the terminal and displayed to the user. The final result is sent from the server to the terminal, and the terminal displays the result to the user. The input is adjusted natural language text, and the output is a message visually displayed to the user.
[0848] 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.
[0849] 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.
[0850] 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.
[0851] [Third embodiment]
[0852] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0853] 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.
[0854] 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).
[0855] 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.
[0856] 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.
[0857] 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).
[0858] 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.
[0859] 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.
[0860] 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.
[0861] 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.
[0862] 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.
[0863] 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."
[0864] The present invention provides a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. A specific example of the system is described below.
[0865] System Overview
[0866] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[0867] Specific processing of the system
[0868] 1. Receiving user input
[0869] The user inputs a question in natural language format into the terminal.
[0870] Example: "What is this month's sales data?"
[0871] 2. Submitting a query
[0872] The terminal sends the user's query to the server.
[0873] 3. Query Analysis
[0874] The server analyzes the received query.
[0875] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[0876] 4. Generating Database Queries
[0877] The server generates a database query based on the analysis results.
[0878] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'".
[0879] 5. Accessing the Database
[0880] The server sends the generated SQL queries to multiple organization databases.
[0881] Each database management system (DBMS) executes the query and returns the relevant data.
[0882] 6. Receipt and integration of data
[0883] The server receives the data returned from each database.
[0884] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[0885] 7. Creating the generated results
[0886] The server generates text in natural language format based on the results of the integration and analysis.
[0887] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[0888] 8. Sending and displaying results
[0889] The server generates a result in natural language format and sends it to the terminal.
[0890] The terminal displays the results to the user.
[0891] Specific examples
[0892] When a user types "Tell me this month's sales data," the terminal sends this query to the server. The server generates a database query, "Get sales data from 2023-10-01 to 2023-10-15," and sends it to the databases of multiple organizations. The server integrates the received data and generates the result, "Sales for the current month are 500,000 yen," which is displayed to the user via the terminal.
[0893] In this way, the system of the present invention can automatically and consistently perform everything from inputting queries in natural language to acquiring, integrating, and analyzing data and displaying the results, thereby effectively promoting information sharing between organizations.
[0894] The processing flow will be explained below.
[0895] Step 1:
[0896] A user inputs a question in natural language format into a computer terminal.
[0897] Example: "What is this month's sales data?"
[0898] Step 2:
[0899] The terminal receives the user's query and sends it to the server as is.
[0900] Step 3:
[0901] The server analyzes the received query.
[0902] The query analysis engine analyzes the natural language query and, based on the request for "sales data for this month," identifies the data range "2023-10-01 to 2023-10-15" as the current date.
[0903] Step 4:
[0904] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[0905] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[0906] Step 5:
[0907] The server sends the generated SQL queries to each organization's database.
[0908] In other words, it connects to the respective database and makes a request to execute a database query to get the required data.
[0909] Step 6:
[0910] Each organization's database management system (DBMS) executes the SQL queries from the server and extracts the specified data.
[0911] Each DBMS then returns the extracted data to the server.
[0912] Step 7:
[0913] The server receives the data returned from each DBMS.
[0914] Step 8:
[0915] The server's data integration engine converts the received data into a unified format and performs aggregation processing to perform total sales and other necessary calculations.
[0916] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[0917] Step 9:
[0918] The server generates a result text in a natural language format based on the integration and analysis results.
[0919] Example: "Sales for the current month are 500,000 yen."
[0920] Step 10:
[0921] The server generates a result in natural language format and sends it to the terminal.
[0922] Step 11:
[0923] The terminal displays the results sent from the server to the user.
[0924] Example: The device screen displays the message "Current month's sales are 500,000 yen."
[0925] Example 1
[0926] 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."
[0927] In conventional systems, even when users entered queries in natural language format, a great deal of manual work was required to properly send the queries to each database and retrieve, integrate, and analyze the necessary information. Furthermore, unifying data in different formats required specialized knowledge, resulting in problems that reduced efficiency. Furthermore, there were limited ways to present the analyzed results to users in an easy-to-understand manner, making it difficult to effectively utilize the information.
[0928] 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.
[0929] In this invention, the server includes: means for receiving a query in natural language format entered by a user; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query; means for integrating and analyzing the acquired data, which includes converting the data into a unified format and performing necessary aggregation processing; means for generating the analyzed results in natural language format, which includes using text generated using a generative AI model; and means for displaying the generated results in natural language format. This enables a user to automatically acquire, integrate, and analyze required information and present it in an easy-to-understand manner simply by entering a query in natural language.
[0930] A "user" is a person or entity that utilizes the system to enter natural language queries and obtain information.
[0931] "Query" refers to a question or request in natural language that a user enters into a terminal.
[0932] "Server" means a computer system that analyzes queries, sends appropriate queries to each database, and collects, consolidates, and analyzes data.
[0933] "Device" means the device used by a User to enter a query and receive and view results, such as a computer or smartphone.
[0934] "Natural language" refers to the language used by humans on a daily basis, not specific program code or instructions.
[0935] A database is a software system that systematically collects, stores, searches, and edits data. Multiple organizations may have their own databases.
[0936] A "database query" is a statement used to retrieve desired information from a database, such as SQL.
[0937] An "integration engine" is a software component that centrally consolidates data obtained from multiple data sources and converts it into a unified format.
[0938] A "generative AI model" is an algorithm or model that uses artificial intelligence technology to generate natural language text that is easy for humans to understand.
[0939] A "natural language processing (NLP) engine" is software that has the technology to analyze natural language text and understand its meaning and structure.
[0940] An "HTTP request" is a type of protocol used when communicating between a web browser and a web server, and is used to send a query.
[0941] An "SQL query" is a statement used to retrieve information from a database using the Structured Query Language (SQL).
[0942] A "REST API" is an interface for communicating with databases and other web services that uses standard HTTP methods.
[0943] The system of this invention automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. The configuration and processing details for specifically implementing the present invention are described below.
[0944] First, the system consists of three main components: the user, the terminal, and the server. The user inputs a natural language query using the terminal, and the terminal sends the query to the server. The server analyzes the query, retrieves, integrates, and analyzes the necessary data, and generates the results in natural language format and sends them back to the terminal.
[0945] Specifically, a user enters a query into a device, such as "Tell me this month's sales data." The device receives this query and sends it to the server using an HTTP POST request. The server uses a natural language processing (NLP) engine to analyze the query and identify the specific request (e.g., "sales data" and the time period "this month"). The server then uses a generative AI model, such as BERT or GPT, to generate an SQL query based on the analysis. For example, the SQL query might be "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'."
[0946] The server then sends this SQL query to multiple databases. The database management system (DBMS) executes the query and returns the relevant data. The server receives this data and uses an integration engine to unify the data formats and perform any necessary aggregations. For example, the integration engine may unify sales data in different formats and aggregate "total sales."
[0947] The server then uses a generative AI model to generate text in natural language format based on the results of the integration and analysis. For example, it generates a sentence like, "Sales for the current month are 500,000 yen." The server sends this generated result to the device, which then displays it to the user.
[0948] In this way, the system of the present invention can automatically and consistently perform everything from obtaining the necessary data to integrating, analyzing, and displaying the results, simply by having the user input a query in natural language. As a specific example, if the user inputs "Tell me this month's sales data," the terminal sends this query to the server, and the server obtains sales data from 2023-10-01 to 2023-10-15 from the analysis results, generates the result "Sales for the current month are 500,000 yen," and displays it to the user via the terminal.
[0949] Example prompt sentence:
[0950] "In this system, when a user enters a query into a terminal to find out this month's sales data, the server analyzes it, retrieves and integrates information from multiple databases, and returns the results in natural language. Please explain the process. As a specific example, please give the query "Tell me this month's sales data."
[0951] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0952] Step 1:
[0953] The user types a query in natural language into the device, for example, "What are the sales figures for this month?" The device receives this text input and stores it in its internal memory, ready to send the query in its raw form to the server.
[0954] Input: A natural language query typed by the user (e.g., "What are the sales figures for this month?")
[0955] Output: The natural language query is received on the device and stored in memory
[0956] Step 2:
[0957] The device sends the received natural language query to the server using the HTTP POST request as the communication protocol. The device sends an HTTP request containing the query to the server's analysis endpoint.
[0958] Input: A natural language query stored on your device
[0959] Output: An HTTP POST request containing the query is sent to the server
[0960] Step 3:
[0961] The server analyzes the received natural language query. First, it uses an NLP engine to analyze the meaning of the query and identify key keywords and data ranges. A generative AI model (such as BERT or GPT) is used for this analysis. Specifically, the keywords "sales data" and "this month" are extracted, and the time period "from 2023-10-01 to 2023-10-31" is identified.
[0962] Input: A natural language query included in an HTTP POST request
[0963] Output: Analysis results with keywords and data ranges identified
[0964] Step 4:
[0965] The server generates an SQL query based on the analysis results. Based on the analysis results, SQL syntax is automatically generated. For example, the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'" is generated.
[0966] Input: Identified keywords and data ranges
[0967] Output: A SQL query is generated (e.g., "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'").
[0968] Step 5:
[0969] The server generates SQL queries and sends them to multiple databases. Each database is accessed using a REST API or a direct database connection (such as JDBC) to execute the SQL queries. Each database management system (DBMS) executes the queries and returns the relevant data.
[0970] Input: Generated SQL query
[0971] Output: Data retrieved from each database
[0972] Step 6:
[0973] The server receives the data returned from each database, unifies the data format using the integration engine, and performs the necessary aggregation processing. For example, it converts sales data from each data source into a unified format and calculates total sales. This unifies data in different formats.
[0974] Input: Data obtained from each database
[0975] Output: Data converted into a unified format and aggregated
[0976] Step 7:
[0977] Based on the results of the integration and analysis, the server uses a generative AI model to generate text in natural language format, such as "Current month's sales are 500,000 yen."
[0978] Input: Integrated and analyzed data
[0979] Output: Natural language formatted text (e.g. "Sales for the current month are 500,000 yen")
[0980] Step 8:
[0981] The server sends the generated results to the terminal. The terminal displays the received results to the user. Specifically, the text "Current month's sales are 500,000 yen" is displayed on the terminal screen.
[0982] Input: Natural language formatted text
[0983] Output: The result displayed on the terminal (e.g., "Sales for the current month are 500,000 yen")
[0984] (Application example 1)
[0985] 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."
[0986] Inventory management and delivery planning optimization are extremely important in logistics centers, but collecting and analyzing information scattered across multiple databases on-site is cumbersome, making it difficult to efficiently acquire information. The purpose of this invention is to significantly improve the operational efficiency of logistics centers by enabling simple query input using natural language, rapid information acquisition from multiple databases, and automating integration and analysis.
[0987] 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.
[0988] In this invention, the server includes means for receiving a query in natural language, means for analyzing the received query in natural language and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated result in a natural language format, and means for analyzing a query specialized for logistics information and providing an optimal delivery plan and inventory information. This makes it possible to improve business efficiency, such as understanding inventory status at logistics centers and optimizing delivery plans.
[0989] A "natural language query" is a question or request entered by a user in everyday language.
[0990] A "database query" is a query command issued to a database management system to obtain specific data.
[0991] A "multi-organizational database" refers to a collection of data owned by many different organizations or departments.
[0992] "Means of information retrieval" refers to the methods or techniques used to extract specific information from a database.
[0993] "Means for integrating and analyzing acquired data" refers to a method for consolidating collected data into one and performing analysis and processing based on that data.
[0994] "Means for generating analyzed results in natural language format" refers to methods and techniques for expressing analyzed data in sentences that are easy for humans to understand.
[0995] "Means for displaying results" refers to a display or interface for showing processed information or results to a user.
[0996] "Logistics information-specific queries" are questions or requests related to logistics operations, particularly inventory status and delivery plans.
[0997] "Means for providing optimal delivery plans and inventory information" refers to methods and technologies for calculating appropriate delivery schedules and inventory levels in order to maximize logistics efficiency.
[0998] This system automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on logistics-related queries entered in natural language by users on their smartphones. A specific example of the system is described below.
[0999] System configuration
[1000] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[1001] Hardware and software used
[1002] Smartphone: the device on which the application is installed and on which the user enters queries
[1003] Python: The main implementation language for the application
[1004] Web frameworks such as Flask: Used to build server-side APIs
[1005] The requests module: Sending and receiving HTTP requests
[1006] Database Management System (DBMS): A system that manages data for multiple organizations.
[1007] Data processing and calculation
[1008] Receiving User Input
[1009] The user inputs a question in natural language format into the terminal.
[1010] Example: "What is the current stock situation?"
[1011] Submitting a query
[1012] The terminal sends the user's query to the server.
[1013] Query Analysis
[1014] The server analyzes the received query. The query analysis engine interprets the input query (e.g., "current stock status") and identifies the relevant data range and data source.
[1015] Generate database queries
[1016] Based on the analysis results, the server generates specific database queries for each organization's database.
[1017] Accessing the database
[1018] The server sends the generated database queries to multiple organizational databases to retrieve the required data.
[1019] Data integration and analysis
[1020] The server receives the data returned from each database, uses an integration engine to convert the data from different formats into a unified format, and then performs the necessary aggregation and analysis.
[1021] Creating generated results
[1022] The server generates text in natural language format based on the results of the integration and analysis. For example, it generates the sentence "Current stock is 500 units."
[1023] Sending and displaying results
[1024] The server sends the generated results in natural language format to the terminal, which displays the results to the user.
[1025] Prompt Sentence Examples
[1026] When a user types "What is the current inventory status?" into their smartphone, the system retrieves the latest inventory information from each warehouse database and replies, "There are 500 units in stock now."
[1027] In this way, by implementing the system of the present invention, it is possible to quickly obtain and analyze information from multiple databases at a logistics center, and to achieve more efficient logistics operations.
[1028] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1029] Step 1:
[1030] A user inputs a natural language query using a smartphone. For example, the user inputs the query "What is the current stock situation?" This natural language query becomes the input for the system.
[1031] Step 2:
[1032] The device sends a natural language query entered by the user to the server. The entered query is sent to the server as an HTTP request. This request includes the user's question text.
[1033] Step 3:
[1034] The server analyzes the received query. The server's query analysis engine interprets the natural language query and identifies the range of data required and the specific data source. Specifically, the analysis results in the generation of an SQL query to obtain "current inventory information." This is the output of the analysis results.
[1035] Step 4:
[1036] The server generates a database query based on the analysis results. Here, a specific SQL query (e.g., "SELECT FROM inventory WHERE status = 'current'") is generated. This query is used to query each organization's database. The generated SQL query is the output.
[1037] Step 5:
[1038] The server generates a database query and sends it to multiple organization databases. Each database management system (DBMS) executes the query and returns the relevant data (e.g., current inventory information). The inventory information returned from the databases is the output of this step.
[1039] Step 6:
[1040] The server receives and consolidates the data returned from each database. The consolidation engine converts the data from different formats into a unified format and performs any necessary aggregations or analysis. Specifically, it aggregates inventory data from multiple data sources and calculates the total inventory count. The aggregated inventory data is the output.
[1041] Step 7:
[1042] The server generates a natural language result based on the integration and analysis results. Specifically, it generates text such as "Current inventory is 500 units." This natural language result is the output.
[1043] Step 8:
[1044] The server generates a natural language result and sends it to the terminal. The terminal displays the result to the user. The user's smartphone displays a message saying "Current stock is 500 units." The displayed message is the final output.
[1045] The above is a specific flow of the program processing of the system that realizes the application example.
[1046] 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.
[1047] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language with an emotion engine that recognizes the user's emotions. This makes it possible to provide adaptive responses according to the user's emotional state. A specific example of the system is described below.
[1048] System Overview
[1049] This system consists of a user, a terminal, a server, and an emotion engine. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends appropriate queries to each organization's database to collect, integrate, and analyze the necessary data. The server generates the results in natural language, adjusts the response based on the user's emotion using the emotion engine, and sends it back to the terminal.
[1050] Specific processing of the system
[1051] 1. Receiving user input
[1052] A user inputs a question in natural language format into a computer terminal.
[1053] Example: "What is this month's sales data?"
[1054] 2. Submitting a query
[1055] The terminal sends the user's query to the server.
[1056] 3. Query Analysis
[1057] The server analyzes the received query.
[1058] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[1059] 4. Generating Database Queries
[1060] The server generates a database query based on the analysis results.
[1061] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'".
[1062] 5. Accessing the Database
[1063] The server sends the generated SQL queries to multiple organization databases.
[1064] Each database management system (DBMS) executes the query and extracts the specified data.
[1065] 6. Receipt and integration of data
[1066] The server receives the data returned from each DBMS.
[1067] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[1068] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[1069] 7. Creating the generated results
[1070] The server generates text in natural language format based on the integration and analysis results.
[1071] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[1072] 8. User Emotion Recognition
[1073] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[1074] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[1075] 9. Adjusting the response
[1076] The server adjusts the generated text based on the analysis results of the emotion engine according to the user's emotions.
[1077] For example, if a user is feeling stressed, you can adjust the prompt to something like, "Your current monthly sales are 500,000 yen. Do you need some advice on how to increase your sales even more?"
[1078] 10. Sending and displaying results
[1079] The server sends the results in a tailored natural language format to the terminal.
[1080] The terminal displays the results to the user.
[1081] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[1082] In this way, the system of the present invention can automatically perform all processes from inputting a query in natural language to acquiring, integrating, analyzing, recognizing emotions, adjusting the results, and displaying them, thereby providing flexible and effective responses that correspond to the user's emotional state.
[1083] The processing flow will be explained below.
[1084] Step 1:
[1085] A user inputs a question in natural language format into a computer terminal.
[1086] Example: "What is this month's sales data?"
[1087] Step 2:
[1088] The terminal receives the user's query and sends it to the server as is.
[1089] Step 3:
[1090] The server analyzes the received query.
[1091] The query analysis engine extracts meaning from the natural language query and identifies a specific data range (e.g., 2023-10-01 to 2023-10-15) to understand "this month's sales data."
[1092] Step 4:
[1093] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[1094] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[1095] Step 5:
[1096] The server sends the generated SQL queries to each organization's database.
[1097] It connects to each database and executes the generated SQL queries to make requests to retrieve the required data.
[1098] Step 6:
[1099] Each organization's database management system (DBMS) executes the SQL query sent from the server and extracts the specified data.
[1100] Data is returned from each DBMS.
[1101] Step 7:
[1102] The server receives the data returned from each DBMS.
[1103] Step 8:
[1104] The server's data integration engine converts the received data into a unified format and performs aggregation processing.
[1105] For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[1106] Step 9:
[1107] The server generates text in natural language format based on the integration and analysis results.
[1108] Example: "Sales for the current month are 500,000 yen."
[1109] Step 10:
[1110] The device collects facial expressions, tone of voice, and other information to recognize the user's emotions.
[1111] This data is sent to the server.
[1112] Step 11:
[1113] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[1114] Step 12:
[1115] The server adjusts the generated text based on the user's emotions based on the analysis results of the emotion engine.
[1116] Example: If the user is feeling stressed, try adjusting by saying, "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales even more?"
[1117] Step 13:
[1118] The server sends the results in a tailored natural language format to the terminal.
[1119] Step 14:
[1120] The terminal displays the results sent from the server to the user.
[1121] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[1122] Example 2
[1123] 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."
[1124] Conventional technologies have had difficulty in properly acquiring, integrating, and analyzing data in response to natural language queries from users. Furthermore, they lacked a mechanism for providing flexible and effective responses according to the user's emotional state, limiting the user experience. The present invention aims to solve these problems by providing a system that allows users to efficiently acquire the information they need and provides responses according to their emotional state.
[1125] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for receiving a natural language query; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple institutions and acquiring data based on the database query; means for integrating and analyzing the acquired data; means for generating the analyzed results in a natural language format; an emotion engine for recognizing the user's emotional state; means for adjusting the generated natural language result based on the analysis result of the emotion engine; and means for displaying the generated natural language result. This enables the user to efficiently acquire necessary information and provides an adaptive response according to the user's emotional state.
[1126] A "natural language query" refers to a question or request entered by a user in everyday language or sentences.
[1127] "Query parsing" refers to the process of technically understanding a received natural language query and translating it into a database query.
[1128] A "database query" refers to a command or statement that retrieves specific data from a database.
[1129] "Multiple institution databases" refers to multiple databases managed by different organizations or companies.
[1130] "Data integration" refers to processing data obtained from different databases together.
[1131] "Analysis" refers to the process of analyzing acquired data to obtain useful information and insights.
[1132] An "emotion engine" refers to software or hardware for analyzing a user's emotional state from facial expressions, tone of voice, etc.
[1133] "Natural language results" refers to text generated in natural language to make the analyzed data easier for users to understand.
[1134] "Response adjustment" refers to modifying and optimizing the natural language format results generated based on the analysis results of the emotion engine according to the user's emotional state.
[1135] This invention is a system that automatically retrieves, integrates, and analyzes necessary data from databases of multiple institutions based on a query entered by a user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to provide adaptive responses according to the user's emotional state. A specific embodiment of the system is described below.
[1136] Hardware and Software
[1137] This system has the following hardware and software as its main components:
[1138] User terminal: The device through which a user enters a natural language query (e.g., personal computer, smartphone).
[1139] Server: A computer system for analyzing data, generating database queries, data integration, and sentiment analysis using the sentiment engine.
[1140] Emotion Engine: A software module for analyzing user emotions, working in conjunction with a facial recognition camera and microphone.
[1141] Data processing and calculation
[1142] Natural Language Processing (NLP) Engine: The server receives a natural language query entered by the user, for example, "What are the sales figures for this month?"
[1143] Query analysis engine: The server uses an NLP engine to analyze the query and generate an appropriate database query, such as "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[1144] Data integration engine: The server integrates data obtained from multiple databases and converts data in different formats into a unified format. For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[1145] Emotion analysis: The emotion engine analyzes the user's facial expressions and tone of voice to recognize emotions such as happiness, sadness, anger, etc. For example, it uses data from the camera and microphone to determine whether the user is stressed.
[1146] Response generation and adjustment: The server generates natural language text based on the integration and analysis results, and adjusts the response based on the emotional state obtained from the emotion engine. For example, it generates an adjustment result such as, "Current monthly sales are 500,000 yen. Do you need any advice on how to increase sales further?"
[1147] Examples of concrete examples and prompts
[1148] For example, the following steps are taken:
[1149] 1. Example of a prompt entered by the user: "What are the sales figures for this month?"
[1150] 2. Example of query analysis and SQL generation: The server analyzes the input prompt statement and generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[1151] 3. Example of data integration: The sales data returned from each store (Store A: 300,000 yen, Store B: 200,000 yen) is integrated to calculate total sales of 500,000 yen.
[1152] 4. Example of emotion recognition: Based on the user's facial expressions and voice, the emotion engine determines the user's emotional state as "stress."
[1153] 5. Example of response tailoring: The final generated response will be "Current monthly sales are 500,000 yen. Do you need advice on how to increase sales further?"
[1154] In this way, the system can automatically perform a series of processes, from user query input, data acquisition, data integration, and emotion-based response generation, enabling efficient and flexible information provision.
[1155] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1156] Step 1: Receiving User Input
[1157] A user inputs a question in natural language format into a computer terminal.
[1158] Input: The user types "What are the sales figures for this month?" into the text input field.
[1159] What happens: The user enters text using the device's keyboard or touchscreen.
[1160] Output: The device gets the natural language query "What are the sales figures for this month?"
[1161] Step 2: Submitting a query
[1162] The terminal sends the user's query to the server.
[1163] Input: A natural language query obtained from the user.
[1164] Specific operation: The device sends a query to the server via the Internet.
[1165] Output: The query data is sent to the server.
[1166] Step 3: Parsing the query
[1167] The server analyzes the received query.
[1168] Input: A natural language query sent from the device.
[1169] What happens: The server uses a natural language processing (NLP) engine to parse the query and understand what the user wants.
[1170] Output: Analysis results, including the specific data range or request (e.g., "Get sales data, period = 2023-10-01 to 2023-10-31").
[1171] Step 4: Generate Database Queries
[1172] The server generates a database query based on the analysis results.
[1173] Input: The results of the query analysis.
[1174] Specific operation: The server generates an SQL query based on the analysis results.
[1175] Output: SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[1176] Step 5: Access the Database
[1177] The server sends the generated SQL queries to multiple organization databases.
[1178] Input: SQL query.
[1179] Specific operation: The server executes SQL queries against each database management system (DBMS).
[1180] Output: Sales data retrieved from each database.
[1181] Step 6: Receiving and consolidating data
[1182] The server receives and consolidates the data returned from each DBMS.
[1183] Input: Sales data retrieved from each database.
[1184] Specific operation: The server's integration engine converts the incoming data into a unified format and aggregates it.
[1185] Output: Consolidated sales data (e.g. total sales is 500,000 yen).
[1186] Step 7: Creating the generated results
[1187] The server generates text in natural language format based on the integration results.
[1188] Input: Consolidated sales data.
[1189] What it does: The server uses a generative AI model to generate text in natural language format.
[1190] Output: Natural language text "Sales for the current month are 500,000 yen."
[1191] Step 8: Recognizing User Emotions
[1192] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[1193] Input: User facial and voice data.
[1194] Specific operation: Captures data using the device's built-in camera and microphone and sends it to a server.
[1195] Output: User's emotional state data.
[1196] Step 9: Adjusting the response
[1197] The server adjusts the generated natural language format results based on the analysis results of the emotion engine.
[1198] Input: Emotional state data from the emotion engine and generated natural language text.
[1199] What it does: Adjust text appropriately depending on emotional state.
[1200] Output: Tailored response "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[1201] Step 10: Send and view results
[1202] The server sends the results in a tailored natural language format to the terminal.
[1203] Input: A tailored natural language response.
[1204] Specific operation: The server sends the adjusted text to the device.
[1205] Output: Message displayed on the terminal: "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[1206] (Application example 2)
[1207] 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."
[1208] Conventional natural language processing systems only provide simple answers without considering the user's emotional state, which can lead to a loss of user satisfaction and trust. Furthermore, security services require fast and appropriate responses to emergency reports and anomaly detection, but the lack of emotional response has prevented users from feeling fully secure. There is a need to solve these problems and provide a more effective system with higher user satisfaction.
[1209] The identification process by the identification 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 receiving a natural language query, means for analyzing the received natural language query and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated natural language result, means for recognizing a user's emotion, and means for adjusting the natural language result based on the recognized user's emotion. This makes it possible to provide a flexible and effective response according to the user's emotional state and give the user a sense of security in security services, etc.
[1210] A "natural language query" is a question or command that a user enters into a system in everyday language.
[1211] A "means for parsing" is a process for understanding a received natural language query and generating a corresponding specific database query.
[1212] A "database query" is a formal inquiry to retrieve specific information from a database.
[1213] The "means for obtaining" is a method for gathering the required information from multiple databases using the generated database query.
[1214] "Means for integrating and analyzing data" refers to a method for converting data obtained from multiple databases into a single unified format and then analyzing it.
[1215] "Means for generating in natural language format" refers to the process of converting the analyzed results into sentences or expressions that are easy for users to understand.
[1216] The "means for displaying" is the method by which the generated natural language results are visually presented to the user.
[1217] "Means for recognizing user emotions" refers to the process of determining the user's emotional state from facial expressions, tone of voice, etc.
[1218] A "tuning means" is a method for changing the generated natural language results to a more appropriate form based on the perceived emotional state of the user.
[1219] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language, with an emotion engine that recognizes the user's emotions. A specific example of the system is described below.
[1220] In this system, users input queries in natural language through their devices, which are then analyzed by the server to generate database queries. The server then sends the generated queries to multiple organizations' databases to retrieve data based on them. The retrieved data is then integrated and analyzed by the server, and the results are generated in natural language format. The generated results are then adjusted based on the user's emotional state. The final results are then displayed on the device.
[1221] The hardware and software used will be specifically described.
[1222] Hardware used
[1223] Device: The device (e.g., smartphone, smart glasses, head-mounted display) on which the user enters a query and displays the results.
[1224] Server: A server for query analysis, database query generation, data acquisition, data integration and analysis, natural language generation, emotion recognition, etc.
[1225] Software used
[1226] Natural Language Processing Engine (NLPModel): Software for parsing natural language queries and generating database queries.
[1227] Database Management System (DBMS): A system for executing database queries and retrieving data.
[1228] Emotion Recognition Engine (emotion_recognition): Software for recognizing user emotions.
[1229] Data integration engine: Software for integrating and analyzing acquired data.
[1230] Natural language generation engine: Software for generating analysis results in natural language format.
[1231] As a concrete example of using the system, consider the case where a user enters the query "I saw a suspicious person in front of the building." The system operates as follows.
[1232] 1. The user types into the terminal, "I saw a suspicious person in front of the building."
[1233] 2. The device sends this query to the server.
[1234] 3. The server parses the query using a natural language processing engine and generates a relevant database query.
[1235] 4. The server sends the generated database query to multiple databases to retrieve relevant information.
[1236] 5. The acquired information is integrated and analyzed using a data integration engine.
[1237] 6. The analysis results are converted into natural language text using a natural language generation engine.
[1238] 7. An emotion recognition engine recognizes the user's emotions and adjusts the generated text based on those emotions.
[1239] 8. The final result is sent to the terminal and displayed to the user.
[1240] This embodiment allows the user to receive flexible and effective responses according to their emotions.
[1241] Prompt Sentence Examples
[1242] User input: "I saw a suspicious person in front of the building."
[1243] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1244] Step 1:
[1245] The user inputs a query in natural language into the terminal. The input query is text, such as "I saw a suspicious person in front of the building." The input data is the user's text-based question or report, which is imported into the system via the terminal.
[1246] Step 2:
[1247] The terminal sends the received query to the server. In this step, the terminal sends the input query to the server via the network. The input is the user's natural language query, and the output is that the query is sent to the server.
[1248] Step 3:
[1249] The server analyzes the received query. Specifically, it uses a natural language processing engine (NLPModel) to analyze the query and generate a database query. The input is a query in natural language format, which is analyzed to generate a specific database query. For example, from the query "I saw a suspicious person in front of the building," a query to search surveillance camera data and security records in the target area is generated.
[1250] Step 4:
[1251] The server sends the generated database query to multiple organizations' databases to retrieve the required data. The server issues queries to multiple database management systems (DBMS) to collect the specified information. The input is the database query, and the output is the retrieved data from each database.
[1252] Step 5:
[1253] The acquired data is integrated and analyzed using a data integration engine. The server converts data obtained from multiple databases into a unified format and performs aggregation and analysis as necessary. The input is data in different formats, and the output is data that has been integrated and analyzed in a unified format.
[1254] Step 6:
[1255] The analysis results are converted into natural language text using a natural language generation engine. The server then generates sentences based on the analyzed data that are easy for users to understand. For example, the generated text might be, "A suspicious person has been spotted in front of the building. We are currently reviewing the footage from the surveillance camera." The input is the analysis result data, and the output is the generated natural language text.
[1256] Step 7:
[1257] The emotion recognition engine recognizes the user's emotions. The device acquires data such as the user's facial expressions and tone of voice, and sends that data to the server. The server then uses the emotion recognition engine to analyze the user's emotions. The input is the user's emotional data, and the output is the analyzed emotional state of the user.
[1258] Step 8:
[1259] The generated natural language text is adjusted based on the user's emotional state. The server adjusts the response based on the user's emotions based on the results of the emotion recognition engine. For example, if the user is feeling anxious, the server changes the message to one that provides reassurance, such as "A security team will arrive shortly." The input is the user's emotional state and the generated text, and the output is the adjusted natural language text.
[1260] Step 9:
[1261] The adjusted result is sent to the terminal and displayed to the user. The final result is sent from the server to the terminal, and the terminal displays the result to the user. The input is adjusted natural language text, and the output is a message visually displayed to the user.
[1262] 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.
[1263] 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.
[1264] 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.
[1265] [Fourth embodiment]
[1266] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1267] 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.
[1268] 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).
[1269] 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.
[1270] 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.
[1271] 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).
[1272] 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.
[1273] 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.
[1274] 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.
[1275] 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.
[1276] 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.
[1277] 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.
[1278] 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."
[1279] The present invention provides a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. A specific example of the system is described below.
[1280] System Overview
[1281] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[1282] Specific processing of the system
[1283] 1. Receiving user input
[1284] The user inputs a question in natural language format into the terminal.
[1285] Example: "What is this month's sales data?"
[1286] 2. Submitting a query
[1287] The terminal sends the user's query to the server.
[1288] 3. Query Analysis
[1289] The server analyzes the received query.
[1290] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[1291] 4. Generating Database Queries
[1292] The server generates a database query based on the analysis results.
[1293] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'".
[1294] 5. Accessing the Database
[1295] The server sends the generated SQL queries to multiple organization databases.
[1296] Each database management system (DBMS) executes the query and returns the relevant data.
[1297] 6. Receipt and integration of data
[1298] The server receives the data returned from each database.
[1299] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[1300] 7. Creating the generated results
[1301] The server generates text in natural language format based on the results of the integration and analysis.
[1302] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[1303] 8. Sending and displaying results
[1304] The server generates a result in natural language format and sends it to the terminal.
[1305] The terminal displays the results to the user.
[1306] Specific examples
[1307] When a user types "Tell me this month's sales data," the terminal sends this query to the server. The server generates a database query, "Get sales data from 2023-10-01 to 2023-10-15," and sends it to the databases of multiple organizations. The server integrates the received data and generates the result, "Sales for the current month are 500,000 yen," which is displayed to the user via the terminal.
[1308] In this way, the system of the present invention can automatically and consistently perform everything from inputting queries in natural language to acquiring, integrating, and analyzing data and displaying the results, thereby effectively promoting information sharing between organizations.
[1309] The processing flow will be explained below.
[1310] Step 1:
[1311] A user inputs a question in natural language format into a computer terminal.
[1312] Example: "What is this month's sales data?"
[1313] Step 2:
[1314] The terminal receives the user's query and sends it to the server as is.
[1315] Step 3:
[1316] The server analyzes the received query.
[1317] The query analysis engine analyzes the natural language query and, based on the request for "sales data for this month," identifies the data range "2023-10-01 to 2023-10-15" as the current date.
[1318] Step 4:
[1319] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[1320] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[1321] Step 5:
[1322] The server sends the generated SQL queries to each organization's database.
[1323] In other words, it connects to the respective database and makes a request to execute a database query to get the required data.
[1324] Step 6:
[1325] Each organization's database management system (DBMS) executes the SQL queries from the server and extracts the specified data.
[1326] Each DBMS then returns the extracted data to the server.
[1327] Step 7:
[1328] The server receives the data returned from each DBMS.
[1329] Step 8:
[1330] The server's data integration engine converts the received data into a unified format and performs aggregation processing to perform total sales and other necessary calculations.
[1331] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[1332] Step 9:
[1333] The server generates a result text in a natural language format based on the integration and analysis results.
[1334] Example: "Sales for the current month are 500,000 yen."
[1335] Step 10:
[1336] The server generates a result in natural language format and sends it to the terminal.
[1337] Step 11:
[1338] The terminal displays the results sent from the server to the user.
[1339] Example: The device screen displays the message "Current month's sales are 500,000 yen."
[1340] Example 1
[1341] 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."
[1342] In conventional systems, even when users entered queries in natural language format, a great deal of manual work was required to properly send the queries to each database and retrieve, integrate, and analyze the necessary information. Furthermore, unifying data in different formats required specialized knowledge, resulting in problems that reduced efficiency. Furthermore, there were limited ways to present the analyzed results to users in an easy-to-understand manner, making it difficult to effectively utilize the information.
[1343] 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.
[1344] In this invention, the server includes: means for receiving a query in natural language format entered by a user; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query; means for integrating and analyzing the acquired data, which includes converting the data into a unified format and performing necessary aggregation processing; means for generating the analyzed results in natural language format, which includes using text generated using a generative AI model; and means for displaying the generated results in natural language format. This enables a user to automatically acquire, integrate, and analyze required information and present it in an easy-to-understand manner simply by entering a query in natural language.
[1345] A "user" is a person or entity that utilizes the system to enter natural language queries and obtain information.
[1346] "Query" refers to a question or request in natural language that a user enters into a terminal.
[1347] "Server" means a computer system that analyzes queries, sends appropriate queries to each database, and collects, consolidates, and analyzes data.
[1348] "Device" means the device used by a User to enter a query and receive and view results, such as a computer or smartphone.
[1349] "Natural language" refers to the language used by humans on a daily basis, not specific program code or instructions.
[1350] A database is a software system that systematically collects, stores, searches, and edits data. Multiple organizations may have their own databases.
[1351] A "database query" is a statement used to retrieve desired information from a database, such as SQL.
[1352] An "integration engine" is a software component that centrally consolidates data obtained from multiple data sources and converts it into a unified format.
[1353] A "generative AI model" is an algorithm or model that uses artificial intelligence technology to generate natural language text that is easy for humans to understand.
[1354] A "natural language processing (NLP) engine" is software that has the technology to analyze natural language text and understand its meaning and structure.
[1355] An "HTTP request" is a type of protocol used when communicating between a web browser and a web server, and is used to send a query.
[1356] An "SQL query" is a statement used to retrieve information from a database using the Structured Query Language (SQL).
[1357] A "REST API" is an interface for communicating with databases and other web services that uses standard HTTP methods.
[1358] The system of this invention automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on a query entered by a user in natural language. The configuration and processing details for specifically implementing the present invention are described below.
[1359] First, the system consists of three main components: the user, the terminal, and the server. The user inputs a natural language query using the terminal, and the terminal sends the query to the server. The server analyzes the query, retrieves, integrates, and analyzes the necessary data, and generates the results in natural language format and sends them back to the terminal.
[1360] Specifically, a user enters a query into a device, such as "Tell me this month's sales data." The device receives this query and sends it to the server using an HTTP POST request. The server uses a natural language processing (NLP) engine to analyze the query and identify the specific request (e.g., "sales data" and the time period "this month"). The server then uses a generative AI model, such as BERT or GPT, to generate an SQL query based on the analysis. For example, the SQL query might be "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'."
[1361] The server then sends this SQL query to multiple databases. The database management system (DBMS) executes the query and returns the relevant data. The server receives this data and uses an integration engine to unify the data formats and perform any necessary aggregations. For example, the integration engine may unify sales data in different formats and aggregate "total sales."
[1362] The server then uses a generative AI model to generate text in natural language format based on the results of the integration and analysis. For example, it generates a sentence like, "Sales for the current month are 500,000 yen." The server sends this generated result to the device, which then displays it to the user.
[1363] In this way, the system of the present invention can automatically and consistently perform everything from obtaining the necessary data to integrating, analyzing, and displaying the results, simply by having the user input a query in natural language. As a specific example, if the user inputs "Tell me this month's sales data," the terminal sends this query to the server, and the server obtains sales data from 2023-10-01 to 2023-10-15 from the analysis results, generates the result "Sales for the current month are 500,000 yen," and displays it to the user via the terminal.
[1364] Example prompt sentence:
[1365] "In this system, when a user enters a query into a terminal to find out this month's sales data, the server analyzes it, retrieves and integrates information from multiple databases, and returns the results in natural language. Please explain the process. As a specific example, please give the query "Tell me this month's sales data."
[1366] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1367] Step 1:
[1368] The user types a query in natural language into the device, for example, "What are the sales figures for this month?" The device receives this text input and stores it in its internal memory, ready to send the query in its raw form to the server.
[1369] Input: A natural language query typed by the user (e.g., "What are the sales figures for this month?")
[1370] Output: The natural language query is received on the device and stored in memory
[1371] Step 2:
[1372] The device sends the received natural language query to the server using the HTTP POST request as the communication protocol. The device sends an HTTP request containing the query to the server's analysis endpoint.
[1373] Input: A natural language query stored on your device
[1374] Output: An HTTP POST request containing the query is sent to the server
[1375] Step 3:
[1376] The server analyzes the received natural language query. First, it uses an NLP engine to analyze the meaning of the query and identify key keywords and data ranges. A generative AI model (such as BERT or GPT) is used for this analysis. Specifically, the keywords "sales data" and "this month" are extracted, and the time period "from 2023-10-01 to 2023-10-31" is identified.
[1377] Input: A natural language query included in an HTTP POST request
[1378] Output: Analysis results with keywords and data ranges identified
[1379] Step 4:
[1380] The server generates an SQL query based on the analysis results. Based on the analysis results, SQL syntax is automatically generated. For example, the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'" is generated.
[1381] Input: Identified keywords and data ranges
[1382] Output: A SQL query is generated (e.g., "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'").
[1383] Step 5:
[1384] The server generates SQL queries and sends them to multiple databases. Each database is accessed using a REST API or a direct database connection (such as JDBC) to execute the SQL queries. Each database management system (DBMS) executes the queries and returns the relevant data.
[1385] Input: Generated SQL query
[1386] Output: Data retrieved from each database
[1387] Step 6:
[1388] The server receives the data returned from each database, unifies the data format using the integration engine, and performs the necessary aggregation processing. For example, it converts sales data from each data source into a unified format and calculates total sales. This unifies data in different formats.
[1389] Input: Data obtained from each database
[1390] Output: Data converted into a unified format and aggregated
[1391] Step 7:
[1392] Based on the results of the integration and analysis, the server uses a generative AI model to generate text in natural language format, such as "Current month's sales are 500,000 yen."
[1393] Input: Integrated and analyzed data
[1394] Output: Natural language formatted text (e.g. "Sales for the current month are 500,000 yen")
[1395] Step 8:
[1396] The server sends the generated results to the terminal. The terminal displays the received results to the user. Specifically, the text "Current month's sales are 500,000 yen" is displayed on the terminal screen.
[1397] Input: Natural language formatted text
[1398] Output: The result displayed on the terminal (e.g., "Sales for the current month are 500,000 yen")
[1399] (Application example 1)
[1400] 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."
[1401] Inventory management and delivery planning optimization are extremely important in logistics centers, but collecting and analyzing information scattered across multiple databases on-site is cumbersome, making it difficult to efficiently acquire information. The purpose of this invention is to significantly improve the operational efficiency of logistics centers by enabling simple query input using natural language, rapid information acquisition from multiple databases, and automating integration and analysis.
[1402] 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.
[1403] In this invention, the server includes means for receiving a query in natural language, means for analyzing the received query in natural language and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated result in a natural language format, and means for analyzing a query specialized for logistics information and providing an optimal delivery plan and inventory information. This makes it possible to improve business efficiency, such as understanding inventory status at logistics centers and optimizing delivery plans.
[1404] A "natural language query" is a question or request entered by a user in everyday language.
[1405] A "database query" is a query command issued to a database management system to obtain specific data.
[1406] A "multi-organizational database" refers to a collection of data owned by many different organizations or departments.
[1407] "Means of information retrieval" refers to the methods or techniques used to extract specific information from a database.
[1408] "Means for integrating and analyzing acquired data" refers to a method for consolidating collected data into one and performing analysis and processing based on that data.
[1409] "Means for generating analyzed results in natural language format" refers to methods and techniques for expressing analyzed data in sentences that are easy for humans to understand.
[1410] "Means for displaying results" refers to a display or interface for showing processed information or results to a user.
[1411] "Logistics information-specific queries" are questions or requests related to logistics operations, particularly inventory status and delivery plans.
[1412] "Means for providing optimal delivery plans and inventory information" refers to methods and technologies for calculating appropriate delivery schedules and inventory levels in order to maximize logistics efficiency.
[1413] This system automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on logistics-related queries entered in natural language by users on their smartphones. A specific example of the system is described below.
[1414] System configuration
[1415] This system consists of a user, a terminal, and a server. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends the appropriate query to each organization's database to collect, integrate, and analyze the necessary data, then generates the results in natural language and sends them back to the terminal.
[1416] Hardware and software used
[1417] Smartphone: the device on which the application is installed and on which the user enters queries
[1418] Python: The main implementation language for the application
[1419] Web frameworks such as Flask: Used to build server-side APIs
[1420] The requests module: Sending and receiving HTTP requests
[1421] Database Management System (DBMS): A system that manages data for multiple organizations.
[1422] Data processing and calculation
[1423] Receiving User Input
[1424] The user inputs a question in natural language format into the terminal.
[1425] Example: "What is the current stock situation?"
[1426] Submitting a query
[1427] The terminal sends the user's query to the server.
[1428] Query Analysis
[1429] The server analyzes the received query. The query analysis engine interprets the input query (e.g., "current stock status") and identifies the relevant data range and data source.
[1430] Generate database queries
[1431] Based on the analysis results, the server generates specific database queries for each organization's database.
[1432] Accessing the database
[1433] The server sends the generated database queries to multiple organizational databases to retrieve the required data.
[1434] Data integration and analysis
[1435] The server receives the data returned from each database, uses an integration engine to convert the data from different formats into a unified format, and then performs the necessary aggregation and analysis.
[1436] Creating generated results
[1437] The server generates text in natural language format based on the results of the integration and analysis. For example, it generates the sentence "Current stock is 500 units."
[1438] Sending and displaying results
[1439] The server sends the generated results in natural language format to the terminal, which displays the results to the user.
[1440] Prompt Sentence Examples
[1441] When a user types "What is the current inventory status?" into their smartphone, the system retrieves the latest inventory information from each warehouse database and replies, "There are 500 units in stock now."
[1442] In this way, by implementing the system of the present invention, it is possible to quickly obtain and analyze information from multiple databases at a logistics center, and to achieve more efficient logistics operations.
[1443] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1444] Step 1:
[1445] A user inputs a natural language query using a smartphone. For example, the user inputs the query "What is the current stock situation?" This natural language query becomes the input for the system.
[1446] Step 2:
[1447] The device sends a natural language query entered by the user to the server. The entered query is sent to the server as an HTTP request. This request includes the user's question text.
[1448] Step 3:
[1449] The server analyzes the received query. The server's query analysis engine interprets the natural language query and identifies the range of data required and the specific data source. Specifically, the analysis results in the generation of an SQL query to obtain "current inventory information." This is the output of the analysis results.
[1450] Step 4:
[1451] The server generates a database query based on the analysis results. Here, a specific SQL query (e.g., "SELECT FROM inventory WHERE status = 'current'") is generated. This query is used to query each organization's database. The generated SQL query is the output.
[1452] Step 5:
[1453] The server generates a database query and sends it to multiple organization databases. Each database management system (DBMS) executes the query and returns the relevant data (e.g., current inventory information). The inventory information returned from the databases is the output of this step.
[1454] Step 6:
[1455] The server receives and consolidates the data returned from each database. The consolidation engine converts the data from different formats into a unified format and performs any necessary aggregations or analysis. Specifically, it aggregates inventory data from multiple data sources and calculates the total inventory count. The aggregated inventory data is the output.
[1456] Step 7:
[1457] The server generates a natural language result based on the integration and analysis results. Specifically, it generates text such as "Current inventory is 500 units." This natural language result is the output.
[1458] Step 8:
[1459] The server generates a natural language result and sends it to the terminal. The terminal displays the result to the user. The user's smartphone displays a message saying "Current stock is 500 units." The displayed message is the final output.
[1460] The above is a specific flow of the program processing of the system that realizes the application example.
[1461] 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.
[1462] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language with an emotion engine that recognizes the user's emotions. This makes it possible to provide adaptive responses according to the user's emotional state. A specific example of the system is described below.
[1463] System Overview
[1464] This system consists of a user, a terminal, a server, and an emotion engine. The user inputs a query in natural language through the terminal, and the terminal sends the query to the server. The server analyzes the query and sends appropriate queries to each organization's database to collect, integrate, and analyze the necessary data. The server generates the results in natural language, adjusts the response based on the user's emotion using the emotion engine, and sends it back to the terminal.
[1465] Specific processing of the system
[1466] 1. Receiving user input
[1467] A user inputs a question in natural language format into a computer terminal.
[1468] Example: "What is this month's sales data?"
[1469] 2. Submitting a query
[1470] The terminal sends the user's query to the server.
[1471] 3. Query Analysis
[1472] The server analyzes the received query.
[1473] The query analysis engine understands the request "sales data for this month" and determines the specific data range (for example, 2023-10-01 to 2023-10-15).
[1474] 4. Generating Database Queries
[1475] The server generates a database query based on the analysis results.
[1476] Example: The server generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'".
[1477] 5. Accessing the Database
[1478] The server sends the generated SQL queries to multiple organization databases.
[1479] Each database management system (DBMS) executes the query and extracts the specified data.
[1480] 6. Receipt and integration of data
[1481] The server receives the data returned from each DBMS.
[1482] The integrated engine processes the received data, converts it into a unified format, and then tallys up total sales, etc.
[1483] Example: If store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be 500,000 yen.
[1484] 7. Creating the generated results
[1485] The server generates text in natural language format based on the integration and analysis results.
[1486] Example: The server generates the sentence "Sales for the current month are 500,000 yen."
[1487] 8. User Emotion Recognition
[1488] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[1489] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[1490] 9. Adjusting the response
[1491] The server adjusts the generated text based on the analysis results of the emotion engine according to the user's emotions.
[1492] For example, if a user is feeling stressed, you can adjust the prompt to something like, "Your current monthly sales are 500,000 yen. Do you need some advice on how to increase your sales even more?"
[1493] 10. Sending and displaying results
[1494] The server sends the results in a tailored natural language format to the terminal.
[1495] The terminal displays the results to the user.
[1496] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[1497] In this way, the system of the present invention can automatically perform all processes from inputting a query in natural language to acquiring, integrating, analyzing, recognizing emotions, adjusting the results, and displaying them, thereby providing flexible and effective responses that correspond to the user's emotional state.
[1498] The processing flow will be explained below.
[1499] Step 1:
[1500] A user inputs a question in natural language format into a computer terminal.
[1501] Example: "What is this month's sales data?"
[1502] Step 2:
[1503] The terminal receives the user's query and sends it to the server as is.
[1504] Step 3:
[1505] The server analyzes the received query.
[1506] The query analysis engine extracts meaning from the natural language query and identifies a specific data range (e.g., 2023-10-01 to 2023-10-15) to understand "this month's sales data."
[1507] Step 4:
[1508] Based on the analysis results, the server generates SQL queries to be executed against multiple databases.
[1509] Example: "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-15'"
[1510] Step 5:
[1511] The server sends the generated SQL queries to each organization's database.
[1512] It connects to each database and executes the generated SQL queries to make requests to retrieve the required data.
[1513] Step 6:
[1514] Each organization's database management system (DBMS) executes the SQL query sent from the server and extracts the specified data.
[1515] Data is returned from each DBMS.
[1516] Step 7:
[1517] The server receives the data returned from each DBMS.
[1518] Step 8:
[1519] The server's data integration engine converts the received data into a unified format and performs aggregation processing.
[1520] For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[1521] Step 9:
[1522] The server generates text in natural language format based on the integration and analysis results.
[1523] Example: "Sales for the current month are 500,000 yen."
[1524] Step 10:
[1525] The device collects facial expressions, tone of voice, and other information to recognize the user's emotions.
[1526] This data is sent to the server.
[1527] Step 11:
[1528] The server's emotion engine analyzes the received data and recognizes the user's emotional state (e.g., joy, sadness, anger, etc.).
[1529] Step 12:
[1530] The server adjusts the generated text based on the user's emotions based on the analysis results of the emotion engine.
[1531] Example: If the user is feeling stressed, try adjusting by saying, "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales even more?"
[1532] Step 13:
[1533] The server sends the results in a tailored natural language format to the terminal.
[1534] Step 14:
[1535] The terminal displays the results sent from the server to the user.
[1536] Example: The device screen displays the message, "Your current monthly sales are 500,000 yen. Do you need advice on how to increase your sales even more?"
[1537] Example 2
[1538] 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."
[1539] Conventional technologies have had difficulty in properly acquiring, integrating, and analyzing data in response to natural language queries from users. Furthermore, they lacked a mechanism for providing flexible and effective responses according to the user's emotional state, limiting the user experience. The present invention aims to solve these problems by providing a system that allows users to efficiently acquire the information they need and provides responses according to their emotional state.
[1540] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for receiving a natural language query; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to databases of multiple institutions and acquiring data based on the database query; means for integrating and analyzing the acquired data; means for generating the analyzed results in a natural language format; an emotion engine for recognizing the user's emotional state; means for adjusting the generated natural language result based on the analysis result of the emotion engine; and means for displaying the generated natural language result. This enables the user to efficiently acquire necessary information and provides an adaptive response according to the user's emotional state.
[1541] A "natural language query" refers to a question or request entered by a user in everyday language or sentences.
[1542] "Query parsing" refers to the process of technically understanding a received natural language query and translating it into a database query.
[1543] A "database query" refers to a command or statement that retrieves specific data from a database.
[1544] "Multiple institution databases" refers to multiple databases managed by different organizations or companies.
[1545] "Data integration" refers to processing data obtained from different databases together.
[1546] "Analysis" refers to the process of analyzing acquired data to obtain useful information and insights.
[1547] An "emotion engine" refers to software or hardware for analyzing a user's emotional state from facial expressions, tone of voice, etc.
[1548] "Natural language results" refers to text generated in natural language to make the analyzed data easier for users to understand.
[1549] "Response adjustment" refers to modifying and optimizing the natural language format results generated based on the analysis results of the emotion engine according to the user's emotional state.
[1550] This invention is a system that automatically retrieves, integrates, and analyzes necessary data from databases of multiple institutions based on a query entered by a user in natural language. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to provide adaptive responses according to the user's emotional state. A specific embodiment of the system is described below.
[1551] Hardware and Software
[1552] This system has the following hardware and software as its main components:
[1553] User terminal: The device through which a user enters a natural language query (e.g., personal computer, smartphone).
[1554] Server: A computer system for analyzing data, generating database queries, data integration, and sentiment analysis using the sentiment engine.
[1555] Emotion Engine: A software module for analyzing user emotions, working in conjunction with a facial recognition camera and microphone.
[1556] Data processing and calculation
[1557] Natural Language Processing (NLP) Engine: The server receives a natural language query entered by the user, for example, "What are the sales figures for this month?"
[1558] Query analysis engine: The server uses an NLP engine to analyze the query and generate an appropriate database query, such as "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[1559] Data integration engine: The server integrates data obtained from multiple databases and converts data in different formats into a unified format. For example, if store A's sales are 300,000 yen and store B's sales are 200,000 yen, the total sales will be calculated as 500,000 yen.
[1560] Emotion analysis: The emotion engine analyzes the user's facial expressions and tone of voice to recognize emotions such as happiness, sadness, anger, etc. For example, it uses data from the camera and microphone to determine whether the user is stressed.
[1561] Response generation and adjustment: The server generates natural language text based on the integration and analysis results, and adjusts the response based on the emotional state obtained from the emotion engine. For example, it generates an adjustment result such as, "Current monthly sales are 500,000 yen. Do you need any advice on how to increase sales further?"
[1562] Examples of concrete examples and prompts
[1563] For example, the following steps are taken:
[1564] 1. Example of a prompt entered by the user: "What are the sales figures for this month?"
[1565] 2. Example of query analysis and SQL generation: The server analyzes the input prompt statement and generates the SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[1566] 3. Example of data integration: The sales data returned from each store (Store A: 300,000 yen, Store B: 200,000 yen) is integrated to calculate total sales of 500,000 yen.
[1567] 4. Example of emotion recognition: Based on the user's facial expressions and voice, the emotion engine determines the user's emotional state as "stress."
[1568] 5. Example of response tailoring: The final generated response will be "Current monthly sales are 500,000 yen. Do you need advice on how to increase sales further?"
[1569] In this way, the system can automatically perform a series of processes, from user query input, data acquisition, data integration, and emotion-based response generation, enabling efficient and flexible information provision.
[1570] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1571] Step 1: Receiving User Input
[1572] A user inputs a question in natural language format into a computer terminal.
[1573] Input: The user types "What are the sales figures for this month?" into the text input field.
[1574] What happens: The user enters text using the device's keyboard or touchscreen.
[1575] Output: The device gets the natural language query "What are the sales figures for this month?"
[1576] Step 2: Submitting a query
[1577] The terminal sends the user's query to the server.
[1578] Input: A natural language query obtained from the user.
[1579] Specific operation: The device sends a query to the server via the Internet.
[1580] Output: The query data is sent to the server.
[1581] Step 3: Parsing the query
[1582] The server analyzes the received query.
[1583] Input: A natural language query sent from the device.
[1584] What happens: The server uses a natural language processing (NLP) engine to parse the query and understand what the user wants.
[1585] Output: Analysis results, including the specific data range or request (e.g., "Get sales data, period = 2023-10-01 to 2023-10-31").
[1586] Step 4: Generate Database Queries
[1587] The server generates a database query based on the analysis results.
[1588] Input: The results of the query analysis.
[1589] Specific operation: The server generates an SQL query based on the analysis results.
[1590] Output: SQL query "SELECT FROM sales WHERE date BETWEEN '2023-10-01' AND '2023-10-31'".
[1591] Step 5: Access the Database
[1592] The server sends the generated SQL queries to multiple organization databases.
[1593] Input: SQL query.
[1594] Specific operation: The server executes SQL queries against each database management system (DBMS).
[1595] Output: Sales data retrieved from each database.
[1596] Step 6: Receiving and consolidating data
[1597] The server receives and consolidates the data returned from each DBMS.
[1598] Input: Sales data retrieved from each database.
[1599] Specific operation: The server's integration engine converts the incoming data into a unified format and aggregates it.
[1600] Output: Consolidated sales data (e.g. total sales is 500,000 yen).
[1601] Step 7: Creating the generated results
[1602] The server generates text in natural language format based on the integration results.
[1603] Input: Consolidated sales data.
[1604] What it does: The server uses a generative AI model to generate text in natural language format.
[1605] Output: Natural language text "Sales for the current month are 500,000 yen."
[1606] Step 8: Recognizing User Emotions
[1607] The device analyzes the user's facial expressions and tone of voice and sends the data to a server.
[1608] Input: User facial and voice data.
[1609] Specific operation: Captures data using the device's built-in camera and microphone and sends it to a server.
[1610] Output: User's emotional state data.
[1611] Step 9: Adjusting the response
[1612] The server adjusts the generated natural language format results based on the analysis results of the emotion engine.
[1613] Input: Emotional state data from the emotion engine and generated natural language text.
[1614] What it does: Adjust text appropriately depending on emotional state.
[1615] Output: Tailored response "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[1616] Step 10: Send and view results
[1617] The server sends the results in a tailored natural language format to the terminal.
[1618] Input: A tailored natural language response.
[1619] Specific operation: The server sends the adjusted text to the device.
[1620] Output: Message displayed on the terminal: "Your current monthly sales are $5,000. Would you like some advice on how to increase your sales?"
[1621] (Application example 2)
[1622] 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."
[1623] Conventional natural language processing systems only provide simple answers without considering the user's emotional state, which can lead to a loss of user satisfaction and trust. Furthermore, security services require fast and appropriate responses to emergency reports and anomaly detection, but the lack of emotional response has prevented users from feeling fully secure. There is a need to solve these problems and provide a more effective system with higher user satisfaction.
[1624] The identification process by the identification 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 receiving a natural language query, means for analyzing the received natural language query and generating a database query corresponding to the query, means for transmitting the generated database query to databases of multiple organizations and acquiring data based on the database query, means for integrating and analyzing the acquired data, means for generating the analyzed result in a natural language format, means for displaying the generated natural language result, means for recognizing a user's emotion, and means for adjusting the natural language result based on the recognized user's emotion. This makes it possible to provide a flexible and effective response according to the user's emotional state and give the user a sense of security in security services, etc.
[1625] A "natural language query" is a question or command that a user enters into a system in everyday language.
[1626] A "means for parsing" is a process for understanding a received natural language query and generating a corresponding specific database query.
[1627] A "database query" is a formal inquiry to retrieve specific information from a database.
[1628] The "means for obtaining" is a method for gathering the required information from multiple databases using the generated database query.
[1629] "Means for integrating and analyzing data" refers to a method for converting data obtained from multiple databases into a single unified format and then analyzing it.
[1630] "Means for generating in natural language format" refers to the process of converting the analyzed results into sentences or expressions that are easy for users to understand.
[1631] The "means for displaying" is the method by which the generated natural language results are visually presented to the user.
[1632] "Means for recognizing user emotions" refers to the process of determining the user's emotional state from facial expressions, tone of voice, etc.
[1633] A "tuning means" is a method for changing the generated natural language results to a more appropriate form based on the perceived emotional state of the user.
[1634] The present invention combines a system that automatically retrieves, integrates, and analyzes necessary information from databases of multiple organizations based on queries entered by users in natural language, with an emotion engine that recognizes the user's emotions. A specific example of the system is described below.
[1635] In this system, users input queries in natural language through their devices, which are then analyzed by the server to generate database queries. The server then sends the generated queries to multiple organizations' databases to retrieve data based on them. The retrieved data is then integrated and analyzed by the server, and the results are generated in natural language format. The generated results are then adjusted based on the user's emotional state. The final results are then displayed on the device.
[1636] The hardware and software used will be specifically described.
[1637] Hardware used
[1638] Device: The device (e.g., smartphone, smart glasses, head-mounted display) on which the user enters a query and displays the results.
[1639] Server: A server for query analysis, database query generation, data acquisition, data integration and analysis, natural language generation, emotion recognition, etc.
[1640] Software used
[1641] Natural Language Processing Engine (NLPModel): Software for parsing natural language queries and generating database queries.
[1642] Database Management System (DBMS): A system for executing database queries and retrieving data.
[1643] Emotion Recognition Engine (emotion_recognition): Software for recognizing user emotions.
[1644] Data integration engine: Software for integrating and analyzing acquired data.
[1645] Natural language generation engine: Software for generating analysis results in natural language format.
[1646] As a concrete example of using the system, consider the case where a user enters the query "I saw a suspicious person in front of the building." The system operates as follows.
[1647] 1. The user types into the terminal, "I saw a suspicious person in front of the building."
[1648] 2. The device sends this query to the server.
[1649] 3. The server parses the query using a natural language processing engine and generates a relevant database query.
[1650] 4. The server sends the generated database query to multiple databases to retrieve relevant information.
[1651] 5. The acquired information is integrated and analyzed using a data integration engine.
[1652] 6. The analysis results are converted into natural language text using a natural language generation engine.
[1653] 7. An emotion recognition engine recognizes the user's emotions and adjusts the generated text based on those emotions.
[1654] 8. The final result is sent to the terminal and displayed to the user.
[1655] This embodiment allows the user to receive flexible and effective responses according to their emotions.
[1656] Prompt Sentence Examples
[1657] User input: "I saw a suspicious person in front of the building."
[1658] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1659] Step 1:
[1660] The user inputs a query in natural language into the terminal. The input query is text, such as "I saw a suspicious person in front of the building." The input data is the user's text-based question or report, which is imported into the system via the terminal.
[1661] Step 2:
[1662] The terminal sends the received query to the server. In this step, the terminal sends the input query to the server via the network. The input is the user's natural language query, and the output is that the query is sent to the server.
[1663] Step 3:
[1664] The server analyzes the received query. Specifically, it uses a natural language processing engine (NLPModel) to analyze the query and generate a database query. The input is a query in natural language format, which is analyzed to generate a specific database query. For example, from the query "I saw a suspicious person in front of the building," a query to search surveillance camera data and security records in the target area is generated.
[1665] Step 4:
[1666] The server sends the generated database query to multiple organizations' databases to retrieve the required data. The server issues queries to multiple database management systems (DBMS) to collect the specified information. The input is the database query, and the output is the retrieved data from each database.
[1667] Step 5:
[1668] The acquired data is integrated and analyzed using a data integration engine. The server converts data obtained from multiple databases into a unified format and performs aggregation and analysis as necessary. The input is data in different formats, and the output is data that has been integrated and analyzed in a unified format.
[1669] Step 6:
[1670] The analysis results are converted into natural language text using a natural language generation engine. The server then generates sentences based on the analyzed data that are easy for users to understand. For example, the generated text might be, "A suspicious person has been spotted in front of the building. We are currently reviewing the footage from the surveillance camera." The input is the analysis result data, and the output is the generated natural language text.
[1671] Step 7:
[1672] The emotion recognition engine recognizes the user's emotions. The device acquires data such as the user's facial expressions and tone of voice, and sends that data to the server. The server then uses the emotion recognition engine to analyze the user's emotions. The input is the user's emotional data, and the output is the analyzed emotional state of the user.
[1673] Step 8:
[1674] The generated natural language text is adjusted based on the user's emotional state. The server adjusts the response based on the user's emotions based on the results of the emotion recognition engine. For example, if the user is feeling anxious, the server changes the message to one that provides reassurance, such as "A security team will arrive shortly." The input is the user's emotional state and the generated text, and the output is the adjusted natural language text.
[1675] Step 9:
[1676] The adjusted result is sent to the terminal and displayed to the user. The final result is sent from the server to the terminal, and the terminal displays the result to the user. The input is adjusted natural language text, and the output is a message visually displayed to the user.
[1677] 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.
[1678] 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.
[1679] 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.
[1680] 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.
[1681] FIG. 9 illustrates 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 behaviors 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.
[1682] 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.
[1683] 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).
[1684] 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.
[1685] 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."
[1686] 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.
[1687] 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).
[1688] 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.
[1689] 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.
[1690] 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.
[1691] 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.
[1692] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, 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 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.
[1693] 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.
[1694] 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.
[1695] 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.
[1696] 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.
[1697] 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.
[1698] The following is further disclosed regarding the above embodiment.
[1699] (Claim 1)
[1700] means for receiving a natural language query;
[1701] means for analyzing the received natural language query and generating a database query corresponding to the query;
[1702] means for transmitting the generated database query to a plurality of organizational databases and retrieving data based on the database query;
[1703] a means for integrating and analyzing the acquired data;
[1704] means for generating the parsed results in a natural language format;
[1705] means for displaying the generated results in natural language form;
[1706] A system including:
[1707] (Claim 2)
[1708] 2. The system according to claim 1, wherein the means for integrating and analyzing data converts data in different formats into a unified format and performs aggregation processing.
[1709] (Claim 3)
[1710] The system according to claim 1, characterized in that the means for generating results in natural language format displays the text generated based on the integration and analysis results in a form that is easy for the user to understand.
[1711] "Example 1"
[1712] (Claim 1)
[1713] means for receiving a query in natural language form input by a user;
[1714] means for analyzing the received natural language query and generating a database query corresponding to the query;
[1715] means for transmitting the generated database query to a plurality of organizational databases and retrieving data based on the database query;
[1716] A means for integrating and analyzing the acquired data, converting the data into a unified format and performing the necessary aggregation processing;
[1717] A means for generating the analyzed results in natural language format is a means for using text generated using a generative AI model;
[1718] means for displaying the generated results in natural language form;
[1719] A system including:
[1720] (Claim 2)
[1721] 2. The system according to claim 1, wherein the means for integrating and analyzing data converts data in different formats into a unified format and performs aggregation processing.
[1722] (Claim 3)
[1723] The system according to claim 1, characterized in that the means for generating results in natural language format displays the text generated based on the integration and analysis results in a form that is easy for the user to understand.
[1724] "Application Example 1"
[1725] (Claim 1)
[1726] means for receiving a natural language query;
[1727] means for analyzing the received natural language query and generating a database query corresponding to the query;
[1728] means for transmitting the generated database query to a plurality of organizational databases and retrieving data based on the database query;
[1729] a means for integrating and analyzing the acquired data;
[1730] means for generating the parsed results in a natural language format;
[1731] means for displaying the generated results in natural language form;
[1732] A means to analyze queries specific to logistics information and provide optimal delivery plans and inventory information,
[1733] A system including:
[1734] (Claim 2)
[1735] 2. The system according to claim 1, wherein the means for integrating and analyzing data converts data in different formats into a unified format and performs aggregation processing.
[1736] (Claim 3)
[1737] The system according to claim 1, characterized in that the means for generating results in natural language format displays the text generated based on the integration and analysis results in a form that is easy for the user to understand.
[1738] "Example 2: Combining Emotion Engines"
[1739] (Claim 1)
[1740] means for receiving a natural language query;
[1741] means for analyzing the received natural language query and generating a database query corresponding to the query;
[1742] means for transmitting the generated database query to a plurality of institutional databases and retrieving data based on the database query;
[1743] a means for integrating and analyzing the acquired data;
[1744] means for generating the parsed results in a natural language format;
[1745] an emotion engine for recognizing the emotional state of a user;
[1746] means for adjusting the natural language format results generated based on the analysis results of the emotion engine;
[1747] means for displaying the generated results in natural language form;
[1748] A system including:
[1749] (Claim 2)
[1750] 2. The system according to claim 1, wherein the means for integrating and analyzing data converts data in different formats into a unified format and performs aggregation processing.
[1751] (Claim 3)
[1752] The system according to claim 1, characterized in that the means for generating results in natural language format displays the text generated based on the integration and analysis results in a form that is easy for the user to understand.
[1753] (Claim 4)
[1754] 2. The system according to claim 1, wherein the emotion engine analyzes the user's facial expressions and tone of voice and recognizes the user's emotional state based on that data.
[1755] (Claim 5)
[1756] 2. The system of claim 1, wherein the means for adjusting the natural language format result generated based on the analysis result of the emotion engine provides an adaptive response according to the user's emotional state.
[1757] "Application example 2 when combining emotion engines"
[1758] (Claim 1)
[1759] means for receiving a natural language query;
[1760] means for analyzing the received natural language query and generating a database query corresponding to the query;
[1761] means for transmitting the generated database query to a plurality of organizational databases and retrieving data based on the database query;
[1762] a means for integrating and analyzing the acquired data;
[1763] means for generating the parsed results in a natural language format;
[1764] means for displaying the generated results in natural language form;
[1765] means for recognizing a user's emotion;
[1766] means for adjusting the natural language formatted results based on the recognized user sentiment;
[1767] A system including:
[1768] (Claim 2)
[1769] 2. The system according to claim 1, wherein the means for integrating and analyzing data converts data in different formats into a unified format and performs aggregation processing.
[1770] (Claim 3)
[1771] The system according to claim 1, characterized in that the means for generating results in natural language format displays the text generated based on the integration and analysis results in a form that is easy for the user to understand. [Explanation of symbols]
[1772] 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. means for receiving a natural language query; means for analyzing the received natural language query and generating a database query corresponding to the query; means for transmitting the generated database query to a plurality of organizational databases and retrieving data based on the database query; a means for integrating and analyzing the acquired data; means for generating the parsed results in a natural language format; means for displaying the generated results in natural language form; A system including:
2. 2. The system according to claim 1, wherein the means for integrating and analyzing data converts data in different formats into a unified format and performs tabulation processing.
3. 2. The system according to claim 1, wherein the means for generating results in natural language format displays the text generated based on the integration and analysis results in a form that is easy for the user to understand.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A