System
The system simplifies data retrieval and visualization by accepting natural language inputs, generating structured queries, and formatting data for easy understanding, addressing the operational challenges of current systems and enhancing business efficiency.
Patent Information
- Application Number
- JP2024122867
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2026-02-10
AI Technical Summary
Current in-house numerical data collection systems are difficult for non-engineers to operate, prone to server overload from incorrect SQL queries, and require high learning costs, leading to reduced work efficiency.
A system that accepts natural language input, analyzes it to generate structured queries, executes these queries to retrieve data, formats the data for output, and uses generative AI for easy data visualization, allowing non-specialists to access and understand numerical data.
Enables non-engineers to easily retrieve and visualize numerical data, improving business efficiency across the company by simplifying data access and analysis.
Smart Images

Figure 2026021185000001_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] Many current in-house numerical data collection systems are difficult to operate, making them difficult to use for anyone other than engineers or those with advanced knowledge. Furthermore, there is a risk of overloading the server by executing an incorrect SQL query, making them a hurdle for beginners. This results in high learning costs for employees when acquiring numerical data, leading to problems such as reduced work efficiency. [Means for solving the problem]
[0005] The present invention provides a system that includes means for accepting natural language input, analyzing the accepted natural language input, and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, and means for formatting the obtained numerical data and outputting it to a user. The system also includes means for using generative artificial intelligence to analyze the natural language input and means for displaying the obtained numerical data in a graph format. This allows even non-engineers and beginners to easily perform numerical aggregation, thereby improving business efficiency across the entire company.
[0006] "Natural language input" refers to text and voice data entered by a user in everyday language.
[0007] "Parsing" refers to the process of taking natural language input and understanding its meaning and intent.
[0008] "Structured query" refers to a standardized query statement (e.g., an SQL query) used to retrieve specific information from a database.
[0009] "Generation" refers to the process of creating a structured query based on parsed natural language input.
[0010] "Execution" refers to the process of sending the generated structured query to a database to retrieve the required data.
[0011] "Numerical data" refers to numerical information obtained from a database.
[0012] "Formatting" refers to the process of arranging the acquired numerical data in a format that is easy for the user to view.
[0013] "Generative artificial intelligence" refers to machine learning algorithms and models that analyze natural language and automatically generate structured queries.
[0014] "Graph format" refers to data visualization techniques such as bar graphs and line graphs that visually represent numerical data. [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] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. The operation of the system and a specific example are shown below.
[0037] Operational Overview
[0038] Getting natural language requests
[0039] Users access the system using their own devices (PCs or smartphones) and input requests to obtain numerical values in natural language. For example, a request might be, "Please tell me the total sales for last month."
[0040] Generate database queries
[0041] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing (NLP) techniques. For example, if the request is "Please tell me the total sales for last month," the following SQL statement is generated:
[0042] sql
[0043] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0044] Executing queries and retrieving data
[0045] The generated SQL query is then executed by the server against the database, and the required numerical data is retrieved from the database.
[0046] Formatting and printing the results
[0047] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[0048] Specific examples
[0049] Below are some examples of specific input and output.
[0050] User input and request flow
[0051] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0052] 2. The device sends this request to the server.
[0053] Server Processing
[0054] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[0055] sql
[0056] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0057] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[0058] Formatting and displaying results
[0059] 5. The server formats the data it receives into a graph format, such as the following:
[0060] [
[0061] {"month": "January", "total_sales": 10000},
[0062] {"month": "February", "total_sales": 15000},
[0063] ...
[0064] {"month": "December", "total_sales": 20000}
[0065] ]
[0066] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[0067] ---
[0068] This system allows users to easily obtain and compile data without specialized knowledge, improving business efficiency across the entire company.
[0069] The processing flow will be explained below.
[0070] Step 1:
[0071] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[0072] Step 2:
[0073] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[0074] Step 3:
[0075] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[0076] Step 4:
[0077] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[0078] sql
[0079] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[0080] Step 5:
[0081] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[0082] Step 6:
[0083] The server formats the numerical data it retrieves from the database. For example, if the number of newly registered users is 150, it formats it into a format such as "The number of newly registered users last month was 150."
[0084] Step 7:
[0085] The server then sends the formatted results to the user's device in a format such as JSON.
[0086] Step 8:
[0087] The device receives the results sent from the server and displays them on a web page or application UI. The user can visually confirm this, for example, by displaying "150 new users registered last month."
[0088] Example 1
[0089] 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."
[0090] Conventional systems often require advanced technical skills to input requests in natural language and retrieve data, making them difficult for average users to use. Furthermore, it is difficult to organize the retrieved data into a user-friendly format or to display it visually, hindering rapid data analysis and decision-making.
[0091] 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.
[0092] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query and acquiring numerical data, means for formatting the acquired numerical data and outputting it to a user, means for transmitting the generated numerical data to a user terminal, and means for converting the numerical data into a format for visually displaying it on the user terminal. This enables a user, without specialized knowledge, to acquire numerical data in natural language and check the data in a format that is easy to understand visually.
[0093] "Natural language input" refers to unstructured, free-form text input entered verbatim by a user.
[0094] A "structured query" is a structured query language (e.g., SQL) that specifically describes an instruction or question to be executed against a database.
[0095] "Numerical data" is data that is treated as a number and is used for purposes such as calculation and analysis.
[0096] "Format" refers to the display format and formatting method of data, and means arranging the data in a form that is visually easy to understand.
[0097] A "server" is a computer system that receives requests from clients over a network and performs the processing in response to the requests.
[0098] A "terminal" is a device (e.g., a PC or smartphone) that a user operates directly and connects to a server to use various services.
[0099] "Generative AI" refers to an AI technology that analyzes given natural language input and generates appropriate queries and responses.
[0100] "Visual display" means displaying data using visual means such as graphs and charts so that the user can intuitively understand it.
[0101] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. Components of this system include a server, a terminal, a natural language processing engine (NLP engine), etc.
[0102] Getting natural language requests
[0103] A user accesses the system using their own device (e.g., a PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a user might input a request such as, "Please tell me the total sales for last month." The device then sends the request received from the user to the server.
[0104] Generate database queries
[0105] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing techniques (e.g., generative AI models). For example, if the user's request is "What are the total sales for last month?", the server generates the following SQL query:
[0106] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0107] This analysis is performed using, for example, a natural language processing library (e.g., spaCy, NLTK).
[0108] Executing queries and retrieving data
[0109] The generated SQL query is then executed by the server against the database, where the database engine executes the query and retrieves the required numerical data from the database.
[0110] Formatting and printing the results
[0111] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[0112] Specific examples
[0113] Below are some examples of specific input and output.
[0114] User input and request flow
[0115] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0116] 2. The device sends this request to the server.
[0117] Server Processing
[0118] 3. The server receives the request, analyzes it with its NLP engine, and generates the following SQL query:
[0119] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0120] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[0121] Formatting and displaying results
[0122] 5. The server formats the data it receives into a graph format, such as the following:
[0123] [
[0124] {"month": "January", "total_sales": 10000},
[0125] {"month": "February", "total_sales": 15000},
[0126] ...
[0127] {"month": "December", "total_sales": 20000}
[0128] ]
[0129] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[0130] ---
[0131] This system allows users without specialist knowledge to obtain numerical data in natural language and view the data in a visually easy-to-understand format. For example, by simply entering a prompt such as "Please tell me the total sales for last month" or "Please show me a graph of sales for each month last year," the necessary data can be quickly obtained and displayed visually.
[0132] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0133] Step 1:
[0134] The user inputs a request. The user accesses the system using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, they input a request such as "Please tell me the total sales for last month." The input request is displayed in text format in the input field of the device. Specifically, the user inputs the request using a keyboard or touch screen.
[0135] Input: A natural language request (e.g., "What were my sales totals last month?")
[0136] Output: The natural language request displayed in the input field
[0137] Step 2:
[0138] The device sends a request to the server. The device then sends the natural language request received from the user to the server. HTTP or HTTPS is often used as the communication protocol, and the request data is structured in JSON format or similar. Specifically, the device's communication module sends the request data to the server.
[0139] Input: A natural language request typed by the user
[0140] Output: Request data structured in JSON format or similar
[0141] Step 3:
[0142] The server analyzes the request and generates an SQL query. The server analyzes the received request using a natural language processing (NLP) engine and generates an appropriate SQL query. For example, if the request was "What are the total sales for last month?", the following SQL query would be generated:
[0143] sql
[0144] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0145] Specifically, a natural language processing library (e.g., spaCy, NLTK) on the server parses the request and converts the text into an SQL query.
[0146] Input: Structured request data
[0147] Output: Generated SQL query
[0148] Step 4:
[0149] The server executes the generated SQL query against the database. The server sends the generated SQL query to the database and executes the query. The executed query retrieves the corresponding numerical data from the database. Specifically, the server opens a database connection, executes the SQL query, and retrieves the results.
[0150] Input: Generated SQL query
[0151] Output: Numerical data retrieved from the database
[0152] Step 5:
[0153] The server formats the data it retrieves. The retrieved numerical data is formatted into a format that is easy for the user to understand. For example, if the total sales required is 500,000 yen, it will be formatted as "Last month's total sales were 500,000 yen." Specifically, the server converts the numerical data into text format and formats it into the appropriate format.
[0154] Input: Numerical data retrieved from a database
[0155] Output: Formatted numeric data
[0156] Step 6:
[0157] The server formats the data and sends it to the terminal. Once formatted, the data is sent from the server to the terminal. The data is structured in formats such as JSON or XML and passed to the terminal via a communication protocol. Specifically, the server structures the numerical data and sends it to the terminal via a communication module.
[0158] Input: Formatted numeric data
[0159] Output: Structured data
[0160] Step 7:
[0161] The terminal displays the data to the user. The terminal displays the data received from the server to the user. The display format is a bar graph, line graph, or other format that makes it easy for the user to visually check the data. For example, when sales data for each month of last year is displayed, the terminal renders the data as a bar graph so that the user can immediately understand the results. Specifically, the display module on the terminal renders the data and displays it on the user screen.
[0162] Input: Structured data sent from the server
[0163] Output: Visually displayed data
[0164] (Application example 1)
[0165] 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."
[0166] In recent years, with the spread of autonomous vehicles, there has been a growing need to intuitively grasp vehicle operation status and energy consumption status in real time. However, existing systems require specialized knowledge and are difficult for general users to use. In addition, technology to provide appropriate data in response to inquiries in natural language has not yet been fully developed, so a user-friendly interface is required.
[0167] 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.
[0168] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, and means for formatting and visually displaying the obtained numerical data. This allows a user to inquire about vehicle operation status and energy consumption status in natural language without specialized knowledge, allowing the user to grasp the information more intuitively.
[0169] "Natural language input" refers to input that a user gives to a system using everyday language.
[0170] A "structured query" refers to a set of commands that are used to manipulate data in a database based on specific conditions or instructions.
[0171] "Numerical data" refers to information based on numbers retrieved from a database.
[0172] "Formatting" refers to arranging acquired numerical data in a form that is easy for users to understand.
[0173] "Vehicle operation information" refers to information about autonomous vehicles, such as their operating status, operation history, and energy consumption status.
[0174] An "application" refers to software that is installed on a device such as a smartphone and provides specific functions.
[0175] A "generative AI model" refers to a model that uses artificial intelligence techniques to generate appropriate outputs for a specific task.
[0176] "Natural language analysis" refers to the technology of understanding the natural language entered by the user and converting it into appropriate data or processing.
[0177] "Graph display" refers to the visual presentation of numerical data in the form of bar graphs, line graphs, etc.
[0178] The following configuration and operation procedure are shown as an embodiment of the present invention.
[0179] System Program Overview
[0180] This system provides an application that allows users to query vehicle operation information in natural language from their smartphones. The system accepts natural language input, analyzes the input, and generates an appropriate structured query (SQL query). The server executes the generated query to obtain numerical data, formats the data, and displays it visually to the user.
[0181] Hardware and software used
[0182] Hardware: Smartphone, microphone
[0183] software:
[0184] Natural language recognition library: SpeechRecognition
[0185] Natural language processing models: Models from the Transformers library (e.g., text2sql)
[0186] Data storage: SQLite database
[0187] Processing Description
[0188] 1. Getting a natural language request:
[0189] The user speaks into a microphone through a smartphone application, entering a prompt such as, "How much energy did you consume yesterday?"
[0190] The device converts speech to text using the SpeechRecognition library.
[0191] 2. Natural Language Analysis and SQL Query Generation:
[0192] The textual user request is parsed using a generative AI model from the Transformers library, at which point an NLP engine generates the appropriate SQL query.
[0193] 3. Execute database queries and retrieve data:
[0194] The server executes the generated SQL query to retrieve the required numeric data from the SQLite database.
[0195] 4. Formatting the data and outputting it to the user:
[0196] The acquired numerical data is formatted in a way that is easy for users to understand. For example, monthly energy consumption and driving distance data are converted into a graph format.
[0197] The formatted data is sent back to the terminal and displayed visually on the smartphone screen.
[0198] Specific examples of operations
[0199] For example, if a user asks by voice, "Tell me the total distance traveled this week," the request will go through the following process and the results will be displayed.
[0200] Examples of prompts: "How much energy did you use yesterday?", "What is the total distance you have driven this week?"
[0201] The system analyzes natural language input, generates corresponding SQL queries, retrieves the necessary information from the database, formats it, and displays it visually, allowing users to intuitively and easily obtain vehicle operation information without specialized knowledge.
[0202] This invention significantly improves the efficiency of managing vehicle operation information, and makes it possible to easily check information through a user-friendly interface.
[0203] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0204] Step 1:
[0205] A user speaks a question in natural language to a smartphone application. For example, they input a prompt sentence such as "How much energy did you consume yesterday?" The input data is voice data.
[0206] Step 2:
[0207] The device uses the SpeechRecognition library to convert voice data into text data. At this time, natural language analysis is performed based on the voice data, and text data is generated. For example, if the voice input is "How much energy did you consume yesterday?", the corresponding text data will be "How much energy did you consume yesterday?"
[0208] Step 3:
[0209] The server analyzes the text data using a generative AI model and generates an appropriate SQL query. The input data is the converted text data, and it is output as an SQL query. For example, the SQL query corresponding to the analysis result "What was the energy consumption yesterday?" is "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';".
[0210] Step 4:
[0211] The server executes the generated SQL query against the database to obtain the required numerical data. The input data in this step is the SQL query, and the output data is the obtained numerical data. For example, "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';" is executed, and the output is "35.6 kWh."
[0212] Step 5:
[0213] The server formats the acquired numerical data and converts it into a format that can be displayed visually. The input data is the acquired numerical data, and the output data is the formatted data for visual display. For example, 35.6 kWh is formatted in graph and text format for visual display.
[0214] Step 6:
[0215] The server sends the formatted data to the terminal and displays it to the user. The input data is formatted data for visual display, and the output data is information displayed on the smartphone screen. The user can check yesterday's energy consumption on the smartphone screen.
[0216] 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.
[0217] The system of the present invention processes requests entered by users in natural language, recognizes the user's emotions, and provides corresponding data. This system combines natural language processing (NLP) with an emotion engine to achieve more human-like interactions.
[0218] Operational Overview
[0219] Getting natural language requests
[0220] A user accesses the system's user interface (UI) using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a request might be, "Please tell me the total sales for last month."
[0221] Emotion recognition
[0222] The server recognizes the user's emotional state through the device's built-in microphone and camera using an emotion engine, which infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed.
[0223] Generate database queries
[0224] The server analyzes the request received from the user and generates an appropriate SQL query using the NLP engine. For example, if the request is "Please tell me the total sales for last month," the following SQL statement will be generated:
[0225] sql
[0226] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0227] Regulating emotional responses
[0228] Before executing the generated database query, the server checks the user's emotional state and adjusts the format and content of the response accordingly. For example, if the user is feeling stressed, the response may be brief and use relaxed language.
[0229] Executing queries and retrieving data
[0230] After the emotional adjustment is made, the server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[0231] Formatting and printing the results
[0232] The acquired numerical data is formatted by the server into a user-friendly format and output in an appropriate style based on the analysis results of the emotion engine. For example, if the total sales amount is 500,000 yen, and the user's emotion is positive, the output will be "Last month's total sales amounted to an amazing 500,000 yen!"
[0233] Sending and displaying results
[0234] Finally, the formatted results are sent from the server to the device, which receives them and displays them on a web page or application UI.
[0235] Specific examples
[0236] Below are some examples of specific input and output.
[0237] User input and request flow
[0238] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0239] 2. The device sends this request to the server, and emotion recognition data is also sent to the server at the same time.
[0240] Server Processing
[0241] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[0242] sql
[0243] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0244] 4. The server uses an emotion engine to analyze the user's emotional state and adjust the response format.
[0245] Formatting and displaying results
[0246] 5. The server executes the generated SQL query to retrieve monthly sales data.
[0247] 6. The server formats the data for display in a graph and outputs it with a message based on the emotion. For example, if the emotion is negative, the message might be "Please check last year's sales data."
[0248] 7. The server sends the data to the device and displays it as a graph. The device receives it and displays it as a bar graph or line graph for visual confirmation.
[0249] In this way, the present invention, which combines an emotion engine, not only enables users to easily obtain and tally numerical values without specialized knowledge, but also provides responses that correspond to their emotional state, resulting in a better user experience.
[0250] The processing flow will be explained below.
[0251] Step 1:
[0252] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[0253] Step 2:
[0254] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[0255] Step 3:
[0256] The device collects emotion data from the user's facial expressions and tone of voice, and inputs it into the emotion engine. For example, the device captures the user's facial expressions with a camera and records the tone of voice with a microphone.
[0257] Step 4:
[0258] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[0259] Step 5:
[0260] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[0261] sql
[0262] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[0263] Step 6:
[0264] The server adjusts the generated query based on the results of the emotion engine. For example, if the user is feeling stressed, the server adjusts the query response to be more concise and relaxing.
[0265] Step 7:
[0266] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[0267] Step 8:
[0268] The server formats the numerical data retrieved from the database. For example, if the number of newly registered users is 150, it formats it as "The number of newly registered users last month was 150." The server also adjusts the format and tone of the response appropriately based on the results of the emotion engine.
[0269] Step 9:
[0270] The server then sends the formatted results to the user's device, typically in JSON format.
[0271] Step 10:
[0272] The device receives the results sent from the server and displays them on a web page or application UI. For example, it displays "150 new users registered last month." The display is adjusted according to the user's emotions.
[0273] Example 2
[0274] 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."
[0275] While conventional systems can analyze natural language input and generate structured queries, they are unable to provide responses that take the user's emotional state into account, making it difficult to improve the user experience.In addition, they lack a means to clearly display complex data queries and analysis results, making it difficult for ordinary users to easily understand the data.
[0276] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0277] In this invention, the server includes means for analyzing natural language input and generating a corresponding structured query, means for recognizing the user's emotional state, and means for adjusting the content of the response according to the emotional state, thereby enabling efficient data acquisition and easy-to-understand responses that take the user's emotions into account.
[0278] "Natural language input" is an input format in which humans use ordinary words and sentences.
[0279] A "structured query" is a formalized query statement used to retrieve specific information from a database.
[0280] "Emotional state" refers to the user's current psychological and emotional state.
[0281] "Generative AI" is an AI technology that uses large amounts of data to learn and understand natural language.
[0282] "Format" refers to arranging data or information in a particular form or arrangement.
[0283] "Means for outputting to the user" refers to a display device or interface for providing acquired data and information to the user.
[0284] A "graphical form" is a graphical form used to visually represent numerical data.
[0285] The "means for adjusting the content of the response" refers to a means for changing the content and format of the response generated by the system depending on the emotional state of the user.
[0286] A "system" refers to the entire mechanism in which multiple components work together.
[0287] A "microphone" is an input device for collecting sound.
[0288] A "camera" is an input device for capturing images or videos.
[0289] The system of the present invention processes requests entered by users in natural language, provides data according to the requests, and at the same time recognizes the user's emotions and responds appropriately. This system combines a natural language processing (NLP) engine and an emotion recognition engine to achieve more human-like and intuitive interactions.
[0290] Capturing natural language input
[0291] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input requests in natural language. A web browser or dedicated application is installed on the device, and the user uses this to send requests. A specific example of input might be a request such as, "Please tell me last month's sales total."
[0292] Emotion recognition
[0293] The server uses an emotion recognition engine to recognize the user's emotional state through the device's built-in microphone and camera. This emotion recognition engine infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed. Specific hardware used includes the device's camera and microphone. Specific software used includes voice analysis tools and facial expression recognition algorithms (e.g., voice recognition software for voice analysis and image processing algorithms for facial expression recognition).
[0294] Generate database queries
[0295] The server analyzes the request received from the user and generates the appropriate SQL query using a natural language processing engine. NLP engines used here include Google Cloud Natural Language API and OpenAI's GPT model. For example, if a user requests "What was the total sales last month?", the server generates the following SQL query:
[0296] sql
[0297] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0298] Regulating emotional responses
[0299] Before executing the generated structured query, the server uses an emotion recognition engine to ascertain the user's emotional state and adjust the content and format of the response accordingly. For example, if the user is feeling stressed, the response can be concise and relaxed.
[0300] Executing queries and retrieving data
[0301] After the emotional response adjustment is complete, the server executes the generated SQL queries against a database, which can use common database management systems such as MySQL or PostgreSQL to retrieve the required data.
[0302] Formatting and printing the results
[0303] The server formats the acquired data in a format that is easy for the user to understand. For example, it displays numerical data in text or graph format. Furthermore, it outputs the data in an appropriate style based on the analysis results of an emotion recognition engine. If the total sales amount is 500,000 yen and the user's emotion is positive, it will display something like, "Last month's total sales amounted to an impressive 500,000 yen!"
[0304] Sending and displaying results
[0305] Finally, the server sends the formatted results to the device, which displays the received data on a user interface, allowing the user to view the results on a web page or application.
[0306] Specific examples
[0307] Below are some examples of specific input and output.
[0308] User input and request flow
[0309] The user types into the device, "I want to see a graph of sales for each month last year." The device sends this request to the server, and at the same time, sends emotion recognition data to the server.
[0310] Server Processing
[0311] The server analyzes the received request using its NLP engine and generates the following SQL query:
[0312] sql
[0313] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0314] The server further uses an emotion engine to analyze the user's emotional state and tailor the response format.
[0315] Formatting and displaying results
[0316] The server executes the generated SQL query to retrieve monthly sales data. The data is then formatted for display in a graph and accompanied by a message based on the user's emotional state. For example, if the emotion is negative, a message like "Please check last year's sales data" is displayed. The server then sends the data to the device, which displays it in a graph format.
[0317] Example prompts for generative AI models
[0318] Here are some examples of prompts for generative AI models:
[0319] Example 1
[0320] When a user types "What are the total sales for last month?", generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[0321] Example 2
[0322] When a user types "I want a graph of sales for each month last year," generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[0323] As described above, this system provides an intuitive natural language interface while taking into account the user's emotions, and enables efficient data acquisition and visualization.
[0324] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0325] Step 1:
[0326] The user enters a request in natural language
[0327] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input a complex data query request in natural language. This action generates natural language text as input, such as "What were the total sales for last month?". The device then sends this input to the server.
[0328] Step 2:
[0329] The device recognizes the user's emotions
[0330] The device uses a built-in microphone and camera to capture the user's emotional state. Input includes voice tone, facial expression data, and keystroke speed. The device analyzes this data, generates data to infer the user's emotional state, and sends it to the server. Specific operations include the use of voice analysis algorithms and facial expression recognition algorithms.
[0331] Step 3:
[0332] The server parses the request and generates an SQL query
[0333] The server uses an NLP engine to analyze the user's natural language request. Based on this analysis, it generates a corresponding structured query. As input, it uses the text "What were the total sales last month?" and emotional state information. As output, it generates an SQL query like this:
[0334] sql
[0335] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0336] Specifically, it performs text analysis using the Google Cloud Natural Language API and OpenAI's GPT model.
[0337] Step 4:
[0338] The server adjusts its response based on the emotion.
[0339] The server uses an emotion recognition engine to check the user's emotional state and adjust the response content. Emotional state information is used as input, and response format adjustment is output. For example, if the user is feeling stressed, the server uses simple and relaxed wording. Specific operations include adjusting the response sentence based on the user's emotional state.
[0340] Step 5:
[0341] The server executes the SQL query and retrieves the data.
[0342] The server executes the generated SQL queries against a database, using the generated SQL queries as input and obtaining the query results from the database as output, specifically using a database management system such as MySQL or PostgreSQL to process the data.
[0343] Step 6:
[0344] The server formats the results and outputs them in a user-friendly format.
[0345] The server formats the data it receives and processes it into an understandable format. It takes as input the query results from the database and emotional state information. It generates formatted data as output, for example displaying numerical data in text or graph format. Specific operations include data formatting and graph generation algorithms. For a total sales of $500,000, it generates a response like "Last month's total sales were an impressive $500,000!"
[0346] Step 7:
[0347] The server sends the final result to the terminal, which displays the result.
[0348] The server sends the formatted result data to the terminal. The formatted data is used as input and the terminal receives and displays it as output. The terminal displays the result on the user interface, making it visually clear to the user. Specific operations include sending data and drawing the UI.
[0349] (Application example 2)
[0350] 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."
[0351] Conventional natural language processing systems often return a uniform response without considering the user's emotional state. As a result, users are unable to receive the optimal response based on their own emotions and circumstances, resulting in a poor customer experience. Furthermore, emotion-based responses are required in a variety of applications, such as virtual stores, but there have been few systems that can achieve this.
[0352] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0353] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, means for formatting the obtained numerical data and outputting it to the user, means for using an emotion engine to recognize the emotional state of the user, and means for adjusting the content of a response based on the emotional state of the user recognized by the emotion engine, thereby providing an optimal response according to the user's emotions and improving the customer experience in virtual stores and other applications.
[0354] The "natural language input means" is a means having a function of accepting natural language such as user speech or text input.
[0355] The "structured query generation means" is a means having a function of analyzing a received natural language input and generating a corresponding database query (for example, an SQL query).
[0356] The "query execution means" is a means having a function of executing the generated structured query against the database and obtaining the required data.
[0357] The "data formatting means" is a means having a function of converting acquired data into a format that is easy for the user to understand.
[0358] The "emotion recognition means" is a means having the function of inferring the user's emotional state using data such as voice tone, facial expression, and typing speed.
[0359] A "response adjustment means" is a means that has the function of adjusting the content and tone of a response based on the recognized emotional state of the user.
[0360] The present invention relates to a system for processing requests input by a user in natural language, recognizing the user's emotions, and providing corresponding data. Specific methods for implementing the present invention will be described below.
[0361] First, a user accesses the system's user interface using a device such as a smartphone or PC and inputs a request in natural language. For example, a request might be, "I want the latest smartphone" or "Is this product in stock?" This natural language input is sent to the server via the device's input means.
[0362] The server analyzes the received natural language request using a natural language processing engine (NLP engine) and generates a corresponding SQL query. It uses a generative AI model to understand the intent of the request and automatically generates an appropriate structured query. For example, for a request like "I want the latest smartphone," a query is generated to retrieve the latest smartphones from a product database.
[0363] The generated structured query is executed by the server to retrieve the required numerical data and product information from the database. Since the retrieved data may be difficult for users to understand as it is, the server uses a data formatting method to convert it into a format that is visually easy for users to understand.
[0364] Another feature of this system is that the server is equipped with an emotion engine that recognizes the user's emotional state. The emotion engine infers the user's emotional state using voice tone and facial expression analysis data collected through the device's microphone and camera. For example, if the user is feeling stressed when asking a question, the emotion engine will recognize that state.
[0365] Based on the user's perceived emotional state, the server adjusts the content and tone of the response. For example, if the user is feeling stressed, the server will simplify the response and use relaxed language. This allows the user to use the system without feeling uncomfortable.
[0366] Finally, the formatted response is sent back to the device and displayed on the user interface, allowing the user to quickly and accurately obtain the information they need through visual graph displays and emotion-based messages.
[0367] Specific examples
[0368] Example 1:
[0369] If the user types "Is this item in stock?" and has a smiley face.
[0370] Output response: "😊 We have plenty of this item in stock!"
[0371] Example 2:
[0372] The user types "I want to return the item" and their facial expression looks dissatisfied.
[0373] Response: "😔 Returns are easy! Contact support for more information."
[0374] Example prompts for generative AI models
[0375] Type: "I want the latest smartphone."
[0376] Emotion: Smile
[0377] Response: "😊 The latest smartphones are: New Model A, Model B, and Model C."
[0378] The present invention provides optimal responses according to the user's emotions, improving the customer experience in virtual stores and other applications. This allows users to easily obtain data and search for products without specialized knowledge, and also provides responses according to their emotional state, resulting in a better user experience.
[0379] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0380] Step 1:
[0381] The user inputs a request in natural language from the terminal.
[0382] Input: A natural language request (e.g., "I want the latest smartphone").
[0383] Specific Actions: Through the user interface, the user enters a question in the text box and clicks the submit button.
[0384] Step 2:
[0385] The terminal sends the user's request to the server.
[0386] Input: The natural language request entered in step 1.
[0387] Output: The raw request data sent to the server.
[0388] Specific operation: The terminal sends the request to the server as an HTTP request.
[0389] Step 3:
[0390] The server parses the natural language request using an NLP engine and generates a corresponding structured query.
[0391] Input: The raw request data sent to the server.
[0392] Output: A structured SQL query (e.g., "SELECT FROM products WHERE category = 'smartphone' ORDER BY release_date DESC").
[0393] What it does: The server's NLP engine analyzes the text, and a generative AI model understands the intent of the request and generates the corresponding query.
[0394] Step 4:
[0395] The server uses the voice tone and facial expression analysis data sent from the terminal to recognize the user's emotional state using an emotion engine.
[0396] Input: User's voice tone, facial expression analysis data.
[0397] Output: Data with each emotional state identified (e.g., "smiling").
[0398] Specific operation: The emotion engine analyzes the audio and video data sent from the device and infers the user's emotional state.
[0399] Step 5:
[0400] The server executes the structured query and retrieves the corresponding data from the database.
[0401] Input: A structured SQL query.
[0402] Output: Product and numerical data retrieved from the database.
[0403] What happens next: The server executes a structured query against the database to retrieve the required information.
[0404] Step 6:
[0405] The server formats the data it receives and converts it into a user-friendly format.
[0406] Input: Product or numerical data retrieved from a database.
[0407] Output: Formatted output data (e.g., "The latest smartphones are: Model A, Model B...").
[0408] What it does: The server formats the data it receives based on a template and converts it into a visually understandable format.
[0409] Step 7:
[0410] The server generates response content adjusted by the emotion engine.
[0411] Input: Formatted output data and emotional state identification data.
[0412] Output: Optimal response message based on emotion (e.g., "😊 The latest smartphones are: Model A, Model B...").
[0413] Specific behavior: The server adjusts the tone and content of the response based on the analysis results of the emotion engine.
[0414] Step 8:
[0415] The server sends the final response to the terminal, which displays it on its user interface.
[0416] Input: The best response message generated by the server.
[0417] Output: The response message that is displayed on the user's screen.
[0418] Specific operation: The server sends a final response message to the terminal, which displays it on the user interface.
[0419] This allows the user to quickly and accurately obtain appropriate information according to their emotional state.
[0420] 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.
[0421] 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.
[0422] 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.
[0423] [Second embodiment]
[0424] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0425] 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.
[0426] 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).
[0427] 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.
[0428] 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.
[0429] 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).
[0430] 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.
[0431] 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.
[0432] 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.
[0433] 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.
[0434] 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.
[0435] 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."
[0436] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. The operation of the system and a specific example are shown below.
[0437] Operational Overview
[0438] Getting natural language requests
[0439] Users access the system using their own devices (PCs or smartphones) and input requests to obtain numerical values in natural language. For example, a request might be, "Please tell me the total sales for last month."
[0440] Generate database queries
[0441] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing (NLP) techniques. For example, if the request is "Please tell me the total sales for last month," the following SQL statement is generated:
[0442] sql
[0443] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0444] Executing queries and retrieving data
[0445] The generated SQL query is then executed by the server against the database, and the required numerical data is retrieved from the database.
[0446] Formatting and printing the results
[0447] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[0448] Specific examples
[0449] Below are some examples of specific input and output.
[0450] User input and request flow
[0451] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0452] 2. The device sends this request to the server.
[0453] Server Processing
[0454] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[0455] sql
[0456] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0457] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[0458] Formatting and displaying results
[0459] 5. The server formats the data it receives into a graph format, such as the following:
[0460] [
[0461] {"month": "January", "total_sales": 10000},
[0462] {"month": "February", "total_sales": 15000},
[0463] ...
[0464] {"month": "December", "total_sales": 20000}
[0465] ]
[0466] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[0467] ---
[0468] This system allows users to easily obtain and compile data without specialized knowledge, improving business efficiency across the entire company.
[0469] The processing flow will be explained below.
[0470] Step 1:
[0471] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[0472] Step 2:
[0473] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[0474] Step 3:
[0475] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[0476] Step 4:
[0477] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[0478] sql
[0479] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[0480] Step 5:
[0481] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[0482] Step 6:
[0483] The server formats the numerical data it retrieves from the database. For example, if the number of newly registered users is 150, it formats it into a format such as "The number of newly registered users last month was 150."
[0484] Step 7:
[0485] The server then sends the formatted results to the user's device in a format such as JSON.
[0486] Step 8:
[0487] The device receives the results sent from the server and displays them on a web page or application UI. The user can visually confirm this, for example, by displaying "150 new users registered last month."
[0488] Example 1
[0489] 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."
[0490] Conventional systems often require advanced technical skills to input requests in natural language and retrieve data, making them difficult for average users to use. Furthermore, it is difficult to organize the retrieved data into a user-friendly format or to display it visually, hindering rapid data analysis and decision-making.
[0491] 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.
[0492] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query and acquiring numerical data, means for formatting the acquired numerical data and outputting it to a user, means for transmitting the generated numerical data to a user terminal, and means for converting the numerical data into a format for visually displaying it on the user terminal. This enables a user, without specialized knowledge, to acquire numerical data in natural language and check the data in a format that is easy to understand visually.
[0493] "Natural language input" refers to unstructured, free-form text input entered verbatim by a user.
[0494] A "structured query" is a structured query language (e.g., SQL) that specifically describes an instruction or question to be executed against a database.
[0495] "Numerical data" is data that is treated as a number and is used for purposes such as calculation and analysis.
[0496] "Format" refers to the display format and formatting method of data, and means arranging the data in a form that is visually easy to understand.
[0497] A "server" is a computer system that receives requests from clients over a network and performs the processing in response to the requests.
[0498] A "terminal" is a device (e.g., a PC or smartphone) that a user operates directly and connects to a server to use various services.
[0499] "Generative AI" refers to an AI technology that analyzes given natural language input and generates appropriate queries and responses.
[0500] "Visual display" means displaying data using visual means such as graphs and charts so that the user can intuitively understand it.
[0501] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. Components of this system include a server, a terminal, a natural language processing engine (NLP engine), etc.
[0502] Getting natural language requests
[0503] A user accesses the system using their own device (e.g., a PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a user might input a request such as, "Please tell me the total sales for last month." The device then sends the request received from the user to the server.
[0504] Generate database queries
[0505] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing techniques (e.g., generative AI models). For example, if the user's request is "What are the total sales for last month?", the server generates the following SQL query:
[0506] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0507] This analysis is performed using, for example, a natural language processing library (e.g., spaCy, NLTK).
[0508] Executing queries and retrieving data
[0509] The generated SQL query is then executed by the server against the database, where the database engine executes the query and retrieves the required numerical data from the database.
[0510] Formatting and printing the results
[0511] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[0512] Specific examples
[0513] Below are some examples of specific input and output.
[0514] User input and request flow
[0515] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0516] 2. The device sends this request to the server.
[0517] Server Processing
[0518] 3. The server receives the request, analyzes it with its NLP engine, and generates the following SQL query:
[0519] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0520] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[0521] Formatting and displaying results
[0522] 5. The server formats the data it receives into a graph format, such as the following:
[0523] [
[0524] {"month": "January", "total_sales": 10000},
[0525] {"month": "February", "total_sales": 15000},
[0526] ...
[0527] {"month": "December", "total_sales": 20000}
[0528] ]
[0529] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[0530] ---
[0531] This system allows users without specialist knowledge to obtain numerical data in natural language and view the data in a visually easy-to-understand format. For example, by simply entering a prompt such as "Please tell me the total sales for last month" or "Please show me a graph of sales for each month last year," the necessary data can be quickly obtained and displayed visually.
[0532] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0533] Step 1:
[0534] The user inputs a request. The user accesses the system using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, they input a request such as "Please tell me the total sales for last month." The input request is displayed in text format in the input field of the device. Specifically, the user inputs the request using a keyboard or touch screen.
[0535] Input: A natural language request (e.g., "What were my sales totals last month?")
[0536] Output: The natural language request displayed in the input field
[0537] Step 2:
[0538] The device sends a request to the server. The device then sends the natural language request received from the user to the server. HTTP or HTTPS is often used as the communication protocol, and the request data is structured in JSON format or similar. Specifically, the device's communication module sends the request data to the server.
[0539] Input: A natural language request typed by the user
[0540] Output: Request data structured in JSON format or similar
[0541] Step 3:
[0542] The server analyzes the request and generates an SQL query. The server analyzes the received request using a natural language processing (NLP) engine and generates an appropriate SQL query. For example, if the request was "What are the total sales for last month?", the following SQL query would be generated:
[0543] sql
[0544] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0545] Specifically, a natural language processing library (e.g., spaCy, NLTK) on the server parses the request and converts the text into an SQL query.
[0546] Input: Structured request data
[0547] Output: Generated SQL query
[0548] Step 4:
[0549] The server executes the generated SQL query against the database. The server sends the generated SQL query to the database and executes the query. The executed query retrieves the corresponding numerical data from the database. Specifically, the server opens a database connection, executes the SQL query, and retrieves the results.
[0550] Input: Generated SQL query
[0551] Output: Numerical data retrieved from the database
[0552] Step 5:
[0553] The server formats the data it retrieves. The retrieved numerical data is formatted into a format that is easy for the user to understand. For example, if the total sales required is 500,000 yen, it will be formatted as "Last month's total sales were 500,000 yen." Specifically, the server converts the numerical data into text format and formats it into the appropriate format.
[0554] Input: Numerical data retrieved from a database
[0555] Output: Formatted numeric data
[0556] Step 6:
[0557] The server formats the data and sends it to the terminal. Once formatted, the data is sent from the server to the terminal. The data is structured in formats such as JSON or XML and passed to the terminal via a communication protocol. Specifically, the server structures the numerical data and sends it to the terminal via a communication module.
[0558] Input: Formatted numeric data
[0559] Output: Structured data
[0560] Step 7:
[0561] The terminal displays the data to the user. The terminal displays the data received from the server to the user. The display format is a bar graph, line graph, or other format that makes it easy for the user to visually check the data. For example, when sales data for each month of last year is displayed, the terminal renders the data as a bar graph so that the user can immediately understand the results. Specifically, the display module on the terminal renders the data and displays it on the user screen.
[0562] Input: Structured data sent from the server
[0563] Output: Visually displayed data
[0564] (Application example 1)
[0565] 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."
[0566] In recent years, with the spread of autonomous vehicles, there has been a growing need to intuitively grasp vehicle operation status and energy consumption status in real time. However, existing systems require specialized knowledge and are difficult for general users to use. In addition, technology to provide appropriate data in response to inquiries in natural language has not yet been fully developed, so a user-friendly interface is required.
[0567] 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.
[0568] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, and means for formatting and visually displaying the obtained numerical data. This allows a user to inquire about vehicle operation status and energy consumption status in natural language without specialized knowledge, allowing the user to grasp the information more intuitively.
[0569] "Natural language input" refers to input that a user gives to a system using everyday language.
[0570] A "structured query" refers to a set of commands that are used to manipulate data in a database based on specific conditions or instructions.
[0571] "Numerical data" refers to information based on numbers retrieved from a database.
[0572] "Formatting" refers to arranging acquired numerical data in a form that is easy for users to understand.
[0573] "Vehicle operation information" refers to information about autonomous vehicles, such as their operating status, operation history, and energy consumption status.
[0574] An "application" refers to software that is installed on a device such as a smartphone and provides specific functions.
[0575] A "generative AI model" refers to a model that uses artificial intelligence techniques to generate appropriate outputs for a specific task.
[0576] "Natural language analysis" refers to the technology of understanding the natural language entered by the user and converting it into appropriate data or processing.
[0577] "Graph display" refers to the visual presentation of numerical data in the form of bar graphs, line graphs, etc.
[0578] The following configuration and operation procedure are shown as an embodiment of the present invention.
[0579] System Program Overview
[0580] This system provides an application that allows users to query vehicle operation information in natural language from their smartphones. The system accepts natural language input, analyzes the input, and generates an appropriate structured query (SQL query). The server executes the generated query to obtain numerical data, formats the data, and displays it visually to the user.
[0581] Hardware and software used
[0582] Hardware: Smartphone, microphone
[0583] software:
[0584] Natural language recognition library: SpeechRecognition
[0585] Natural language processing models: Models from the Transformers library (e.g., text2sql)
[0586] Data storage: SQLite database
[0587] Processing Description
[0588] 1. Getting a natural language request:
[0589] The user speaks into a microphone through a smartphone application, entering a prompt such as, "How much energy did you consume yesterday?"
[0590] The device converts speech to text using the SpeechRecognition library.
[0591] 2. Natural Language Analysis and SQL Query Generation:
[0592] The textual user request is parsed using a generative AI model from the Transformers library, at which point an NLP engine generates the appropriate SQL query.
[0593] 3. Execute database queries and retrieve data:
[0594] The server executes the generated SQL query to retrieve the required numeric data from the SQLite database.
[0595] 4. Formatting the data and outputting it to the user:
[0596] The acquired numerical data is formatted in a way that is easy for users to understand. For example, monthly energy consumption and driving distance data are converted into a graph format.
[0597] The formatted data is sent back to the terminal and displayed visually on the smartphone screen.
[0598] Specific examples of operations
[0599] For example, if a user asks by voice, "Tell me the total distance traveled this week," the request will go through the following process and the results will be displayed.
[0600] Examples of prompts: "How much energy did you use yesterday?", "What is the total distance you have driven this week?"
[0601] The system analyzes natural language input, generates corresponding SQL queries, retrieves the necessary information from the database, formats it, and displays it visually, allowing users to intuitively and easily obtain vehicle operation information without specialized knowledge.
[0602] This invention significantly improves the efficiency of managing vehicle operation information, and makes it possible to easily check information through a user-friendly interface.
[0603] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0604] Step 1:
[0605] A user speaks a question in natural language to a smartphone application. For example, they input a prompt sentence such as "How much energy did you consume yesterday?" The input data is voice data.
[0606] Step 2:
[0607] The device uses the SpeechRecognition library to convert voice data into text data. At this time, natural language analysis is performed based on the voice data, and text data is generated. For example, if the voice input is "How much energy did you consume yesterday?", the corresponding text data will be "How much energy did you consume yesterday?"
[0608] Step 3:
[0609] The server analyzes the text data using a generative AI model and generates an appropriate SQL query. The input data is the converted text data, and it is output as an SQL query. For example, the SQL query corresponding to the analysis result "What was the energy consumption yesterday?" is "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';".
[0610] Step 4:
[0611] The server executes the generated SQL query against the database to obtain the required numerical data. The input data in this step is the SQL query, and the output data is the obtained numerical data. For example, "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';" is executed, and the output is "35.6 kWh."
[0612] Step 5:
[0613] The server formats the acquired numerical data and converts it into a format that can be displayed visually. The input data is the acquired numerical data, and the output data is the formatted data for visual display. For example, 35.6 kWh is formatted in graph and text format for visual display.
[0614] Step 6:
[0615] The server sends the formatted data to the terminal and displays it to the user. The input data is formatted data for visual display, and the output data is information displayed on the smartphone screen. The user can check yesterday's energy consumption on the smartphone screen.
[0616] 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.
[0617] The system of the present invention processes requests entered by users in natural language, recognizes the user's emotions, and provides corresponding data. This system combines natural language processing (NLP) with an emotion engine to achieve more human-like interactions.
[0618] Operational Overview
[0619] Getting natural language requests
[0620] A user accesses the system's user interface (UI) using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a request might be, "Please tell me the total sales for last month."
[0621] Emotion recognition
[0622] The server recognizes the user's emotional state through the device's built-in microphone and camera using an emotion engine, which infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed.
[0623] Generate database queries
[0624] The server analyzes the request received from the user and generates an appropriate SQL query using the NLP engine. For example, if the request is "Please tell me the total sales for last month," the following SQL statement will be generated:
[0625] sql
[0626] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0627] Regulating emotional responses
[0628] Before executing the generated database query, the server checks the user's emotional state and adjusts the format and content of the response accordingly. For example, if the user is feeling stressed, the response may be brief and use relaxed language.
[0629] Executing queries and retrieving data
[0630] After the emotional adjustment is made, the server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[0631] Formatting and printing the results
[0632] The acquired numerical data is formatted by the server into a user-friendly format and output in an appropriate style based on the analysis results of the emotion engine. For example, if the total sales amount is 500,000 yen, and the user's emotion is positive, the output will be "Last month's total sales amounted to an amazing 500,000 yen!"
[0633] Sending and displaying results
[0634] Finally, the formatted results are sent from the server to the device, which receives them and displays them on a web page or application UI.
[0635] Specific examples
[0636] Below are some examples of specific input and output.
[0637] User input and request flow
[0638] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0639] 2. The device sends this request to the server, and emotion recognition data is also sent to the server at the same time.
[0640] Server Processing
[0641] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[0642] sql
[0643] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0644] 4. The server uses an emotion engine to analyze the user's emotional state and adjust the response format.
[0645] Formatting and displaying results
[0646] 5. The server executes the generated SQL query to retrieve monthly sales data.
[0647] 6. The server formats the data for display in a graph and outputs it with a message based on the emotion. For example, if the emotion is negative, the message might be "Please check last year's sales data."
[0648] 7. The server sends the data to the device and displays it as a graph. The device receives it and displays it as a bar graph or line graph for visual confirmation.
[0649] In this way, the present invention, which combines an emotion engine, not only enables users to easily obtain and tally numerical values without specialized knowledge, but also provides responses that correspond to their emotional state, resulting in a better user experience.
[0650] The processing flow will be explained below.
[0651] Step 1:
[0652] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[0653] Step 2:
[0654] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[0655] Step 3:
[0656] The device collects emotion data from the user's facial expressions and tone of voice, and inputs it into the emotion engine. For example, the device captures the user's facial expressions with a camera and records the tone of voice with a microphone.
[0657] Step 4:
[0658] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[0659] Step 5:
[0660] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[0661] sql
[0662] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[0663] Step 6:
[0664] The server adjusts the generated query based on the results of the emotion engine. For example, if the user is feeling stressed, the server adjusts the query response to be more concise and relaxing.
[0665] Step 7:
[0666] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[0667] Step 8:
[0668] The server formats the numerical data retrieved from the database. For example, if the number of newly registered users is 150, it formats it as "The number of newly registered users last month was 150." The server also adjusts the format and tone of the response appropriately based on the results of the emotion engine.
[0669] Step 9:
[0670] The server then sends the formatted results to the user's device, typically in JSON format.
[0671] Step 10:
[0672] The device receives the results sent from the server and displays them on a web page or application UI. For example, it displays "150 new users registered last month." The display is adjusted according to the user's emotions.
[0673] Example 2
[0674] 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."
[0675] While conventional systems can analyze natural language input and generate structured queries, they are unable to provide responses that take the user's emotional state into account, making it difficult to improve the user experience.In addition, they lack a means to clearly display complex data queries and analysis results, making it difficult for ordinary users to easily understand the data.
[0676] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0677] In this invention, the server includes means for analyzing natural language input and generating a corresponding structured query, means for recognizing the user's emotional state, and means for adjusting the content of the response according to the emotional state, thereby enabling efficient data acquisition and easy-to-understand responses that take the user's emotions into account.
[0678] "Natural language input" is an input format in which humans use ordinary words and sentences.
[0679] A "structured query" is a formalized query statement used to retrieve specific information from a database.
[0680] "Emotional state" refers to the user's current psychological and emotional state.
[0681] "Generative AI" is an AI technology that uses large amounts of data to learn and understand natural language.
[0682] "Format" refers to arranging data or information in a particular form or arrangement.
[0683] "Means for outputting to the user" refers to a display device or interface for providing acquired data and information to the user.
[0684] A "graphical form" is a graphical form used to visually represent numerical data.
[0685] The "means for adjusting the content of the response" refers to a means for changing the content and format of the response generated by the system depending on the emotional state of the user.
[0686] A "system" refers to the entire mechanism in which multiple components work together.
[0687] A "microphone" is an input device for collecting sound.
[0688] A "camera" is an input device for capturing images or videos.
[0689] The system of the present invention processes requests entered by users in natural language, provides data according to the requests, and at the same time recognizes the user's emotions and responds appropriately. This system combines a natural language processing (NLP) engine and an emotion recognition engine to achieve more human-like and intuitive interactions.
[0690] Capturing natural language input
[0691] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input requests in natural language. A web browser or dedicated application is installed on the device, and the user uses this to send requests. A specific example of input might be a request such as, "Please tell me last month's sales total."
[0692] Emotion recognition
[0693] The server uses an emotion recognition engine to recognize the user's emotional state through the device's built-in microphone and camera. This emotion recognition engine infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed. Specific hardware used includes the device's camera and microphone. Specific software used includes voice analysis tools and facial expression recognition algorithms (e.g., voice recognition software for voice analysis and image processing algorithms for facial expression recognition).
[0694] Generate database queries
[0695] The server analyzes the request received from the user and generates the appropriate SQL query using a natural language processing engine. NLP engines used here include Google Cloud Natural Language API and OpenAI's GPT model. For example, if a user requests "What was the total sales last month?", the server generates the following SQL query:
[0696] sql
[0697] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0698] Regulating emotional responses
[0699] Before executing the generated structured query, the server uses an emotion recognition engine to ascertain the user's emotional state and adjust the content and format of the response accordingly. For example, if the user is feeling stressed, the response can be concise and relaxed.
[0700] Executing queries and retrieving data
[0701] After the emotional response adjustment is complete, the server executes the generated SQL queries against a database, which can use common database management systems such as MySQL or PostgreSQL to retrieve the required data.
[0702] Formatting and printing the results
[0703] The server formats the acquired data in a format that is easy for the user to understand. For example, it displays numerical data in text or graph format. Furthermore, it outputs the data in an appropriate style based on the analysis results of an emotion recognition engine. If the total sales amount is 500,000 yen and the user's emotion is positive, it will display something like, "Last month's total sales amounted to an impressive 500,000 yen!"
[0704] Sending and displaying results
[0705] Finally, the server sends the formatted results to the device, which displays the received data on a user interface, allowing the user to view the results on a web page or application.
[0706] Specific examples
[0707] Below are some examples of specific input and output.
[0708] User input and request flow
[0709] The user types into the device, "I want to see a graph of sales for each month last year." The device sends this request to the server, and at the same time, sends emotion recognition data to the server.
[0710] Server Processing
[0711] The server analyzes the received request using its NLP engine and generates the following SQL query:
[0712] sql
[0713] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0714] The server further uses an emotion engine to analyze the user's emotional state and tailor the response format.
[0715] Formatting and displaying results
[0716] The server executes the generated SQL query to retrieve monthly sales data. The data is then formatted for display in a graph and accompanied by a message based on the user's emotional state. For example, if the emotion is negative, a message like "Please check last year's sales data" is displayed. The server then sends the data to the device, which displays it in a graph format.
[0717] Example prompts for generative AI models
[0718] Here are some examples of prompts for generative AI models:
[0719] Example 1
[0720] When a user types "What are the total sales for last month?", generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[0721] Example 2
[0722] When a user types "I want a graph of sales for each month last year," generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[0723] As described above, this system provides an intuitive natural language interface while taking into account the user's emotions, and enables efficient data acquisition and visualization.
[0724] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0725] Step 1:
[0726] The user enters a request in natural language
[0727] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input a complex data query request in natural language. This action generates natural language text as input, such as "What were the total sales for last month?". The device then sends this input to the server.
[0728] Step 2:
[0729] The device recognizes the user's emotions
[0730] The device uses a built-in microphone and camera to capture the user's emotional state. Input includes voice tone, facial expression data, and keystroke speed. The device analyzes this data, generates data to infer the user's emotional state, and sends it to the server. Specific operations include the use of voice analysis algorithms and facial expression recognition algorithms.
[0731] Step 3:
[0732] The server parses the request and generates an SQL query
[0733] The server uses an NLP engine to analyze the user's natural language request. Based on this analysis, it generates a corresponding structured query. As input, it uses the text "What were the total sales last month?" and emotional state information. As output, it generates an SQL query like this:
[0734] sql
[0735] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0736] Specifically, it performs text analysis using the Google Cloud Natural Language API and OpenAI's GPT model.
[0737] Step 4:
[0738] The server adjusts its response based on the emotion.
[0739] The server uses an emotion recognition engine to check the user's emotional state and adjust the response content. Emotional state information is used as input, and response format adjustment is output. For example, if the user is feeling stressed, the server uses simple and relaxed wording. Specific operations include adjusting the response sentence based on the user's emotional state.
[0740] Step 5:
[0741] The server executes the SQL query and retrieves the data.
[0742] The server executes the generated SQL queries against a database, using the generated SQL queries as input and obtaining the query results from the database as output, specifically using a database management system such as MySQL or PostgreSQL to process the data.
[0743] Step 6:
[0744] The server formats the results and outputs them in a user-friendly format.
[0745] The server formats the data it receives and processes it into an understandable format. It takes as input the query results from the database and emotional state information. It generates formatted data as output, for example displaying numerical data in text or graph format. Specific operations include data formatting and graph generation algorithms. For a total sales of $500,000, it generates a response like "Last month's total sales were an impressive $500,000!"
[0746] Step 7:
[0747] The server sends the final result to the terminal, which displays the result.
[0748] The server sends the formatted result data to the terminal. The formatted data is used as input and the terminal receives and displays it as output. The terminal displays the result on the user interface, making it visually clear to the user. Specific operations include sending data and drawing the UI.
[0749] (Application example 2)
[0750] 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."
[0751] Conventional natural language processing systems often return a uniform response without considering the user's emotional state. As a result, users are unable to receive the optimal response based on their own emotions and circumstances, resulting in a poor customer experience. Furthermore, emotion-based responses are required in a variety of applications, such as virtual stores, but there have been few systems that can achieve this.
[0752] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0753] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, means for formatting the obtained numerical data and outputting it to the user, means for using an emotion engine to recognize the emotional state of the user, and means for adjusting the content of a response based on the emotional state of the user recognized by the emotion engine, thereby providing an optimal response according to the user's emotions and improving the customer experience in virtual stores and other applications.
[0754] The "natural language input means" is a means having a function of accepting natural language such as user speech or text input.
[0755] The "structured query generation means" is a means having a function of analyzing a received natural language input and generating a corresponding database query (for example, an SQL query).
[0756] The "query execution means" is a means having a function of executing the generated structured query against the database and obtaining the required data.
[0757] The "data formatting means" is a means having a function of converting acquired data into a format that is easy for the user to understand.
[0758] The "emotion recognition means" is a means having the function of inferring the user's emotional state using data such as voice tone, facial expression, and typing speed.
[0759] A "response adjustment means" is a means that has the function of adjusting the content and tone of a response based on the recognized emotional state of the user.
[0760] The present invention relates to a system for processing requests input by a user in natural language, recognizing the user's emotions, and providing corresponding data. Specific methods for implementing the present invention will be described below.
[0761] First, a user accesses the system's user interface using a device such as a smartphone or PC and inputs a request in natural language. For example, a request might be, "I want the latest smartphone" or "Is this product in stock?" This natural language input is sent to the server via the device's input means.
[0762] The server analyzes the received natural language request using a natural language processing engine (NLP engine) and generates a corresponding SQL query. It uses a generative AI model to understand the intent of the request and automatically generates an appropriate structured query. For example, for a request like "I want the latest smartphone," a query is generated to retrieve the latest smartphones from a product database.
[0763] The generated structured query is executed by the server to retrieve the required numerical data and product information from the database. Since the retrieved data may be difficult for users to understand as it is, the server uses a data formatting method to convert it into a format that is visually easy for users to understand.
[0764] Another feature of this system is that the server is equipped with an emotion engine that recognizes the user's emotional state. The emotion engine infers the user's emotional state using voice tone and facial expression analysis data collected through the device's microphone and camera. For example, if the user is feeling stressed when asking a question, the emotion engine will recognize that state.
[0765] Based on the user's perceived emotional state, the server adjusts the content and tone of the response. For example, if the user is feeling stressed, the server will simplify the response and use relaxed language. This allows the user to use the system without feeling uncomfortable.
[0766] Finally, the formatted response is sent back to the device and displayed on the user interface, allowing the user to quickly and accurately obtain the information they need through visual graph displays and emotion-based messages.
[0767] Specific examples
[0768] Example 1:
[0769] If the user types "Is this item in stock?" and has a smiley face.
[0770] Output response: "😊 We have plenty of this item in stock!"
[0771] Example 2:
[0772] The user types "I want to return the item" and their facial expression looks dissatisfied.
[0773] Response: "😔 Returns are easy! Contact support for more information."
[0774] Example prompts for generative AI models
[0775] Type: "I want the latest smartphone."
[0776] Emotion: Smile
[0777] Response: "😊 The latest smartphones are: New Model A, Model B, and Model C."
[0778] The present invention provides optimal responses according to the user's emotions, improving the customer experience in virtual stores and other applications. This allows users to easily obtain data and search for products without specialized knowledge, and also provides responses according to their emotional state, resulting in a better user experience.
[0779] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0780] Step 1:
[0781] The user inputs a request in natural language from the terminal.
[0782] Input: A natural language request (e.g., "I want the latest smartphone").
[0783] Specific Actions: Through the user interface, the user enters a question in the text box and clicks the submit button.
[0784] Step 2:
[0785] The terminal sends the user's request to the server.
[0786] Input: The natural language request entered in step 1.
[0787] Output: The raw request data sent to the server.
[0788] Specific operation: The terminal sends the request to the server as an HTTP request.
[0789] Step 3:
[0790] The server parses the natural language request using an NLP engine and generates a corresponding structured query.
[0791] Input: The raw request data sent to the server.
[0792] Output: A structured SQL query (e.g., "SELECT FROM products WHERE category = 'smartphone' ORDER BY release_date DESC").
[0793] What it does: The server's NLP engine analyzes the text, and a generative AI model understands the intent of the request and generates the corresponding query.
[0794] Step 4:
[0795] The server uses the voice tone and facial expression analysis data sent from the terminal to recognize the user's emotional state using an emotion engine.
[0796] Input: User's voice tone, facial expression analysis data.
[0797] Output: Data with each emotional state identified (e.g., "smiling").
[0798] Specific operation: The emotion engine analyzes the audio and video data sent from the device and infers the user's emotional state.
[0799] Step 5:
[0800] The server executes the structured query and retrieves the corresponding data from the database.
[0801] Input: A structured SQL query.
[0802] Output: Product and numerical data retrieved from the database.
[0803] What happens next: The server executes a structured query against the database to retrieve the required information.
[0804] Step 6:
[0805] The server formats the data it receives and converts it into a user-friendly format.
[0806] Input: Product or numerical data retrieved from a database.
[0807] Output: Formatted output data (e.g., "The latest smartphones are: Model A, Model B...").
[0808] What it does: The server formats the data it receives based on a template and converts it into a visually understandable format.
[0809] Step 7:
[0810] The server generates response content adjusted by the emotion engine.
[0811] Input: Formatted output data and emotional state identification data.
[0812] Output: Optimal response message based on emotion (e.g., "😊 The latest smartphones are: Model A, Model B...").
[0813] Specific behavior: The server adjusts the tone and content of the response based on the analysis results of the emotion engine.
[0814] Step 8:
[0815] The server sends the final response to the terminal, which displays it on its user interface.
[0816] Input: The best response message generated by the server.
[0817] Output: The response message that is displayed on the user's screen.
[0818] Specific operation: The server sends a final response message to the terminal, which displays it on the user interface.
[0819] This allows the user to quickly and accurately obtain appropriate information according to their emotional state.
[0820] 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.
[0821] 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.
[0822] 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.
[0823] [Third embodiment]
[0824] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0825] 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.
[0826] 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).
[0827] 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.
[0828] 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.
[0829] 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).
[0830] 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.
[0831] 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.
[0832] 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.
[0833] 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.
[0834] 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.
[0835] 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."
[0836] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. The operation of the system and a specific example are shown below.
[0837] Operational Overview
[0838] Getting natural language requests
[0839] Users access the system using their own devices (PCs or smartphones) and input requests to obtain numerical values in natural language. For example, a request might be, "Please tell me the total sales for last month."
[0840] Generate database queries
[0841] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing (NLP) techniques. For example, if the request is "Please tell me the total sales for last month," the following SQL statement is generated:
[0842] sql
[0843] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0844] Executing queries and retrieving data
[0845] The generated SQL query is then executed by the server against the database, and the required numerical data is retrieved from the database.
[0846] Formatting and printing the results
[0847] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[0848] Specific examples
[0849] Below are some examples of specific input and output.
[0850] User input and request flow
[0851] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0852] 2. The device sends this request to the server.
[0853] Server Processing
[0854] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[0855] sql
[0856] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0857] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[0858] Formatting and displaying results
[0859] 5. The server formats the data it receives into a graph format, such as the following:
[0860] [
[0861] {"month": "January", "total_sales": 10000},
[0862] {"month": "February", "total_sales": 15000},
[0863] ...
[0864] {"month": "December", "total_sales": 20000}
[0865] ]
[0866] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[0867] ---
[0868] This system allows users to easily obtain and compile data without specialized knowledge, improving business efficiency across the entire company.
[0869] The processing flow will be explained below.
[0870] Step 1:
[0871] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[0872] Step 2:
[0873] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[0874] Step 3:
[0875] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[0876] Step 4:
[0877] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[0878] sql
[0879] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[0880] Step 5:
[0881] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[0882] Step 6:
[0883] The server formats the numerical data it retrieves from the database. For example, if the number of newly registered users is 150, it formats it into a format such as "The number of newly registered users last month was 150."
[0884] Step 7:
[0885] The server then sends the formatted results to the user's device in a format such as JSON.
[0886] Step 8:
[0887] The device receives the results sent from the server and displays them on a web page or application UI. The user can visually confirm this, for example, by displaying "150 new users registered last month."
[0888] Example 1
[0889] 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."
[0890] Conventional systems often require advanced technical skills to input requests in natural language and retrieve data, making them difficult for average users to use. Furthermore, it is difficult to organize the retrieved data into a user-friendly format or to display it visually, hindering rapid data analysis and decision-making.
[0891] 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.
[0892] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query and acquiring numerical data, means for formatting the acquired numerical data and outputting it to a user, means for transmitting the generated numerical data to a user terminal, and means for converting the numerical data into a format for visually displaying it on the user terminal. This enables a user, without specialized knowledge, to acquire numerical data in natural language and check the data in a format that is easy to understand visually.
[0893] "Natural language input" refers to unstructured, free-form text input entered verbatim by a user.
[0894] A "structured query" is a structured query language (e.g., SQL) that specifically describes an instruction or question to be executed against a database.
[0895] "Numerical data" is data that is treated as a number and is used for purposes such as calculation and analysis.
[0896] "Format" refers to the display format and formatting method of data, and means arranging the data in a form that is visually easy to understand.
[0897] A "server" is a computer system that receives requests from clients over a network and performs the processing in response to the requests.
[0898] A "terminal" is a device (e.g., a PC or smartphone) that a user operates directly and connects to a server to use various services.
[0899] "Generative AI" refers to an AI technology that analyzes given natural language input and generates appropriate queries and responses.
[0900] "Visual display" means displaying data using visual means such as graphs and charts so that the user can intuitively understand it.
[0901] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. Components of this system include a server, a terminal, a natural language processing engine (NLP engine), etc.
[0902] Getting natural language requests
[0903] A user accesses the system using their own device (e.g., a PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a user might input a request such as, "Please tell me the total sales for last month." The device then sends the request received from the user to the server.
[0904] Generate database queries
[0905] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing techniques (e.g., generative AI models). For example, if the user's request is "What are the total sales for last month?", the server generates the following SQL query:
[0906] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0907] This analysis is performed using, for example, a natural language processing library (e.g., spaCy, NLTK).
[0908] Executing queries and retrieving data
[0909] The generated SQL query is then executed by the server against the database, where the database engine executes the query and retrieves the required numerical data from the database.
[0910] Formatting and printing the results
[0911] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[0912] Specific examples
[0913] Below are some examples of specific input and output.
[0914] User input and request flow
[0915] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[0916] 2. The device sends this request to the server.
[0917] Server Processing
[0918] 3. The server receives the request, analyzes it with its NLP engine, and generates the following SQL query:
[0919] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[0920] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[0921] Formatting and displaying results
[0922] 5. The server formats the data it receives into a graph format, such as the following:
[0923] [
[0924] {"month": "January", "total_sales": 10000},
[0925] {"month": "February", "total_sales": 15000},
[0926] ...
[0927] {"month": "December", "total_sales": 20000}
[0928] ]
[0929] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[0930] ---
[0931] This system allows users without specialist knowledge to obtain numerical data in natural language and view the data in a visually easy-to-understand format. For example, by simply entering a prompt such as "Please tell me the total sales for last month" or "Please show me a graph of sales for each month last year," the necessary data can be quickly obtained and displayed visually.
[0932] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0933] Step 1:
[0934] The user inputs a request. The user accesses the system using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, they input a request such as "Please tell me the total sales for last month." The input request is displayed in text format in the input field of the device. Specifically, the user inputs the request using a keyboard or touch screen.
[0935] Input: A natural language request (e.g., "What were my sales totals last month?")
[0936] Output: The natural language request displayed in the input field
[0937] Step 2:
[0938] The device sends a request to the server. The device then sends the natural language request received from the user to the server. HTTP or HTTPS is often used as the communication protocol, and the request data is structured in JSON format or similar. Specifically, the device's communication module sends the request data to the server.
[0939] Input: A natural language request typed by the user
[0940] Output: Request data structured in JSON format or similar
[0941] Step 3:
[0942] The server analyzes the request and generates an SQL query. The server analyzes the received request using a natural language processing (NLP) engine and generates an appropriate SQL query. For example, if the request was "What are the total sales for last month?", the following SQL query would be generated:
[0943] sql
[0944] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[0945] Specifically, a natural language processing library (e.g., spaCy, NLTK) on the server parses the request and converts the text into an SQL query.
[0946] Input: Structured request data
[0947] Output: Generated SQL query
[0948] Step 4:
[0949] The server executes the generated SQL query against the database. The server sends the generated SQL query to the database and executes the query. The executed query retrieves the corresponding numerical data from the database. Specifically, the server opens a database connection, executes the SQL query, and retrieves the results.
[0950] Input: Generated SQL query
[0951] Output: Numerical data retrieved from the database
[0952] Step 5:
[0953] The server formats the data it retrieves. The retrieved numerical data is formatted into a format that is easy for the user to understand. For example, if the total sales required is 500,000 yen, it will be formatted as "Last month's total sales were 500,000 yen." Specifically, the server converts the numerical data into text format and formats it into the appropriate format.
[0954] Input: Numerical data retrieved from a database
[0955] Output: Formatted numeric data
[0956] Step 6:
[0957] The server formats the data and sends it to the terminal. Once formatted, the data is sent from the server to the terminal. The data is structured in formats such as JSON or XML and passed to the terminal via a communication protocol. Specifically, the server structures the numerical data and sends it to the terminal via a communication module.
[0958] Input: Formatted numeric data
[0959] Output: Structured data
[0960] Step 7:
[0961] The terminal displays the data to the user. The terminal displays the data received from the server to the user. The display format is a bar graph, line graph, or other format that makes it easy for the user to visually check the data. For example, when sales data for each month of last year is displayed, the terminal renders the data as a bar graph so that the user can immediately understand the results. Specifically, the display module on the terminal renders the data and displays it on the user screen.
[0962] Input: Structured data sent from the server
[0963] Output: Visually displayed data
[0964] (Application example 1)
[0965] 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."
[0966] In recent years, with the spread of autonomous vehicles, there has been a growing need to intuitively grasp vehicle operation status and energy consumption status in real time. However, existing systems require specialized knowledge and are difficult for general users to use. In addition, technology to provide appropriate data in response to inquiries in natural language has not yet been fully developed, so a user-friendly interface is required.
[0967] 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.
[0968] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, and means for formatting and visually displaying the obtained numerical data. This allows a user to inquire about vehicle operation status and energy consumption status in natural language without specialized knowledge, allowing the user to grasp the information more intuitively.
[0969] "Natural language input" refers to input that a user gives to a system using everyday language.
[0970] A "structured query" refers to a set of commands that are used to manipulate data in a database based on specific conditions or instructions.
[0971] "Numerical data" refers to information based on numbers retrieved from a database.
[0972] "Formatting" refers to arranging acquired numerical data in a form that is easy for users to understand.
[0973] "Vehicle operation information" refers to information about autonomous vehicles, such as their operating status, operation history, and energy consumption status.
[0974] An "application" refers to software that is installed on a device such as a smartphone and provides specific functions.
[0975] A "generative AI model" refers to a model that uses artificial intelligence techniques to generate appropriate outputs for a specific task.
[0976] "Natural language analysis" refers to the technology of understanding the natural language entered by the user and converting it into appropriate data or processing.
[0977] "Graph display" refers to the visual presentation of numerical data in the form of bar graphs, line graphs, etc.
[0978] The following configuration and operation procedure are shown as an embodiment of the present invention.
[0979] System Program Overview
[0980] This system provides an application that allows users to query vehicle operation information in natural language from their smartphones. The system accepts natural language input, analyzes the input, and generates an appropriate structured query (SQL query). The server executes the generated query to obtain numerical data, formats the data, and displays it visually to the user.
[0981] Hardware and software used
[0982] Hardware: Smartphone, microphone
[0983] software:
[0984] Natural language recognition library: SpeechRecognition
[0985] Natural language processing models: Models from the Transformers library (e.g., text2sql)
[0986] Data storage: SQLite database
[0987] Processing Description
[0988] 1. Getting a natural language request:
[0989] The user speaks into a microphone through a smartphone application, entering a prompt such as, "How much energy did you consume yesterday?"
[0990] The device converts speech to text using the SpeechRecognition library.
[0991] 2. Natural Language Analysis and SQL Query Generation:
[0992] The textual user request is parsed using a generative AI model from the Transformers library, at which point an NLP engine generates the appropriate SQL query.
[0993] 3. Execute database queries and retrieve data:
[0994] The server executes the generated SQL query to retrieve the required numeric data from the SQLite database.
[0995] 4. Formatting the data and outputting it to the user:
[0996] The acquired numerical data is formatted in a way that is easy for users to understand. For example, monthly energy consumption and driving distance data are converted into a graph format.
[0997] The formatted data is sent back to the terminal and displayed visually on the smartphone screen.
[0998] Specific examples of operations
[0999] For example, if a user asks by voice, "Tell me the total distance traveled this week," the request will go through the following process and the results will be displayed.
[1000] Examples of prompts: "How much energy did you use yesterday?", "What is the total distance you have driven this week?"
[1001] The system analyzes natural language input, generates corresponding SQL queries, retrieves the necessary information from the database, formats it, and displays it visually, allowing users to intuitively and easily obtain vehicle operation information without specialized knowledge.
[1002] This invention significantly improves the efficiency of managing vehicle operation information, and makes it possible to easily check information through a user-friendly interface.
[1003] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1004] Step 1:
[1005] A user speaks a question in natural language to a smartphone application. For example, they input a prompt sentence such as "How much energy did you consume yesterday?" The input data is voice data.
[1006] Step 2:
[1007] The device uses the SpeechRecognition library to convert voice data into text data. At this time, natural language analysis is performed based on the voice data, and text data is generated. For example, if the voice input is "How much energy did you consume yesterday?", the corresponding text data will be "How much energy did you consume yesterday?"
[1008] Step 3:
[1009] The server analyzes the text data using a generative AI model and generates an appropriate SQL query. The input data is the converted text data, and it is output as an SQL query. For example, the SQL query corresponding to the analysis result "What was the energy consumption yesterday?" is "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';".
[1010] Step 4:
[1011] The server executes the generated SQL query against the database to obtain the required numerical data. The input data in this step is the SQL query, and the output data is the obtained numerical data. For example, "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';" is executed, and the output is "35.6 kWh."
[1012] Step 5:
[1013] The server formats the acquired numerical data and converts it into a format that can be displayed visually. The input data is the acquired numerical data, and the output data is the formatted data for visual display. For example, 35.6 kWh is formatted in graph and text format for visual display.
[1014] Step 6:
[1015] The server sends the formatted data to the terminal and displays it to the user. The input data is formatted data for visual display, and the output data is information displayed on the smartphone screen. The user can check yesterday's energy consumption on the smartphone screen.
[1016] 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.
[1017] The system of the present invention processes requests entered by users in natural language, recognizes the user's emotions, and provides corresponding data. This system combines natural language processing (NLP) with an emotion engine to achieve more human-like interactions.
[1018] Operational Overview
[1019] Getting natural language requests
[1020] A user accesses the system's user interface (UI) using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a request might be, "Please tell me the total sales for last month."
[1021] Emotion recognition
[1022] The server recognizes the user's emotional state through the device's built-in microphone and camera using an emotion engine, which infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed.
[1023] Generate database queries
[1024] The server analyzes the request received from the user and generates an appropriate SQL query using the NLP engine. For example, if the request is "Please tell me the total sales for last month," the following SQL statement will be generated:
[1025] sql
[1026] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1027] Regulating emotional responses
[1028] Before executing the generated database query, the server checks the user's emotional state and adjusts the format and content of the response accordingly. For example, if the user is feeling stressed, the response may be brief and use relaxed language.
[1029] Executing queries and retrieving data
[1030] After the emotional adjustment is made, the server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[1031] Formatting and printing the results
[1032] The acquired numerical data is formatted by the server into a user-friendly format and output in an appropriate style based on the analysis results of the emotion engine. For example, if the total sales amount is 500,000 yen, and the user's emotion is positive, the output will be "Last month's total sales amounted to an amazing 500,000 yen!"
[1033] Sending and displaying results
[1034] Finally, the formatted results are sent from the server to the device, which receives them and displays them on a web page or application UI.
[1035] Specific examples
[1036] Below are some examples of specific input and output.
[1037] User input and request flow
[1038] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[1039] 2. The device sends this request to the server, and emotion recognition data is also sent to the server at the same time.
[1040] Server Processing
[1041] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[1042] sql
[1043] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[1044] 4. The server uses an emotion engine to analyze the user's emotional state and adjust the response format.
[1045] Formatting and displaying results
[1046] 5. The server executes the generated SQL query to retrieve monthly sales data.
[1047] 6. The server formats the data for display in a graph and outputs it with a message based on the emotion. For example, if the emotion is negative, the message might be "Please check last year's sales data."
[1048] 7. The server sends the data to the device and displays it as a graph. The device receives it and displays it as a bar graph or line graph for visual confirmation.
[1049] In this way, the present invention, which combines an emotion engine, not only enables users to easily obtain and tally numerical values without specialized knowledge, but also provides responses that correspond to their emotional state, resulting in a better user experience.
[1050] The processing flow will be explained below.
[1051] Step 1:
[1052] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[1053] Step 2:
[1054] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[1055] Step 3:
[1056] The device collects emotion data from the user's facial expressions and tone of voice, and inputs it into the emotion engine. For example, the device captures the user's facial expressions with a camera and records the tone of voice with a microphone.
[1057] Step 4:
[1058] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[1059] Step 5:
[1060] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[1061] sql
[1062] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[1063] Step 6:
[1064] The server adjusts the generated query based on the results of the emotion engine. For example, if the user is feeling stressed, the server adjusts the query response to be more concise and relaxing.
[1065] Step 7:
[1066] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[1067] Step 8:
[1068] The server formats the numerical data retrieved from the database. For example, if the number of newly registered users is 150, it formats it as "The number of newly registered users last month was 150." The server also adjusts the format and tone of the response appropriately based on the results of the emotion engine.
[1069] Step 9:
[1070] The server then sends the formatted results to the user's device, typically in JSON format.
[1071] Step 10:
[1072] The device receives the results sent from the server and displays them on a web page or application UI. For example, it displays "150 new users registered last month." The display is adjusted according to the user's emotions.
[1073] Example 2
[1074] 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."
[1075] While conventional systems can analyze natural language input and generate structured queries, they are unable to provide responses that take the user's emotional state into account, making it difficult to improve the user experience.In addition, they lack a means to clearly display complex data queries and analysis results, making it difficult for ordinary users to easily understand the data.
[1076] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1077] In this invention, the server includes means for analyzing natural language input and generating a corresponding structured query, means for recognizing the user's emotional state, and means for adjusting the content of the response according to the emotional state, thereby enabling efficient data acquisition and easy-to-understand responses that take the user's emotions into account.
[1078] "Natural language input" is an input format in which humans use ordinary words and sentences.
[1079] A "structured query" is a formalized query statement used to retrieve specific information from a database.
[1080] "Emotional state" refers to the user's current psychological and emotional state.
[1081] "Generative AI" is an AI technology that uses large amounts of data to learn and understand natural language.
[1082] "Format" refers to arranging data or information in a particular form or arrangement.
[1083] "Means for outputting to the user" refers to a display device or interface for providing acquired data and information to the user.
[1084] A "graphical form" is a graphical form used to visually represent numerical data.
[1085] The "means for adjusting the content of the response" refers to a means for changing the content and format of the response generated by the system depending on the emotional state of the user.
[1086] A "system" refers to the entire mechanism in which multiple components work together.
[1087] A "microphone" is an input device for collecting sound.
[1088] A "camera" is an input device for capturing images or videos.
[1089] The system of the present invention processes requests entered by users in natural language, provides data according to the requests, and at the same time recognizes the user's emotions and responds appropriately. This system combines a natural language processing (NLP) engine and an emotion recognition engine to achieve more human-like and intuitive interactions.
[1090] Capturing natural language input
[1091] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input requests in natural language. A web browser or dedicated application is installed on the device, and the user uses this to send requests. A specific example of input might be a request such as, "Please tell me last month's sales total."
[1092] Emotion recognition
[1093] The server uses an emotion recognition engine to recognize the user's emotional state through the device's built-in microphone and camera. This emotion recognition engine infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed. Specific hardware used includes the device's camera and microphone. Specific software used includes voice analysis tools and facial expression recognition algorithms (e.g., voice recognition software for voice analysis and image processing algorithms for facial expression recognition).
[1094] Generate database queries
[1095] The server analyzes the request received from the user and generates the appropriate SQL query using a natural language processing engine. NLP engines used here include Google Cloud Natural Language API and OpenAI's GPT model. For example, if a user requests "What was the total sales last month?", the server generates the following SQL query:
[1096] sql
[1097] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1098] Regulating emotional responses
[1099] Before executing the generated structured query, the server uses an emotion recognition engine to ascertain the user's emotional state and adjust the content and format of the response accordingly. For example, if the user is feeling stressed, the response can be concise and relaxed.
[1100] Executing queries and retrieving data
[1101] After the emotional response adjustment is complete, the server executes the generated SQL queries against a database, which can use common database management systems such as MySQL or PostgreSQL to retrieve the required data.
[1102] Formatting and printing the results
[1103] The server formats the acquired data in a format that is easy for the user to understand. For example, it displays numerical data in text or graph format. Furthermore, it outputs the data in an appropriate style based on the analysis results of an emotion recognition engine. If the total sales amount is 500,000 yen and the user's emotion is positive, it will display something like, "Last month's total sales amounted to an impressive 500,000 yen!"
[1104] Sending and displaying results
[1105] Finally, the server sends the formatted results to the device, which displays the received data on a user interface, allowing the user to view the results on a web page or application.
[1106] Specific examples
[1107] Below are some examples of specific input and output.
[1108] User input and request flow
[1109] The user types into the device, "I want to see a graph of sales for each month last year." The device sends this request to the server, and at the same time, sends emotion recognition data to the server.
[1110] Server Processing
[1111] The server analyzes the received request using its NLP engine and generates the following SQL query:
[1112] sql
[1113] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[1114] The server further uses an emotion engine to analyze the user's emotional state and tailor the response format.
[1115] Formatting and displaying results
[1116] The server executes the generated SQL query to retrieve monthly sales data. The data is then formatted for display in a graph and accompanied by a message based on the user's emotional state. For example, if the emotion is negative, a message like "Please check last year's sales data" is displayed. The server then sends the data to the device, which displays it in a graph format.
[1117] Example prompts for generative AI models
[1118] Here are some examples of prompts for generative AI models:
[1119] Example 1
[1120] When a user types "What are the total sales for last month?", generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[1121] Example 2
[1122] When a user types "I want a graph of sales for each month last year," generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[1123] As described above, this system provides an intuitive natural language interface while taking into account the user's emotions, and enables efficient data acquisition and visualization.
[1124] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1125] Step 1:
[1126] The user enters a request in natural language
[1127] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input a complex data query request in natural language. This action generates natural language text as input, such as "What were the total sales for last month?". The device then sends this input to the server.
[1128] Step 2:
[1129] The device recognizes the user's emotions
[1130] The device uses a built-in microphone and camera to capture the user's emotional state. Input includes voice tone, facial expression data, and keystroke speed. The device analyzes this data, generates data to infer the user's emotional state, and sends it to the server. Specific operations include the use of voice analysis algorithms and facial expression recognition algorithms.
[1131] Step 3:
[1132] The server parses the request and generates an SQL query
[1133] The server uses an NLP engine to analyze the user's natural language request. Based on this analysis, it generates a corresponding structured query. As input, it uses the text "What were the total sales last month?" and emotional state information. As output, it generates an SQL query like this:
[1134] sql
[1135] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1136] Specifically, it performs text analysis using the Google Cloud Natural Language API and OpenAI's GPT model.
[1137] Step 4:
[1138] The server adjusts its response based on the emotion.
[1139] The server uses an emotion recognition engine to check the user's emotional state and adjust the response content. Emotional state information is used as input, and response format adjustment is output. For example, if the user is feeling stressed, the server uses simple and relaxed wording. Specific operations include adjusting the response sentence based on the user's emotional state.
[1140] Step 5:
[1141] The server executes the SQL query and retrieves the data.
[1142] The server executes the generated SQL queries against a database, using the generated SQL queries as input and obtaining the query results from the database as output, specifically using a database management system such as MySQL or PostgreSQL to process the data.
[1143] Step 6:
[1144] The server formats the results and outputs them in a user-friendly format.
[1145] The server formats the data it receives and processes it into an understandable format. It takes as input the query results from the database and emotional state information. It generates formatted data as output, for example displaying numerical data in text or graph format. Specific operations include data formatting and graph generation algorithms. For a total sales of $500,000, it generates a response like "Last month's total sales were an impressive $500,000!"
[1146] Step 7:
[1147] The server sends the final result to the terminal, which displays the result.
[1148] The server sends the formatted result data to the terminal. The formatted data is used as input and the terminal receives and displays it as output. The terminal displays the result on the user interface, making it visually clear to the user. Specific operations include sending data and drawing the UI.
[1149] (Application example 2)
[1150] 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."
[1151] Conventional natural language processing systems often return a uniform response without considering the user's emotional state. As a result, users are unable to receive the optimal response based on their own emotions and circumstances, resulting in a poor customer experience. Furthermore, emotion-based responses are required in a variety of applications, such as virtual stores, but there have been few systems that can achieve this.
[1152] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1153] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, means for formatting the obtained numerical data and outputting it to the user, means for using an emotion engine to recognize the emotional state of the user, and means for adjusting the content of a response based on the emotional state of the user recognized by the emotion engine, thereby providing an optimal response according to the user's emotions and improving the customer experience in virtual stores and other applications.
[1154] The "natural language input means" is a means having a function of accepting natural language such as user speech or text input.
[1155] The "structured query generation means" is a means having a function of analyzing a received natural language input and generating a corresponding database query (for example, an SQL query).
[1156] The "query execution means" is a means having a function of executing the generated structured query against the database and obtaining the required data.
[1157] The "data formatting means" is a means having a function of converting acquired data into a format that is easy for the user to understand.
[1158] The "emotion recognition means" is a means having the function of inferring the user's emotional state using data such as voice tone, facial expression, and typing speed.
[1159] A "response adjustment means" is a means that has the function of adjusting the content and tone of a response based on the recognized emotional state of the user.
[1160] The present invention relates to a system for processing requests input by a user in natural language, recognizing the user's emotions, and providing corresponding data. Specific methods for implementing the present invention will be described below.
[1161] First, a user accesses the system's user interface using a device such as a smartphone or PC and inputs a request in natural language. For example, a request might be, "I want the latest smartphone" or "Is this product in stock?" This natural language input is sent to the server via the device's input means.
[1162] The server analyzes the received natural language request using a natural language processing engine (NLP engine) and generates a corresponding SQL query. It uses a generative AI model to understand the intent of the request and automatically generates an appropriate structured query. For example, for a request like "I want the latest smartphone," a query is generated to retrieve the latest smartphones from a product database.
[1163] The generated structured query is executed by the server to retrieve the required numerical data and product information from the database. Since the retrieved data may be difficult for users to understand as it is, the server uses a data formatting method to convert it into a format that is visually easy for users to understand.
[1164] Another feature of this system is that the server is equipped with an emotion engine that recognizes the user's emotional state. The emotion engine infers the user's emotional state using voice tone and facial expression analysis data collected through the device's microphone and camera. For example, if the user is feeling stressed when asking a question, the emotion engine will recognize that state.
[1165] Based on the user's perceived emotional state, the server adjusts the content and tone of the response. For example, if the user is feeling stressed, the server will simplify the response and use relaxed language. This allows the user to use the system without feeling uncomfortable.
[1166] Finally, the formatted response is sent back to the device and displayed on the user interface, allowing the user to quickly and accurately obtain the information they need through visual graph displays and emotion-based messages.
[1167] Specific examples
[1168] Example 1:
[1169] If the user types "Is this item in stock?" and has a smiley face.
[1170] Output response: "😊 We have plenty of this item in stock!"
[1171] Example 2:
[1172] The user types "I want to return the item" and their facial expression looks dissatisfied.
[1173] Response: "😔 Returns are easy! Contact support for more information."
[1174] Example prompts for generative AI models
[1175] Type: "I want the latest smartphone."
[1176] Emotion: Smile
[1177] Response: "😊 The latest smartphones are: New Model A, Model B, and Model C."
[1178] The present invention provides optimal responses according to the user's emotions, improving the customer experience in virtual stores and other applications. This allows users to easily obtain data and search for products without specialized knowledge, and also provides responses according to their emotional state, resulting in a better user experience.
[1179] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1180] Step 1:
[1181] The user inputs a request in natural language from the terminal.
[1182] Input: A natural language request (e.g., "I want the latest smartphone").
[1183] Specific Actions: Through the user interface, the user enters a question in the text box and clicks the submit button.
[1184] Step 2:
[1185] The terminal sends the user's request to the server.
[1186] Input: The natural language request entered in step 1.
[1187] Output: The raw request data sent to the server.
[1188] Specific operation: The terminal sends the request to the server as an HTTP request.
[1189] Step 3:
[1190] The server parses the natural language request using an NLP engine and generates a corresponding structured query.
[1191] Input: The raw request data sent to the server.
[1192] Output: A structured SQL query (e.g., "SELECT FROM products WHERE category = 'smartphone' ORDER BY release_date DESC").
[1193] What it does: The server's NLP engine analyzes the text, and a generative AI model understands the intent of the request and generates the corresponding query.
[1194] Step 4:
[1195] The server uses the voice tone and facial expression analysis data sent from the terminal to recognize the user's emotional state using an emotion engine.
[1196] Input: User's voice tone, facial expression analysis data.
[1197] Output: Data with each emotional state identified (e.g., "smiling").
[1198] Specific operation: The emotion engine analyzes the audio and video data sent from the device and infers the user's emotional state.
[1199] Step 5:
[1200] The server executes the structured query and retrieves the corresponding data from the database.
[1201] Input: A structured SQL query.
[1202] Output: Product and numerical data retrieved from the database.
[1203] What happens next: The server executes a structured query against the database to retrieve the required information.
[1204] Step 6:
[1205] The server formats the data it receives and converts it into a user-friendly format.
[1206] Input: Product or numerical data retrieved from a database.
[1207] Output: Formatted output data (e.g., "The latest smartphones are: Model A, Model B...").
[1208] What it does: The server formats the data it receives based on a template and converts it into a visually understandable format.
[1209] Step 7:
[1210] The server generates response content adjusted by the emotion engine.
[1211] Input: Formatted output data and emotional state identification data.
[1212] Output: Optimal response message based on emotion (e.g., "😊 The latest smartphones are: Model A, Model B...").
[1213] Specific behavior: The server adjusts the tone and content of the response based on the analysis results of the emotion engine.
[1214] Step 8:
[1215] The server sends the final response to the terminal, which displays it on its user interface.
[1216] Input: The best response message generated by the server.
[1217] Output: The response message that is displayed on the user's screen.
[1218] Specific operation: The server sends a final response message to the terminal, which displays it on the user interface.
[1219] This allows the user to quickly and accurately obtain appropriate information according to their emotional state.
[1220] 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.
[1221] 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.
[1222] 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.
[1223] [Fourth embodiment]
[1224] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1225] 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.
[1226] 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).
[1227] 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.
[1228] 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.
[1229] 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).
[1230] 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.
[1231] 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.
[1232] 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.
[1233] 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.
[1234] 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.
[1235] 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.
[1236] 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."
[1237] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. The operation of the system and a specific example are shown below.
[1238] Operational Overview
[1239] Getting natural language requests
[1240] Users access the system using their own devices (PCs or smartphones) and input requests to obtain numerical values in natural language. For example, a request might be, "Please tell me the total sales for last month."
[1241] Generate database queries
[1242] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing (NLP) techniques. For example, if the request is "Please tell me the total sales for last month," the following SQL statement is generated:
[1243] sql
[1244] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1245] Executing queries and retrieving data
[1246] The generated SQL query is then executed by the server against the database, and the required numerical data is retrieved from the database.
[1247] Formatting and printing the results
[1248] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[1249] Specific examples
[1250] Below are some examples of specific input and output.
[1251] User input and request flow
[1252] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[1253] 2. The device sends this request to the server.
[1254] Server Processing
[1255] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[1256] sql
[1257] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[1258] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[1259] Formatting and displaying results
[1260] 5. The server formats the data it receives into a graph format, such as the following:
[1261] [
[1262] {"month": "January", "total_sales": 10000},
[1263] {"month": "February", "total_sales": 15000},
[1264] ...
[1265] {"month": "December", "total_sales": 20000}
[1266] ]
[1267] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[1268] ---
[1269] This system allows users to easily obtain and compile data without specialized knowledge, improving business efficiency across the entire company.
[1270] The processing flow will be explained below.
[1271] Step 1:
[1272] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[1273] Step 2:
[1274] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[1275] Step 3:
[1276] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[1277] Step 4:
[1278] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[1279] sql
[1280] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[1281] Step 5:
[1282] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[1283] Step 6:
[1284] The server formats the numerical data it retrieves from the database. For example, if the number of newly registered users is 150, it formats it into a format such as "The number of newly registered users last month was 150."
[1285] Step 7:
[1286] The server then sends the formatted results to the user's device in a format such as JSON.
[1287] Step 8:
[1288] The device receives the results sent from the server and displays them on a web page or application UI. The user can visually confirm this, for example, by displaying "150 new users registered last month."
[1289] Example 1
[1290] 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."
[1291] Conventional systems often require advanced technical skills to input requests in natural language and retrieve data, making them difficult for average users to use. Furthermore, it is difficult to organize the retrieved data into a user-friendly format or to display it visually, hindering rapid data analysis and decision-making.
[1292] 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.
[1293] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query and acquiring numerical data, means for formatting the acquired numerical data and outputting it to a user, means for transmitting the generated numerical data to a user terminal, and means for converting the numerical data into a format for visually displaying it on the user terminal. This enables a user, without specialized knowledge, to acquire numerical data in natural language and check the data in a format that is easy to understand visually.
[1294] "Natural language input" refers to unstructured, free-form text input entered verbatim by a user.
[1295] A "structured query" is a structured query language (e.g., SQL) that specifically describes an instruction or question to be executed against a database.
[1296] "Numerical data" is data that is treated as a number and is used for purposes such as calculation and analysis.
[1297] "Format" refers to the display format and formatting method of data, and means arranging the data in a form that is visually easy to understand.
[1298] A "server" is a computer system that receives requests from clients over a network and performs the processing in response to the requests.
[1299] A "terminal" is a device (e.g., a PC or smartphone) that a user operates directly and connects to a server to use various services.
[1300] "Generative AI" refers to an AI technology that analyzes given natural language input and generates appropriate queries and responses.
[1301] "Visual display" means displaying data using visual means such as graphs and charts so that the user can intuitively understand it.
[1302] A specific embodiment of the system according to the present invention will be described. This system processes requests entered by a user in natural language, retrieves numerical data from a database, and outputs the data. Components of this system include a server, a terminal, a natural language processing engine (NLP engine), etc.
[1303] Getting natural language requests
[1304] A user accesses the system using their own device (e.g., a PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a user might input a request such as, "Please tell me the total sales for last month." The device then sends the request received from the user to the server.
[1305] Generate database queries
[1306] The server analyzes the request received from the user and generates an appropriate SQL query using natural language processing techniques (e.g., generative AI models). For example, if the user's request is "What are the total sales for last month?", the server generates the following SQL query:
[1307] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1308] This analysis is performed using, for example, a natural language processing library (e.g., spaCy, NLTK).
[1309] Executing queries and retrieving data
[1310] The generated SQL query is then executed by the server against the database, where the database engine executes the query and retrieves the required numerical data from the database.
[1311] Formatting and printing the results
[1312] The server formats the acquired numerical data in a format that is easy for the user to understand. For example, if the total sales amount is 500,000 yen, the result will be something like "Last month's total sales amount was 500,000 yen." This result is sent to the terminal and displayed to the user.
[1313] Specific examples
[1314] Below are some examples of specific input and output.
[1315] User input and request flow
[1316] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[1317] 2. The device sends this request to the server.
[1318] Server Processing
[1319] 3. The server receives the request, analyzes it with its NLP engine, and generates the following SQL query:
[1320] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[1321] 4. The server runs the generated SQL query against the database to retrieve sales data for each month.
[1322] Formatting and displaying results
[1323] 5. The server formats the data it receives into a graph format, such as the following:
[1324] [
[1325] {"month": "January", "total_sales": 10000},
[1326] {"month": "February", "total_sales": 15000},
[1327] ...
[1328] {"month": "December", "total_sales": 20000}
[1329] ]
[1330] 6. The server sends the data to the device and displays it as a graph. The device receives the data and displays it as a bar graph or line graph for visual confirmation.
[1331] ---
[1332] This system allows users without specialist knowledge to obtain numerical data in natural language and view the data in a visually easy-to-understand format. For example, by simply entering a prompt such as "Please tell me the total sales for last month" or "Please show me a graph of sales for each month last year," the necessary data can be quickly obtained and displayed visually.
[1333] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1334] Step 1:
[1335] The user inputs a request. The user accesses the system using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, they input a request such as "Please tell me the total sales for last month." The input request is displayed in text format in the input field of the device. Specifically, the user inputs the request using a keyboard or touch screen.
[1336] Input: A natural language request (e.g., "What were my sales totals last month?")
[1337] Output: The natural language request displayed in the input field
[1338] Step 2:
[1339] The device sends a request to the server. The device then sends the natural language request received from the user to the server. HTTP or HTTPS is often used as the communication protocol, and the request data is structured in JSON format or similar. Specifically, the device's communication module sends the request data to the server.
[1340] Input: A natural language request typed by the user
[1341] Output: Request data structured in JSON format or similar
[1342] Step 3:
[1343] The server analyzes the request and generates an SQL query. The server analyzes the received request using a natural language processing (NLP) engine and generates an appropriate SQL query. For example, if the request was "What are the total sales for last month?", the following SQL query would be generated:
[1344] sql
[1345] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1346] Specifically, a natural language processing library (e.g., spaCy, NLTK) on the server parses the request and converts the text into an SQL query.
[1347] Input: Structured request data
[1348] Output: Generated SQL query
[1349] Step 4:
[1350] The server executes the generated SQL query against the database. The server sends the generated SQL query to the database and executes the query. The executed query retrieves the corresponding numerical data from the database. Specifically, the server opens a database connection, executes the SQL query, and retrieves the results.
[1351] Input: Generated SQL query
[1352] Output: Numerical data retrieved from the database
[1353] Step 5:
[1354] The server formats the data it retrieves. The retrieved numerical data is formatted into a format that is easy for the user to understand. For example, if the total sales required is 500,000 yen, it will be formatted as "Last month's total sales were 500,000 yen." Specifically, the server converts the numerical data into text format and formats it into the appropriate format.
[1355] Input: Numerical data retrieved from a database
[1356] Output: Formatted numeric data
[1357] Step 6:
[1358] The server formats the data and sends it to the terminal. Once formatted, the data is sent from the server to the terminal. The data is structured in formats such as JSON or XML and passed to the terminal via a communication protocol. Specifically, the server structures the numerical data and sends it to the terminal via a communication module.
[1359] Input: Formatted numeric data
[1360] Output: Structured data
[1361] Step 7:
[1362] The terminal displays the data to the user. The terminal displays the data received from the server to the user. The display format is a bar graph, line graph, or other format that makes it easy for the user to visually check the data. For example, when sales data for each month of last year is displayed, the terminal renders the data as a bar graph so that the user can immediately understand the results. Specifically, the display module on the terminal renders the data and displays it on the user screen.
[1363] Input: Structured data sent from the server
[1364] Output: Visually displayed data
[1365] (Application example 1)
[1366] 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."
[1367] In recent years, with the spread of autonomous vehicles, there has been a growing need to intuitively grasp vehicle operation status and energy consumption status in real time. However, existing systems require specialized knowledge and are difficult for general users to use. In addition, technology to provide appropriate data in response to inquiries in natural language has not yet been fully developed, so a user-friendly interface is required.
[1368] 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.
[1369] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, and means for formatting and visually displaying the obtained numerical data. This allows a user to inquire about vehicle operation status and energy consumption status in natural language without specialized knowledge, allowing the user to grasp the information more intuitively.
[1370] "Natural language input" refers to input that a user gives to a system using everyday language.
[1371] A "structured query" refers to a set of commands that are used to manipulate data in a database based on specific conditions or instructions.
[1372] "Numerical data" refers to information based on numbers retrieved from a database.
[1373] "Formatting" refers to arranging acquired numerical data in a form that is easy for users to understand.
[1374] "Vehicle operation information" refers to information about autonomous vehicles, such as their operating status, operation history, and energy consumption status.
[1375] An "application" refers to software that is installed on a device such as a smartphone and provides specific functions.
[1376] A "generative AI model" refers to a model that uses artificial intelligence techniques to generate appropriate outputs for a specific task.
[1377] "Natural language analysis" refers to the technology of understanding the natural language entered by the user and converting it into appropriate data or processing.
[1378] "Graph display" refers to the visual presentation of numerical data in the form of bar graphs, line graphs, etc.
[1379] The following configuration and operation procedure are shown as an embodiment of the present invention.
[1380] System Program Overview
[1381] This system provides an application that allows users to query vehicle operation information in natural language from their smartphones. The system accepts natural language input, analyzes the input, and generates an appropriate structured query (SQL query). The server executes the generated query to obtain numerical data, formats the data, and displays it visually to the user.
[1382] Hardware and software used
[1383] Hardware: Smartphone, microphone
[1384] software:
[1385] Natural language recognition library: SpeechRecognition
[1386] Natural language processing models: Models from the Transformers library (e.g., text2sql)
[1387] Data storage: SQLite database
[1388] Processing Description
[1389] 1. Getting a natural language request:
[1390] The user speaks into a microphone through a smartphone application, entering a prompt such as, "How much energy did you consume yesterday?"
[1391] The device converts speech to text using the SpeechRecognition library.
[1392] 2. Natural Language Analysis and SQL Query Generation:
[1393] The textual user request is parsed using a generative AI model from the Transformers library, at which point an NLP engine generates the appropriate SQL query.
[1394] 3. Execute database queries and retrieve data:
[1395] The server executes the generated SQL query to retrieve the required numeric data from the SQLite database.
[1396] 4. Formatting the data and outputting it to the user:
[1397] The acquired numerical data is formatted in a way that is easy for users to understand. For example, monthly energy consumption and driving distance data are converted into a graph format.
[1398] The formatted data is sent back to the terminal and displayed visually on the smartphone screen.
[1399] Specific examples of operations
[1400] For example, if a user asks by voice, "Tell me the total distance traveled this week," the request will go through the following process and the results will be displayed.
[1401] Examples of prompts: "How much energy did you use yesterday?", "What is the total distance you have driven this week?"
[1402] The system analyzes natural language input, generates corresponding SQL queries, retrieves the necessary information from the database, formats it, and displays it visually, allowing users to intuitively and easily obtain vehicle operation information without specialized knowledge.
[1403] This invention significantly improves the efficiency of managing vehicle operation information, and makes it possible to easily check information through a user-friendly interface.
[1404] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1405] Step 1:
[1406] A user speaks a question in natural language to a smartphone application. For example, they input a prompt sentence such as "How much energy did you consume yesterday?" The input data is voice data.
[1407] Step 2:
[1408] The device uses the SpeechRecognition library to convert voice data into text data. At this time, natural language analysis is performed based on the voice data, and text data is generated. For example, if the voice input is "How much energy did you consume yesterday?", the corresponding text data will be "How much energy did you consume yesterday?"
[1409] Step 3:
[1410] The server analyzes the text data using a generative AI model and generates an appropriate SQL query. The input data is the converted text data, and it is output as an SQL query. For example, the SQL query corresponding to the analysis result "What was the energy consumption yesterday?" is "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';".
[1411] Step 4:
[1412] The server executes the generated SQL query against the database to obtain the required numerical data. The input data in this step is the SQL query, and the output data is the obtained numerical data. For example, "SELECT SUM(energy_consumed) FROM car_usage WHERE date = '2023-10-18';" is executed, and the output is "35.6 kWh."
[1413] Step 5:
[1414] The server formats the acquired numerical data and converts it into a format that can be displayed visually. The input data is the acquired numerical data, and the output data is the formatted data for visual display. For example, 35.6 kWh is formatted in graph and text format for visual display.
[1415] Step 6:
[1416] The server sends the formatted data to the terminal and displays it to the user. The input data is formatted data for visual display, and the output data is information displayed on the smartphone screen. The user can check yesterday's energy consumption on the smartphone screen.
[1417] 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.
[1418] The system of the present invention processes requests entered by users in natural language, recognizes the user's emotions, and provides corresponding data. This system combines natural language processing (NLP) with an emotion engine to achieve more human-like interactions.
[1419] Operational Overview
[1420] Getting natural language requests
[1421] A user accesses the system's user interface (UI) using their own device (PC or smartphone) and inputs a request to obtain a numerical value in natural language. For example, a request might be, "Please tell me the total sales for last month."
[1422] Emotion recognition
[1423] The server recognizes the user's emotional state through the device's built-in microphone and camera using an emotion engine, which infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed.
[1424] Generate database queries
[1425] The server analyzes the request received from the user and generates an appropriate SQL query using the NLP engine. For example, if the request is "Please tell me the total sales for last month," the following SQL statement will be generated:
[1426] sql
[1427] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1428] Regulating emotional responses
[1429] Before executing the generated database query, the server checks the user's emotional state and adjusts the format and content of the response accordingly. For example, if the user is feeling stressed, the response may be brief and use relaxed language.
[1430] Executing queries and retrieving data
[1431] After the emotional adjustment is made, the server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[1432] Formatting and printing the results
[1433] The acquired numerical data is formatted by the server into a user-friendly format and output in an appropriate style based on the analysis results of the emotion engine. For example, if the total sales amount is 500,000 yen, and the user's emotion is positive, the output will be "Last month's total sales amounted to an amazing 500,000 yen!"
[1434] Sending and displaying results
[1435] Finally, the formatted results are sent from the server to the device, which receives them and displays them on a web page or application UI.
[1436] Specific examples
[1437] Below are some examples of specific input and output.
[1438] User input and request flow
[1439] 1. The user types into the terminal, "I would like to see a graph of sales for each month last year."
[1440] 2. The device sends this request to the server, and emotion recognition data is also sent to the server at the same time.
[1441] Server Processing
[1442] 3. The server analyzes the received request using the NLP engine and generates the following SQL query:
[1443] sql
[1444] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[1445] 4. The server uses an emotion engine to analyze the user's emotional state and adjust the response format.
[1446] Formatting and displaying results
[1447] 5. The server executes the generated SQL query to retrieve monthly sales data.
[1448] 6. The server formats the data for display in a graph and outputs it with a message based on the emotion. For example, if the emotion is negative, the message might be "Please check last year's sales data."
[1449] 7. The server sends the data to the device and displays it as a graph. The device receives it and displays it as a bar graph or line graph for visual confirmation.
[1450] In this way, the present invention, which combines an emotion engine, not only enables users to easily obtain and tally numerical values without specialized knowledge, but also provides responses that correspond to their emotional state, resulting in a better user experience.
[1451] The processing flow will be explained below.
[1452] Step 1:
[1453] A user accesses the system's user interface (UI) using a device (PC or smartphone). The user inputs a request to obtain a numerical value in natural language. For example, the user might input, "Please tell me the number of new users registered last month."
[1454] Step 2:
[1455] The device sends the natural language request entered by the user to the system's server as an API request or HTTP POST request.
[1456] Step 3:
[1457] The device collects emotion data from the user's facial expressions and tone of voice, and inputs it into the emotion engine. For example, the device captures the user's facial expressions with a camera and records the tone of voice with a microphone.
[1458] Step 4:
[1459] The server receives the incoming request and sends it to a natural language processing (NLP) engine, which tokenizes the input natural language, performs grammatical analysis, and analyzes the user's intent.
[1460] Step 5:
[1461] The server generates an appropriate structured query (SQL query) based on the analysis results of the natural language processing (NLP) engine. For example, the following SQL query is generated from the question, "How many new users registered last month?"
[1462] sql
[1463] SELECT COUNT(user_id) FROM user_data WHERE registration_date >= '2023-09-01' AND registration_date <= '2023-09-30';
[1464] Step 6:
[1465] The server adjusts the generated query based on the results of the emotion engine. For example, if the user is feeling stressed, the server adjusts the query response to be more concise and relaxing.
[1466] Step 7:
[1467] The server executes the generated SQL query against the database, which retrieves the required numerical data from the database.
[1468] Step 8:
[1469] The server formats the numerical data retrieved from the database. For example, if the number of newly registered users is 150, it formats it as "The number of newly registered users last month was 150." The server also adjusts the format and tone of the response appropriately based on the results of the emotion engine.
[1470] Step 9:
[1471] The server then sends the formatted results to the user's device, typically in JSON format.
[1472] Step 10:
[1473] The device receives the results sent from the server and displays them on a web page or application UI. For example, it displays "150 new users registered last month." The display is adjusted according to the user's emotions.
[1474] Example 2
[1475] 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."
[1476] While conventional systems can analyze natural language input and generate structured queries, they are unable to provide responses that take the user's emotional state into account, making it difficult to improve the user experience.In addition, they lack a means to clearly display complex data queries and analysis results, making it difficult for ordinary users to easily understand the data.
[1477] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1478] In this invention, the server includes means for analyzing natural language input and generating a corresponding structured query, means for recognizing the user's emotional state, and means for adjusting the content of the response according to the emotional state, thereby enabling efficient data acquisition and easy-to-understand responses that take the user's emotions into account.
[1479] "Natural language input" is an input format in which humans use ordinary words and sentences.
[1480] A "structured query" is a formalized query statement used to retrieve specific information from a database.
[1481] "Emotional state" refers to the user's current psychological and emotional state.
[1482] "Generative AI" is an AI technology that uses large amounts of data to learn and understand natural language.
[1483] "Format" refers to arranging data or information in a particular form or arrangement.
[1484] "Means for outputting to the user" refers to a display device or interface for providing acquired data and information to the user.
[1485] A "graphical form" is a graphical form used to visually represent numerical data.
[1486] The "means for adjusting the content of the response" refers to a means for changing the content and format of the response generated by the system depending on the emotional state of the user.
[1487] A "system" refers to the entire mechanism in which multiple components work together.
[1488] A "microphone" is an input device for collecting sound.
[1489] A "camera" is an input device for capturing images or videos.
[1490] The system of the present invention processes requests entered by users in natural language, provides data according to the requests, and at the same time recognizes the user's emotions and responds appropriately. This system combines a natural language processing (NLP) engine and an emotion recognition engine to achieve more human-like and intuitive interactions.
[1491] Capturing natural language input
[1492] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input requests in natural language. A web browser or dedicated application is installed on the device, and the user uses this to send requests. A specific example of input might be a request such as, "Please tell me last month's sales total."
[1493] Emotion recognition
[1494] The server uses an emotion recognition engine to recognize the user's emotional state through the device's built-in microphone and camera. This emotion recognition engine infers the user's emotions using data such as voice tone, facial expression analysis, and keystroke speed. Specific hardware used includes the device's camera and microphone. Specific software used includes voice analysis tools and facial expression recognition algorithms (e.g., voice recognition software for voice analysis and image processing algorithms for facial expression recognition).
[1495] Generate database queries
[1496] The server analyzes the request received from the user and generates the appropriate SQL query using a natural language processing engine. NLP engines used here include Google Cloud Natural Language API and OpenAI's GPT model. For example, if a user requests "What was the total sales last month?", the server generates the following SQL query:
[1497] sql
[1498] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1499] Regulating emotional responses
[1500] Before executing the generated structured query, the server uses an emotion recognition engine to ascertain the user's emotional state and adjust the content and format of the response accordingly. For example, if the user is feeling stressed, the response can be concise and relaxed.
[1501] Executing queries and retrieving data
[1502] After the emotional response adjustment is complete, the server executes the generated SQL queries against a database, which can use common database management systems such as MySQL or PostgreSQL to retrieve the required data.
[1503] Formatting and printing the results
[1504] The server formats the acquired data in a format that is easy for the user to understand. For example, it displays numerical data in text or graph format. Furthermore, it outputs the data in an appropriate style based on the analysis results of an emotion recognition engine. If the total sales amount is 500,000 yen and the user's emotion is positive, it will display something like, "Last month's total sales amounted to an impressive 500,000 yen!"
[1505] Sending and displaying results
[1506] Finally, the server sends the formatted results to the device, which displays the received data on a user interface, allowing the user to view the results on a web page or application.
[1507] Specific examples
[1508] Below are some examples of specific input and output.
[1509] User input and request flow
[1510] The user types into the device, "I want to see a graph of sales for each month last year." The device sends this request to the server, and at the same time, sends emotion recognition data to the server.
[1511] Server Processing
[1512] The server analyzes the received request using its NLP engine and generates the following SQL query:
[1513] sql
[1514] SELECT MONTHNAME(date) AS month, SUM(sales) AS total_sales FROM sales_data WHERE YEAR(date) = 2022 GROUP BY MONTH(date);
[1515] The server further uses an emotion engine to analyze the user's emotional state and tailor the response format.
[1516] Formatting and displaying results
[1517] The server executes the generated SQL query to retrieve monthly sales data. The data is then formatted for display in a graph and accompanied by a message based on the user's emotional state. For example, if the emotion is negative, a message like "Please check last year's sales data" is displayed. The server then sends the data to the device, which displays it in a graph format.
[1518] Example prompts for generative AI models
[1519] Here are some examples of prompts for generative AI models:
[1520] Example 1
[1521] When a user types "What are the total sales for last month?", generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[1522] Example 2
[1523] When a user types "I want a graph of sales for each month last year," generate an analysis result using natural language processing (NLP) and an SQL query based on that.
[1524] As described above, this system provides an intuitive natural language interface while taking into account the user's emotions, and enables efficient data acquisition and visualization.
[1525] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1526] Step 1:
[1527] The user enters a request in natural language
[1528] A user uses a device (such as a PC or smartphone) to access the system's user interface (UI) and input a complex data query request in natural language. This action generates natural language text as input, such as "What were the total sales for last month?". The device then sends this input to the server.
[1529] Step 2:
[1530] The device recognizes the user's emotions
[1531] The device uses a built-in microphone and camera to capture the user's emotional state. Input includes voice tone, facial expression data, and keystroke speed. The device analyzes this data, generates data to infer the user's emotional state, and sends it to the server. Specific operations include the use of voice analysis algorithms and facial expression recognition algorithms.
[1532] Step 3:
[1533] The server parses the request and generates an SQL query
[1534] The server uses an NLP engine to analyze the user's natural language request. Based on this analysis, it generates a corresponding structured query. As input, it uses the text "What were the total sales last month?" and emotional state information. As output, it generates an SQL query like this:
[1535] sql
[1536] SELECT SUM(sales) FROM sales_data WHERE date >= '2023-09-01' AND date <= '2023-09-30';
[1537] Specifically, it performs text analysis using the Google Cloud Natural Language API and OpenAI's GPT model.
[1538] Step 4:
[1539] The server adjusts its response based on the emotion.
[1540] The server uses an emotion recognition engine to check the user's emotional state and adjust the response content. Emotional state information is used as input, and response format adjustment is output. For example, if the user is feeling stressed, the server uses simple and relaxed wording. Specific operations include adjusting the response sentence based on the user's emotional state.
[1541] Step 5:
[1542] The server executes the SQL query and retrieves the data.
[1543] The server executes the generated SQL queries against a database, using the generated SQL queries as input and obtaining the query results from the database as output, specifically using a database management system such as MySQL or PostgreSQL to process the data.
[1544] Step 6:
[1545] The server formats the results and outputs them in a user-friendly format.
[1546] The server formats the data it receives and processes it into an understandable format. It takes as input the query results from the database and emotional state information. It generates formatted data as output, for example displaying numerical data in text or graph format. Specific operations include data formatting and graph generation algorithms. For a total sales of $500,000, it generates a response like "Last month's total sales were an impressive $500,000!"
[1547] Step 7:
[1548] The server sends the final result to the terminal, which displays the result.
[1549] The server sends the formatted result data to the terminal. The formatted data is used as input and the terminal receives and displays it as output. The terminal displays the result on the user interface, making it visually clear to the user. Specific operations include sending data and drawing the UI.
[1550] (Application example 2)
[1551] 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."
[1552] Conventional natural language processing systems often return a uniform response without considering the user's emotional state. As a result, users are unable to receive the optimal response based on their own emotions and circumstances, resulting in a poor customer experience. Furthermore, emotion-based responses are required in a variety of applications, such as virtual stores, but there have been few systems that can achieve this.
[1553] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1554] In this invention, the server includes means for accepting natural language input, means for analyzing the accepted natural language input and generating a corresponding structured query, means for executing the generated structured query to obtain numerical data, means for formatting the obtained numerical data and outputting it to the user, means for using an emotion engine to recognize the emotional state of the user, and means for adjusting the content of a response based on the emotional state of the user recognized by the emotion engine, thereby providing an optimal response according to the user's emotions and improving the customer experience in virtual stores and other applications.
[1555] The "natural language input means" is a means having a function of accepting natural language such as user speech or text input.
[1556] The "structured query generation means" is a means having a function of analyzing a received natural language input and generating a corresponding database query (for example, an SQL query).
[1557] The "query execution means" is a means having a function of executing the generated structured query against the database and obtaining the required data.
[1558] The "data formatting means" is a means having a function of converting acquired data into a format that is easy for the user to understand.
[1559] The "emotion recognition means" is a means having the function of inferring the user's emotional state using data such as voice tone, facial expression, and typing speed.
[1560] A "response adjustment means" is a means that has the function of adjusting the content and tone of a response based on the recognized emotional state of the user.
[1561] The present invention relates to a system for processing requests input by a user in natural language, recognizing the user's emotions, and providing corresponding data. Specific methods for implementing the present invention will be described below.
[1562] First, a user accesses the system's user interface using a device such as a smartphone or PC and inputs a request in natural language. For example, a request might be, "I want the latest smartphone" or "Is this product in stock?" This natural language input is sent to the server via the device's input means.
[1563] The server analyzes the received natural language request using a natural language processing engine (NLP engine) and generates a corresponding SQL query. It uses a generative AI model to understand the intent of the request and automatically generates an appropriate structured query. For example, for a request like "I want the latest smartphone," a query is generated to retrieve the latest smartphones from a product database.
[1564] The generated structured query is executed by the server to retrieve the required numerical data and product information from the database. Since the retrieved data may be difficult for users to understand as it is, the server uses a data formatting method to convert it into a format that is visually easy for users to understand.
[1565] Another feature of this system is that the server is equipped with an emotion engine that recognizes the user's emotional state. The emotion engine infers the user's emotional state using voice tone and facial expression analysis data collected through the device's microphone and camera. For example, if the user is feeling stressed when asking a question, the emotion engine will recognize that state.
[1566] Based on the user's perceived emotional state, the server adjusts the content and tone of the response. For example, if the user is feeling stressed, the server will simplify the response and use relaxed language. This allows the user to use the system without feeling uncomfortable.
[1567] Finally, the formatted response is sent back to the device and displayed on the user interface, allowing the user to quickly and accurately obtain the information they need through visual graph displays and emotion-based messages.
[1568] Specific examples
[1569] Example 1:
[1570] If the user types "Is this item in stock?" and has a smiley face.
[1571] Output response: "😊 We have plenty of this item in stock!"
[1572] Example 2:
[1573] The user types "I want to return the item" and their facial expression looks dissatisfied.
[1574] Response: "😔 Returns are easy! Contact support for more information."
[1575] Example prompts for generative AI models
[1576] Type: "I want the latest smartphone."
[1577] Emotion: Smile
[1578] Response: "😊 The latest smartphones are: New Model A, Model B, and Model C."
[1579] The present invention provides optimal responses according to the user's emotions, improving the customer experience in virtual stores and other applications. This allows users to easily obtain data and search for products without specialized knowledge, and also provides responses according to their emotional state, resulting in a better user experience.
[1580] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1581] Step 1:
[1582] The user inputs a request in natural language from the terminal.
[1583] Input: A natural language request (e.g., "I want the latest smartphone").
[1584] Specific Actions: Through the user interface, the user enters a question in the text box and clicks the submit button.
[1585] Step 2:
[1586] The terminal sends the user's request to the server.
[1587] Input: The natural language request entered in step 1.
[1588] Output: The raw request data sent to the server.
[1589] Specific operation: The terminal sends the request to the server as an HTTP request.
[1590] Step 3:
[1591] The server parses the natural language request using an NLP engine and generates a corresponding structured query.
[1592] Input: The raw request data sent to the server.
[1593] Output: A structured SQL query (e.g., "SELECT FROM products WHERE category = 'smartphone' ORDER BY release_date DESC").
[1594] What it does: The server's NLP engine analyzes the text, and a generative AI model understands the intent of the request and generates the corresponding query.
[1595] Step 4:
[1596] The server uses the voice tone and facial expression analysis data sent from the terminal to recognize the user's emotional state using an emotion engine.
[1597] Input: User's voice tone, facial expression analysis data.
[1598] Output: Data with each emotional state identified (e.g., "smiling").
[1599] Specific operation: The emotion engine analyzes the audio and video data sent from the device and infers the user's emotional state.
[1600] Step 5:
[1601] The server executes the structured query and retrieves the corresponding data from the database.
[1602] Input: A structured SQL query.
[1603] Output: Product and numerical data retrieved from the database.
[1604] What happens next: The server executes a structured query against the database to retrieve the required information.
[1605] Step 6:
[1606] The server formats the data it receives and converts it into a user-friendly format.
[1607] Input: Product or numerical data retrieved from a database.
[1608] Output: Formatted output data (e.g., "The latest smartphones are: Model A, Model B...").
[1609] What it does: The server formats the data it receives based on a template and converts it into a visually understandable format.
[1610] Step 7:
[1611] The server generates response content adjusted by the emotion engine.
[1612] Input: Formatted output data and emotional state identification data.
[1613] Output: Optimal response message based on emotion (e.g., "😊 The latest smartphones are: Model A, Model B...").
[1614] Specific behavior: The server adjusts the tone and content of the response based on the analysis results of the emotion engine.
[1615] Step 8:
[1616] The server sends the final response to the terminal, which displays it on its user interface.
[1617] Input: The best response message generated by the server.
[1618] Output: The response message that is displayed on the user's screen.
[1619] Specific operation: The server sends a final response message to the terminal, which displays it on the user interface.
[1620] This allows the user to quickly and accurately obtain appropriate information according to their emotional state.
[1621] 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.
[1622] 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.
[1623] 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.
[1624] 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.
[1625] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1626] 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.
[1627] 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).
[1628] 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.
[1629] 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."
[1630] 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.
[1631] 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).
[1632] 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.
[1633] 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.
[1634] 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.
[1635] 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.
[1636] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1637] 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.
[1638] 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.
[1639] 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.
[1640] 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.
[1641] 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.
[1642] The following is further disclosed regarding the above embodiment.
[1643] (Claim 1)
[1644] means for accepting natural language input;
[1645] means for parsing the received natural language input and generating a corresponding structured query;
[1646] a means for executing the generated structured query to obtain the numeric data;
[1647] means for formatting and outputting the retrieved numerical data to a user;
[1648] A system including:
[1649] (Claim 2)
[1650] 10. The system of claim 1, including means for using generative artificial intelligence to analyze natural language input.
[1651] (Claim 3)
[1652] 10. The system of claim 1, further comprising means for displaying the obtained numerical data in a graphical format.
[1653] "Example 1"
[1654] (Claim 1)
[1655] means for accepting natural language input;
[1656] means for parsing the received natural language input and generating a corresponding structured query;
[1657] a means for executing the generated structured query to obtain the numeric data;
[1658] means for formatting and outputting the retrieved numerical data to a user;
[1659] means for transmitting the generated numerical data to a user terminal;
[1660] means for converting the numerical data into a format for visual display on a user terminal;
[1661] A system including:
[1662] (Claim 2)
[1663] 10. The system of claim 1, including means for using generative artificial intelligence to analyze natural language input.
[1664] (Claim 3)
[1665] 10. The system of claim 1, further comprising means for displaying the obtained numerical data in a graphical format.
[1666] "Application Example 1"
[1667] (Claim 1)
[1668] means for accepting natural language input;
[1669] means for parsing the received natural language input and generating a corresponding structured query;
[1670] a means for executing the generated structured query to obtain the numeric data;
[1671] including means for formatting and visually displaying the retrieved numerical data;
[1672] It has applications that are installed on the system,
[1673] A system that provides vehicle operation information to users through a series of processes.
[1674] (Claim 2)
[1675] 2. The system of claim 1, further comprising means for formatting the acquired numerical data and displaying a graph of the vehicle operation information.
[1676] (Claim 3)
[1677] 10. The system of claim 1, further comprising means for using a generative AI model to analyze natural language input.
[1678] "Example 2: Combining Emotion Engines"
[1679] (Claim 1)
[1680] means for accepting natural language input;
[1681] means for parsing the received natural language input and generating a corresponding structured query;
[1682] means for recognizing the emotional state of a user;
[1683] a means for adjusting the content of responses depending on emotional state;
[1684] a means for executing the generated structured query to obtain the numeric data;
[1685] means for formatting and outputting the retrieved numerical data to a user;
[1686] A system including:
[1687] (Claim 2)
[1688] 10. The system of claim 1, which uses generative artificial intelligence to analyze natural language input.
[1689] (Claim 3)
[1690] 10. The system of claim 1, further comprising means for displaying the obtained numerical data in a graphical format.
[1691] "Application example 2 when combining emotion engines"
[1692] (Claim 1)
[1693] means for accepting natural language input;
[1694] means for parsing the received natural language input and generating a corresponding structured query;
[1695] a means for executing the generated structured query to obtain the numeric data;
[1696] means for formatting and outputting the retrieved numerical data to a user;
[1697] means for using an emotion engine to recognize an emotional state of a user;
[1698] means for adjusting the response content based on the emotional state of the user recognized by the emotion engine;
[1699] A system including:
[1700] (Claim 2)
[1701] 10. The system of claim 1, including means for using generative artificial intelligence to analyze natural language input.
[1702] (Claim 3)
[1703] 10. The system of claim 1, further comprising means for displaying the obtained numerical data in a graphical format. [Explanation of symbols]
[1704] 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 accepting natural language input; means for parsing the received natural language input and generating a corresponding structured query; a means for executing the generated structured query to obtain the numeric data; means for formatting and outputting the retrieved numerical data to a user; A system including:
2. 10. The system of claim 1, further comprising means for employing generative artificial intelligence to analyze natural language input.
3. 10. The system of claim 1, further comprising means for displaying the acquired numerical data in a graphical format.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A