system

A system that processes natural language input to generate and adjust SQL queries addresses the challenges of learning SQL and schema changes, enabling easy and flexible data extraction.

JP2026035385APending Publication Date: 2026-03-04SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-19
Publication Date
2026-03-04

AI Technical Summary

Technical Problem

Learning database languages such as SQL requires time and effort, making it difficult for users without specialized knowledge to efficiently extract data, and updating queries is cumbersome and prone to errors, especially in environments where database schemas change frequently.

Method used

A system that receives input in natural language, analyzes it to identify data extraction conditions, generates and executes appropriate SQL queries, formats results, and automatically adjusts queries based on schema changes, allowing non-technical users to easily extract data.

Benefits of technology

Enables non-technical users to intuitively perform data extraction and adapt to schema changes, improving operational flexibility and reducing errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026035385000001_ABST
    Figure 2026035385000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for receiving an input in a natural language; means for analyzing the received input to identify a data extraction condition; means for generating an appropriate SQL query based on the identified data extraction condition; means for executing the generated SQL query against a database; means for formatting results obtained from the database; and means for displaying the formatted results.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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] The use of databases in modern times is becoming increasingly important in a wide range of areas, including business and research. However, learning database languages ​​such as SQL requires time and effort, making it difficult for users without specialized knowledge to efficiently extract data. Furthermore, in environments where database schemas change frequently, updating queries is cumbersome and prone to errors. To solve these problems, there is a need for a system that allows anyone to easily and efficiently extract data from databases. [Means for solving the problem]

[0005] The present invention solves the above-mentioned problems by providing a system including means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query against a database, means for formatting results obtained from the database, and means for displaying the formatted results. Furthermore, by further including means for monitoring database schema changes and means for automatically adjusting existing SQL queries based on the schema changes, a flexible system that can respond to schema changes is realized. Furthermore, by adding means for analyzing input using natural language processing, even users without specialized knowledge can intuitively perform data extraction.

[0006] "Means for receiving input in natural language" means a function for receiving natural language text entered by a user in digital form.

[0007] The "means for analyzing received input and identifying data extraction conditions" is a function for analyzing received natural language text and identifying appropriate database fields and conditions from the content.

[0008] "Means for generating an appropriate SQL query based on the identified data extraction conditions" refers to a function for automatically generating an appropriate SQL statement for retrieving the required information from the database based on the data extraction conditions identified through analysis.

[0009] The "means for executing the generated SQL query against the database" is a function for sending the generated SQL statement to the database and executing a query within the database based on the SQL statement.

[0010] "A means of formatting results retrieved from a database" is a function that converts the data returned as a result of executing an SQL query into a format that is easy for the user to understand.

[0011] The "means for displaying the formatted results" is a function for displaying the formatted data on a user interface.

[0012] "Means for monitoring changes to database schema" is a function for monitoring and detecting changes to the database structure and table definitions.

[0013] "Means for automatically adjusting existing SQL queries based on schema changes" refers to a function that automatically modifies existing SQL queries to match the new schema when the database schema is changed.

[0014] "Means for analyzing input using natural language processing" is a function for using natural language processing technology to analyze natural language text entered by a user. [Brief explanation of the drawings]

[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0017] First, the terms used in the following description will be explained.

[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0023] [First embodiment]

[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0036] The present invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate SQL query based on the identified conditions, and formats and displays the obtained results.

[0037] System configuration

[0038] This system consists of a terminal, a server, and a database. The user enters data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[0039] Program processing overview

[0040] 1. Receiving user input

[0041] Users use the chat interface on their device to input data extraction conditions in natural language.

[0042] Example: Enter "Show me sales data for 2022."

[0043] 2. Parsing the Input

[0044] The server receives user input sent from the terminal.

[0045] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[0046] The analysis extracts keywords such as year and sales data.

[0047] 3. Generating SQL Queries

[0048] The server generates an appropriate SQL query based on the analysis results.

[0049] Example: "SELECT FROM sales WHERE year = 2022;"

[0050] 4. Execute the query

[0051] The server sends the generated SQL query to the database and executes it.

[0052] As a result, data is returned from the database.

[0053] 5. Formatting the results

[0054] The server formats the results retrieved from the database.

[0055] Example: Format the acquired sales data into a table.

[0056] 6. Displaying the results

[0057] The formatted results are sent from the server to the terminal, which displays them to the user.

[0058] Specific examples

[0059] Example 1: Simple Data Extraction

[0060] User Actions

[0061] The user types "Show me sales data for 2022" into the device.

[0062] System Operation

[0063] User input is sent from the terminal to the server.

[0064] The server analyzes the received input and identifies the conditions "2022" and "sales data."

[0065] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[0066] The server executes the SQL query against the database and retrieves the query results.

[0067] The server formats the retrieved data into a table.

[0068] The formatted result is sent to the terminal and displayed to the user.

[0069] Displaying the results

[0070] +---------+----------+--------+

[0071] | Item ID | Year | Sales |

[0072] +---------+----------+--------+

[0073] | 001 | 2022 | 1000 |

[0074] | 002 | 2022 | 1500 |

[0075] +---------+----------+--------+

[0076] Example 2: Complex Data Extraction

[0077] User Actions

[0078] The user types into the terminal, "Get the order history of all customers for 2022."

[0079] System Operation

[0080] User input is sent from the terminal to the server.

[0081] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[0082] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[0083] The server executes the SQL query against the database and retrieves the query results.

[0084] The server formats the retrieved data into a table.

[0085] The formatted result is sent to the terminal and displayed to the user.

[0086] Displaying the results

[0087] +-----------+---------+----------+--------+

[0088] | Customer | OrderID | Year | Amount |

[0089] +-----------+---------+----------+--------+

[0090] | John Doe | 1001 | 2022 | 500 |

[0091] | Jane Smith | 1002 | 2022 | 800 |

[0092] +-----------+---------+----------+--------+

[0093] System Flexibility

[0094] This system can also accommodate changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a schema change is detected, it automatically adjusts existing SQL queries to always support the latest database schema.

[0095] This system configuration provides an environment where anyone can easily extract data without knowledge of SQL, and it can also accommodate schema changes, greatly improving operational flexibility.

[0096] The processing flow will be explained below.

[0097] Step 1:

[0098] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[0099] Step 2:

[0100] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[0101] Step 3:

[0102] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[0103] Step 4:

[0104] The server receives user input sent from the device, and passes the received data to a component for analysis.

[0105] Step 5:

[0106] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[0107] Step 6:

[0108] The server generates an appropriate SQL query based on the analysis results. By combining the analyzed conditions, an SQL query such as "SELECT FROM sales WHERE year = 2022;" is automatically constructed.

[0109] Step 7:

[0110] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[0111] Step 8:

[0112] The database executes the SQL query and returns the results, which are sent to the server's processing component.

[0113] Step 9:

[0114] The server formats the results retrieved from the database, specifically converting the retrieved data into a format that is easy for the user to understand, such as a table or graph.

[0115] Step 10:

[0116] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[0117] Step 11:

[0118] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[0119] Step 12:

[0120] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[0121] Example 1

[0122] 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."

[0123] In recent years, creating SQL queries to extract necessary information from databases has required specialized knowledge, making it a burden, especially for non-technical users. Furthermore, when database schemas change, it is difficult to appropriately adjust existing queries to accommodate those changes. Furthermore, while there is a demand for interfaces that allow users to specify data extraction criteria in natural language, such interfaces are limited. Therefore, there is a need for a system that allows non-technical users to easily extract information from databases and that can flexibly accommodate changes in the database schema.

[0124] 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.

[0125] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query based on the identified data extraction conditions, means for executing the generated query against a database, means for formatting results obtained from the database, means for formatting the results for visual display to a user, means for displaying the formatted results, means for monitoring schema changes in the database, means for automatically adjusting existing queries based on schema changes, means for analyzing the input using natural language processing, and means for automatically generating queries based on the analysis results.This enables even non-technical users to easily extract information from a database using natural language, and also enables queries to be automatically adjusted to adapt to changes in the database schema, improving the flexibility of the system.

[0126] "Means for receiving input in natural language" refers to an interface through which a system receives questions or requests written by a user in natural language.

[0127] "Means for analyzing received input and identifying data extraction conditions" refers to a function for analyzing received natural language input and clarifying the conditions for extracting the required data.

[0128] "Means for generating an appropriate query based on the identified data extraction conditions" refers to a function for creating a query for retrieving information from a database based on the analyzed data extraction conditions.

[0129] The "means for executing the generated query on the database" is a function for sending the generated query to the database and performing processing to actually retrieve the data.

[0130] "Means for formatting results obtained from a database" refers to the function of converting raw data obtained from a database into a format that is easy for users to understand.

[0131] "Means for formatting the results for visual display to the user" refers to the ability to present the formatted data in a visually easy-to-understand format such as a table or graph.

[0132] "Means for displaying formatted results" refers to a function that displays formatted data in a user interface.

[0133] "Means for monitoring changes to the database schema" refers to a function that detects changes to the database structure when they occur.

[0134] "Means to automatically adjust existing queries based on schema changes" refers to the ability to automatically update existing queries to function correctly when the structure of the database changes.

[0135] "Means for analyzing input using natural language processing" refers to technology that converts a user's natural language input into an understandable form.

[0136] "Means for automatically generating queries based on analysis results" refers to a function that automatically creates database queries based on the analyzed data extraction conditions.

[0137] The present invention is a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate query based on the identified conditions, and formats and displays the obtained results. This system is composed of a terminal, a server, and a database. A user inputs data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[0138] Hardware and software used

[0139] Device: A device such as a computer, tablet, or smartphone on which a user provides natural language input.

[0140] Server: A computer system that analyzes user input, generates queries, and executes them. The server analyzes the input using a natural language processing engine (e.g., Google® NLP API or IBM Watson®).

[0141] Database: A data storage system that queries data and returns results. Examples include MySQL (registered trademark) and PostgreSQL.

[0142] Specific operation of the system

[0143] 1. Receiving user input

[0144] The user uses the chat interface on the device to input data extraction criteria in natural language. For example, they might type "Show me sales data for 2022" and click the submit button. The device sends this input to the server in JSON format, and the actual prompt used is as follows:

[0145] "Show me sales data for 2022"

[0146] "Get all customers' order history for 2022"

[0147] 2. Parsing the Input

[0148] The server parses the user input received from the device as JSON data and extracts the contents of the query field. It then uses a natural language processing engine to analyze the received input and identify data extraction criteria. For example, keywords such as "2022" and "sales data" are extracted.

[0149] 3. Generating SQL Queries

[0150] The server generates an appropriate SQL query based on the analysis results, for example, "SELECT FROM sales WHERE year = 2022;".

[0151] 4. Execute the query

[0152] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends the results back to the server.

[0153] 5. Formatting the results

[0154] The server formats the results retrieved from the database and converts them into a format that is easy for the user to understand, for example, formatting the retrieved sales data into a table.

[0155] 6. Displaying the formatting results

[0156] The formatted results are sent from the server to the terminal, which displays them to the user in HTML tables, graphs, or other formats.

[0157] Specific examples

[0158] For example, if a user types "Show me sales data for 2022," the overall system behavior is as follows:

[0159] User input is sent from the terminal to the server.

[0160] The server parses the received input and identifies the conditions "2022" and "sales data."

[0161] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[0162] The server executes the query against the database and obtains the query results.

[0163] The server formats the retrieved data into a table.

[0164] The formatted result is sent to the terminal and displayed to the user.

[0165] The above is an embodiment of the present invention, and this configuration allows the user to efficiently extract and display required data based on conditions entered in natural language.

[0166] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0167] Step 1:

[0168] The user uses the chat interface on the device to input data extraction conditions in natural language. For example, the input prompt might be "Show me sales data for 2022." The device converts this input data into JSON format and sends it to the server as an HTTP request (POST method).

[0169] input:

[0170] A natural language prompt (e.g., "Show me the sales data for 2022")

[0171] Data processing:

[0172] Convert natural language prompts to JSON format

[0173] output:

[0174] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[0175] Specific behavior:

[0176] The user types a prompt into the device's chat interface.

[0177] The terminal converts the input into JSON format and sends it to the server

[0178] Step 2:

[0179] The server parses the JSON data received from the device and extracts the contents of the query field. It then uses a natural language processing engine to parse this extracted natural language input and identify data extraction conditions.

[0180] input:

[0181] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[0182] Data processing:

[0183] Parsing JSON data and interpreting it using a natural language processing engine

[0184] output:

[0185] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[0186] Specific behavior:

[0187] The server extracts the query field from the JSON data.

[0188] Send the extracted prompt sentence to the natural language processing engine and receive the analysis results.

[0189] Step 3:

[0190] The server uses the analysis results to generate appropriate SQL queries, which are constructed based on the data extraction criteria.

[0191] input:

[0192] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[0193] Data processing:

[0194] Generate SQL queries based on analysis results

[0195] output:

[0196] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[0197] Specific behavior:

[0198] The server constructs an SQL query based on the analysis results

[0199] Log the generated query and pass it to the next step

[0200] Step 4:

[0201] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends a result set back to the server.

[0202] input:

[0203] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[0204] Data processing:

[0205] Execute SQL queries and extract data

[0206] output:

[0207] A result set (e.g. rows of sales data)

[0208] Specific behavior:

[0209] The server establishes a database connection

[0210] Sending SQL queries to a database and receiving result sets

[0211] Step 5:

[0212] The server formats the result set retrieved from the database and converts it into a format that is easy for the user to understand, for example, by formatting the retrieved results in a table or JSON format.

[0213] input:

[0214] A result set (e.g. rows of sales data)

[0215] Data processing:

[0216] Result set cleanup and formatting

[0217] output:

[0218] Formatted results (e.g. sales data in a table)

[0219] Specific behavior:

[0220] The server applies logic to format the result set

[0221] Convert formatted data to HTML or JSON format

[0222] Step 6:

[0223] The formatted results are sent from the server to the device, which displays the data to the user using HTML tables or data visualization tools.

[0224] input:

[0225] Formatted results (e.g. sales data in a table)

[0226] Data processing:

[0227] none

[0228] output:

[0229] Results displayed on the device's display screen

[0230] Specific behavior:

[0231] The server sends the formatted result to the terminal as an HTTP response

[0232] The device analyzes the received result data and displays it on the user's screen.

[0233] (Application example 1)

[0234] 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."

[0235] Conventional data extraction systems required users to have knowledge of SQL, and they also had the problem of being difficult to flexibly respond to changes in database schema. Furthermore, data extraction tasks in factories are complex and diverse, so an efficient system was needed to enable operators to quickly acquire and analyze data. This reduced the efficiency of data extraction tasks and increased the risk of work delays and errors.

[0236] 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.

[0237] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for displaying the formatted results, and means for converting the natural language input into an SQL query using a generative AI model. This enables an operator to efficiently extract data using natural language input while monitoring database schema changes, even without knowledge of SQL.

[0238] "Means for receiving input in natural language" refers to an interface that allows a user to input data extraction conditions in natural language and receive them in the system.

[0239] The "means for analyzing the received input and identifying the data extraction conditions" refers to an algorithm or process for analyzing the received natural language input and identifying the conditions necessary for data extraction from it.

[0240] "Means for generating appropriate SQL queries based on the identified data extraction criteria" refers to a processing system or module for automatically generating appropriate SQL queries based on the identified data extraction criteria.

[0241] A "means for executing the generated SQL queries against the database" means a system or mechanism for transmitting the generated SQL queries to the database and executing them.

[0242] "Means for formatting the results obtained from the database" refers to the process of converting the raw data obtained from the database into a format that is easy for the user to understand.

[0243] "Means for displaying the formatted results" refers to an interface or system for displaying the formatted data on a terminal screen.

[0244] A "means for converting natural language input into SQL queries using a generative AI model" means a processing system that uses a generative AI model to parse input natural language text and convert it into a corresponding SQL query.

[0245] "Means for monitoring changes to a database schema" refers to a monitoring system for detecting changes to the schema in a database.

[0246] "Means for automatically adjusting existing SQL queries based on schema changes" means a mechanism for automatically modifying existing SQL queries in response to schema changes.

[0247] "Means for analyzing input and generating prompt sentences using natural language processing" refers to a system that uses natural language processing technology to analyze user input and generate appropriate prompt sentences based on that input.

[0248] This invention relates to a system in which factory operators input data extraction conditions in natural language. The system analyzes the input natural language, converts it into an appropriate SQL query using a generative AI model, and retrieves and displays the required data from the database. This makes it easy to extract data even without knowledge of SQL.

[0249] System Configuration

[0250] The system is configured as follows:

[0251] 1. Device:

[0252] This includes a smartphone or head-mounted display (e.g., Google Glass®) used by the operator.

[0253] An interface for entering data extraction conditions in natural language through a chat interface.

[0254] 2. Server:

[0255] The server receives natural language input sent from the device and analyzes the input using a natural language processing engine (using OpenAI's GPT-3.5).

[0256] Parses the input and generates the appropriate SQL query based on the specified data extraction criteria.

[0257] Run the generated SQL query against the database and format the results.

[0258] 3. Database:

[0259] Database management systems such as SQLite are used to store factory operation logs and production data.

[0260] Hardware and Software

[0261] Hardware:

[0262] Smartphone or head-mounted display

[0263] software:

[0264] Flask (Web application framework)

[0265] OpenAI's GPT-3.5 (natural language processing engine)

[0266] SQLite (database management system)

[0267] Program processing explanation

[0268] The server first receives natural language input from the device. It then analyzes this input using a natural language processing engine to identify the necessary data extraction conditions. It generates an SQL query based on the specific analysis results and sends this query to the database for execution. The response data from the database is formatted by the server and sent to the device.

[0269] Specific examples

[0270] For example, if a factory operator types the following prompt into a smartphone or head-mounted display:

[0271] "Please show the operating rate of Line 2 in October 2022."

[0272] The server then uses a generative AI model to translate this input into an appropriate SQL query, generating something like this:

[0273] "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;"

[0274] This SQL query is run against the database to retrieve the necessary data from the plant's operation logs, which is then formatted and displayed on the operator's terminal.

[0275] As described above, the present invention provides a system that enables an operator to efficiently obtain required information from a database using natural language.

[0276] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0277] Step 1:

[0278] The user uses a terminal to input data extraction conditions in natural language and submits them. The input here is a prompt statement from the operator, such as "Show me the utilization rate of line 2 in October 2022." The terminal then submits this natural language input to the server.

[0279] Step 2:

[0280] The server receives natural language input sent from the device. The input data is a prompt sentence: "Show the utilization rate of Line 2 in October 2022." The server sends this input data to a natural language processing engine (OpenAI's GPT-3.5) to analyze the received input.

[0281] Step 3:

[0282] The server uses a natural language processing engine to analyze the received input data and identify the data extraction criteria. The input is a prompt statement such as "Show the utilization rate of line 2 in October 2022," and the resulting analysis results in the data extraction criteria being "Year: 2022," "Month: October," and "Line ID: 2."

[0283] Step 4:

[0284] The server generates an SQL query based on the analysis result. The input data is the analysis result "2022, October, Line ID: 2", and the server generates the SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;" based on this.

[0285] Step 5:

[0286] The server sends the generated SQL query to the database and executes it. The input data is the generated SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;", and the server sends it to the database and executes it.

[0287] Step 6:

[0288] The database searches for data based on the executed SQL query and returns the results to the server. The input data is the SQL query result, and "operation log data" is generated as the output.

[0289] Step 7:

[0290] The server formats the results obtained from the database. The input data is the "operation log data" obtained from the database, and the server formats it into a format that is easy for users to understand, such as a table.

[0291] Step 8:

[0292] The formatted results are sent to the terminal and displayed to the user. The input data is the formatted log data, which the server sends to the terminal and the terminal displays to the user. The user can view data related to "Line 2 operating rate in October 2022" through the terminal.

[0293] As described above, each processing step works together to receive data, analyze it, generate a query, execute it, and format and display the results, thereby realizing a system that allows users to quickly and easily extract the data they need through natural language input.

[0294] 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.

[0295] This invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes appropriate SQL queries based on the identified conditions, and formats and displays the acquired results. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to adjust the data extraction conditions and change the display format based on the user's emotions.

[0296] System configuration

[0297] This system consists of a terminal, a server, a database, and an emotion engine. The user inputs data extraction conditions in natural language via the terminal, which is then sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal. Furthermore, the emotion engine recognizes the user's emotions and adjusts the data extraction conditions and display format based on those emotions.

[0298] Program processing overview

[0299] 1. Receiving user input

[0300] The user inputs data extraction conditions in natural language using the chat interface of the terminal.

[0301] Example: "Show me sales data for 2022"

[0302] 2. Parsing the Input

[0303] The server receives user input sent from the terminal.

[0304] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[0305] The analysis extracts keywords such as year and sales data.

[0306] 3. Emotional Recognition

[0307] The server uses an emotion engine to recognize emotions from the user's input.

[0308] Example: Identifying emotions such as "dissatisfaction" or "excitement" from an input sentence.

[0309] 4. Generating SQL Queries

[0310] The server generates appropriate SQL queries based on the analysis results and the recognized emotions.

[0311] Example: "SELECT FROM sales WHERE year = 2022;"

[0312] 5. Execute the query

[0313] The server's database access component sends the generated SQL query to the database for execution.

[0314] As a result, data is returned from the database.

[0315] 6. Formatting the results

[0316] The server formats the results retrieved from the database, adjusting the format depending on the emotion.

[0317] For example: a graphical representation for excited users and a detailed table representation for disgruntled users.

[0318] 7. Displaying the results

[0319] The formatted results are sent from the server to the terminal, which displays them to the user.

[0320] Specific examples

[0321] Example 1: Simple data extraction and emotion recognition

[0322] User operations

[0323] The user types "Show me sales data for 2022" into the device. The emotion engine recognizes that the user is excited when typing.

[0324] System Operation

[0325] User input is sent from the terminal to the server.

[0326] The server analyzes the input it receives and identifies the conditions "2022" and "sales data."

[0327] The emotion engine recognizes the user's state of excitement.

[0328] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[0329] The server executes the SQL query against the database and retrieves the query results.

[0330] The server formats the data it receives into a graph.

[0331] The formatted result is sent to the terminal and displayed to the user.

[0332] Displaying the results

[0333] (Sales data displayed in graph form)

[0334] Example 2: Complex Data Extraction and Emotion Modulation

[0335] User operations

[0336] The user types into the terminal, "Get the order history of all customers for 2022." At this time, the emotion engine recognizes that the user is dissatisfied.

[0337] System Operation

[0338] User input is sent from the terminal to the server.

[0339] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[0340] The emotion engine recognizes the user's dissatisfaction state.

[0341] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[0342] The server executes the SQL query against the database and retrieves the query results.

[0343] The server formats the retrieved data into a detailed table.

[0344] The formatted result is sent to the terminal and displayed to the user.

[0345] Displaying the results

[0346] +-----------+---------+----------+--------+

[0347] | Customer | OrderID | Year | Amount |

[0348] +-----------+---------+----------+--------+

[0349] | John Doe | 1001 | 2022 | 500 |

[0350] | Jane Smith | 1002 | 2022 | 800 |

[0351] +-----------+---------+----------+--------+

[0352] System Flexibility

[0353] This system can also handle changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a change is detected, it automatically adjusts existing SQL queries to accommodate the latest database schema. Furthermore, an emotion engine can take user emotions into account, allowing for more personalized interactions.

[0354] The processing flow will be explained below.

[0355] Step 1:

[0356] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[0357] Step 2:

[0358] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[0359] Step 3:

[0360] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[0361] Step 4:

[0362] The server receives user input sent from the device, and passes the received data to the component for analysis.

[0363] Step 5:

[0364] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[0365] Step 6:

[0366] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine identifies emotions such as "frustrated" or "excited" from the input sentence.

[0367] Step 7:

[0368] The server generates an appropriate SQL query based on the analysis results and the recognized sentiment. For example, the SQL query "SELECT FROM sales WHERE year = 2022;" is automatically constructed based on the analyzed extraction conditions.

[0369] Step 8:

[0370] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[0371] Step 9:

[0372] The database executes the SQL query and returns the results to the server, which sends the returned data to a processing component on the server.

[0373] Step 10:

[0374] The server formats the results it retrieves from the database, for example, a graph if the user is excited, or a detailed table if the user is unhappy.

[0375] Step 11:

[0376] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[0377] Step 12:

[0378] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[0379] Step 13:

[0380] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[0381] Example 2

[0382] 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."

[0383] Conventional data extraction systems make it difficult for users to specify data extraction conditions directly in natural language, and they are unable to consider user sentiment. Furthermore, changes to the database schema require manual modification of SQL queries, which is time-consuming. This results in a poor user experience and makes efficient data extraction difficult.

[0384] 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.

[0385] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query language query based on the identified data extraction conditions, means for executing the generated query language query on an information repository, means for formatting results obtained from the information repository, means for displaying the formatted results, means for recognizing a user's emotion, and means for adjusting the data extraction conditions and display format based on the recognized emotion. This allows the user to specify data extraction conditions in natural language, realizes data display according to the user's emotion, and also makes it possible to automatically respond to schema changes in the information repository.

[0386] "Natural language" refers to language that humans use on a daily basis, such as normal written or spoken language.

[0387] "Data extraction conditions" refer to the specific conditions or criteria for obtaining the necessary data from a database or information repository.

[0388] A "query language query" is a command or question that is used to search for or manipulate data in a database management system.

[0389] An "information repository" is a system or facility for storing and managing data and information in an organized manner. For example, it includes a database.

[0390] "Recognition" is the ability to understand and grasp specific situations, emotions, conditions, etc. based on input information.

[0391] "Formatting" is the process of converting acquired data into a format that is easy to view and understand.

[0392] "Emotions" are the emotional reactions such as joy, sadness, excitement, and dissatisfaction that humans experience in response to certain situations or events.

[0393] "Analysis" refers to the process of breaking down input information into smaller pieces and understanding its content and meaning.

[0394] This invention relates to a system that accepts input in natural language, extracts information from a database, and displays the results in an easy-to-understand manner for the user. The system is mainly composed of a terminal, a server, an information repository, and an emotion recognition engine, and the user inputs data extraction conditions in natural language via the terminal.

[0395] First, the user uses the chat interface on the device to input natural language, such as "Show me sales data for 2022." The device receives this input and sends it to the server.

[0396] The server receives the input sent from the device, analyzes it using a natural language processing engine (e.g., NLTK, SpaCy, etc.), and identifies the data extraction conditions. Through the analysis, conditions such as "2022" and "sales data" are extracted.

[0397] Next, the server uses an emotion recognition engine (e.g., Microsoft® Azure® Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input sentence. It identifies emotions such as "frustration" or "excitement" based on the context of the input sentence and the choice of words.

[0398] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user types "Show me the sales data for 2022" and the server recognizes that the user is excited, the generated SQL query will be "SELECT FROM sales WHERE year = 2022;".

[0399] The generated queries are executed against a knowledge store (e.g. MySQL, PostgreSQL, etc.) via the server's database access component, which returns the results of the executed queries to the server.

[0400] The returned data is formatted on the server, and this formatting is adjusted depending on the user's emotion, for example, a graph for an excited user, or a detailed table for a frustrated user.

[0401] Finally, the formatted results are sent from the server to the terminal, which displays them to the user, allowing the user to easily visually confirm the required data.

[0402] Examples of prompt statements

[0403] Here are some examples of prompts that users might enter into the system:

[0404] "Show me sales data for 2022"

[0405] "Get all customers' order history for 2022"

[0406] This system allows users to specify data extraction conditions in natural language, enabling data display that reflects the user's emotions. It can also automatically respond to schema changes in the information repository. This results in efficient and easy-to-use data extraction and display.

[0407] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0408] Step 1:

[0409] The user inputs data extraction criteria in natural language using the chat interface on the device, for example, "Show me sales data for 2022." This input is received by the device and sent to the server.

[0410] Input: Data extraction criteria in natural language by the user

[0411] Output: Sending input data from the terminal to the server

[0412] Step 2:

[0413] The server receives user input sent from the device. The received input is analyzed using a natural language processing engine (e.g., NLTK, SpaCy, etc.) to identify data extraction conditions. Through this analysis, the extraction conditions "2022" and "sales data" are extracted.

[0414] Input: The user's natural language input sent from the device

[0415] Output: Identified data extraction criteria

[0416] Step 3:

[0417] The server uses an emotion recognition engine (e.g., Microsoft Azure Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input. Based on the context and word choice, emotions such as "frustrated" or "excited" are identified.

[0418] Input: User input

[0419] Output: Recognized user emotion

[0420] Step 4:

[0421] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user enters "Show me sales data for 2022" and the emotion "excited" is recognized, the SQL query will be "SELECT FROM sales WHERE year = 2022;".

[0422] Input: Identified data extraction criteria and recognized emotions

[0423] Output: Generated query language query

[0424] Step 5:

[0425] The server's database access component executes the generated SQL query against a database (e.g., MySQL, PostgreSQL, etc.), which retrieves data based on the query and returns the results.

[0426] Input: Generated SQL query

[0427] Output: Query results from the information repository

[0428] Step 6:

[0429] The server formats the query results retrieved from the information repository, adapting the display format of the results based on the user's emotions, for example, presenting a graph for an excited user and a detailed table for a frustrated user.

[0430] Input: Query results and recognized emotions retrieved from the information repository.

[0431] Output: Formatted data

[0432] Step 7:

[0433] The formatted results are sent from the server to the terminal, which then displays the received results to the user, allowing the user to visually confirm the desired data.

[0434] Input: Formatted data

[0435] Output: Data displayed on the terminal

[0436] (Application example 2)

[0437] 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."

[0438] In modern information management systems, even if users input data extraction conditions in natural language, it is difficult to analyze the input and obtain the appropriate data. Furthermore, there is a need to recognize user emotions and adjust data extraction conditions accordingly, as well as customize the display format of results, but few systems can achieve this. Improving the user experience when searching for products or providing information in physical stores is particularly important. Therefore, there is a need to develop an efficient data extraction and display system that integrates natural language input and emotion recognition to increase user satisfaction.

[0439] 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.

[0440] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for recognizing a user's emotion, means for adjusting the data extraction conditions or display format based on the recognized emotion, and means for displaying the formatted results. By integrating natural language input and emotion recognition, it is possible to quickly and appropriately provide the information desired by the user and improve the user experience.

[0441] "Input" refers to the specification of data extraction conditions by the user in natural language.

[0442] "Analysis" refers to the process of understanding the meaning of received input and identifying necessary keywords and conditions.

[0443] "Data extraction conditions" refers to the conditions and filters for retrieving specific data from a database.

[0444] An "SQL query" is a command statement issued to a database to select, insert, update, or delete specific data.

[0445] "Database" refers to a system for systematically storing and managing large amounts of data.

[0446] "Formatting" refers to the process of converting the results retrieved from a database into a format that is easy to view and use.

[0447] "Display" refers to the act of showing the formatted result to the user.

[0448] "Emotion" refers to the emotional state that can be read from user input, etc.

[0449] "Recognition" refers to the process of detecting and understanding a user's emotions and intentions.

[0450] "Adjustment" refers to the act of changing data extraction conditions or display format based on recognized emotions.

[0451] The system of this invention is capable of analyzing data extraction conditions entered in natural language, recognizing emotions, and displaying the results appropriately. This system is composed of the following main components:

[0452] Hardware and Software Configuration

[0453] server:

[0454] The server is equipped with a natural language processing engine (e.g., Google Cloud Natural Language API) that analyzes natural language input received from users and identifies appropriate data extraction conditions. It also uses an emotion recognition engine (e.g., Affectiva) that recognizes users' emotions. Furthermore, it uses a database access component (e.g., Node.js and PostgreSQL) to generate and execute SQL queries against a database (MySQL).

[0455] Device:

[0456] The terminal is equipped with a chat interface that receives input from users and forwards it to the server. The terminal can be a smartphone or smart glasses.

[0457] Database:

[0458] The database contains a wide variety of data to retrieve, and the system executes SQL queries against the database and returns the results to the server.

[0459] Data processing and display:

[0460] The server formats the results retrieved from the database and adjusts the display format according to the user's emotions. The formatted results are sent to the terminal and displayed to the user.

[0461] As a concrete example, consider a product search assistant in a physical store. When a user types "I'm looking for a new phone case. Do you have any recommendations?" into their smart glasses, the emotion engine recognizes the input along with their emotional state. The server analyzes this input, identifies the keywords "phone case" and "recommended," and generates the SQL query "SELECT FROM products WHERE category='phone case' AND recommended=true;". This SQL query is executed against the database, and the retrieved data is formatted in a pop display format for the user to enjoy, and displayed on the smart glasses.

[0462] An example of an actual prompt is as follows:

[0463] "Add it to my list."

[0464] "Show me the latest sales data."

[0465] "I want to check the percentage of defective products."

[0466] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0467] Step 1:

[0468] The user enters data extraction conditions in natural language.

[0469] An example input is "I'm looking for a new smartphone case. Do you have any recommendations?"

[0470] The device (smartphone or smart glasses) receives this input and sends it to the server.

[0471] Input: User's natural language input

[0472] Output: Sending input data to the server

[0473] Step 2:

[0474] The server receives the input sent from the terminal.

[0475] The server parses the input using a natural language processing engine (Google Cloud Natural Language API).

[0476] Specifically, the server extracts keywords such as "smartphone case" and "recommended."

[0477] Input: Natural language input data from the terminal

[0478] Output: Keywords as data extraction criteria

[0479] Step 3:

[0480] The server uses an emotion recognition engine (Affectiva) to recognize the user's emotions.

[0481] For example, identify emotions that you enjoy or that you find unpleasant.

[0482] Input: Natural language input data

[0483] Output: Recognized user emotion information

[0484] Step 4:

[0485] The server generates appropriate SQL queries based on the analyzed keywords and the recognized sentiment.

[0486] As an example, create a query like "SELECT FROM products WHERE category='smartphone cases' AND recommended=true;".

[0487] Input: Keywords as data extraction criteria, recognized emotion information

[0488] Output: Generated SQL query

[0489] Step 5:

[0490] The server's database access component sends the generated SQL query to the database (MySQL) and executes it.

[0491] The database returns the execution result.

[0492] Input: Generated SQL query

[0493] Output: Query results from the database

[0494] Step 6:

[0495] The server formats the results retrieved from the database.

[0496] The formatting is adjusted to match the user's emotions, for example, a user who is having fun will be presented with a pop graphical display.

[0497] Input: Query results from the database, recognized emotion information

[0498] Output: Formatted display data

[0499] Step 7:

[0500] The server sends the formatted results to the terminal.

[0501] The terminal displays the received results to the user.

[0502] Input: Formatted display data

[0503] Output: Data sent to the terminal and displayed to the user

[0504] 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.

[0505] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0506] 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.

[0507] [Second embodiment]

[0508] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0509] 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.

[0510] 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).

[0511] 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.

[0512] 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.

[0513] 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).

[0514] 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.

[0515] 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.

[0516] 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.

[0517] 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.

[0518] 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.

[0519] 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."

[0520] The present invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate SQL query based on the identified conditions, and formats and displays the obtained results.

[0521] System configuration

[0522] This system consists of a terminal, a server, and a database. The user enters data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[0523] Program processing overview

[0524] 1. Receiving user input

[0525] Users use the chat interface on their device to input data extraction conditions in natural language.

[0526] Example: Enter "Show me sales data for 2022."

[0527] 2. Parsing the Input

[0528] The server receives user input sent from the terminal.

[0529] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[0530] The analysis extracts keywords such as year and sales data.

[0531] 3. Generating SQL Queries

[0532] The server generates an appropriate SQL query based on the analysis results.

[0533] Example: "SELECT FROM sales WHERE year = 2022;"

[0534] 4. Execute the query

[0535] The server sends the generated SQL query to the database and executes it.

[0536] As a result, data is returned from the database.

[0537] 5. Formatting the results

[0538] The server formats the results retrieved from the database.

[0539] Example: Format the acquired sales data into a table.

[0540] 6. Displaying the results

[0541] The formatted results are sent from the server to the terminal, which displays them to the user.

[0542] Specific examples

[0543] Example 1: Simple Data Extraction

[0544] User Actions

[0545] The user types "Show me sales data for 2022" into the device.

[0546] System Operation

[0547] User input is sent from the terminal to the server.

[0548] The server analyzes the received input and identifies the conditions "2022" and "sales data."

[0549] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[0550] The server executes the SQL query against the database and retrieves the query results.

[0551] The server formats the retrieved data into a table.

[0552] The formatted result is sent to the terminal and displayed to the user.

[0553] Displaying the results

[0554] +---------+----------+--------+

[0555] | Item ID | Year | Sales |

[0556] +---------+----------+--------+

[0557] | 001 | 2022 | 1000 |

[0558] | 002 | 2022 | 1500 |

[0559] +---------+----------+--------+

[0560] Example 2: Complex Data Extraction

[0561] User Actions

[0562] The user types into the terminal, "Get the order history of all customers for 2022."

[0563] System Operation

[0564] User input is sent from the terminal to the server.

[0565] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[0566] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[0567] The server executes the SQL query against the database and retrieves the query results.

[0568] The server formats the retrieved data into a table.

[0569] The formatted result is sent to the terminal and displayed to the user.

[0570] Displaying the results

[0571] +-----------+---------+----------+--------+

[0572] | Customer | OrderID | Year | Amount |

[0573] +-----------+---------+----------+--------+

[0574] | John Doe | 1001 | 2022 | 500 |

[0575] | Jane Smith | 1002 | 2022 | 800 |

[0576] +-----------+---------+----------+--------+

[0577] System Flexibility

[0578] This system can also accommodate changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a schema change is detected, it automatically adjusts existing SQL queries to always support the latest database schema.

[0579] This system configuration provides an environment where anyone can easily extract data without knowledge of SQL, and it can also accommodate schema changes, greatly improving operational flexibility.

[0580] The processing flow will be explained below.

[0581] Step 1:

[0582] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[0583] Step 2:

[0584] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[0585] Step 3:

[0586] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[0587] Step 4:

[0588] The server receives user input sent from the device, and passes the received data to a component for analysis.

[0589] Step 5:

[0590] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[0591] Step 6:

[0592] The server generates an appropriate SQL query based on the analysis results. By combining the analyzed conditions, an SQL query such as "SELECT FROM sales WHERE year = 2022;" is automatically constructed.

[0593] Step 7:

[0594] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[0595] Step 8:

[0596] The database executes the SQL query and returns the results, which are sent to the server's processing component.

[0597] Step 9:

[0598] The server formats the results retrieved from the database, specifically converting the retrieved data into a format that is easy for the user to understand, such as a table or graph.

[0599] Step 10:

[0600] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[0601] Step 11:

[0602] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[0603] Step 12:

[0604] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[0605] Example 1

[0606] 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."

[0607] In recent years, creating SQL queries to extract necessary information from databases has required specialized knowledge, making it a burden, especially for non-technical users. Furthermore, when database schemas change, it is difficult to appropriately adjust existing queries to accommodate those changes. Furthermore, while there is a demand for interfaces that allow users to specify data extraction criteria in natural language, such interfaces are limited. Therefore, there is a need for a system that allows non-technical users to easily extract information from databases and that can flexibly accommodate changes in the database schema.

[0608] 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.

[0609] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query based on the identified data extraction conditions, means for executing the generated query against a database, means for formatting results obtained from the database, means for formatting the results for visual display to a user, means for displaying the formatted results, means for monitoring schema changes in the database, means for automatically adjusting existing queries based on schema changes, means for analyzing the input using natural language processing, and means for automatically generating queries based on the analysis results.This enables even non-technical users to easily extract information from a database using natural language, and also enables queries to be automatically adjusted to adapt to changes in the database schema, improving the flexibility of the system.

[0610] "Means for receiving input in natural language" refers to an interface through which a system receives questions or requests written by a user in natural language.

[0611] "Means for analyzing received input and identifying data extraction conditions" refers to a function for analyzing received natural language input and clarifying the conditions for extracting the required data.

[0612] "Means for generating an appropriate query based on the identified data extraction conditions" refers to a function for creating a query for retrieving information from a database based on the analyzed data extraction conditions.

[0613] The "means for executing the generated query on the database" is a function for sending the generated query to the database and performing processing to actually retrieve the data.

[0614] "Means for formatting results obtained from a database" refers to the function of converting raw data obtained from a database into a format that is easy for users to understand.

[0615] "Means for formatting the results for visual display to the user" refers to the ability to present the formatted data in a visually easy-to-understand format such as a table or graph.

[0616] "Means for displaying formatted results" refers to a function that displays formatted data in a user interface.

[0617] "Means for monitoring changes to the database schema" refers to a function that detects changes to the database structure when they occur.

[0618] "Means to automatically adjust existing queries based on schema changes" refers to the ability to automatically update existing queries to function correctly when the structure of the database changes.

[0619] "Means for analyzing input using natural language processing" refers to technology that converts a user's natural language input into an understandable form.

[0620] "Means for automatically generating queries based on analysis results" refers to a function that automatically creates database queries based on the analyzed data extraction conditions.

[0621] The present invention is a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate query based on the identified conditions, and formats and displays the obtained results. This system is composed of a terminal, a server, and a database. A user inputs data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[0622] Hardware and software used

[0623] Device: A device such as a computer, tablet, or smartphone on which a user provides natural language input.

[0624] Server: A computer system that analyzes user input, generates queries, and executes them. The server uses a natural language processing engine (e.g., Google NLP API or IBM Watson) to analyze the input.

[0625] Database: A data storage system that queries data and returns results. Examples include MySQL and PostgreSQL.

[0626] Specific operation of the system

[0627] 1. Receiving user input

[0628] The user uses the chat interface on the device to input data extraction criteria in natural language. For example, they might type "Show me sales data for 2022" and click the submit button. The device sends this input to the server in JSON format, and the actual prompt used is as follows:

[0629] "Show me sales data for 2022"

[0630] "Get all customers' order history for 2022"

[0631] 2. Parsing the Input

[0632] The server parses the user input received from the device as JSON data and extracts the contents of the query field. It then uses a natural language processing engine to analyze the received input and identify data extraction criteria. For example, keywords such as "2022" and "sales data" are extracted.

[0633] 3. Generating SQL Queries

[0634] The server generates an appropriate SQL query based on the analysis results, for example, "SELECT FROM sales WHERE year = 2022;".

[0635] 4. Execute the query

[0636] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends the results back to the server.

[0637] 5. Formatting the results

[0638] The server formats the results retrieved from the database and converts them into a format that is easy for the user to understand, for example, formatting the retrieved sales data into a table.

[0639] 6. Displaying the formatting results

[0640] The formatted results are sent from the server to the terminal, which displays them to the user in HTML tables, graphs, or other formats.

[0641] Specific examples

[0642] For example, if a user types "Show me sales data for 2022," the overall system behavior is as follows:

[0643] User input is sent from the terminal to the server.

[0644] The server parses the received input and identifies the conditions "2022" and "sales data."

[0645] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[0646] The server executes the query against the database and obtains the query results.

[0647] The server formats the retrieved data into a table.

[0648] The formatted result is sent to the terminal and displayed to the user.

[0649] The above is an embodiment of the present invention, and this configuration allows the user to efficiently extract and display required data based on conditions entered in natural language.

[0650] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0651] Step 1:

[0652] The user uses the chat interface on the device to input data extraction conditions in natural language. For example, the input prompt might be "Show me sales data for 2022." The device converts this input data into JSON format and sends it to the server as an HTTP request (POST method).

[0653] input:

[0654] A natural language prompt (e.g., "Show me the sales data for 2022")

[0655] Data processing:

[0656] Convert natural language prompts to JSON format

[0657] output:

[0658] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[0659] Specific behavior:

[0660] The user types a prompt into the device's chat interface.

[0661] The terminal converts the input into JSON format and sends it to the server

[0662] Step 2:

[0663] The server parses the JSON data received from the device and extracts the contents of the query field. It then uses a natural language processing engine to parse this extracted natural language input and identify data extraction conditions.

[0664] input:

[0665] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[0666] Data processing:

[0667] Parsing JSON data and interpreting it using a natural language processing engine

[0668] output:

[0669] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[0670] Specific behavior:

[0671] The server extracts the query field from the JSON data.

[0672] Send the extracted prompt sentence to the natural language processing engine and receive the analysis results.

[0673] Step 3:

[0674] The server uses the analysis results to generate appropriate SQL queries, which are constructed based on the data extraction criteria.

[0675] input:

[0676] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[0677] Data processing:

[0678] Generate SQL queries based on analysis results

[0679] output:

[0680] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[0681] Specific behavior:

[0682] The server constructs an SQL query based on the analysis results

[0683] Log the generated query and pass it to the next step

[0684] Step 4:

[0685] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends a result set back to the server.

[0686] input:

[0687] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[0688] Data processing:

[0689] Execute SQL queries and extract data

[0690] output:

[0691] A result set (e.g. rows of sales data)

[0692] Specific behavior:

[0693] The server establishes a database connection

[0694] Sending SQL queries to a database and receiving result sets

[0695] Step 5:

[0696] The server formats the result set retrieved from the database and converts it into a format that is easy for the user to understand, for example, by formatting the retrieved results in a table or JSON format.

[0697] input:

[0698] A result set (e.g. rows of sales data)

[0699] Data processing:

[0700] Result set cleanup and formatting

[0701] output:

[0702] Formatted results (e.g. sales data in a table)

[0703] Specific behavior:

[0704] The server applies logic to format the result set

[0705] Convert formatted data to HTML or JSON format

[0706] Step 6:

[0707] The formatted results are sent from the server to the device, which displays the data to the user using HTML tables or data visualization tools.

[0708] input:

[0709] Formatted results (e.g. sales data in a table)

[0710] Data processing:

[0711] none

[0712] output:

[0713] Results displayed on the device's display screen

[0714] Specific behavior:

[0715] The server sends the formatted result to the terminal as an HTTP response

[0716] The device analyzes the received result data and displays it on the user's screen.

[0717] (Application example 1)

[0718] 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."

[0719] Conventional data extraction systems required users to have knowledge of SQL, and they also had the problem of being difficult to flexibly respond to changes in database schema. Furthermore, data extraction tasks in factories are complex and diverse, so an efficient system was needed to enable operators to quickly acquire and analyze data. This reduced the efficiency of data extraction tasks and increased the risk of work delays and errors.

[0720] 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.

[0721] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for displaying the formatted results, and means for converting the natural language input into an SQL query using a generative AI model. This enables an operator to efficiently extract data using natural language input while monitoring database schema changes, even without knowledge of SQL.

[0722] "Means for receiving input in natural language" refers to an interface that allows a user to input data extraction conditions in natural language and receive them in the system.

[0723] The "means for analyzing the received input and identifying the data extraction conditions" refers to an algorithm or process for analyzing the received natural language input and identifying the conditions necessary for data extraction from it.

[0724] "Means for generating appropriate SQL queries based on the identified data extraction criteria" refers to a processing system or module for automatically generating appropriate SQL queries based on the identified data extraction criteria.

[0725] A "means for executing the generated SQL queries against the database" means a system or mechanism for transmitting the generated SQL queries to the database and executing them.

[0726] "Means for formatting the results obtained from the database" refers to the process of converting the raw data obtained from the database into a format that is easy for the user to understand.

[0727] "Means for displaying the formatted results" refers to an interface or system for displaying the formatted data on a terminal screen.

[0728] A "means for converting natural language input into SQL queries using a generative AI model" means a processing system that uses a generative AI model to parse input natural language text and convert it into a corresponding SQL query.

[0729] "Means for monitoring changes to a database schema" refers to a monitoring system for detecting changes to the schema in a database.

[0730] "Means for automatically adjusting existing SQL queries based on schema changes" means a mechanism for automatically modifying existing SQL queries in response to schema changes.

[0731] "Means for analyzing input and generating prompt sentences using natural language processing" refers to a system that uses natural language processing technology to analyze user input and generate appropriate prompt sentences based on that input.

[0732] This invention relates to a system in which factory operators input data extraction conditions in natural language. The system analyzes the input natural language, converts it into an appropriate SQL query using a generative AI model, and retrieves and displays the required data from the database. This makes it easy to extract data even without knowledge of SQL.

[0733] System Configuration

[0734] The system is configured as follows:

[0735] 1. Device:

[0736] This includes smartphones or head-mounted displays (e.g., Google Glass) used by operators.

[0737] An interface for entering data extraction conditions in natural language through a chat interface.

[0738] 2. Server:

[0739] The server receives natural language input sent from the device and analyzes the input using a natural language processing engine (using OpenAI's GPT-3.5).

[0740] Parses the input and generates the appropriate SQL query based on the specified data extraction criteria.

[0741] Run the generated SQL query against the database and format the results.

[0742] 3. Database:

[0743] Database management systems such as SQLite are used to store factory operation logs and production data.

[0744] Hardware and Software

[0745] Hardware:

[0746] Smartphone or head-mounted display

[0747] software:

[0748] Flask (Web application framework)

[0749] OpenAI's GPT-3.5 (natural language processing engine)

[0750] SQLite (database management system)

[0751] Program processing explanation

[0752] The server first receives natural language input from the device. It then analyzes this input using a natural language processing engine to identify the necessary data extraction conditions. It generates an SQL query based on the specific analysis results and sends this query to the database for execution. The response data from the database is formatted by the server and sent to the device.

[0753] Specific examples

[0754] For example, if a factory operator types the following prompt into a smartphone or head-mounted display:

[0755] "Please show the operating rate of Line 2 in October 2022."

[0756] The server then uses a generative AI model to translate this input into an appropriate SQL query, generating something like this:

[0757] "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;"

[0758] This SQL query is run against the database to retrieve the necessary data from the plant's operation logs, which is then formatted and displayed on the operator's terminal.

[0759] As described above, the present invention provides a system that enables an operator to efficiently obtain required information from a database using natural language.

[0760] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0761] Step 1:

[0762] The user uses a terminal to input data extraction conditions in natural language and submits them. The input here is a prompt statement from the operator, such as "Show me the utilization rate of line 2 in October 2022." The terminal then submits this natural language input to the server.

[0763] Step 2:

[0764] The server receives natural language input sent from the device. The input data is a prompt sentence: "Show the utilization rate of Line 2 in October 2022." The server sends this input data to a natural language processing engine (OpenAI's GPT-3.5) to analyze the received input.

[0765] Step 3:

[0766] The server uses a natural language processing engine to analyze the received input data and identify the data extraction criteria. The input is a prompt statement such as "Show the utilization rate of line 2 in October 2022," and the resulting analysis results in the data extraction criteria being "Year: 2022," "Month: October," and "Line ID: 2."

[0767] Step 4:

[0768] The server generates an SQL query based on the analysis result. The input data is the analysis result "2022, October, Line ID: 2", and the server generates the SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;" based on this.

[0769] Step 5:

[0770] The server sends the generated SQL query to the database and executes it. The input data is the generated SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;", and the server sends it to the database and executes it.

[0771] Step 6:

[0772] The database searches for data based on the executed SQL query and returns the results to the server. The input data is the SQL query result, and "operation log data" is generated as the output.

[0773] Step 7:

[0774] The server formats the results obtained from the database. The input data is the "operation log data" obtained from the database, and the server formats it into a format that is easy for users to understand, such as a table.

[0775] Step 8:

[0776] The formatted results are sent to the terminal and displayed to the user. The input data is the formatted log data, which the server sends to the terminal and the terminal displays to the user. The user can view data related to "Line 2 operating rate in October 2022" through the terminal.

[0777] As described above, each processing step works together to receive data, analyze it, generate a query, execute it, and format and display the results, thereby realizing a system that allows users to quickly and easily extract the data they need through natural language input.

[0778] 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.

[0779] This invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes appropriate SQL queries based on the identified conditions, and formats and displays the acquired results. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to adjust the data extraction conditions and change the display format based on the user's emotions.

[0780] System configuration

[0781] This system consists of a terminal, a server, a database, and an emotion engine. The user inputs data extraction conditions in natural language via the terminal, which is then sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal. Furthermore, the emotion engine recognizes the user's emotions and adjusts the data extraction conditions and display format based on those emotions.

[0782] Program processing overview

[0783] 1. Receiving user input

[0784] The user inputs data extraction conditions in natural language using the chat interface of the terminal.

[0785] Example: "Show me sales data for 2022"

[0786] 2. Parsing the Input

[0787] The server receives user input sent from the terminal.

[0788] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[0789] The analysis extracts keywords such as year and sales data.

[0790] 3. Emotional Recognition

[0791] The server uses an emotion engine to recognize emotions from the user's input.

[0792] Example: Identifying emotions such as "dissatisfaction" or "excitement" from an input sentence.

[0793] 4. Generating SQL Queries

[0794] The server generates appropriate SQL queries based on the analysis results and the recognized emotions.

[0795] Example: "SELECT FROM sales WHERE year = 2022;"

[0796] 5. Execute the query

[0797] The server's database access component sends the generated SQL query to the database for execution.

[0798] As a result, data is returned from the database.

[0799] 6. Formatting the results

[0800] The server formats the results retrieved from the database, adjusting the format depending on the emotion.

[0801] For example: a graphical representation for excited users and a detailed table representation for disgruntled users.

[0802] 7. Displaying the results

[0803] The formatted results are sent from the server to the terminal, which displays them to the user.

[0804] Specific examples

[0805] Example 1: Simple data extraction and emotion recognition

[0806] User operations

[0807] The user types "Show me sales data for 2022" into the device. The emotion engine recognizes that the user is excited when typing.

[0808] System Operation

[0809] User input is sent from the terminal to the server.

[0810] The server analyzes the input it receives and identifies the conditions "2022" and "sales data."

[0811] The emotion engine recognizes the user's state of excitement.

[0812] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[0813] The server executes the SQL query against the database and retrieves the query results.

[0814] The server formats the data it receives into a graph.

[0815] The formatted result is sent to the terminal and displayed to the user.

[0816] Displaying the results

[0817] (Sales data displayed in graph form)

[0818] Example 2: Complex Data Extraction and Emotion Modulation

[0819] User operations

[0820] The user types into the terminal, "Get the order history of all customers for 2022." At this time, the emotion engine recognizes that the user is dissatisfied.

[0821] System Operation

[0822] User input is sent from the terminal to the server.

[0823] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[0824] The emotion engine recognizes the user's dissatisfaction state.

[0825] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[0826] The server executes the SQL query against the database and retrieves the query results.

[0827] The server formats the retrieved data into a detailed table.

[0828] The formatted result is sent to the terminal and displayed to the user.

[0829] Displaying the results

[0830] +-----------+---------+----------+--------+

[0831] | Customer | OrderID | Year | Amount |

[0832] +-----------+---------+----------+--------+

[0833] | John Doe | 1001 | 2022 | 500 |

[0834] | Jane Smith | 1002 | 2022 | 800 |

[0835] +-----------+---------+----------+--------+

[0836] System Flexibility

[0837] This system can also handle changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a change is detected, it automatically adjusts existing SQL queries to accommodate the latest database schema. Furthermore, an emotion engine can take user emotions into account, allowing for more personalized interactions.

[0838] The processing flow will be explained below.

[0839] Step 1:

[0840] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[0841] Step 2:

[0842] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[0843] Step 3:

[0844] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[0845] Step 4:

[0846] The server receives user input sent from the device, and passes the received data to the component for analysis.

[0847] Step 5:

[0848] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[0849] Step 6:

[0850] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine identifies emotions such as "frustrated" or "excited" from the input sentence.

[0851] Step 7:

[0852] The server generates an appropriate SQL query based on the analysis results and the recognized sentiment. For example, the SQL query "SELECT FROM sales WHERE year = 2022;" is automatically constructed based on the analyzed extraction conditions.

[0853] Step 8:

[0854] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[0855] Step 9:

[0856] The database executes the SQL query and returns the results to the server, which sends the returned data to a processing component on the server.

[0857] Step 10:

[0858] The server formats the results it retrieves from the database, for example, a graph if the user is excited, or a detailed table if the user is unhappy.

[0859] Step 11:

[0860] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[0861] Step 12:

[0862] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[0863] Step 13:

[0864] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[0865] Example 2

[0866] 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."

[0867] Conventional data extraction systems make it difficult for users to specify data extraction conditions directly in natural language, and they are unable to consider user sentiment. Furthermore, changes to the database schema require manual modification of SQL queries, which is time-consuming. This results in a poor user experience and makes efficient data extraction difficult.

[0868] 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.

[0869] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query language query based on the identified data extraction conditions, means for executing the generated query language query on an information repository, means for formatting results obtained from the information repository, means for displaying the formatted results, means for recognizing a user's emotion, and means for adjusting the data extraction conditions and display format based on the recognized emotion. This allows the user to specify data extraction conditions in natural language, realizes data display according to the user's emotion, and also makes it possible to automatically respond to schema changes in the information repository.

[0870] "Natural language" refers to language that humans use on a daily basis, such as normal written or spoken language.

[0871] "Data extraction conditions" refer to the specific conditions or criteria for obtaining the necessary data from a database or information repository.

[0872] A "query language query" is a command or question that is used to search for or manipulate data in a database management system.

[0873] An "information repository" is a system or facility for storing and managing data and information in an organized manner. For example, it includes a database.

[0874] "Recognition" is the ability to understand and grasp specific situations, emotions, conditions, etc. based on input information.

[0875] "Formatting" is the process of converting acquired data into a format that is easy to view and understand.

[0876] "Emotions" are the emotional reactions such as joy, sadness, excitement, and dissatisfaction that humans experience in response to certain situations or events.

[0877] "Analysis" refers to the process of breaking down input information into smaller pieces and understanding its content and meaning.

[0878] This invention relates to a system that accepts input in natural language, extracts information from a database, and displays the results in an easy-to-understand manner for the user. The system is mainly composed of a terminal, a server, an information repository, and an emotion recognition engine, and the user inputs data extraction conditions in natural language via the terminal.

[0879] First, the user uses the chat interface on the device to input natural language, such as "Show me sales data for 2022." The device receives this input and sends it to the server.

[0880] The server receives the input sent from the device, analyzes it using a natural language processing engine (e.g., NLTK, SpaCy, etc.), and identifies the data extraction conditions. Through the analysis, conditions such as "2022" and "sales data" are extracted.

[0881] Next, the server uses an emotion recognition engine (e.g., Microsoft Azure Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input sentence. It identifies emotions such as "frustration" or "excitement" based on the context of the input sentence and word choice.

[0882] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user types "Show me the sales data for 2022" and the server recognizes that the user is excited, the generated SQL query will be "SELECT FROM sales WHERE year = 2022;".

[0883] The generated queries are executed against a knowledge store (e.g. MySQL, PostgreSQL, etc.) via the server's database access component, which returns the results of the executed queries to the server.

[0884] The returned data is formatted on the server, and this formatting is adjusted depending on the user's emotion, for example, a graph for an excited user, or a detailed table for a frustrated user.

[0885] Finally, the formatted results are sent from the server to the terminal, which displays them to the user, allowing the user to easily visually confirm the required data.

[0886] Examples of prompt statements

[0887] Here are some examples of prompts that users might enter into the system:

[0888] "Show me sales data for 2022"

[0889] "Get all customers' order history for 2022"

[0890] This system allows users to specify data extraction conditions in natural language, enabling data display that reflects the user's emotions. It can also automatically respond to schema changes in the information repository. This results in efficient and easy-to-use data extraction and display.

[0891] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0892] Step 1:

[0893] The user inputs data extraction criteria in natural language using the chat interface on the device, for example, "Show me sales data for 2022." This input is received by the device and sent to the server.

[0894] Input: Data extraction criteria in natural language by the user

[0895] Output: Sending input data from the terminal to the server

[0896] Step 2:

[0897] The server receives user input sent from the device. The received input is analyzed using a natural language processing engine (e.g., NLTK, SpaCy, etc.) to identify data extraction conditions. Through this analysis, the extraction conditions "2022" and "sales data" are extracted.

[0898] Input: The user's natural language input sent from the device

[0899] Output: Identified data extraction criteria

[0900] Step 3:

[0901] The server uses an emotion recognition engine (e.g., Microsoft Azure Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input. Based on the context and word choice, emotions such as "frustrated" or "excited" are identified.

[0902] Input: User input

[0903] Output: Recognized user emotion

[0904] Step 4:

[0905] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user enters "Show me sales data for 2022" and the emotion "excited" is recognized, the SQL query will be "SELECT FROM sales WHERE year = 2022;".

[0906] Input: Identified data extraction criteria and recognized emotions

[0907] Output: Generated query language query

[0908] Step 5:

[0909] The server's database access component executes the generated SQL query against a database (e.g., MySQL, PostgreSQL, etc.), which retrieves data based on the query and returns the results.

[0910] Input: Generated SQL query

[0911] Output: Query results from the information repository

[0912] Step 6:

[0913] The server formats the query results retrieved from the information repository, adapting the display format of the results based on the user's emotions, for example, presenting a graph for an excited user and a detailed table for a frustrated user.

[0914] Input: Query results and recognized emotions retrieved from the information repository.

[0915] Output: Formatted data

[0916] Step 7:

[0917] The formatted results are sent from the server to the terminal, which then displays the received results to the user, allowing the user to visually confirm the desired data.

[0918] Input: Formatted data

[0919] Output: Data displayed on the terminal

[0920] (Application example 2)

[0921] 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."

[0922] In modern information management systems, even if users input data extraction conditions in natural language, it is difficult to analyze the input and obtain the appropriate data. Furthermore, there is a need to recognize user emotions and adjust data extraction conditions accordingly, as well as customize the display format of results, but few systems can achieve this. Improving the user experience when searching for products or providing information in physical stores is particularly important. Therefore, there is a need to develop an efficient data extraction and display system that integrates natural language input and emotion recognition to increase user satisfaction.

[0923] 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.

[0924] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for recognizing a user's emotion, means for adjusting the data extraction conditions or display format based on the recognized emotion, and means for displaying the formatted results. By integrating natural language input and emotion recognition, it is possible to quickly and appropriately provide the information desired by the user and improve the user experience.

[0925] "Input" refers to the specification of data extraction conditions by the user in natural language.

[0926] "Analysis" refers to the process of understanding the meaning of received input and identifying necessary keywords and conditions.

[0927] "Data extraction conditions" refers to the conditions and filters for retrieving specific data from a database.

[0928] An "SQL query" is a command statement issued to a database to select, insert, update, or delete specific data.

[0929] "Database" refers to a system for systematically storing and managing large amounts of data.

[0930] "Formatting" refers to the process of converting the results retrieved from a database into a format that is easy to view and use.

[0931] "Display" refers to the act of showing the formatted result to the user.

[0932] "Emotion" refers to the emotional state that can be read from user input, etc.

[0933] "Recognition" refers to the process of detecting and understanding a user's emotions and intentions.

[0934] "Adjustment" refers to the act of changing data extraction conditions or display format based on recognized emotions.

[0935] The system of this invention is capable of analyzing data extraction conditions entered in natural language, recognizing emotions, and displaying the results appropriately. This system is composed of the following main components:

[0936] Hardware and Software Configuration

[0937] server:

[0938] The server is equipped with a natural language processing engine (e.g., Google Cloud Natural Language API) that analyzes natural language input received from users and identifies appropriate data extraction conditions. It also uses an emotion recognition engine (e.g., Affectiva) that recognizes users' emotions. Furthermore, it uses a database access component (e.g., Node.js and PostgreSQL) to generate and execute SQL queries against a database (MySQL).

[0939] Device:

[0940] The terminal is equipped with a chat interface that receives input from users and forwards it to the server. The terminal can be a smartphone or smart glasses.

[0941] Database:

[0942] The database contains a wide variety of data to retrieve, and the system executes SQL queries against the database and returns the results to the server.

[0943] Data processing and display:

[0944] The server formats the results retrieved from the database and adjusts the display format according to the user's emotions. The formatted results are sent to the terminal and displayed to the user.

[0945] As a concrete example, consider a product search assistant in a physical store. When a user types "I'm looking for a new phone case. Do you have any recommendations?" into their smart glasses, the emotion engine recognizes the input along with their emotional state. The server analyzes this input, identifies the keywords "phone case" and "recommended," and generates the SQL query "SELECT FROM products WHERE category='phone case' AND recommended=true;". This SQL query is executed against the database, and the retrieved data is formatted in a pop display format for the user to enjoy, and displayed on the smart glasses.

[0946] An example of an actual prompt is as follows:

[0947] "Add it to my list."

[0948] "Show me the latest sales data."

[0949] "I want to check the percentage of defective products."

[0950] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0951] Step 1:

[0952] The user enters data extraction conditions in natural language.

[0953] An example input is "I'm looking for a new smartphone case. Do you have any recommendations?"

[0954] The device (smartphone or smart glasses) receives this input and sends it to the server.

[0955] Input: User's natural language input

[0956] Output: Sending input data to the server

[0957] Step 2:

[0958] The server receives the input sent from the terminal.

[0959] The server parses the input using a natural language processing engine (Google Cloud Natural Language API).

[0960] Specifically, the server extracts keywords such as "smartphone case" and "recommended."

[0961] Input: Natural language input data from the terminal

[0962] Output: Keywords as data extraction criteria

[0963] Step 3:

[0964] The server uses an emotion recognition engine (Affectiva) to recognize the user's emotions.

[0965] For example, identify emotions that you enjoy or that you find unpleasant.

[0966] Input: Natural language input data

[0967] Output: Recognized user emotion information

[0968] Step 4:

[0969] The server generates appropriate SQL queries based on the analyzed keywords and the recognized sentiment.

[0970] As an example, create a query like "SELECT FROM products WHERE category='smartphone cases' AND recommended=true;".

[0971] Input: Keywords as data extraction criteria, recognized emotion information

[0972] Output: Generated SQL query

[0973] Step 5:

[0974] The server's database access component sends the generated SQL query to the database (MySQL) and executes it.

[0975] The database returns the execution result.

[0976] Input: Generated SQL query

[0977] Output: Query results from the database

[0978] Step 6:

[0979] The server formats the results retrieved from the database.

[0980] The formatting is adjusted to match the user's emotions, for example, a user who is having fun will be presented with a pop graphical display.

[0981] Input: Query results from the database, recognized emotion information

[0982] Output: Formatted display data

[0983] Step 7:

[0984] The server sends the formatted results to the terminal.

[0985] The terminal displays the received results to the user.

[0986] Input: Formatted display data

[0987] Output: Data sent to the terminal and displayed to the user

[0988] 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.

[0989] 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.

[0990] 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.

[0991] [Third embodiment]

[0992] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0993] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0994] 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).

[0995] 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.

[0996] 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.

[0997] 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).

[0998] 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.

[0999] 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.

[1000] 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.

[1001] 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.

[1002] 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.

[1003] 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."

[1004] The present invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate SQL query based on the identified conditions, and formats and displays the obtained results.

[1005] System configuration

[1006] This system consists of a terminal, a server, and a database. The user enters data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[1007] Program processing overview

[1008] 1. Receiving user input

[1009] Users use the chat interface on their device to input data extraction conditions in natural language.

[1010] Example: Enter "Show me sales data for 2022."

[1011] 2. Parsing the Input

[1012] The server receives user input sent from the terminal.

[1013] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[1014] The analysis extracts keywords such as year and sales data.

[1015] 3. Generating SQL Queries

[1016] The server generates an appropriate SQL query based on the analysis results.

[1017] Example: "SELECT FROM sales WHERE year = 2022;"

[1018] 4. Execute the query

[1019] The server sends the generated SQL query to the database and executes it.

[1020] As a result, data is returned from the database.

[1021] 5. Formatting the results

[1022] The server formats the results retrieved from the database.

[1023] Example: Format the acquired sales data into a table.

[1024] 6. Displaying the results

[1025] The formatted results are sent from the server to the terminal, which displays them to the user.

[1026] Specific examples

[1027] Example 1: Simple Data Extraction

[1028] User Actions

[1029] The user types "Show me sales data for 2022" into the device.

[1030] System Operation

[1031] User input is sent from the terminal to the server.

[1032] The server analyzes the received input and identifies the conditions "2022" and "sales data."

[1033] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[1034] The server executes the SQL query against the database and retrieves the query results.

[1035] The server formats the retrieved data into a table.

[1036] The formatted result is sent to the terminal and displayed to the user.

[1037] Displaying the results

[1038] +---------+----------+--------+

[1039] | Item ID | Year | Sales |

[1040] +---------+----------+--------+

[1041] | 001 | 2022 | 1000 |

[1042] | 002 | 2022 | 1500 |

[1043] +---------+----------+--------+

[1044] Example 2: Complex Data Extraction

[1045] User Actions

[1046] The user types into the terminal, "Get the order history of all customers for 2022."

[1047] System Operation

[1048] User input is sent from the terminal to the server.

[1049] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[1050] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[1051] The server executes the SQL query against the database and retrieves the query results.

[1052] The server formats the retrieved data into a table.

[1053] The formatted result is sent to the terminal and displayed to the user.

[1054] Displaying the results

[1055] +-----------+---------+----------+--------+

[1056] | Customer | OrderID | Year | Amount |

[1057] +-----------+---------+----------+--------+

[1058] | John Doe | 1001 | 2022 | 500 |

[1059] | Jane Smith | 1002 | 2022 | 800 |

[1060] +-----------+---------+----------+--------+

[1061] System Flexibility

[1062] This system can also accommodate changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a schema change is detected, it automatically adjusts existing SQL queries to always support the latest database schema.

[1063] This system configuration provides an environment where anyone can easily extract data without knowledge of SQL, and it can also accommodate schema changes, greatly improving operational flexibility.

[1064] The processing flow will be explained below.

[1065] Step 1:

[1066] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[1067] Step 2:

[1068] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[1069] Step 3:

[1070] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[1071] Step 4:

[1072] The server receives user input sent from the device, and passes the received data to a component for analysis.

[1073] Step 5:

[1074] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[1075] Step 6:

[1076] The server generates an appropriate SQL query based on the analysis results. By combining the analyzed conditions, an SQL query such as "SELECT FROM sales WHERE year = 2022;" is automatically constructed.

[1077] Step 7:

[1078] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[1079] Step 8:

[1080] The database executes the SQL query and returns the results, which are sent to the server's processing component.

[1081] Step 9:

[1082] The server formats the results retrieved from the database, specifically converting the retrieved data into a format that is easy for the user to understand, such as a table or graph.

[1083] Step 10:

[1084] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[1085] Step 11:

[1086] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[1087] Step 12:

[1088] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[1089] Example 1

[1090] 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."

[1091] In recent years, creating SQL queries to extract necessary information from databases has required specialized knowledge, making it a burden, especially for non-technical users. Furthermore, when database schemas change, it is difficult to appropriately adjust existing queries to accommodate those changes. Furthermore, while there is a demand for interfaces that allow users to specify data extraction criteria in natural language, such interfaces are limited. Therefore, there is a need for a system that allows non-technical users to easily extract information from databases and that can flexibly accommodate changes in the database schema.

[1092] 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.

[1093] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query based on the identified data extraction conditions, means for executing the generated query against a database, means for formatting results obtained from the database, means for formatting the results for visual display to a user, means for displaying the formatted results, means for monitoring schema changes in the database, means for automatically adjusting existing queries based on schema changes, means for analyzing the input using natural language processing, and means for automatically generating queries based on the analysis results.This enables even non-technical users to easily extract information from a database using natural language, and also enables queries to be automatically adjusted to adapt to changes in the database schema, improving the flexibility of the system.

[1094] "Means for receiving input in natural language" refers to an interface through which a system receives questions or requests written by a user in natural language.

[1095] "Means for analyzing received input and identifying data extraction conditions" refers to a function for analyzing received natural language input and clarifying the conditions for extracting the required data.

[1096] "Means for generating an appropriate query based on the identified data extraction conditions" refers to a function for creating a query for retrieving information from a database based on the analyzed data extraction conditions.

[1097] The "means for executing the generated query on the database" is a function for sending the generated query to the database and performing processing to actually retrieve the data.

[1098] "Means for formatting results obtained from a database" refers to the function of converting raw data obtained from a database into a format that is easy for users to understand.

[1099] "Means for formatting the results for visual display to the user" refers to the ability to present the formatted data in a visually easy-to-understand format such as a table or graph.

[1100] "Means for displaying formatted results" refers to a function that displays formatted data in a user interface.

[1101] "Means for monitoring changes to the database schema" refers to a function that detects changes to the database structure when they occur.

[1102] "Means to automatically adjust existing queries based on schema changes" refers to the ability to automatically update existing queries to function correctly when the structure of the database changes.

[1103] "Means for analyzing input using natural language processing" refers to technology that converts a user's natural language input into an understandable form.

[1104] "Means for automatically generating queries based on analysis results" refers to a function that automatically creates database queries based on the analyzed data extraction conditions.

[1105] The present invention is a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate query based on the identified conditions, and formats and displays the obtained results. This system is composed of a terminal, a server, and a database. A user inputs data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[1106] Hardware and software used

[1107] Device: A device such as a computer, tablet, or smartphone on which a user provides natural language input.

[1108] Server: A computer system that analyzes user input, generates queries, and executes them. The server uses a natural language processing engine (e.g., Google NLP API or IBM Watson) to analyze the input.

[1109] Database: A data storage system that queries data and returns results. Examples include MySQL and PostgreSQL.

[1110] Specific operation of the system

[1111] 1. Receiving user input

[1112] The user uses the chat interface on the device to input data extraction criteria in natural language. For example, they might type "Show me sales data for 2022" and click the submit button. The device sends this input to the server in JSON format, and the actual prompt used is as follows:

[1113] "Show me sales data for 2022"

[1114] "Get all customers' order history for 2022"

[1115] 2. Parsing the Input

[1116] The server parses the user input received from the device as JSON data and extracts the contents of the query field. It then uses a natural language processing engine to analyze the received input and identify data extraction criteria. For example, keywords such as "2022" and "sales data" are extracted.

[1117] 3. Generating SQL Queries

[1118] The server generates an appropriate SQL query based on the analysis results, for example, "SELECT FROM sales WHERE year = 2022;".

[1119] 4. Execute the query

[1120] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends the results back to the server.

[1121] 5. Formatting the results

[1122] The server formats the results retrieved from the database and converts them into a format that is easy for the user to understand, for example, formatting the retrieved sales data into a table.

[1123] 6. Displaying the formatting results

[1124] The formatted results are sent from the server to the terminal, which displays them to the user in HTML tables, graphs, or other formats.

[1125] Specific examples

[1126] For example, if a user types "Show me sales data for 2022," the overall system behavior is as follows:

[1127] User input is sent from the terminal to the server.

[1128] The server parses the received input and identifies the conditions "2022" and "sales data."

[1129] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[1130] The server executes the query against the database and obtains the query results.

[1131] The server formats the retrieved data into a table.

[1132] The formatted result is sent to the terminal and displayed to the user.

[1133] The above is an embodiment of the present invention, and this configuration allows the user to efficiently extract and display required data based on conditions entered in natural language.

[1134] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1135] Step 1:

[1136] The user uses the chat interface on the device to input data extraction conditions in natural language. For example, the input prompt might be "Show me sales data for 2022." The device converts this input data into JSON format and sends it to the server as an HTTP request (POST method).

[1137] input:

[1138] A natural language prompt (e.g., "Show me the sales data for 2022")

[1139] Data processing:

[1140] Convert natural language prompts to JSON format

[1141] output:

[1142] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[1143] Specific behavior:

[1144] The user types a prompt into the device's chat interface.

[1145] The terminal converts the input into JSON format and sends it to the server

[1146] Step 2:

[1147] The server parses the JSON data received from the device and extracts the contents of the query field. It then uses a natural language processing engine to parse this extracted natural language input and identify data extraction conditions.

[1148] input:

[1149] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[1150] Data processing:

[1151] Parsing JSON data and interpreting it using a natural language processing engine

[1152] output:

[1153] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[1154] Specific behavior:

[1155] The server extracts the query field from the JSON data.

[1156] Send the extracted prompt sentence to the natural language processing engine and receive the analysis results.

[1157] Step 3:

[1158] The server uses the analysis results to generate appropriate SQL queries, which are constructed based on the data extraction criteria.

[1159] input:

[1160] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[1161] Data processing:

[1162] Generate SQL queries based on analysis results

[1163] output:

[1164] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[1165] Specific behavior:

[1166] The server constructs an SQL query based on the analysis results

[1167] Log the generated query and pass it to the next step

[1168] Step 4:

[1169] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends a result set back to the server.

[1170] input:

[1171] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[1172] Data processing:

[1173] Execute SQL queries and extract data

[1174] output:

[1175] A result set (e.g. rows of sales data)

[1176] Specific behavior:

[1177] The server establishes a database connection

[1178] Sending SQL queries to a database and receiving result sets

[1179] Step 5:

[1180] The server formats the result set retrieved from the database and converts it into a format that is easy for the user to understand, for example, by formatting the retrieved results in a table or JSON format.

[1181] input:

[1182] A result set (e.g. rows of sales data)

[1183] Data processing:

[1184] Result set cleanup and formatting

[1185] output:

[1186] Formatted results (e.g. sales data in a table)

[1187] Specific behavior:

[1188] The server applies logic to format the result set

[1189] Convert formatted data to HTML or JSON format

[1190] Step 6:

[1191] The formatted results are sent from the server to the device, which displays the data to the user using HTML tables or data visualization tools.

[1192] input:

[1193] Formatted results (e.g. sales data in a table)

[1194] Data processing:

[1195] none

[1196] output:

[1197] Results displayed on the device's display screen

[1198] Specific behavior:

[1199] The server sends the formatted result to the terminal as an HTTP response

[1200] The device analyzes the received result data and displays it on the user's screen.

[1201] (Application example 1)

[1202] 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."

[1203] Conventional data extraction systems required users to have knowledge of SQL, and they also had the problem of being difficult to flexibly respond to changes in database schema. Furthermore, data extraction tasks in factories are complex and diverse, so an efficient system was needed to enable operators to quickly acquire and analyze data. This reduced the efficiency of data extraction tasks and increased the risk of work delays and errors.

[1204] 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.

[1205] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for displaying the formatted results, and means for converting the natural language input into an SQL query using a generative AI model. This enables an operator to efficiently extract data using natural language input while monitoring database schema changes, even without knowledge of SQL.

[1206] "Means for receiving input in natural language" refers to an interface that allows a user to input data extraction conditions in natural language and receive them in the system.

[1207] The "means for analyzing the received input and identifying the data extraction conditions" refers to an algorithm or process for analyzing the received natural language input and identifying the conditions necessary for data extraction from it.

[1208] "Means for generating appropriate SQL queries based on the identified data extraction criteria" refers to a processing system or module for automatically generating appropriate SQL queries based on the identified data extraction criteria.

[1209] A "means for executing the generated SQL queries against the database" means a system or mechanism for transmitting the generated SQL queries to the database and executing them.

[1210] "Means for formatting the results obtained from the database" refers to the process of converting the raw data obtained from the database into a format that is easy for the user to understand.

[1211] "Means for displaying the formatted results" refers to an interface or system for displaying the formatted data on a terminal screen.

[1212] A "means for converting natural language input into SQL queries using a generative AI model" means a processing system that uses a generative AI model to parse input natural language text and convert it into a corresponding SQL query.

[1213] "Means for monitoring changes to a database schema" refers to a monitoring system for detecting changes to the schema in a database.

[1214] "Means for automatically adjusting existing SQL queries based on schema changes" means a mechanism for automatically modifying existing SQL queries in response to schema changes.

[1215] "Means for analyzing input and generating prompt sentences using natural language processing" refers to a system that uses natural language processing technology to analyze user input and generate appropriate prompt sentences based on that input.

[1216] This invention relates to a system in which factory operators input data extraction conditions in natural language. The system analyzes the input natural language, converts it into an appropriate SQL query using a generative AI model, and retrieves and displays the required data from the database. This makes it easy to extract data even without knowledge of SQL.

[1217] System Configuration

[1218] The system is configured as follows:

[1219] 1. Device:

[1220] This includes smartphones or head-mounted displays (e.g., Google Glass) used by operators.

[1221] An interface for entering data extraction conditions in natural language through a chat interface.

[1222] 2. Server:

[1223] The server receives natural language input sent from the device and analyzes the input using a natural language processing engine (using OpenAI's GPT-3.5).

[1224] Parses the input and generates the appropriate SQL query based on the specified data extraction criteria.

[1225] Run the generated SQL query against the database and format the results.

[1226] 3. Database:

[1227] Database management systems such as SQLite are used to store factory operation logs and production data.

[1228] Hardware and Software

[1229] Hardware:

[1230] Smartphone or head-mounted display

[1231] software:

[1232] Flask (Web application framework)

[1233] OpenAI's GPT-3.5 (natural language processing engine)

[1234] SQLite (database management system)

[1235] Program processing explanation

[1236] The server first receives natural language input from the device. It then analyzes this input using a natural language processing engine to identify the necessary data extraction conditions. It generates an SQL query based on the specific analysis results and sends this query to the database for execution. The response data from the database is formatted by the server and sent to the device.

[1237] Specific examples

[1238] For example, if a factory operator types the following prompt into a smartphone or head-mounted display:

[1239] "Please show the operating rate of Line 2 in October 2022."

[1240] The server then uses a generative AI model to translate this input into an appropriate SQL query, generating something like this:

[1241] "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;"

[1242] This SQL query is run against the database to retrieve the necessary data from the plant's operation logs, which is then formatted and displayed on the operator's terminal.

[1243] As described above, the present invention provides a system that enables an operator to efficiently obtain required information from a database using natural language.

[1244] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1245] Step 1:

[1246] The user uses a terminal to input data extraction conditions in natural language and submits them. The input here is a prompt statement from the operator, such as "Show me the utilization rate of line 2 in October 2022." The terminal then submits this natural language input to the server.

[1247] Step 2:

[1248] The server receives natural language input sent from the device. The input data is a prompt sentence: "Show the utilization rate of Line 2 in October 2022." The server sends this input data to a natural language processing engine (OpenAI's GPT-3.5) to analyze the received input.

[1249] Step 3:

[1250] The server uses a natural language processing engine to analyze the received input data and identify the data extraction criteria. The input is a prompt statement such as "Show the utilization rate of line 2 in October 2022," and the resulting analysis results in the data extraction criteria being "Year: 2022," "Month: October," and "Line ID: 2."

[1251] Step 4:

[1252] The server generates an SQL query based on the analysis result. The input data is the analysis result "2022, October, Line ID: 2", and the server generates the SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;" based on this.

[1253] Step 5:

[1254] The server sends the generated SQL query to the database and executes it. The input data is the generated SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;", and the server sends it to the database and executes it.

[1255] Step 6:

[1256] The database searches for data based on the executed SQL query and returns the results to the server. The input data is the SQL query result, and "operation log data" is generated as the output.

[1257] Step 7:

[1258] The server formats the results obtained from the database. The input data is the "operation log data" obtained from the database, and the server formats it into a format that is easy for users to understand, such as a table.

[1259] Step 8:

[1260] The formatted results are sent to the terminal and displayed to the user. The input data is the formatted log data, which the server sends to the terminal and the terminal displays to the user. The user can view data related to "Line 2 operating rate in October 2022" through the terminal.

[1261] As described above, each processing step works together to receive data, analyze it, generate a query, execute it, and format and display the results, thereby realizing a system that allows users to quickly and easily extract the data they need through natural language input.

[1262] 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.

[1263] This invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes appropriate SQL queries based on the identified conditions, and formats and displays the acquired results. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to adjust the data extraction conditions and change the display format based on the user's emotions.

[1264] System configuration

[1265] This system consists of a terminal, a server, a database, and an emotion engine. The user inputs data extraction conditions in natural language via the terminal, which is then sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal. Furthermore, the emotion engine recognizes the user's emotions and adjusts the data extraction conditions and display format based on those emotions.

[1266] Program processing overview

[1267] 1. Receiving user input

[1268] The user inputs data extraction conditions in natural language using the chat interface of the terminal.

[1269] Example: "Show me sales data for 2022"

[1270] 2. Parsing the Input

[1271] The server receives user input sent from the terminal.

[1272] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[1273] The analysis extracts keywords such as year and sales data.

[1274] 3. Emotional Recognition

[1275] The server uses an emotion engine to recognize emotions from the user's input.

[1276] Example: Identifying emotions such as "dissatisfaction" or "excitement" from an input sentence.

[1277] 4. Generating SQL Queries

[1278] The server generates appropriate SQL queries based on the analysis results and the recognized emotions.

[1279] Example: "SELECT FROM sales WHERE year = 2022;"

[1280] 5. Execute the query

[1281] The server's database access component sends the generated SQL query to the database for execution.

[1282] As a result, data is returned from the database.

[1283] 6. Formatting the results

[1284] The server formats the results retrieved from the database, adjusting the format depending on the emotion.

[1285] For example: a graphical representation for excited users and a detailed table representation for disgruntled users.

[1286] 7. Displaying the results

[1287] The formatted results are sent from the server to the terminal, which displays them to the user.

[1288] Specific examples

[1289] Example 1: Simple data extraction and emotion recognition

[1290] User operations

[1291] The user types "Show me sales data for 2022" into the device. The emotion engine recognizes that the user is excited when typing.

[1292] System Operation

[1293] User input is sent from the terminal to the server.

[1294] The server analyzes the input it receives and identifies the conditions "2022" and "sales data."

[1295] The emotion engine recognizes the user's state of excitement.

[1296] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[1297] The server executes the SQL query against the database and retrieves the query results.

[1298] The server formats the data it receives into a graph.

[1299] The formatted result is sent to the terminal and displayed to the user.

[1300] Displaying the results

[1301] (Sales data displayed in graph form)

[1302] Example 2: Complex Data Extraction and Emotion Modulation

[1303] User operations

[1304] The user types into the terminal, "Get the order history of all customers for 2022." At this time, the emotion engine recognizes that the user is dissatisfied.

[1305] System Operation

[1306] User input is sent from the terminal to the server.

[1307] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[1308] The emotion engine recognizes the user's dissatisfaction state.

[1309] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[1310] The server executes the SQL query against the database and retrieves the query results.

[1311] The server formats the retrieved data into a detailed table.

[1312] The formatted result is sent to the terminal and displayed to the user.

[1313] Displaying the results

[1314] +-----------+---------+----------+--------+

[1315] | Customer | OrderID | Year | Amount |

[1316] +-----------+---------+----------+--------+

[1317] | John Doe | 1001 | 2022 | 500 |

[1318] | Jane Smith | 1002 | 2022 | 800 |

[1319] +-----------+---------+----------+--------+

[1320] System Flexibility

[1321] This system can also handle changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a change is detected, it automatically adjusts existing SQL queries to accommodate the latest database schema. Furthermore, an emotion engine can take user emotions into account, allowing for more personalized interactions.

[1322] The processing flow will be explained below.

[1323] Step 1:

[1324] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[1325] Step 2:

[1326] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[1327] Step 3:

[1328] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[1329] Step 4:

[1330] The server receives user input sent from the device, and passes the received data to the component for analysis.

[1331] Step 5:

[1332] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[1333] Step 6:

[1334] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine identifies emotions such as "frustrated" or "excited" from the input sentence.

[1335] Step 7:

[1336] The server generates an appropriate SQL query based on the analysis results and the recognized sentiment. For example, the SQL query "SELECT FROM sales WHERE year = 2022;" is automatically constructed based on the analyzed extraction conditions.

[1337] Step 8:

[1338] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[1339] Step 9:

[1340] The database executes the SQL query and returns the results to the server, which sends the returned data to a processing component on the server.

[1341] Step 10:

[1342] The server formats the results it retrieves from the database, for example, a graph if the user is excited, or a detailed table if the user is unhappy.

[1343] Step 11:

[1344] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[1345] Step 12:

[1346] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[1347] Step 13:

[1348] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[1349] Example 2

[1350] 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."

[1351] Conventional data extraction systems make it difficult for users to specify data extraction conditions directly in natural language, and they are unable to consider user sentiment. Furthermore, changes to the database schema require manual modification of SQL queries, which is time-consuming. This results in a poor user experience and makes efficient data extraction difficult.

[1352] 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.

[1353] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query language query based on the identified data extraction conditions, means for executing the generated query language query on an information repository, means for formatting results obtained from the information repository, means for displaying the formatted results, means for recognizing a user's emotion, and means for adjusting the data extraction conditions and display format based on the recognized emotion. This allows the user to specify data extraction conditions in natural language, realizes data display according to the user's emotion, and also makes it possible to automatically respond to schema changes in the information repository.

[1354] "Natural language" refers to language that humans use on a daily basis, such as normal written or spoken language.

[1355] "Data extraction conditions" refer to the specific conditions or criteria for obtaining the necessary data from a database or information repository.

[1356] A "query language query" is a command or question that is used to search for or manipulate data in a database management system.

[1357] An "information repository" is a system or facility for storing and managing data and information in an organized manner. For example, it includes a database.

[1358] "Recognition" is the ability to understand and grasp specific situations, emotions, conditions, etc. based on input information.

[1359] "Formatting" is the process of converting acquired data into a format that is easy to view and understand.

[1360] "Emotions" are the emotional reactions such as joy, sadness, excitement, and dissatisfaction that humans experience in response to certain situations or events.

[1361] "Analysis" refers to the process of breaking down input information into smaller pieces and understanding its content and meaning.

[1362] This invention relates to a system that accepts input in natural language, extracts information from a database, and displays the results in an easy-to-understand manner for the user. The system is mainly composed of a terminal, a server, an information repository, and an emotion recognition engine, and the user inputs data extraction conditions in natural language via the terminal.

[1363] First, the user uses the chat interface on the device to input natural language, such as "Show me sales data for 2022." The device receives this input and sends it to the server.

[1364] The server receives the input sent from the device, analyzes it using a natural language processing engine (e.g., NLTK, SpaCy, etc.), and identifies the data extraction conditions. Through the analysis, conditions such as "2022" and "sales data" are extracted.

[1365] Next, the server uses an emotion recognition engine (e.g., Microsoft Azure Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input sentence. It identifies emotions such as "frustration" or "excitement" based on the context of the input sentence and word choice.

[1366] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user types "Show me the sales data for 2022" and the server recognizes that the user is excited, the generated SQL query will be "SELECT FROM sales WHERE year = 2022;".

[1367] The generated queries are executed against a knowledge store (e.g. MySQL, PostgreSQL, etc.) via the server's database access component, which returns the results of the executed queries to the server.

[1368] The returned data is formatted on the server, and this formatting is adjusted depending on the user's emotion, for example, a graph for an excited user, or a detailed table for a frustrated user.

[1369] Finally, the formatted results are sent from the server to the terminal, which displays them to the user, allowing the user to easily visually confirm the required data.

[1370] Examples of prompt statements

[1371] Here are some examples of prompts that users might enter into the system:

[1372] "Show me sales data for 2022"

[1373] "Get all customers' order history for 2022"

[1374] This system allows users to specify data extraction conditions in natural language, enabling data display that reflects the user's emotions. It can also automatically respond to schema changes in the information repository. This results in efficient and easy-to-use data extraction and display.

[1375] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1376] Step 1:

[1377] The user inputs data extraction criteria in natural language using the chat interface on the device, for example, "Show me sales data for 2022." This input is received by the device and sent to the server.

[1378] Input: Data extraction criteria in natural language by the user

[1379] Output: Sending input data from the terminal to the server

[1380] Step 2:

[1381] The server receives user input sent from the device. The received input is analyzed using a natural language processing engine (e.g., NLTK, SpaCy, etc.) to identify data extraction conditions. Through this analysis, the extraction conditions "2022" and "sales data" are extracted.

[1382] Input: The user's natural language input sent from the device

[1383] Output: Identified data extraction criteria

[1384] Step 3:

[1385] The server uses an emotion recognition engine (e.g., Microsoft Azure Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input. Based on the context and word choice, emotions such as "frustrated" or "excited" are identified.

[1386] Input: User input

[1387] Output: Recognized user emotion

[1388] Step 4:

[1389] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user enters "Show me sales data for 2022" and the emotion "excited" is recognized, the SQL query will be "SELECT FROM sales WHERE year = 2022;".

[1390] Input: Identified data extraction criteria and recognized emotions

[1391] Output: Generated query language query

[1392] Step 5:

[1393] The server's database access component executes the generated SQL query against a database (e.g., MySQL, PostgreSQL, etc.), which retrieves data based on the query and returns the results.

[1394] Input: Generated SQL query

[1395] Output: Query results from the information repository

[1396] Step 6:

[1397] The server formats the query results retrieved from the information repository, adapting the display format of the results based on the user's emotions, for example, presenting a graph for an excited user and a detailed table for a frustrated user.

[1398] Input: Query results and recognized emotions retrieved from the information repository.

[1399] Output: Formatted data

[1400] Step 7:

[1401] The formatted results are sent from the server to the terminal, which then displays the received results to the user, allowing the user to visually confirm the desired data.

[1402] Input: Formatted data

[1403] Output: Data displayed on the terminal

[1404] (Application example 2)

[1405] 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."

[1406] In modern information management systems, even if users input data extraction conditions in natural language, it is difficult to analyze the input and obtain the appropriate data. Furthermore, there is a need to recognize user emotions and adjust data extraction conditions accordingly, as well as customize the display format of results, but few systems can achieve this. Improving the user experience when searching for products or providing information in physical stores is particularly important. Therefore, there is a need to develop an efficient data extraction and display system that integrates natural language input and emotion recognition to increase user satisfaction.

[1407] 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.

[1408] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for recognizing a user's emotion, means for adjusting the data extraction conditions or display format based on the recognized emotion, and means for displaying the formatted results. By integrating natural language input and emotion recognition, it is possible to quickly and appropriately provide the information desired by the user and improve the user experience.

[1409] "Input" refers to the specification of data extraction conditions by the user in natural language.

[1410] "Analysis" refers to the process of understanding the meaning of received input and identifying necessary keywords and conditions.

[1411] "Data extraction conditions" refers to the conditions and filters for retrieving specific data from a database.

[1412] An "SQL query" is a command statement issued to a database to select, insert, update, or delete specific data.

[1413] "Database" refers to a system for systematically storing and managing large amounts of data.

[1414] "Formatting" refers to the process of converting the results retrieved from a database into a format that is easy to view and use.

[1415] "Display" refers to the act of showing the formatted result to the user.

[1416] "Emotion" refers to the emotional state that can be read from user input, etc.

[1417] "Recognition" refers to the process of detecting and understanding a user's emotions and intentions.

[1418] "Adjustment" refers to the act of changing data extraction conditions or display format based on recognized emotions.

[1419] The system of this invention is capable of analyzing data extraction conditions entered in natural language, recognizing emotions, and displaying the results appropriately. This system is composed of the following main components:

[1420] Hardware and Software Configuration

[1421] server:

[1422] The server is equipped with a natural language processing engine (e.g., Google Cloud Natural Language API) that analyzes natural language input received from users and identifies appropriate data extraction conditions. It also uses an emotion recognition engine (e.g., Affectiva) that recognizes users' emotions. Furthermore, it uses a database access component (e.g., Node.js and PostgreSQL) to generate and execute SQL queries against a database (MySQL).

[1423] Device:

[1424] The terminal is equipped with a chat interface that receives input from users and forwards it to the server. The terminal can be a smartphone or smart glasses.

[1425] Database:

[1426] The database contains a wide variety of data to retrieve, and the system executes SQL queries against the database and returns the results to the server.

[1427] Data processing and display:

[1428] The server formats the results retrieved from the database and adjusts the display format according to the user's emotions. The formatted results are sent to the terminal and displayed to the user.

[1429] As a concrete example, consider a product search assistant in a physical store. When a user types "I'm looking for a new phone case. Do you have any recommendations?" into their smart glasses, the emotion engine recognizes the input along with their emotional state. The server analyzes this input, identifies the keywords "phone case" and "recommended," and generates the SQL query "SELECT FROM products WHERE category='phone case' AND recommended=true;". This SQL query is executed against the database, and the retrieved data is formatted in a pop display format for the user to enjoy, and displayed on the smart glasses.

[1430] An example of an actual prompt is as follows:

[1431] "Add it to my list."

[1432] "Show me the latest sales data."

[1433] "I want to check the percentage of defective products."

[1434] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1435] Step 1:

[1436] The user enters data extraction conditions in natural language.

[1437] An example input is "I'm looking for a new smartphone case. Do you have any recommendations?"

[1438] The device (smartphone or smart glasses) receives this input and sends it to the server.

[1439] Input: User's natural language input

[1440] Output: Sending input data to the server

[1441] Step 2:

[1442] The server receives the input sent from the terminal.

[1443] The server parses the input using a natural language processing engine (Google Cloud Natural Language API).

[1444] Specifically, the server extracts keywords such as "smartphone case" and "recommended."

[1445] Input: Natural language input data from the terminal

[1446] Output: Keywords as data extraction criteria

[1447] Step 3:

[1448] The server uses an emotion recognition engine (Affectiva) to recognize the user's emotions.

[1449] For example, identify emotions that you enjoy or that you find unpleasant.

[1450] Input: Natural language input data

[1451] Output: Recognized user emotion information

[1452] Step 4:

[1453] The server generates appropriate SQL queries based on the analyzed keywords and the recognized sentiment.

[1454] As an example, create a query like "SELECT FROM products WHERE category='smartphone cases' AND recommended=true;".

[1455] Input: Keywords as data extraction criteria, recognized emotion information

[1456] Output: Generated SQL query

[1457] Step 5:

[1458] The server's database access component sends the generated SQL query to the database (MySQL) and executes it.

[1459] The database returns the execution result.

[1460] Input: Generated SQL query

[1461] Output: Query results from the database

[1462] Step 6:

[1463] The server formats the results retrieved from the database.

[1464] The formatting is adjusted to match the user's emotions, for example, a user who is having fun will be presented with a pop graphical display.

[1465] Input: Query results from the database, recognized emotion information

[1466] Output: Formatted display data

[1467] Step 7:

[1468] The server sends the formatted results to the terminal.

[1469] The terminal displays the received results to the user.

[1470] Input: Formatted display data

[1471] Output: Data sent to the terminal and displayed to the user

[1472] 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.

[1473] 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.

[1474] 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.

[1475] [Fourth embodiment]

[1476] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1477] 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.

[1478] 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).

[1479] 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.

[1480] 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.

[1481] 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).

[1482] 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.

[1483] 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.

[1484] 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.

[1485] 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.

[1486] 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.

[1487] 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.

[1488] 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."

[1489] The present invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate SQL query based on the identified conditions, and formats and displays the obtained results.

[1490] System configuration

[1491] This system consists of a terminal, a server, and a database. The user enters data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[1492] Program processing overview

[1493] 1. Receiving user input

[1494] Users use the chat interface on their device to input data extraction conditions in natural language.

[1495] Example: Enter "Show me sales data for 2022."

[1496] 2. Parsing the Input

[1497] The server receives user input sent from the terminal.

[1498] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[1499] The analysis extracts keywords such as year and sales data.

[1500] 3. Generating SQL Queries

[1501] The server generates an appropriate SQL query based on the analysis results.

[1502] Example: "SELECT FROM sales WHERE year = 2022;"

[1503] 4. Execute the query

[1504] The server sends the generated SQL query to the database and executes it.

[1505] As a result, data is returned from the database.

[1506] 5. Formatting the results

[1507] The server formats the results retrieved from the database.

[1508] Example: Format the acquired sales data into a table.

[1509] 6. Displaying the results

[1510] The formatted results are sent from the server to the terminal, which displays them to the user.

[1511] Specific examples

[1512] Example 1: Simple Data Extraction

[1513] User Actions

[1514] The user types "Show me sales data for 2022" into the device.

[1515] System Operation

[1516] User input is sent from the terminal to the server.

[1517] The server analyzes the received input and identifies the conditions "2022" and "sales data."

[1518] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[1519] The server executes the SQL query against the database and retrieves the query results.

[1520] The server formats the retrieved data into a table.

[1521] The formatted result is sent to the terminal and displayed to the user.

[1522] Displaying the results

[1523] +---------+----------+--------+

[1524] | Item ID | Year | Sales |

[1525] +---------+----------+--------+

[1526] | 001 | 2022 | 1000 |

[1527] | 002 | 2022 | 1500 |

[1528] +---------+----------+--------+

[1529] Example 2: Complex Data Extraction

[1530] User Actions

[1531] The user types into the terminal, "Get the order history of all customers for 2022."

[1532] System Operation

[1533] User input is sent from the terminal to the server.

[1534] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[1535] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[1536] The server executes the SQL query against the database and retrieves the query results.

[1537] The server formats the retrieved data into a table.

[1538] The formatted result is sent to the terminal and displayed to the user.

[1539] Displaying the results

[1540] +-----------+---------+----------+--------+

[1541] | Customer | OrderID | Year | Amount |

[1542] +-----------+---------+----------+--------+

[1543] | John Doe | 1001 | 2022 | 500 |

[1544] | Jane Smith | 1002 | 2022 | 800 |

[1545] +-----------+---------+----------+--------+

[1546] System Flexibility

[1547] This system can also accommodate changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a schema change is detected, it automatically adjusts existing SQL queries to always support the latest database schema.

[1548] This system configuration provides an environment where anyone can easily extract data without knowledge of SQL, and it can also accommodate schema changes, greatly improving operational flexibility.

[1549] The processing flow will be explained below.

[1550] Step 1:

[1551] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[1552] Step 2:

[1553] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[1554] Step 3:

[1555] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[1556] Step 4:

[1557] The server receives user input sent from the device, and passes the received data to a component for analysis.

[1558] Step 5:

[1559] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[1560] Step 6:

[1561] The server generates an appropriate SQL query based on the analysis results. By combining the analyzed conditions, an SQL query such as "SELECT FROM sales WHERE year = 2022;" is automatically constructed.

[1562] Step 7:

[1563] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[1564] Step 8:

[1565] The database executes the SQL query and returns the results, which are sent to the server's processing component.

[1566] Step 9:

[1567] The server formats the results retrieved from the database, specifically converting the retrieved data into a format that is easy for the user to understand, such as a table or graph.

[1568] Step 10:

[1569] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[1570] Step 11:

[1571] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[1572] Step 12:

[1573] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[1574] Example 1

[1575] 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."

[1576] In recent years, creating SQL queries to extract necessary information from databases has required specialized knowledge, making it a burden, especially for non-technical users. Furthermore, when database schemas change, it is difficult to appropriately adjust existing queries to accommodate those changes. Furthermore, while there is a demand for interfaces that allow users to specify data extraction criteria in natural language, such interfaces are limited. Therefore, there is a need for a system that allows non-technical users to easily extract information from databases and that can flexibly accommodate changes in the database schema.

[1577] 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.

[1578] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query based on the identified data extraction conditions, means for executing the generated query against a database, means for formatting results obtained from the database, means for formatting the results for visual display to a user, means for displaying the formatted results, means for monitoring schema changes in the database, means for automatically adjusting existing queries based on schema changes, means for analyzing the input using natural language processing, and means for automatically generating queries based on the analysis results.This enables even non-technical users to easily extract information from a database using natural language, and also enables queries to be automatically adjusted to adapt to changes in the database schema, improving the flexibility of the system.

[1579] "Means for receiving input in natural language" refers to an interface through which a system receives questions or requests written by a user in natural language.

[1580] "Means for analyzing received input and identifying data extraction conditions" refers to a function for analyzing received natural language input and clarifying the conditions for extracting the required data.

[1581] "Means for generating an appropriate query based on the identified data extraction conditions" refers to a function for creating a query for retrieving information from a database based on the analyzed data extraction conditions.

[1582] The "means for executing the generated query on the database" is a function for sending the generated query to the database and performing processing to actually retrieve the data.

[1583] "Means for formatting results obtained from a database" refers to the function of converting raw data obtained from a database into a format that is easy for users to understand.

[1584] "Means for formatting the results for visual display to the user" refers to the ability to present the formatted data in a visually easy-to-understand format such as a table or graph.

[1585] "Means for displaying formatted results" refers to a function that displays formatted data in a user interface.

[1586] "Means for monitoring changes to the database schema" refers to a function that detects changes to the database structure when they occur.

[1587] "Means to automatically adjust existing queries based on schema changes" refers to the ability to automatically update existing queries to function correctly when the structure of the database changes.

[1588] "Means for analyzing input using natural language processing" refers to technology that converts a user's natural language input into an understandable form.

[1589] "Means for automatically generating queries based on analysis results" refers to a function that automatically creates database queries based on the analyzed data extraction conditions.

[1590] The present invention is a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes an appropriate query based on the identified conditions, and formats and displays the obtained results. This system is composed of a terminal, a server, and a database. A user inputs data extraction conditions in natural language via the terminal, and the input is sent to the server. The server analyzes the received input, generates an appropriate query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal.

[1591] Hardware and software used

[1592] Device: A device such as a computer, tablet, or smartphone on which a user provides natural language input.

[1593] Server: A computer system that analyzes user input, generates queries, and executes them. The server uses a natural language processing engine (e.g., Google NLP API or IBM Watson) to analyze the input.

[1594] Database: A data storage system that queries data and returns results. Examples include MySQL and PostgreSQL.

[1595] Specific operation of the system

[1596] 1. Receiving user input

[1597] The user uses the chat interface on the device to input data extraction criteria in natural language. For example, they might type "Show me sales data for 2022" and click the submit button. The device sends this input to the server in JSON format, and the actual prompt used is as follows:

[1598] "Show me sales data for 2022"

[1599] "Get all customers' order history for 2022"

[1600] 2. Parsing the Input

[1601] The server parses the user input received from the device as JSON data and extracts the contents of the query field. It then uses a natural language processing engine to analyze the received input and identify data extraction criteria. For example, keywords such as "2022" and "sales data" are extracted.

[1602] 3. Generating SQL Queries

[1603] The server generates an appropriate SQL query based on the analysis results, for example, "SELECT FROM sales WHERE year = 2022;".

[1604] 4. Execute the query

[1605] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends the results back to the server.

[1606] 5. Formatting the results

[1607] The server formats the results retrieved from the database and converts them into a format that is easy for the user to understand, for example, formatting the retrieved sales data into a table.

[1608] 6. Displaying the formatting results

[1609] The formatted results are sent from the server to the terminal, which displays them to the user in HTML tables, graphs, or other formats.

[1610] Specific examples

[1611] For example, if a user types "Show me sales data for 2022," the overall system behavior is as follows:

[1612] User input is sent from the terminal to the server.

[1613] The server parses the received input and identifies the conditions "2022" and "sales data."

[1614] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[1615] The server executes the query against the database and obtains the query results.

[1616] The server formats the retrieved data into a table.

[1617] The formatted result is sent to the terminal and displayed to the user.

[1618] The above is an embodiment of the present invention, and this configuration allows the user to efficiently extract and display required data based on conditions entered in natural language.

[1619] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1620] Step 1:

[1621] The user uses the chat interface on the device to input data extraction conditions in natural language. For example, the input prompt might be "Show me sales data for 2022." The device converts this input data into JSON format and sends it to the server as an HTTP request (POST method).

[1622] input:

[1623] A natural language prompt (e.g., "Show me the sales data for 2022")

[1624] Data processing:

[1625] Convert natural language prompts to JSON format

[1626] output:

[1627] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[1628] Specific behavior:

[1629] The user types a prompt into the device's chat interface.

[1630] The terminal converts the input into JSON format and sends it to the server

[1631] Step 2:

[1632] The server parses the JSON data received from the device and extracts the contents of the query field. It then uses a natural language processing engine to parse this extracted natural language input and identify data extraction conditions.

[1633] input:

[1634] JSON format data (e.g., {"query": "Show me sales data for 2022"})

[1635] Data processing:

[1636] Parsing JSON data and interpreting it using a natural language processing engine

[1637] output:

[1638] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[1639] Specific behavior:

[1640] The server extracts the query field from the JSON data.

[1641] Send the extracted prompt sentence to the natural language processing engine and receive the analysis results.

[1642] Step 3:

[1643] The server uses the analysis results to generate appropriate SQL queries, which are constructed based on the data extraction criteria.

[1644] input:

[1645] Analysis results (e.g., "Year: 2022", "Data type: Sales data")

[1646] Data processing:

[1647] Generate SQL queries based on analysis results

[1648] output:

[1649] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[1650] Specific behavior:

[1651] The server constructs an SQL query based on the analysis results

[1652] Log the generated query and pass it to the next step

[1653] Step 4:

[1654] The server generates the SQL query and sends it to the database for execution, which then executes the query and sends a result set back to the server.

[1655] input:

[1656] Generated SQL query (e.g. "SELECT FROM sales WHERE year = 2022;")

[1657] Data processing:

[1658] Execute SQL queries and extract data

[1659] output:

[1660] A result set (e.g. rows of sales data)

[1661] Specific behavior:

[1662] The server establishes a database connection

[1663] Sending SQL queries to a database and receiving result sets

[1664] Step 5:

[1665] The server formats the result set retrieved from the database and converts it into a format that is easy for the user to understand, for example, by formatting the retrieved results in a table or JSON format.

[1666] input:

[1667] A result set (e.g. rows of sales data)

[1668] Data processing:

[1669] Result set cleanup and formatting

[1670] output:

[1671] Formatted results (e.g. sales data in a table)

[1672] Specific behavior:

[1673] The server applies logic to format the result set

[1674] Convert formatted data to HTML or JSON format

[1675] Step 6:

[1676] The formatted results are sent from the server to the device, which displays the data to the user using HTML tables or data visualization tools.

[1677] input:

[1678] Formatted results (e.g. sales data in a table)

[1679] Data processing:

[1680] none

[1681] output:

[1682] Results displayed on the device's display screen

[1683] Specific behavior:

[1684] The server sends the formatted result to the terminal as an HTTP response

[1685] The device analyzes the received result data and displays it on the user's screen.

[1686] (Application example 1)

[1687] 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."

[1688] Conventional data extraction systems required users to have knowledge of SQL, and they also had the problem of being difficult to flexibly respond to changes in database schema. Furthermore, data extraction tasks in factories are complex and diverse, so an efficient system was needed to enable operators to quickly acquire and analyze data. This reduced the efficiency of data extraction tasks and increased the risk of work delays and errors.

[1689] 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.

[1690] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for displaying the formatted results, and means for converting the natural language input into an SQL query using a generative AI model. This enables an operator to efficiently extract data using natural language input while monitoring database schema changes, even without knowledge of SQL.

[1691] "Means for receiving input in natural language" refers to an interface that allows a user to input data extraction conditions in natural language and receive them in the system.

[1692] The "means for analyzing the received input and identifying the data extraction conditions" refers to an algorithm or process for analyzing the received natural language input and identifying the conditions necessary for data extraction from it.

[1693] "Means for generating appropriate SQL queries based on the identified data extraction criteria" refers to a processing system or module for automatically generating appropriate SQL queries based on the identified data extraction criteria.

[1694] A "means for executing the generated SQL queries against the database" means a system or mechanism for transmitting the generated SQL queries to the database and executing them.

[1695] "Means for formatting the results obtained from the database" refers to the process of converting the raw data obtained from the database into a format that is easy for the user to understand.

[1696] "Means for displaying the formatted results" refers to an interface or system for displaying the formatted data on a terminal screen.

[1697] A "means for converting natural language input into SQL queries using a generative AI model" means a processing system that uses a generative AI model to parse input natural language text and convert it into a corresponding SQL query.

[1698] "Means for monitoring changes to a database schema" refers to a monitoring system for detecting changes to the schema in a database.

[1699] "Means for automatically adjusting existing SQL queries based on schema changes" means a mechanism for automatically modifying existing SQL queries in response to schema changes.

[1700] "Means for analyzing input and generating prompt sentences using natural language processing" refers to a system that uses natural language processing technology to analyze user input and generate appropriate prompt sentences based on that input.

[1701] This invention relates to a system in which factory operators input data extraction conditions in natural language. The system analyzes the input natural language, converts it into an appropriate SQL query using a generative AI model, and retrieves and displays the required data from the database. This makes it easy to extract data even without knowledge of SQL.

[1702] System Configuration

[1703] The system is configured as follows:

[1704] 1. Device:

[1705] This includes smartphones or head-mounted displays (e.g., Google Glass) used by operators.

[1706] An interface for entering data extraction conditions in natural language through a chat interface.

[1707] 2. Server:

[1708] The server receives natural language input sent from the device and analyzes the input using a natural language processing engine (using OpenAI's GPT-3.5).

[1709] Parses the input and generates the appropriate SQL query based on the specified data extraction criteria.

[1710] Run the generated SQL query against the database and format the results.

[1711] 3. Database:

[1712] Database management systems such as SQLite are used to store factory operation logs and production data.

[1713] Hardware and Software

[1714] Hardware:

[1715] Smartphone or head-mounted display

[1716] software:

[1717] Flask (Web application framework)

[1718] OpenAI's GPT-3.5 (natural language processing engine)

[1719] SQLite (database management system)

[1720] Program processing explanation

[1721] The server first receives natural language input from the device. It then analyzes this input using a natural language processing engine to identify the necessary data extraction conditions. It generates an SQL query based on the specific analysis results and sends this query to the database for execution. The response data from the database is formatted by the server and sent to the device.

[1722] Specific examples

[1723] For example, if a factory operator types the following prompt into a smartphone or head-mounted display:

[1724] "Please show the operating rate of Line 2 in October 2022."

[1725] The server then uses a generative AI model to translate this input into an appropriate SQL query, generating something like this:

[1726] "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;"

[1727] This SQL query is run against the database to retrieve the necessary data from the plant's operation logs, which is then formatted and displayed on the operator's terminal.

[1728] As described above, the present invention provides a system that enables an operator to efficiently obtain required information from a database using natural language.

[1729] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1730] Step 1:

[1731] The user uses a terminal to input data extraction conditions in natural language and submits them. The input here is a prompt statement from the operator, such as "Show me the utilization rate of line 2 in October 2022." The terminal then submits this natural language input to the server.

[1732] Step 2:

[1733] The server receives natural language input sent from the device. The input data is a prompt sentence: "Show the utilization rate of Line 2 in October 2022." The server sends this input data to a natural language processing engine (OpenAI's GPT-3.5) to analyze the received input.

[1734] Step 3:

[1735] The server uses a natural language processing engine to analyze the received input data and identify the data extraction criteria. The input is a prompt statement such as "Show the utilization rate of line 2 in October 2022," and the resulting analysis results in the data extraction criteria being "Year: 2022," "Month: October," and "Line ID: 2."

[1736] Step 4:

[1737] The server generates an SQL query based on the analysis result. The input data is the analysis result "2022, October, Line ID: 2", and the server generates the SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;" based on this.

[1738] Step 5:

[1739] The server sends the generated SQL query to the database and executes it. The input data is the generated SQL query "SELECT FROM operation_log WHERE line_id = 2 AND month = 'October' AND year = 2022;", and the server sends it to the database and executes it.

[1740] Step 6:

[1741] The database searches for data based on the executed SQL query and returns the results to the server. The input data is the SQL query result, and "operation log data" is generated as the output.

[1742] Step 7:

[1743] The server formats the results obtained from the database. The input data is the "operation log data" obtained from the database, and the server formats it into a format that is easy for users to understand, such as a table.

[1744] Step 8:

[1745] The formatted results are sent to the terminal and displayed to the user. The input data is the formatted log data, which the server sends to the terminal and the terminal displays to the user. The user can view data related to "Line 2 operating rate in October 2022" through the terminal.

[1746] As described above, each processing step works together to receive data, analyze it, generate a query, execute it, and format and display the results, thereby realizing a system that allows users to quickly and easily extract the data they need through natural language input.

[1747] 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.

[1748] This invention relates to a system that receives input in natural language, analyzes the content to identify data extraction conditions, generates and executes appropriate SQL queries based on the identified conditions, and formats and displays the acquired results. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to adjust the data extraction conditions and change the display format based on the user's emotions.

[1749] System configuration

[1750] This system consists of a terminal, a server, a database, and an emotion engine. The user inputs data extraction conditions in natural language via the terminal, which is then sent to the server. The server analyzes the received input, generates an appropriate SQL query, and executes it against the database. The database returns the results of the executed query, which are then formatted by the server and displayed on the terminal. Furthermore, the emotion engine recognizes the user's emotions and adjusts the data extraction conditions and display format based on those emotions.

[1751] Program processing overview

[1752] 1. Receiving user input

[1753] The user inputs data extraction conditions in natural language using the chat interface of the terminal.

[1754] Example: "Show me sales data for 2022"

[1755] 2. Parsing the Input

[1756] The server receives user input sent from the terminal.

[1757] The server uses a natural language processing engine to analyze the received input and identify data extraction criteria.

[1758] The analysis extracts keywords such as year and sales data.

[1759] 3. Emotional Recognition

[1760] The server uses an emotion engine to recognize emotions from the user's input.

[1761] Example: Identifying emotions such as "dissatisfaction" or "excitement" from an input sentence.

[1762] 4. Generating SQL Queries

[1763] The server generates appropriate SQL queries based on the analysis results and the recognized emotions.

[1764] Example: "SELECT FROM sales WHERE year = 2022;"

[1765] 5. Execute the query

[1766] The server's database access component sends the generated SQL query to the database for execution.

[1767] As a result, data is returned from the database.

[1768] 6. Formatting the results

[1769] The server formats the results retrieved from the database, adjusting the format depending on the emotion.

[1770] For example: a graphical representation for excited users and a detailed table representation for disgruntled users.

[1771] 7. Displaying the results

[1772] The formatted results are sent from the server to the terminal, which displays them to the user.

[1773] Specific examples

[1774] Example 1: Simple data extraction and emotion recognition

[1775] User operations

[1776] The user types "Show me sales data for 2022" into the device. The emotion engine recognizes that the user is excited when typing.

[1777] System Operation

[1778] User input is sent from the terminal to the server.

[1779] The server analyzes the input it receives and identifies the conditions "2022" and "sales data."

[1780] The emotion engine recognizes the user's state of excitement.

[1781] The server generates the SQL query "SELECT FROM sales WHERE year = 2022;".

[1782] The server executes the SQL query against the database and retrieves the query results.

[1783] The server formats the data it receives into a graph.

[1784] The formatted result is sent to the terminal and displayed to the user.

[1785] Displaying the results

[1786] (Sales data displayed in graph form)

[1787] Example 2: Complex Data Extraction and Emotion Modulation

[1788] User operations

[1789] The user types into the terminal, "Get the order history of all customers for 2022." At this time, the emotion engine recognizes that the user is dissatisfied.

[1790] System Operation

[1791] User input is sent from the terminal to the server.

[1792] The server parses the input it receives and identifies the conditions "all customers," "year 2022," and "order history."

[1793] The emotion engine recognizes the user's dissatisfaction state.

[1794] The server generates the SQL query "SELECT FROM orders WHERE year = 2022;".

[1795] The server executes the SQL query against the database and retrieves the query results.

[1796] The server formats the retrieved data into a detailed table.

[1797] The formatted result is sent to the terminal and displayed to the user.

[1798] Displaying the results

[1799] +-----------+---------+----------+--------+

[1800] | Customer | OrderID | Year | Amount |

[1801] +-----------+---------+----------+--------+

[1802] | John Doe | 1001 | 2022 | 500 |

[1803] | Jane Smith | 1002 | 2022 | 800 |

[1804] +-----------+---------+----------+--------+

[1805] System Flexibility

[1806] This system can also handle changes to the database schema. The server has a built-in function for monitoring changes to the database schema, and when a change is detected, it automatically adjusts existing SQL queries to accommodate the latest database schema. Furthermore, an emotion engine can take user emotions into account, allowing for more personalized interactions.

[1807] The processing flow will be explained below.

[1808] Step 1:

[1809] The user enters data extraction criteria in natural language through the chat interface on the device, for example, "Show me sales data for 2022."

[1810] Step 2:

[1811] The terminal receives user input, which is internally converted to digital form and prepared for transmission to the server.

[1812] Step 3:

[1813] The device sends the user's input data to the server, usually using a protocol such as an HTTP request or WebSocket.

[1814] Step 4:

[1815] The server receives user input sent from the device, and passes the received data to the component for analysis.

[1816] Step 5:

[1817] The server's natural language processing engine analyzes the user input. Specifically, it performs grammatical analysis and keyword extraction to identify the data extraction conditions. For example, the keywords "2022" and "sales data" are identified.

[1818] Step 6:

[1819] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine identifies emotions such as "frustrated" or "excited" from the input sentence.

[1820] Step 7:

[1821] The server generates an appropriate SQL query based on the analysis results and the recognized sentiment. For example, the SQL query "SELECT FROM sales WHERE year = 2022;" is automatically constructed based on the analyzed extraction conditions.

[1822] Step 8:

[1823] The server's database access component sends the generated SQL query to the database for execution, and a database connection is established for execution.

[1824] Step 9:

[1825] The database executes the SQL query and returns the results to the server, which sends the returned data to a processing component on the server.

[1826] Step 10:

[1827] The server formats the results it retrieves from the database, for example, a graph if the user is excited, or a detailed table if the user is unhappy.

[1828] Step 11:

[1829] The server sends the formatted data to the device using an HTTP response or a WebSocket message.

[1830] Step 12:

[1831] The device receives the formatted data sent from the server, processes it internally, and prepares it for display to the user.

[1832] Step 13:

[1833] The device displays the formatted data on the user's chat interface, allowing the user to visually confirm the desired data.

[1834] Example 2

[1835] 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."

[1836] Conventional data extraction systems make it difficult for users to specify data extraction conditions directly in natural language, and they are unable to consider user sentiment. Furthermore, changes to the database schema require manual modification of SQL queries, which is time-consuming. This results in a poor user experience and makes efficient data extraction difficult.

[1837] 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.

[1838] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate query language query based on the identified data extraction conditions, means for executing the generated query language query on an information repository, means for formatting results obtained from the information repository, means for displaying the formatted results, means for recognizing a user's emotion, and means for adjusting the data extraction conditions and display format based on the recognized emotion. This allows the user to specify data extraction conditions in natural language, realizes data display according to the user's emotion, and also makes it possible to automatically respond to schema changes in the information repository.

[1839] "Natural language" refers to language that humans use on a daily basis, such as normal written or spoken language.

[1840] "Data extraction conditions" refer to the specific conditions or criteria for obtaining the necessary data from a database or information repository.

[1841] A "query language query" is a command or question that is used to search for or manipulate data in a database management system.

[1842] An "information repository" is a system or facility for storing and managing data and information in an organized manner. For example, it includes a database.

[1843] "Recognition" is the ability to understand and grasp specific situations, emotions, conditions, etc. based on input information.

[1844] "Formatting" is the process of converting acquired data into a format that is easy to view and understand.

[1845] "Emotions" are the emotional reactions such as joy, sadness, excitement, and dissatisfaction that humans experience in response to certain situations or events.

[1846] "Analysis" refers to the process of breaking down input information into smaller pieces and understanding its content and meaning.

[1847] This invention relates to a system that accepts input in natural language, extracts information from a database, and displays the results in an easy-to-understand manner for the user. The system is mainly composed of a terminal, a server, an information repository, and an emotion recognition engine, and the user inputs data extraction conditions in natural language via the terminal.

[1848] First, the user uses the chat interface on the device to input natural language, such as "Show me sales data for 2022." The device receives this input and sends it to the server.

[1849] The server receives the input sent from the device, analyzes it using a natural language processing engine (e.g., NLTK, SpaCy, etc.), and identifies the data extraction conditions. Through the analysis, conditions such as "2022" and "sales data" are extracted.

[1850] Next, the server uses an emotion recognition engine (e.g., Microsoft Azure Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input sentence. It identifies emotions such as "frustration" or "excitement" based on the context of the input sentence and word choice.

[1851] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user types "Show me the sales data for 2022" and the server recognizes that the user is excited, the generated SQL query will be "SELECT FROM sales WHERE year = 2022;".

[1852] The generated queries are executed against a knowledge store (e.g. MySQL, PostgreSQL, etc.) via the server's database access component, which returns the results of the executed queries to the server.

[1853] The returned data is formatted on the server, and this formatting is adjusted depending on the user's emotion, for example, a graph for an excited user, or a detailed table for a frustrated user.

[1854] Finally, the formatted results are sent from the server to the terminal, which displays them to the user, allowing the user to easily visually confirm the required data.

[1855] Examples of prompt statements

[1856] Here are some examples of prompts that users might enter into the system:

[1857] "Show me sales data for 2022"

[1858] "Get all customers' order history for 2022"

[1859] This system allows users to specify data extraction conditions in natural language, enabling data display that reflects the user's emotions. It can also automatically respond to schema changes in the information repository. This results in efficient and easy-to-use data extraction and display.

[1860] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1861] Step 1:

[1862] The user inputs data extraction criteria in natural language using the chat interface on the device, for example, "Show me sales data for 2022." This input is received by the device and sent to the server.

[1863] Input: Data extraction criteria in natural language by the user

[1864] Output: Sending input data from the terminal to the server

[1865] Step 2:

[1866] The server receives user input sent from the device. The received input is analyzed using a natural language processing engine (e.g., NLTK, SpaCy, etc.) to identify data extraction conditions. Through this analysis, the extraction conditions "2022" and "sales data" are extracted.

[1867] Input: The user's natural language input sent from the device

[1868] Output: Identified data extraction criteria

[1869] Step 3:

[1870] The server uses an emotion recognition engine (e.g., Microsoft Azure Cognitive Services, IBM Watson, etc.) to recognize emotions from the user's input. Based on the context and word choice, emotions such as "frustrated" or "excited" are identified.

[1871] Input: User input

[1872] Output: Recognized user emotion

[1873] Step 4:

[1874] The server generates an appropriate query language query based on the analysis results and the recognized emotion. For example, if the user enters "Show me sales data for 2022" and the emotion "excited" is recognized, the SQL query will be "SELECT FROM sales WHERE year = 2022;".

[1875] Input: Identified data extraction criteria and recognized emotions

[1876] Output: Generated query language query

[1877] Step 5:

[1878] The server's database access component executes the generated SQL query against a database (e.g., MySQL, PostgreSQL, etc.), which retrieves data based on the query and returns the results.

[1879] Input: Generated SQL query

[1880] Output: Query results from the information repository

[1881] Step 6:

[1882] The server formats the query results retrieved from the information repository, adapting the display format of the results based on the user's emotions, for example, presenting a graph for an excited user and a detailed table for a frustrated user.

[1883] Input: Query results and recognized emotions retrieved from the information repository.

[1884] Output: Formatted data

[1885] Step 7:

[1886] The formatted results are sent from the server to the terminal, which then displays the received results to the user, allowing the user to visually confirm the desired data.

[1887] Input: Formatted data

[1888] Output: Data displayed on the terminal

[1889] (Application example 2)

[1890] 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."

[1891] In modern information management systems, even if users input data extraction conditions in natural language, it is difficult to analyze the input and obtain the appropriate data. Furthermore, there is a need to recognize user emotions and adjust data extraction conditions accordingly, as well as customize the display format of results, but few systems can achieve this. Improving the user experience when searching for products or providing information in physical stores is particularly important. Therefore, there is a need to develop an efficient data extraction and display system that integrates natural language input and emotion recognition to increase user satisfaction.

[1892] 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.

[1893] In this invention, the server includes means for receiving input in natural language, means for analyzing the received input to identify data extraction conditions, means for generating an appropriate SQL query based on the identified data extraction conditions, means for executing the generated SQL query on a database, means for formatting results obtained from the database, means for recognizing a user's emotion, means for adjusting the data extraction conditions or display format based on the recognized emotion, and means for displaying the formatted results. By integrating natural language input and emotion recognition, it is possible to quickly and appropriately provide the information desired by the user and improve the user experience.

[1894] "Input" refers to the specification of data extraction conditions by the user in natural language.

[1895] "Analysis" refers to the process of understanding the meaning of received input and identifying necessary keywords and conditions.

[1896] "Data extraction conditions" refers to the conditions and filters for retrieving specific data from a database.

[1897] An "SQL query" is a command statement issued to a database to select, insert, update, or delete specific data.

[1898] "Database" refers to a system for systematically storing and managing large amounts of data.

[1899] "Formatting" refers to the process of converting the results retrieved from a database into a format that is easy to view and use.

[1900] "Display" refers to the act of showing the formatted result to the user.

[1901] "Emotion" refers to the emotional state that can be read from user input, etc.

[1902] "Recognition" refers to the process of detecting and understanding a user's emotions and intentions.

[1903] "Adjustment" refers to the act of changing data extraction conditions or display format based on recognized emotions.

[1904] The system of this invention is capable of analyzing data extraction conditions entered in natural language, recognizing emotions, and displaying the results appropriately. This system is composed of the following main components:

[1905] Hardware and Software Configuration

[1906] server:

[1907] The server is equipped with a natural language processing engine (e.g., Google Cloud Natural Language API) that analyzes natural language input received from users and identifies appropriate data extraction conditions. It also uses an emotion recognition engine (e.g., Affectiva) that recognizes users' emotions. Furthermore, it uses a database access component (e.g., Node.js and PostgreSQL) to generate and execute SQL queries against a database (MySQL).

[1908] Device:

[1909] The terminal is equipped with a chat interface that receives input from users and forwards it to the server. The terminal can be a smartphone or smart glasses.

[1910] Database:

[1911] The database contains a wide variety of data to retrieve, and the system executes SQL queries against the database and returns the results to the server.

[1912] Data processing and display:

[1913] The server formats the results retrieved from the database and adjusts the display format according to the user's emotions. The formatted results are sent to the terminal and displayed to the user.

[1914] As a concrete example, consider a product search assistant in a physical store. When a user types "I'm looking for a new phone case. Do you have any recommendations?" into their smart glasses, the emotion engine recognizes the input along with their emotional state. The server analyzes this input, identifies the keywords "phone case" and "recommended," and generates the SQL query "SELECT FROM products WHERE category='phone case' AND recommended=true;". This SQL query is executed against the database, and the retrieved data is formatted in a pop display format for the user to enjoy, and displayed on the smart glasses.

[1915] An example of an actual prompt is as follows:

[1916] "Add it to my list."

[1917] "Show me the latest sales data."

[1918] "I want to check the percentage of defective products."

[1919] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1920] Step 1:

[1921] The user enters data extraction conditions in natural language.

[1922] An example input is "I'm looking for a new smartphone case. Do you have any recommendations?"

[1923] The device (smartphone or smart glasses) receives this input and sends it to the server.

[1924] Input: User's natural language input

[1925] Output: Sending input data to the server

[1926] Step 2:

[1927] The server receives the input sent from the terminal.

[1928] The server parses the input using a natural language processing engine (Google Cloud Natural Language API).

[1929] Specifically, the server extracts keywords such as "smartphone case" and "recommended."

[1930] Input: Natural language input data from the terminal

[1931] Output: Keywords as data extraction criteria

[1932] Step 3:

[1933] The server uses an emotion recognition engine (Affectiva) to recognize the user's emotions.

[1934] For example, identify emotions that you enjoy or that you find unpleasant.

[1935] Input: Natural language input data

[1936] Output: Recognized user emotion information

[1937] Step 4:

[1938] The server generates appropriate SQL queries based on the analyzed keywords and the recognized sentiment.

[1939] As an example, create a query like "SELECT FROM products WHERE category='smartphone cases' AND recommended=true;".

[1940] Input: Keywords as data extraction criteria, recognized emotion information

[1941] Output: Generated SQL query

[1942] Step 5:

[1943] The server's database access component sends the generated SQL query to the database (MySQL) and executes it.

[1944] The database returns the execution result.

[1945] Input: Generated SQL query

[1946] Output: Query results from the database

[1947] Step 6:

[1948] The server formats the results retrieved from the database.

[1949] The formatting is adjusted to match the user's emotions, for example, a user who is having fun will be presented with a pop graphical display.

[1950] Input: Query results from the database, recognized emotion information

[1951] Output: Formatted display data

[1952] Step 7:

[1953] The server sends the formatted results to the terminal.

[1954] The terminal displays the received results to the user.

[1955] Input: Formatted display data

[1956] Output: Data sent to the terminal and displayed to the user

[1957] 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.

[1958] 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.

[1959] 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.

[1960] 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.

[1961] 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.

[1962] 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.

[1963] 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).

[1964] 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.

[1965] 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."

[1966] 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.

[1967] 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).

[1968] 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.

[1969] 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.

[1970] 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.

[1971] 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.

[1972] 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.

[1973] 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.

[1974] 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.

[1975] 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.

[1976] 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.

[1977] 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.

[1978] The following is further disclosed regarding the above embodiment.

[1979] (Claim 1)

[1980] means for receiving input in natural language;

[1981] means for analyzing the received input to identify data extraction criteria;

[1982] means for generating appropriate SQL queries based on the identified data extraction criteria;

[1983] a means for executing the generated SQL queries against a database;

[1984] a means of formatting the results retrieved from the database; and

[1985] a means for displaying the formatted result;

[1986] A system including:

[1987] (Claim 2)

[1988] A means of monitoring the database for schema changes;

[1989] 10. The system of claim 1, further comprising means for automatically adjusting existing SQL queries based on schema changes.

[1990] (Claim 3)

[1991] 10. The system of claim 1, further comprising means for parsing the input using natural language processing.

[1992] "Example 1"

[1993] (Claim 1)

[1994] means for receiving input in natural language;

[1995] means for analyzing the received input to identify data extraction criteria;

[1996] means for generating an appropriate query based on the identified data extraction criteria;

[1997] a means for executing the generated query against a database;

[1998] a means of formatting the results retrieved from the database; and

[1999] means for formatting the results for visual display to a user;

[2000] a means for displaying the formatted results;

[2001] A system including:

[2002] (Claim 2)

[2003] A means of monitoring the database for schema changes;

[2004] 10. The system of claim 1, further comprising means for automatically adjusting existing queries based on schema changes.

[2005] (Claim 3)

[2006] means for analyzing the input using natural language processing;

[2007] 10. The system of claim 1, further comprising means for automatically generating a query based on the analysis results.

[2008] "Application Example 1"

[2009] (Claim 1)

[2010] means for receiving input in natural language;

[2011] means for analyzing the received input to identify data extraction criteria;

[2012] means for generating appropriate SQL queries based on the identified data extraction criteria;

[2013] a means for executing the generated SQL queries against a database;

[2014] a means of formatting the results retrieved from the database; and

[2015] a means for displaying the formatted result;

[2016] A means of converting natural language input into SQL queries using a generative AI model; and

[2017] A system including:

[2018] (Claim 2)

[2019] A means of monitoring the database for schema changes;

[2020] Also includes a means to automatically adjust existing SQL queries based on schema changes

[2021] 10. The system of claim 1.

[2022] (Claim 3)

[2023] and means for analyzing the input using natural language processing and generating a prompt sentence.

[2024] 10. The system of claim 1.

[2025] "Example 2: Combining Emotion Engines"

[2026] (Claim 1)

[2027] means for receiving input in natural language;

[2028] means for analyzing the received input to identify data extraction criteria;

[2029] means for generating an appropriate query language query based on the identified data extraction criteria;

[2030] means for executing the generated query language query against the information repository;

[2031] means for formatting results obtained from the information repository;

[2032] a means for displaying the formatted result;

[2033] a means of recognizing a user's emotions;

[2034] A means for adjusting data extraction conditions and display format based on the recognized emotion;

[2035] A system including:

[2036] (Claim 2)

[2037] a means for monitoring structural changes to the information repository;

[2038] 10. The system of claim 1, further comprising means for automatically adjusting an existing query language query based on the structural changes.

[2039] (Claim 3)

[2040] 10. The system of claim 1, further comprising means for parsing the input using natural language processing.

[2041] "Application example 2 when combining emotion engines"

[2042] (Claim 1)

[2043] means for receiving input in natural language;

[2044] means for analyzing the received input to identify data extraction criteria;

[2045] means for generating appropriate SQL queries based on the identified data extraction criteria;

[2046] a means for executing the generated SQL queries against a database;

[2047] a means of formatting the results retrieved from the database; and

[2048] means for recognizing a user's emotion;

[2049] means for adjusting data extraction conditions or display format based on the recognized emotion;

[2050] a means for displaying the formatted result;

[2051] A system including:

[2052] (Claim 2)

[2053] A means of monitoring the database for schema changes;

[2054] 10. The system of claim 1, further comprising means for automatically adjusting existing SQL queries based on schema changes.

[2055] (Claim 3)

[2056] 10. The system of claim 1, further comprising means for parsing the input using natural language processing. [Explanation of symbols]

[2057] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. means for receiving input in natural language; means for analyzing the received input to identify data extraction criteria; means for generating appropriate SQL queries based on the identified data extraction criteria; a means for executing the generated SQL queries against a database; a means of formatting the results retrieved from the database; and a means for displaying the formatted result; A system including:

2. A means of monitoring the database for schema changes; 10. The system of claim 1, further comprising means for automatically adjusting existing SQL queries based on schema changes.

3. 10. The system of claim 1, further comprising means for analyzing the input using natural language processing.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A