system
A system that translates natural language requests into SQL queries and presents results visually addresses the challenge of specialized SQL knowledge requirements, enhancing data extraction efficiency and accessibility.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-09
- Publication Date
- 2026-06-19
AI Technical Summary
Existing systems require specialized SQL knowledge for data extraction from databases, limiting efficiency and understanding, and technical terms are difficult for general employees, making accurate data retrieval challenging.
A system that analyzes natural language inputs, maps technical terms to general terms, automatically generates SQL queries, and visually presents results using an internal dictionary and interface for user guidance.
Enables efficient and accurate data extraction without specialized knowledge, reducing the burden of creating SQL queries and providing user-friendly visual results.
Smart Images

Figure 2026100623000001_ABST
Abstract
Description
Technical Field
[0001] The technology of this disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] When extracting necessary information from a database within an enterprise, specialized SQL knowledge is often required, and the number of personnel who can handle this is limited. Therefore, the concentration of work and the decline in efficiency have become problems. Also, when using SQL, technical terms in the database are difficult for general employees to understand, and it is difficult to accurately specify the required data. For this reason, when making data requests, means for efficiently and accurately extracting information and reducing dependence on specialized personnel are required.
Means for Solving the Problems
[0005] This invention simplifies data requests by providing a means for analyzing natural language input and mapping technical terms used in a database to general terms. It also includes a means for automatically generating SQL queries based on the analysis results, and further removes conventional technical barriers by executing the generated SQL queries and visually presenting the results. Furthermore, it uses an internal dictionary or mapping table to convert technical terms to general terms and provides an interface that offers user-defined guidance and additional information to facilitate user operation.
[0006] A "request" refers to a user expressing in natural language the information they want to retrieve from the database.
[0007] "Technical terms" refer to terms that require specialized knowledge, such as column names and table names within a database.
[0008] "General terminology" refers to terms that are simplified versions of technical terms, making them easily understandable for general employees.
[0009] "Mapping" refers to the process of associating technical terms with general terms.
[0010] "Natural language" refers to the words and sentences that users use on a daily basis, and is not a programmed language.
[0011] A "SQL query" refers to a set of commands used to extract, insert, update, or delete specific information from a database.
[0012] "Analysis" refers to the process of converting natural language requests input by a user into a form that a computer can understand.
[0013] "Automatic generation" refers to the process where SQL queries are automatically created by a system without human intervention.
[0014] "Visually presenting" means displaying the extracted data in a user-friendly format.
[0015] "Internal dictionary" refers to a data structure that maintains the correspondence between technical terms and general terms.
[0016] "Interface" refers to an operating environment that enables interaction between the user and the system.
Brief Description of Drawings
[0017] [Figure 1] It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which multiple emotions are mapped. [Figure 10] It shows an emotion map to which multiple emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Mode for Carrying Out the Invention
[0018] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0019] First, the language used in the following description will be described.
[0020] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0021] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0022] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0023] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0025] [First Embodiment]
[0026] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0027] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0030] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0033] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0037] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0038] This invention is a system that automatically generates SQL queries from natural language requests when a user extracts specific information from a database. This system involves collaboration between the user, terminal, and server to automatically extract data and visually present the results.
[0039] The user inputs a data extraction request into the terminal using natural language. The request includes information such as a specific device name and service ID. The terminal receives this request and performs analysis using natural language processing technology. The analyzed information is mapped to technical terms and sent to the server.
[0040] The server refers to an internal dictionary that holds mapping information between technical terms and general terms. This makes it possible to identify the exact column and table names in the database that correspond to the user's request. Next, the server automatically generates the necessary SQL queries based on the parsed information. These generated queries are sent to the database, and data extraction is performed.
[0041] The extracted data is sent from the server to the terminal, which then visually presents the results to the user. This allows the user to easily verify the accurate data generated by the system.
[0042] For example, if a user requests to "extract the S of customers using a Pixel 7a," the device analyzes the keywords "Pixel 7a" and "S" and sends them to the server. The server maps these technical terms to "device_model" and "service_id" and automatically generates an SQL query. The SQL query `SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'` is generated, and the corresponding service ID is extracted from the database. The results are visually presented to the user via the device, allowing the user to easily access the extracted information.
[0043] This invention enables users to efficiently obtain necessary information without requiring specialized knowledge of SQL, and also reduces the burden of creating SQL queries.
[0044] The following describes the processing flow.
[0045] Step 1:
[0046] The user inputs requests for information to be retrieved from the database using natural language on the terminal. These requests include specific product names and service IDs.
[0047] Step 2:
[0048] The terminal receives a request in natural language and analyzes it using natural language processing (NLP) techniques. Through this analysis, it identifies the main keywords and conditions that make up the request.
[0049] Step 3:
[0050] The terminal converts keywords identified from the request into technical terms and sends the analysis results to the server. During this process, the terminal transmits the analyzed keywords and conditions to the server.
[0051] Step 4:
[0052] Based on the received analysis results, the server refers to an internal dictionary or mapping table to map keywords to technical terms (column names or table names) within the database.
[0053] Step 5:
[0054] The server automatically generates SQL queries that respond to user requests based on the mapping results. These SQL queries incorporate conditions that conform to the user's requests.
[0055] Step 6:
[0056] The server uses the generated SQL query to execute the query against the database and extract the necessary data. At this time, a database connection is established and the query is executed quickly.
[0057] Step 7:
[0058] The server retrieves the query results and sends that data to the terminal. The results include information that matches the user's request.
[0059] Step 8:
[0060] The device visually processes the received data and presents it to the user in an easy-to-understand format. This presentation of results allows the user to efficiently access the information they need.
[0061] (Example 1)
[0062] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0063] To provide a method for information systems that allows users, even without specialized knowledge, to efficiently extract necessary information from databases and obtain results in an intuitively understandable format.
[0064] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0065] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data processing device to general terms; means for converting the analyzed information into a technical terminology system and transmitting it to the data management device; and means for identifying accurate column names and data sets using an internal dictionary and automatically generating data query commands in response to the request. As a result, users can input requests in natural language without requiring specialized knowledge, and appropriate database queries will be automatically generated, allowing them to intuitively obtain information.
[0066] "Natural language" refers to the language that humans use on a daily basis, and it is the language that is input in its original form when communicating with a computer.
[0067] "Analysis" is the process of breaking down input information and converting it into a format that is easy to understand in terms of meaning and structure.
[0068] A "data processing device" refers to a system or software used to process and transform information on a computer.
[0069] "Technical terms" refer to specialized vocabulary and definitions that are commonly understood within a particular field.
[0070] "Common terminology" refers to vocabulary that is easily understood by many people and is used in everyday life.
[0071] "Mapping" refers to the operation or process of associating one data format or vocabulary with another format or vocabulary.
[0072] A "data management device" refers to a system or software that manages the storage, retrieval, and manipulation of data.
[0073] An "internal dictionary" is a data storage system that holds reference data for associating technical terms with general terms.
[0074] A "data query command" is a command issued to a computer to retrieve specific information from a database.
[0075] This invention provides a system that allows users to efficiently extract information from a database using natural language. This system enables a process in which the server, terminal, and user interact with each other, analyzing requests in natural language and automatically generating database queries.
[0076] The user inputs an information extraction request into the device using natural language. This input is in a specific format, such as "Show me the service ID of a customer using a Pixel 7a." The device receives this natural language request and analyzes it using a generative AI model. This analysis identifies the requested device name and specific identifiers, and extracts important keywords.
[0077] The extracted keywords are sent to the server. The server uses its internal dictionary to map these general terms to technical terms. For example, the device name "Pixel 7a" is mapped to "device_model," and "service ID" is mapped to "service_id." This conversion allows the server to automatically generate the appropriate SQL query in response to the request.
[0078] The server executes the generated SQL query to retrieve the necessary information from the data management device. For example, a query such as SELECT service_id FROM devices WHERE device_model = 'Pixel 7a' is generated, and the corresponding data is extracted from the database.
[0079] The extracted results are sent to the terminal and presented to the user visually. This allows the user to easily access the information they want without requiring specialized database knowledge. In this embodiment, it is possible to use a prompt statement in the form of "Generate SQL that displays the customer service ID for device model Pixel 7a." This allows the user to clearly communicate their request to the system and intuitively understand the generated results.
[0080] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0081] Step 1:
[0082] The user inputs their information extraction request into the device in natural language. For example, they might input a specific request such as, "Please tell me the service ID of a customer using a Pixel 7a." In this step, the user's request is input into the device as natural language text. As output, this text data is stored on the device.
[0083] Step 2:
[0084] The device receives the input natural language request and performs analysis using a generative AI model. Specifically, it tokenizes the input text and performs natural language processing to identify important keywords and phrases. The natural language text obtained in step 1 is used as input, and the output is the analyzed keyword "Pixel 7a" and "Service ID".
[0085] Step 3:
[0086] The device maps the analyzed information to technical terms and sends it to the server. Based on the extracted keywords, the device uses its internal dictionary and rules to convert "Pixel 7a" to "device_model" and "Service ID" to "service_id". The input is the output data from step 2, and the output, which includes the technical terms, is sent to the server.
[0087] Step 4:
[0088] The server automatically generates appropriate SQL queries based on the received technical terms. Specifically, it embeds query templates based on the mapped technical terms and constructs queries according to SQL syntax. The input is the technical term data obtained in step 3, and the output generates an SQL query like SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'.
[0089] Step 5:
[0090] The server sends the generated SQL query to the database and extracts the relevant data. The server establishes a database connection and executes the query to obtain a dataset that matches the specified conditions. The input is the SQL query from step 4, and the output is a list of service IDs obtained from the database.
[0091] Step 6:
[0092] The server sends the extracted results to the terminal. The server converts the data format to a format suitable for visual display and sends the data to the terminal using a network protocol. The input is the extracted data from step 5, and the output is data formatted in a user-friendly format sent to the terminal.
[0093] Step 7:
[0094] The terminal visually presents the results received from the server to the user. The terminal displays the data on a graphical interface or dashboard, making it easy for the user to review the information. The input is the formatted data obtained in step 6, and the output provides the user with visualized information.
[0095] (Application Example 1)
[0096] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0097] There is a need for a system that allows users to easily extract information from data storage devices in natural language without requiring specialized knowledge. In particular, rapid and accurate information extraction is difficult in situations requiring complex data analysis or immediate information provision. Furthermore, while it is desirable for users to visually grasp information using mobile devices, current technology offers limited support for this.
[0098] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0099] This invention includes a server that analyzes requests entered in natural language and maps technical terms used in the data storage device to general terms; a server that automatically generates SQL queries based on the analysis results; a server that executes the generated SQL queries and visually presents the results to the user; and a server that instantly converts natural language commands into data and provides them as visual information through a program installed on the user's mobile device. As a result, even without specialized knowledge, users can intuitively obtain the necessary information from the data storage device and quickly verify that information through their mobile device.
[0100] "Natural language" refers to the language that humans use on a daily basis, and is contrasted with the programming language that computers understand.
[0101] "Analysis" is the process of breaking down information and data into smaller, more manageable forms.
[0102] A "data storage device" refers to a system for storing information long-term and providing that data as needed.
[0103] "Technical terms" are specialized words used in a particular field or technology.
[0104] "Common terminology" refers to words that are used and widely understood by the general public.
[0105] "Mapping" is the operation of associating elements of one set with elements of another set.
[0106] A "SQL query" is a set of instructions that uses a structured query language to retrieve and manipulate data in a database.
[0107] "Visual presentation" means displaying information in a way that appeals to the visual sense, such as using diagrams or charts.
[0108] A "portable device" refers to a terminal that is portable and capable of communication and running applications.
[0109] A "program" is a set of instructions that a computer uses to perform a specific task.
[0110] A "window" is an interface used for exchanging information and performing operations between the user and the system.
[0111] This system is an application that allows users to efficiently extract data and visually confirm the results. The primary target environment for implementing this invention is one that utilizes data storage devices.
[0112] First, the user inputs a data extraction request in natural language using a mobile device. This mobile device has a program installed for natural language analysis and SQL query generation. The program uses a natural language processing library (for example, Hugging Face's Transformers) to analyze the user's request and convert it into technical terms. This allows for the generation of appropriate database queries even from input that resembles normal conversation.
[0113] Next, the mobile device generates an SQL query based on the parsed request and sends it to the server. The server executes the received SQL query and extracts the requested data from the data storage device. In this process, it is appropriate to use a database management system such as MySQL®.
[0114] The extracted data is sent from the server to the mobile device. The mobile device then displays the received data visually. This can be done using libraries for generating graphs and charts (e.g., Matplotlib or Plotly). This allows the user to view the information visually and intuitively.
[0115] For example, if a user inputs "Tell me the CPU usage of server A," the program will analyze this natural language and generate an appropriate SQL query. This generated query will allow the server to retrieve CPU usage information from the database and present the result to the user.
[0116] An example of a prompt statement is when a user requests, "Check the server's memory usage." In this case, too, the mobile device generates a query based on the user's natural language, retrieves data through the server, and visualizes the results. This allows users to manage complex data through everyday devices such as smartphones.
[0117] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0118] Step 1:
[0119] The user enters a data extraction request in natural language into their mobile device. The entered request is received by a natural language processing program installed on the mobile device. This prepares the data extraction request in text format.
[0120] Step 2:
[0121] The terminal uses a natural language processing library to analyze user input requests. It receives natural language text as input and converts it into technical terms. In this process, tokenization and grammatical analysis are performed, and the analyzed information is output as a set of technical terms. A generative AI model is used to analyze the user's intent.
[0122] Step 3:
[0123] The terminal automatically generates an SQL query based on the analysis results. Here, the generated technical terms are applied to SQL syntax. It receives the analyzed technical terms as input and generates an SQL query as output. This SQL query becomes the query statement to the database.
[0124] Step 4:
[0125] The terminal sends the generated SQL query to the server. The server then forwards the sent query to the data storage device. There, the SQL query is executed as a query against the database, and the actual data extraction takes place.
[0126] Step 5:
[0127] The server receives data extracted from the data storage device and sends that data back to the mobile device. The server takes the results of an SQL query as input and provides the extracted data to the mobile device as final output.
[0128] Step 6:
[0129] The terminal visually displays the received data. Using a data visualization library, it processes the input data into graphs and charts. Based on this processing, the visualized information is presented to the user as output. As a specific example, CPU usage data is displayed as a chart, allowing the user to visually confirm it.
[0130] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0131] This invention is a system that, when extracting information from a database based on requests made in natural language, recognizes the user's emotions, processes that information, and generates SQL queries. Furthermore, by incorporating an emotion engine, it adapts and optimizes the interface according to the user's emotional state.
[0132] When a user enters a data extraction request in natural language into the terminal, the terminal receives the request. First, the emotion engine is activated and recognizes the user's emotional state from the text input. This emotional state is used to optimize the interface during the SQL generation process.
[0133] Next, the terminal uses natural language processing technology to analyze the user's request and identify relevant keywords and conditions. The identified keywords are sent to the server and converted into technical terms in the database using an internal dictionary and mapping table.
[0134] The server automatically generates appropriate SQL queries based on the mapping information. These SQL queries can incorporate additional conditions and feedback based on the user's emotions as recognized by the emotion engine, as needed. The generated queries are then sent to the database to accurately extract the relevant data.
[0135] The extraction results are sent from the server to the terminal, which then visually presents the data to the user. The sentiment engine monitors how the user perceives the results and provides additional support and guidance as needed.
[0136] For example, if a user types "I need to quickly check my Pixel 7a usage," the sentiment engine recognizes the user's urgency from the word "urgent." Based on this recognition, the server extracts the data as quickly as possible, and the device presents the results in a simple and quick-to-view format. By allowing users to quickly access the information they request, the user experience can be improved.
[0137] In this way, by combining natural language processing and an emotion engine, this system effectively meets user requirements and enables flexible responses tailored to the user's emotional state. This improves the efficiency of data extraction and provides a more user-friendly interface.
[0138] The following describes the processing flow.
[0139] Step 1:
[0140] The user enters a data extraction request into the terminal using natural language. This request includes specific target data and circumstances.
[0141] Step 2:
[0142] The device receives input and activates the emotion engine. The emotion engine analyzes the user's text input and identifies emotional states such as joy or anxiety.
[0143] Step 3:
[0144] The device uses natural language processing to analyze text for key keywords and extraction criteria. This analysis includes information such as product names and IDs specified by the user.
[0145] Step 4:
[0146] The device sends the analyzed keywords and the user's emotional state to the server. At this time, the emotional state is added as supplementary information.
[0147] Step 5:
[0148] Based on the received data, the server refers to its internal dictionary and mapping tables, and converts the analyzed keywords into technical terms in the database.
[0149] Step 6:
[0150] The server automatically generates appropriate SQL queries, taking into account technical terms and emotional states. Query priority and feedback are adjusted according to the emotional state.
[0151] Step 7:
[0152] The server executes the generated SQL query and quickly extracts the relevant data from the database. This process is optimized for efficient database access.
[0153] Step 8:
[0154] The server sends the acquired data to the terminal. During transmission, data may be sent with priority based on its importance.
[0155] Step 9:
[0156] The device visually processes the received data and presents it to the user in an easy-to-understand format. The emotion engine can then monitor the user's response again and provide additional guidance or support.
[0157] This series of steps allows users to effectively access data through a flexible interface that takes emotions into consideration.
[0158] (Example 2)
[0159] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0160] This invention addresses the challenge of providing information quickly and accurately while considering the user's emotional state when extracting data from requests entered in natural language. In particular, it is necessary to achieve flexible responses in situations where mapping of technical terms and optimizing the user experience are required.
[0161] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0162] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data set to general terms, means for automatically generating a structured query language based on the analysis results, and means for recognizing the user's emotional state and adapting or optimizing the interface based on that emotion. This enables the rapid and accurate provision of information with a flexible interface that responds to the user's emotions.
[0163] "Natural language" refers to the language that humans use on a daily basis, and includes sentences and grammar that are not in a format necessary for computers to understand and process.
[0164] A "request" is the act or content of a user communicating to a system, using natural language or other means, that they wish to obtain specific information.
[0165] "Analysis" is the process of extracting relevant information from an input natural language request and converting it into a format that the system can process.
[0166] "Technical jargon" refers to specialized vocabulary and expressions used in a particular field, which may be difficult for the general public to understand.
[0167] "General terminology" refers to language and vocabulary that are widely understood by the general public and are not dependent on any particular field of specialization.
[0168] A "structured query language" is a type of standard programming language used to search, insert, update, and delete data in a database.
[0169] An "interface" refers to the means or methods of interaction between a user and a system, and is a mechanism for displaying information or inputting data.
[0170] "Emotional state" refers to the psychological or emotional state or tendency that a user exhibits when using the system.
[0171] "Mapping" is the process of converting one vocabulary or piece of information into another corresponding vocabulary or piece of information.
[0172] This invention is a system that extracts information from a data set based on natural language input and optimizes the interface while considering the user's emotional state. A specific implementation of this system is described below.
[0173] The user enters data extraction requests in natural language using a terminal. The terminal is equipped with an emotion engine and a natural language processing engine, supported by libraries such as Python's NLTK library.
[0174] The device recognizes the user's emotional state by analyzing the requests received from the user using an emotion engine. This emotional state is a crucial element in adapting the interface.
[0175] Next, the terminal analyzes the request using natural language processing technology and identifies specialized keywords. This information is sent to the server, where it is mapped to technical terms used in the database. The server utilizes databases such as MySQL or PostgreSQL, and terminology conversion is performed using internal dictionaries and mapping tables.
[0176] The server generates an SQL query based on the conversion results. This SQL query is optimized as needed based on the emotional state recognized by the emotion engine. The generated query is sent to the database to extract the data.
[0177] The extracted results are returned from the server to the terminal, which then visually presents them to the user. During the presentation, the interface is adapted to the user's emotions, and the information is displayed in a way that is easier to understand.
[0178] For example, if a user enters a prompt such as "I want to check my usage status urgently," the terminal and server will execute the above process and provide information in a quickly adapted format.
[0179] Thus, the present invention enables users to quickly and accurately obtain necessary information through a flexible system that responds to their own emotional state.
[0180] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0181] Step 1:
[0182] The user inputs data extraction requests into the device using natural language. For example, they might request, "I need to know information about a specific product urgently." This input is captured by the device and becomes initial data for recognizing the user's emotional state.
[0183] Step 2:
[0184] The device receives user input and activates the emotion engine. It analyzes the input text and identifies the user's emotional state from the keyword "hurry." In this process, the input data is converted into emotion data.
[0185] Step 3:
[0186] The terminal uses a natural language processing engine to analyze user requests in detail. Specifically, it extracts important keywords from the input sentence and performs grammatical analysis. This analyzed data is converted into keywords in preparation for transmission to the server.
[0187] Step 4:
[0188] Keywords sent from the terminal arrive at the server. The server receives these keywords and uses its internal dictionary and mapping tables to convert them into technical terms in the database. This conversion transforms the analysis data into technical term data.
[0189] Step 5:
[0190] The server automatically generates appropriate SQL queries based on technical terminology data. During this generation process, user sentiment information received from the sentiment engine is also considered, optimizing the queries. The generated SQL queries are then output as specific instructions for data extraction.
[0191] Step 6:
[0192] The server sends the generated SQL query to the database and extracts the relevant data. Based on the database response, the necessary information is returned to the server. This response data is a collection of information based on the user's request.
[0193] Step 7:
[0194] Data extracted from the server is sent to the terminal. The terminal receives this data and formats it for visual presentation to the user. Graphs and tables are generated using visualization tools and displayed. The final output is visual information that the user can easily understand.
[0195] Step 8:
[0196] The device monitors the user's reaction to the displayed results using an emotion engine. It provides additional guidance and support information as needed to enhance the user experience. This allows the system to continuously provide interactive user support.
[0197] (Application Example 2)
[0198] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0199] In modern data querying systems, query generation based on user requests using natural language can sometimes be inefficient. Furthermore, the lack of interface optimization tailored to user emotions results in insufficient user experience. Therefore, the challenge lies in providing a system that streamlines query generation for natural language requests while simultaneously enabling flexible responses based on user emotional states.
[0200] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0201] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in data structures to general terms, means for automatically generating SQL queries based on the analysis results, and means for recognizing the user's emotional state and optimizing the interface based on emotional data. This enables efficient data extraction based on requests in natural language and flexible interface responses that respond to the user's emotions.
[0202] "Natural language" refers to the language that humans use for everyday communication and is also used in interaction with computers.
[0203] A "request" refers to an instruction that a user enters to ask the system to retrieve specific information or perform an action.
[0204] A "data structure" refers to a format or model for organizing, storing, and managing information, and is used within databases.
[0205] "Technical terms" are specialized terms used in a particular industry or field, and they have specific meanings that differ from general terms.
[0206] "General terminology" refers to words that are not dependent on specialized knowledge and are easily understood by anyone in a wide range of contexts.
[0207] "Means of mapping" refers to methods or processes for replacing specific terms with corresponding terms or concepts.
[0208] A "SQL query" is a standardized set of instructions used to search for and manipulate data in a database system.
[0209] "Means of automatic generation" refers to a method by which a program constructs processes and outputs based on specific inputs.
[0210] "Emotional state" refers to the user's psychological state and is analyzed by the emotion engine.
[0211] "Emotional data" refers to information that expresses a user's emotional state using numbers, symbols, or other means.
[0212] An "interface" refers to the medium through which a user and a system interact, serving as a visual and operational window for the user.
[0213] The system for carrying out the present invention automatically generates queries to a database based on requests entered by a user in natural language using a smart device. This system includes a software component that receives user input and performs language analysis, and an emotion engine that performs emotion recognition. Specifically, when a user enters natural language via a terminal, that data is sent to the server.
[0214] The server uses natural language processing software (e.g., spaCy) to analyze the input and extract relevant keywords. Subsequently, an emotion engine (e.g., Google Cloud Natural Language API) analyzes the user's emotional state and optimizes the interface based on the results. For example, if the user is feeling anxious, the interface is redesigned to provide a sense of security.
[0215] During this process, when SQL queries are generated, technical terms are mapped to general terms using the analysis results and an internal dictionary. The generated queries are sent to the database, and data is extracted quickly. Based on the user's emotional state, the extracted results are presented visually in an optimized form through the interface.
[0216] For example, if a user enters into their device, "I want to know the details of my last purchased item. I'm worried, so I'd like a detailed explanation," the system will not only systematically extract information related to their "last purchase history," but will also display a "reassuring explanation."
[0217] This invention streamlines natural language request processing and enhances personalized responses based on emotions, including the creation of prompts using a generative AI model. By applying a prompt such as, "Please suggest an answer that takes the user's emotions into consideration and provides reassurance," it is possible to improve the user experience.
[0218] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0219] Step 1:
[0220] The user enters a request into the terminal in natural language. The terminal receives this input and sends the natural language data to the server. The input data is sent to the server in text format.
[0221] Step 2:
[0222] The server uses natural language processing software (e.g., spaCy) to analyze the received text data. As a result of the analysis, keywords and conditions for the information the user is looking for are extracted. This then provides relevant keywords and conditions that will be used as input for the next step.
[0223] Step 3:
[0224] The server activates an emotion engine (e.g., Google Cloud Natural Language API) to recognize the user's emotional state from text data. The emotion analysis outputs the user's emotional state, which is then used to prepare data for interface optimization.
[0225] Step 4:
[0226] The server automatically generates SQL queries using data based on analyzed keywords and sentiment states. During this query generation process, technical terms are mapped to general terms using an internal dictionary. The output is an optimized SQL query for database searching.
[0227] Step 5:
[0228] The generated SQL query is executed by the server. This query execution extracts relevant information from the database and returns it to the server in structured data format.
[0229] Step 6:
[0230] The extracted data is sent from the server to the terminal. The terminal receives this data and visually presents the results using an interface that takes the user's emotional state into consideration. This ultimately results in information being displayed in a way that provides the user with a sense of security.
[0231] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0232] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0233] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0234] [Second Embodiment]
[0235] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0236] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0237] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0238] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0239] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0240] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0241] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0242] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0243] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0244] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0245] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0246] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0247] This invention is a system that automatically generates SQL queries from natural language requests when a user extracts specific information from a database. This system involves collaboration between the user, terminal, and server to automatically extract data and visually present the results.
[0248] The user inputs a data extraction request into the terminal using natural language. The request includes information such as a specific device name and service ID. The terminal receives this request and performs analysis using natural language processing technology. The analyzed information is mapped to technical terms and sent to the server.
[0249] The server refers to an internal dictionary that holds mapping information between technical terms and general terms. This makes it possible to identify the exact column and table names in the database that correspond to the user's request. Next, the server automatically generates the necessary SQL queries based on the parsed information. These generated queries are sent to the database, and data extraction is performed.
[0250] The extracted data is sent from the server to the terminal, which then visually presents the results to the user. This allows the user to easily verify the accurate data generated by the system.
[0251] For example, if a user requests to "extract the S of customers using a Pixel 7a," the device analyzes the keywords "Pixel 7a" and "S" and sends them to the server. The server maps these technical terms to "device_model" and "service_id" and automatically generates an SQL query. The SQL query `SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'` is generated, and the corresponding service ID is extracted from the database. The results are visually presented to the user via the device, allowing the user to easily access the extracted information.
[0252] This invention enables users to efficiently obtain necessary information without requiring specialized knowledge of SQL, and also reduces the burden of creating SQL queries.
[0253] The following describes the processing flow.
[0254] Step 1:
[0255] The user inputs requests for information to be retrieved from the database using natural language on the terminal. These requests include specific product names and service IDs.
[0256] Step 2:
[0257] The terminal receives a request in natural language and analyzes it using natural language processing (NLP) techniques. Through this analysis, it identifies the main keywords and conditions that make up the request.
[0258] Step 3:
[0259] The terminal converts keywords identified from the request into technical terms and sends the analysis results to the server. During this process, the terminal transmits the analyzed keywords and conditions to the server.
[0260] Step 4:
[0261] Based on the received analysis results, the server refers to an internal dictionary or mapping table to map keywords to technical terms (column names or table names) within the database.
[0262] Step 5:
[0263] The server automatically generates SQL queries that respond to user requests based on the mapping results. These SQL queries incorporate conditions that conform to the user's requests.
[0264] Step 6:
[0265] The server uses the generated SQL query to execute the query against the database and extract the necessary data. At this time, a database connection is established and the query is executed quickly.
[0266] Step 7:
[0267] The server retrieves the query results and sends that data to the terminal. The results include information that matches the user's request.
[0268] Step 8:
[0269] The device visually processes the received data and presents it to the user in an easy-to-understand format. This presentation of results allows the user to efficiently access the information they need.
[0270] (Example 1)
[0271] Next, we will describe Example 1. 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."
[0272] To provide a method for information systems that allows users, even without specialized knowledge, to efficiently extract necessary information from databases and obtain results in an intuitively understandable format.
[0273] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0274] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data processing device to general terms; means for converting the analyzed information into a technical terminology system and transmitting it to the data management device; and means for identifying accurate column names and data sets using an internal dictionary and automatically generating data query commands in response to the request. As a result, users can input requests in natural language without requiring specialized knowledge, and appropriate database queries will be automatically generated, allowing them to intuitively obtain information.
[0275] "Natural language" refers to the language that humans use on a daily basis, and it is the language that is input in its original form when communicating with a computer.
[0276] "Analysis" is the process of breaking down input information and converting it into a format that is easy to understand in terms of meaning and structure.
[0277] A "data processing device" refers to a system or software used to process and transform information on a computer.
[0278] "Technical terms" refer to specialized vocabulary and definitions that are commonly understood in a specific field.
[0279] "General terms" refer to vocabulary that is commonly used in daily life and can be easily understood by many people.
[0280] "Mapping" refers to an operation or process that associates one data format or vocabulary with another.
[0281] "Data management device" refers to a system or software that manages the storage, retrieval, and manipulation of data.
[0282] "Internal dictionary" is a data storage for holding reference data for associating technical terms with general terms.
[0283] "Data query instruction" is an instruction issued to a computer to obtain specific information from a database.
[0284] This invention provides a system that enables a user to efficiently extract information from a database using natural language. This system allows a server, a terminal, and a user to cooperate with each other and enables a process of analyzing requests from natural language and automatically generating database queries.
[0285] The user inputs a request for information extraction into the terminal in natural language. The input at this time is in a specific form such as "Display the service IDs of customers using Pixel 7a". The terminal receives this natural language request and performs analysis using a generation AI model. Through this analysis, it identifies requested device names, specific identifiers, etc., and extracts important keywords.
[0286] The extracted keywords are sent to the server. The server uses a dictionary held internally to map these general terms to technical terms. For example, a device name such as "Pixel 7a" is associated with "device_model", and "service ID" is associated with "service_id". Through this conversion, the server automatically generates an appropriate SQL query according to the request.
[0287] The server executes the generated SQL query and obtains the necessary information from the data management device. For example, a query such as SELECT service_id FROM devices WHERE device_model = 'Pixel 7a' is generated, and the corresponding data is extracted from the database.
[0288] The extracted results are sent to the terminal and visually presented to the user. As a result, the user can easily access the desired information without the need for specialized database knowledge. In this embodiment, in particular, a form such as "Generate SQL to display the service ID of customers whose device model is Pixel 7a" can be used as a prompt sentence. Thereby, not only can the user clearly convey their request to the system, but they can also intuitively understand the generated results.
[0289] The flow of the specific process in Example 1 will be described using FIG. 11.
[0290] Step 1:
[0291] The user inputs a request for information extraction to the terminal in natural language. For example, a specific request such as "Tell me the service ID of customers using Pixel 7a" is input. In this step, the user's request is input to the terminal as text in natural language. As output, this text data is saved in the terminal.
[0292] Step 2:
[0293] The device receives the input natural language request and performs analysis using a generative AI model. Specifically, it tokenizes the input text and performs natural language processing to identify important keywords and phrases. The natural language text obtained in step 1 is used as input, and the output is the analyzed keyword "Pixel 7a" and "Service ID".
[0294] Step 3:
[0295] The device maps the analyzed information to technical terms and sends it to the server. Based on the extracted keywords, the device uses its internal dictionary and rules to convert "Pixel 7a" to "device_model" and "Service ID" to "service_id". The input is the output data from step 2, and the output, which includes the technical terms, is sent to the server.
[0296] Step 4:
[0297] The server automatically generates appropriate SQL queries based on the received technical terms. Specifically, it embeds query templates based on the mapped technical terms and constructs queries according to SQL syntax. The input is the technical term data obtained in step 3, and the output generates an SQL query like SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'.
[0298] Step 5:
[0299] The server sends the generated SQL query to the database and extracts the relevant data. The server establishes a database connection and executes the query to obtain a dataset that matches the specified conditions. The input is the SQL query from step 4, and the output is a list of service IDs obtained from the database.
[0300] Step 6:
[0301] The server sends the extracted result to the terminal. The server converts the data format into a format suitable for visual display and sends the data to the terminal using a network protocol. The input is the extracted data in step 5, and as output, data formatted in a user - understandable format is sent to the terminal.
[0302] Step 7:
[0303] The terminal visually presents the result received from the server to the user. The terminal displays the data on a graphical interface or a dashboard so that the user can easily check the information. The input is the formatted data obtained in step 6, and as output, information visualized for the user is provided.
[0304] (Application Example 1)
[0305] Next, Application Example 1 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart glasses 214 are referred to as the "terminal".
[0306] There is a need for a system that allows users to easily extract information in natural language without the need for specialized knowledge from a data storage device. Especially in scenarios where complex analysis of data and immediate information provision are required, it is difficult to perform rapid and accurate information extraction. Also, although it is desired that users visually grasp information using portable devices, the current technology has limited support for this.
[0307] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following respective means.
[0308] This invention includes a server that analyzes requests entered in natural language and maps technical terms used in the data storage device to general terms; a server that automatically generates SQL queries based on the analysis results; a server that executes the generated SQL queries and visually presents the results to the user; and a server that instantly converts natural language commands into data and provides them as visual information through a program installed on the user's mobile device. As a result, even without specialized knowledge, users can intuitively obtain the necessary information from the data storage device and quickly verify that information through their mobile device.
[0309] "Natural language" refers to the language that humans use on a daily basis, and is contrasted with the programming language that computers understand.
[0310] "Analysis" is the process of breaking down information and data into smaller, more manageable forms.
[0311] A "data storage device" refers to a system for storing information long-term and providing that data as needed.
[0312] "Technical terms" are specialized words used in a particular field or technology.
[0313] "Common terminology" refers to words that are used and widely understood by the general public.
[0314] "Mapping" is the operation of associating elements of one set with elements of another set.
[0315] A "SQL query" is a set of instructions that uses a structured query language to retrieve and manipulate data in a database.
[0316] "Visual presentation" means displaying information in a way that appeals to the visual sense, such as using diagrams or charts.
[0317] A "portable device" refers to a terminal that is portable and capable of communication and running applications.
[0318] A "program" is a set of instructions that a computer uses to perform a specific task.
[0319] A "window" is an interface used for exchanging information and performing operations between the user and the system.
[0320] This system is an application that allows users to efficiently extract data and visually confirm the results. The primary target environment for implementing this invention is one that utilizes data storage devices.
[0321] First, the user inputs a data extraction request in natural language using a mobile device. This mobile device has a program installed for natural language analysis and SQL query generation. The program uses a natural language processing library (for example, Hugging Face's Transformers) to analyze the user's request and convert it into technical terms. This allows for the generation of appropriate database queries even from input that resembles normal conversation.
[0322] Next, the mobile device generates an SQL query based on the parsed request and sends it to the server. The server executes the received SQL query and extracts the requested data from the data storage device. In this process, using a database management system such as MySQL is appropriate.
[0323] The extracted data is sent from the server to the mobile device. The mobile device then displays the received data visually. This can be done using libraries for generating graphs and charts (e.g., Matplotlib or Plotly). This allows the user to view the information visually and intuitively.
[0324] For example, if a user inputs "Tell me the CPU usage of server A," the program will analyze this natural language and generate an appropriate SQL query. This generated query will allow the server to retrieve CPU usage information from the database and present the result to the user.
[0325] An example of a prompt statement is when a user requests, "Check the server's memory usage." In this case, too, the mobile device generates a query based on the user's natural language, retrieves data through the server, and visualizes the results. This allows users to manage complex data through everyday devices such as smartphones.
[0326] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0327] Step 1:
[0328] The user enters a data extraction request in natural language into their mobile device. The entered request is received by a natural language processing program installed on the mobile device. This prepares the data extraction request in text format.
[0329] Step 2:
[0330] The terminal uses a natural language processing library to analyze user input requests. It receives natural language text as input and converts it into technical terms. In this process, tokenization and grammatical analysis are performed, and the analyzed information is output as a set of technical terms. A generative AI model is used to analyze the user's intent.
[0331] Step 3:
[0332] The terminal automatically generates an SQL query based on the analysis results. Here, the generated technical terms are applied to SQL syntax. It receives the analyzed technical terms as input and generates an SQL query as output. This SQL query becomes the query statement to the database.
[0333] Step 4:
[0334] The terminal sends the generated SQL query to the server. The server then forwards the sent query to the data storage device. There, the SQL query is executed as a query against the database, and the actual data extraction takes place.
[0335] Step 5:
[0336] The server receives data extracted from the data storage device and sends that data back to the mobile device. The server takes the results of an SQL query as input and provides the extracted data to the mobile device as final output.
[0337] Step 6:
[0338] The terminal visually displays the received data. Using a data visualization library, it processes the input data into graphs and charts. Based on this processing, the visualized information is presented to the user as output. As a specific example, CPU usage data is displayed as a chart, allowing the user to visually confirm it.
[0339] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0340] This invention is a system that, when extracting information from a database based on requests made in natural language, recognizes the user's emotions, processes that information, and generates SQL queries. Furthermore, by incorporating an emotion engine, it adapts and optimizes the interface according to the user's emotional state.
[0341] When a user enters a data extraction request in natural language into the terminal, the terminal receives the request. First, the emotion engine is activated and recognizes the user's emotional state from the text input. This emotional state is used to optimize the interface during the SQL generation process.
[0342] Next, the terminal uses natural language processing technology to analyze the user's request and identify relevant keywords and conditions. The identified keywords are sent to the server and converted into technical terms in the database using an internal dictionary and mapping table.
[0343] The server automatically generates appropriate SQL queries based on the mapping information. These SQL queries can incorporate additional conditions and feedback based on the user's emotions as recognized by the emotion engine, as needed. The generated queries are then sent to the database to accurately extract the relevant data.
[0344] The extraction results are sent from the server to the terminal, which then visually presents the data to the user. The sentiment engine monitors how the user perceives the results and provides additional support and guidance as needed.
[0345] For example, if a user types "I need to quickly check my Pixel 7a usage," the sentiment engine recognizes the user's urgency from the word "urgent." Based on this recognition, the server extracts the data as quickly as possible, and the device presents the results in a simple and quick-to-view format. By allowing users to quickly access the information they request, the user experience can be improved.
[0346] In this way, by combining natural language processing and an emotion engine, this system effectively meets user requirements and enables flexible responses tailored to the user's emotional state. This improves the efficiency of data extraction and provides a more user-friendly interface.
[0347] The following describes the processing flow.
[0348] Step 1:
[0349] The user enters a data extraction request into the terminal using natural language. This request includes specific target data and circumstances.
[0350] Step 2:
[0351] The device receives input and activates the emotion engine. The emotion engine analyzes the user's text input and identifies emotional states such as joy or anxiety.
[0352] Step 3:
[0353] The device uses natural language processing to analyze text for key keywords and extraction criteria. This analysis includes information such as product names and IDs specified by the user.
[0354] Step 4:
[0355] The device sends the analyzed keywords and the user's emotional state to the server. At this time, the emotional state is added as supplementary information.
[0356] Step 5:
[0357] Based on the received data, the server refers to its internal dictionary and mapping tables, and converts the analyzed keywords into technical terms in the database.
[0358] Step 6:
[0359] The server automatically generates appropriate SQL queries, taking into account technical terms and emotional states. Query priority and feedback are adjusted according to the emotional state.
[0360] Step 7:
[0361] The server executes the generated SQL query and quickly extracts the relevant data from the database. This process is optimized for efficient database access.
[0362] Step 8:
[0363] The server sends the acquired data to the terminal. During transmission, data may be sent with priority based on its importance.
[0364] Step 9:
[0365] The device visually processes the received data and presents it to the user in an easy-to-understand format. The emotion engine can then monitor the user's response again and provide additional guidance or support.
[0366] This series of steps allows users to effectively access data through a flexible interface that takes emotions into consideration.
[0367] (Example 2)
[0368] Next, we will describe Example 2. 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".
[0369] This invention addresses the challenge of providing information quickly and accurately while considering the user's emotional state when extracting data from requests entered in natural language. In particular, it is necessary to achieve flexible responses in situations where mapping of technical terms and optimizing the user experience are required.
[0370] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0371] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data set to general terms, means for automatically generating a structured query language based on the analysis results, and means for recognizing the user's emotional state and adapting or optimizing the interface based on that emotion. This enables the rapid and accurate provision of information with a flexible interface that responds to the user's emotions.
[0372] "Natural language" refers to the language that humans use on a daily basis, and includes sentences and grammar that are not in a format necessary for computers to understand and process.
[0373] A "request" is the act or content of a user communicating to a system, using natural language or other means, that they wish to obtain specific information.
[0374] "Analysis" is the process of extracting relevant information from an input natural language request and converting it into a format that the system can process.
[0375] "Technical jargon" refers to specialized vocabulary and expressions used in a particular field, which may be difficult for the general public to understand.
[0376] "General terminology" refers to language and vocabulary that are widely understood by the general public and are not dependent on any particular field of specialization.
[0377] A "structured query language" is a type of standard programming language used to search, insert, update, and delete data in a database.
[0378] An "interface" refers to the means or methods of interaction between a user and a system, and is a mechanism for displaying information or inputting data.
[0379] "Emotional state" refers to the psychological or emotional state or tendency that a user exhibits when using the system.
[0380] "Mapping" is the process of converting one vocabulary or piece of information into another corresponding vocabulary or piece of information.
[0381] This invention is a system that extracts information from a data set based on natural language input and optimizes the interface while considering the user's emotional state. A specific implementation of this system is described below.
[0382] The user enters data extraction requests in natural language using a terminal. The terminal is equipped with an emotion engine and a natural language processing engine, supported by libraries such as Python's NLTK library.
[0383] The device recognizes the user's emotional state by analyzing the requests received from the user using an emotion engine. This emotional state is a crucial element in adapting the interface.
[0384] Next, the terminal analyzes the request using natural language processing technology and identifies specialized keywords. This information is sent to the server, where it is mapped to technical terms used in the database. The server utilizes databases such as MySQL or PostgreSQL, and terminology conversion is performed using internal dictionaries and mapping tables.
[0385] The server generates an SQL query based on the conversion results. This SQL query is optimized as needed based on the emotional state recognized by the emotion engine. The generated query is sent to the database to extract the data.
[0386] The extracted results are returned from the server to the terminal, which then visually presents them to the user. During the presentation, the interface is adapted to the user's emotions, and the information is displayed in a way that is easier to understand.
[0387] For example, if a user enters a prompt such as "I want to check my usage status urgently," the terminal and server will execute the above process and provide information in a quickly adapted format.
[0388] Thus, the present invention enables users to quickly and accurately obtain necessary information through a flexible system that responds to their own emotional state.
[0389] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0390] Step 1:
[0391] The user inputs data extraction requests into the device using natural language. For example, they might request, "I need to know information about a specific product urgently." This input is captured by the device and becomes initial data for recognizing the user's emotional state.
[0392] Step 2:
[0393] The device receives user input and activates the emotion engine. It analyzes the input text and identifies the user's emotional state from the keyword "hurry." In this process, the input data is converted into emotion data.
[0394] Step 3:
[0395] The terminal uses a natural language processing engine to analyze user requests in detail. Specifically, it extracts important keywords from the input sentence and performs grammatical analysis. This analyzed data is converted into keywords in preparation for transmission to the server.
[0396] Step 4:
[0397] Keywords sent from the terminal arrive at the server. The server receives these keywords and uses its internal dictionary and mapping tables to convert them into technical terms in the database. This conversion transforms the analysis data into technical term data.
[0398] Step 5:
[0399] The server automatically generates appropriate SQL queries based on technical terminology data. During this generation process, user sentiment information received from the sentiment engine is also considered, optimizing the queries. The generated SQL queries are then output as specific instructions for data extraction.
[0400] Step 6:
[0401] The server sends the generated SQL query to the database and extracts the relevant data. Based on the database response, the necessary information is returned to the server. This response data is a collection of information based on the user's request.
[0402] Step 7:
[0403] Data extracted from the server is sent to the terminal. The terminal receives this data and formats it for visual presentation to the user. Graphs and tables are generated using visualization tools and displayed. The final output is visual information that the user can easily understand.
[0404] Step 8:
[0405] The device monitors the user's reaction to the displayed results using an emotion engine. It provides additional guidance and support information as needed to enhance the user experience. This allows the system to continuously provide interactive user support.
[0406] (Application Example 2)
[0407] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0408] In modern data querying systems, query generation based on user requests using natural language can sometimes be inefficient. Furthermore, the lack of interface optimization tailored to user emotions results in insufficient user experience. Therefore, the challenge lies in providing a system that streamlines query generation for natural language requests while simultaneously enabling flexible responses based on user emotional states.
[0409] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0410] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in data structures to general terms, means for automatically generating SQL queries based on the analysis results, and means for recognizing the user's emotional state and optimizing the interface based on emotional data. This enables efficient data extraction based on requests in natural language and flexible interface responses that respond to the user's emotions.
[0411] "Natural language" refers to the language that humans use for everyday communication and is also used in interaction with computers.
[0412] A "request" refers to an instruction that a user enters to ask the system to retrieve specific information or perform an action.
[0413] A "data structure" refers to a format or model for organizing, storing, and managing information, and is used within databases.
[0414] "Technical terms" are specialized terms used in a particular industry or field, and they have specific meanings that differ from general terms.
[0415] "General terminology" refers to words that are not dependent on specialized knowledge and are easily understood by anyone in a wide range of contexts.
[0416] "Means of mapping" refers to methods or processes for replacing specific terms with corresponding terms or concepts.
[0417] A "SQL query" is a standardized set of instructions used to search for and manipulate data in a database system.
[0418] "Means of automatic generation" refers to a method by which a program constructs processes and outputs based on specific inputs.
[0419] "Emotional state" refers to the user's psychological state and is analyzed by the emotion engine.
[0420] "Emotional data" refers to information that expresses a user's emotional state using numbers, symbols, or other means.
[0421] An "interface" refers to the medium through which a user and a system interact, serving as a visual and operational window for the user.
[0422] The system for carrying out the present invention automatically generates queries to a database based on requests entered by a user in natural language using a smart device. This system includes a software component that receives user input and performs language analysis, and an emotion engine that performs emotion recognition. Specifically, when a user enters natural language via a terminal, that data is sent to the server.
[0423] The server uses natural language processing software (e.g., spaCy) to analyze the input and extract relevant keywords. Subsequently, an emotion engine (e.g., Google Cloud Natural Language API) analyzes the user's emotional state and optimizes the interface based on the results. For example, if the user is feeling anxious, the interface will switch to a design that provides a sense of security.
[0424] During this process, when SQL queries are generated, technical terms are mapped to general terms using the analysis results and an internal dictionary. The generated queries are sent to the database, and data is extracted quickly. Based on the user's emotional state, the extracted results are presented visually in an optimized form through the interface.
[0425] For example, if a user enters into their device, "I want to know the details of my last purchased item. I'm worried, so I'd like a detailed explanation," the system will not only systematically extract information related to their "last purchase history," but will also display a "reassuring explanation."
[0426] This invention streamlines natural language request processing and enhances personalized responses based on emotions, including the creation of prompts using a generative AI model. By applying a prompt such as, "Please suggest an answer that takes the user's emotions into consideration and provides reassurance," it is possible to improve the user experience.
[0427] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0428] Step 1:
[0429] The user enters a request into the terminal in natural language. The terminal receives this input and sends the natural language data to the server. The input data is sent to the server in text format.
[0430] Step 2:
[0431] The server uses natural language processing software (e.g., spaCy) to analyze the received text data. As a result of the analysis, keywords and conditions for the information the user is looking for are extracted. This then provides relevant keywords and conditions that will be used as input for the next step.
[0432] Step 3:
[0433] The server activates an emotion engine (e.g., Google Cloud Natural Language API) to recognize the user's emotional state from text data. The emotion analysis outputs the user's emotional state, which is then used to prepare data for interface optimization.
[0434] Step 4:
[0435] The server automatically generates SQL queries using data based on analyzed keywords and sentiment states. During this query generation process, technical terms are mapped to general terms using an internal dictionary. The output is an optimized SQL query for database searching.
[0436] Step 5:
[0437] The generated SQL query is executed by the server. This query execution extracts relevant information from the database and returns it to the server in structured data format.
[0438] Step 6:
[0439] The extracted data is sent from the server to the terminal. The terminal receives this data and visually presents the results using an interface that takes the user's emotional state into consideration. This ultimately results in information being displayed in a way that provides the user with a sense of security.
[0440] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0441] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0442] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0443] [Third Embodiment]
[0444] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0445] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0446] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0447] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0448] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0449] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0450] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0451] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0452] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0453] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0454] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0455] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0456] This invention is a system that automatically generates SQL queries from natural language requests when a user extracts specific information from a database. This system involves collaboration between the user, terminal, and server to automatically extract data and visually present the results.
[0457] The user inputs a data extraction request into the terminal using natural language. The request includes information such as a specific device name and service ID. The terminal receives this request and performs analysis using natural language processing technology. The analyzed information is mapped to technical terms and sent to the server.
[0458] The server refers to an internal dictionary that holds mapping information between technical terms and general terms. This makes it possible to identify the exact column and table names in the database that correspond to the user's request. Next, the server automatically generates the necessary SQL queries based on the parsed information. These generated queries are sent to the database, and data extraction is performed.
[0459] The extracted data is sent from the server to the terminal, which then visually presents the results to the user. This allows the user to easily verify the accurate data generated by the system.
[0460] For example, if a user requests to "extract the S of customers using a Pixel 7a," the device analyzes the keywords "Pixel 7a" and "S" and sends them to the server. The server maps these technical terms to "device_model" and "service_id" and automatically generates an SQL query. The SQL query `SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'` is generated, and the corresponding service ID is extracted from the database. The results are visually presented to the user via the device, allowing the user to easily access the extracted information.
[0461] This invention enables users to efficiently obtain necessary information without requiring specialized knowledge of SQL, and also reduces the burden of creating SQL queries.
[0462] The following describes the processing flow.
[0463] Step 1:
[0464] The user inputs requests for information to be retrieved from the database using natural language on the terminal. These requests include specific product names and service IDs.
[0465] Step 2:
[0466] The terminal receives a request in natural language and analyzes it using natural language processing (NLP) techniques. Through this analysis, it identifies the main keywords and conditions that make up the request.
[0467] Step 3:
[0468] The terminal converts keywords identified from the request into technical terms and sends the analysis results to the server. During this process, the terminal transmits the analyzed keywords and conditions to the server.
[0469] Step 4:
[0470] Based on the received analysis results, the server refers to an internal dictionary or mapping table to map keywords to technical terms (column names or table names) within the database.
[0471] Step 5:
[0472] The server automatically generates SQL queries that respond to user requests based on the mapping results. These SQL queries incorporate conditions that conform to the user's requests.
[0473] Step 6:
[0474] The server uses the generated SQL query to execute the query against the database and extract the necessary data. At this time, a database connection is established and the query is executed quickly.
[0475] Step 7:
[0476] The server retrieves the query results and sends that data to the terminal. The results include information that matches the user's request.
[0477] Step 8:
[0478] The device visually processes the received data and presents it to the user in an easy-to-understand format. This presentation of results allows the user to efficiently access the information they need.
[0479] (Example 1)
[0480] Next, we will describe Example 1. 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."
[0481] To provide a method for information systems that allows users, even without specialized knowledge, to efficiently extract necessary information from databases and obtain results in an intuitively understandable format.
[0482] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0483] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data processing device to general terms; means for converting the analyzed information into a technical terminology system and transmitting it to the data management device; and means for identifying accurate column names and data sets using an internal dictionary and automatically generating data query commands in response to the request. As a result, users can input requests in natural language without requiring specialized knowledge, and appropriate database queries will be automatically generated, allowing them to intuitively obtain information.
[0484] "Natural language" refers to the language that humans use on a daily basis, and it is the language that is input in its original form when communicating with a computer.
[0485] "Analysis" is the process of breaking down input information and converting it into a format that is easy to understand in terms of meaning and structure.
[0486] A "data processing device" refers to a system or software used to process and transform information on a computer.
[0487] "Technical terms" refer to specialized vocabulary and definitions that are commonly understood within a particular field.
[0488] "Common terminology" refers to vocabulary that is easily understood by many people and is used in everyday life.
[0489] "Mapping" refers to the operation or process of associating one data format or vocabulary with another format or vocabulary.
[0490] A "data management device" refers to a system or software that manages the storage, retrieval, and manipulation of data.
[0491] An "internal dictionary" is a data storage system that holds reference data for associating technical terms with general terms.
[0492] A "data query command" is a command issued to a computer to retrieve specific information from a database.
[0493] This invention provides a system that allows users to efficiently extract information from a database using natural language. This system enables a process in which the server, terminal, and user interact with each other, analyzing requests in natural language and automatically generating database queries.
[0494] The user inputs an information extraction request into the device using natural language. This input is in a specific format, such as "Show me the service ID of a customer using a Pixel 7a." The device receives this natural language request and analyzes it using a generative AI model. This analysis identifies the requested device name and specific identifiers, and extracts important keywords.
[0495] The extracted keywords are sent to the server. The server uses its internal dictionary to map these general terms to technical terms. For example, the device name "Pixel 7a" is mapped to "device_model," and "service ID" is mapped to "service_id." This conversion allows the server to automatically generate the appropriate SQL query in response to the request.
[0496] The server executes the generated SQL query to retrieve the necessary information from the data management device. For example, a query such as SELECT service_id FROM devices WHERE device_model = 'Pixel 7a' is generated, and the corresponding data is extracted from the database.
[0497] The extracted results are sent to the terminal and presented to the user visually. This allows the user to easily access the information they want without requiring specialized database knowledge. In this embodiment, it is possible to use a prompt statement in the form of "Generate SQL that displays the customer service ID for device model Pixel 7a." This allows the user to clearly communicate their request to the system and intuitively understand the generated results.
[0498] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0499] Step 1:
[0500] The user inputs their information extraction request into the device in natural language. For example, they might input a specific request such as, "Please tell me the service ID of a customer using a Pixel 7a." In this step, the user's request is input into the device as natural language text. As output, this text data is stored on the device.
[0501] Step 2:
[0502] The device receives the input natural language request and performs analysis using a generative AI model. Specifically, it tokenizes the input text and performs natural language processing to identify important keywords and phrases. The natural language text obtained in step 1 is used as input, and the output is the analyzed keyword "Pixel 7a" and "Service ID".
[0503] Step 3:
[0504] The device maps the analyzed information to technical terms and sends it to the server. Based on the extracted keywords, the device uses its internal dictionary and rules to convert "Pixel 7a" to "device_model" and "Service ID" to "service_id". The input is the output data from step 2, and the output, which includes the technical terms, is sent to the server.
[0505] Step 4:
[0506] The server automatically generates appropriate SQL queries based on the received technical terms. Specifically, it embeds query templates based on the mapped technical terms and constructs queries according to SQL syntax. The input is the technical term data obtained in step 3, and the output generates an SQL query like SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'.
[0507] Step 5:
[0508] The server sends the generated SQL query to the database and extracts the relevant data. The server establishes a database connection and executes the query to obtain a dataset that matches the specified conditions. The input is the SQL query from step 4, and the output is a list of service IDs obtained from the database.
[0509] Step 6:
[0510] The server sends the extracted results to the terminal. The server converts the data format to a format suitable for visual display and sends the data to the terminal using a network protocol. The input is the extracted data from step 5, and the output is data formatted in a user-friendly format sent to the terminal.
[0511] Step 7:
[0512] The terminal visually presents the results received from the server to the user. The terminal displays the data on a graphical interface or dashboard, making it easy for the user to review the information. The input is the formatted data obtained in step 6, and the output provides the user with visualized information.
[0513] (Application Example 1)
[0514] Next, we will explain Application Example 1. In the following explanation, 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."
[0515] There is a need for a system that allows users to easily extract information from data storage devices in natural language without requiring specialized knowledge. In particular, rapid and accurate information extraction is difficult in situations requiring complex data analysis or immediate information provision. Furthermore, while it is desirable for users to visually grasp information using mobile devices, current technology offers limited support for this.
[0516] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0517] This invention includes a server that analyzes requests entered in natural language and maps technical terms used in the data storage device to general terms; a server that automatically generates SQL queries based on the analysis results; a server that executes the generated SQL queries and visually presents the results to the user; and a server that instantly converts natural language commands into data and provides them as visual information through a program installed on the user's mobile device. As a result, even without specialized knowledge, users can intuitively obtain the necessary information from the data storage device and quickly verify that information through their mobile device.
[0518] "Natural language" refers to the language that humans use on a daily basis, and is contrasted with the programming language that computers understand.
[0519] "Analysis" is the process of breaking down information and data into smaller, more manageable forms.
[0520] A "data storage device" refers to a system for storing information long-term and providing that data as needed.
[0521] "Technical terms" are specialized words used in a particular field or technology.
[0522] "Common terminology" refers to words that are used and widely understood by the general public.
[0523] "Mapping" is the operation of associating elements of one set with elements of another set.
[0524] A "SQL query" is a set of instructions that uses a structured query language to retrieve and manipulate data in a database.
[0525] "Visual presentation" means displaying information in a way that appeals to the visual sense, such as using diagrams or charts.
[0526] A "portable device" refers to a terminal that is portable and capable of communication and running applications.
[0527] A "program" is a set of instructions that a computer uses to perform a specific task.
[0528] A "window" is an interface used for exchanging information and performing operations between the user and the system.
[0529] This system is an application that allows users to efficiently extract data and visually confirm the results. The primary target environment for implementing this invention is one that utilizes data storage devices.
[0530] First, the user inputs a data extraction request in natural language using a mobile device. This mobile device has a program installed for natural language analysis and SQL query generation. The program uses a natural language processing library (for example, Hugging Face's Transformers) to analyze the user's request and convert it into technical terms. This allows for the generation of appropriate database queries even from input that resembles normal conversation.
[0531] Next, the mobile device generates an SQL query based on the parsed request and sends it to the server. The server executes the received SQL query and extracts the requested data from the data storage device. In this process, using a database management system such as MySQL is appropriate.
[0532] The extracted data is sent from the server to the mobile device. The mobile device then displays the received data visually. This can be done using libraries for generating graphs and charts (e.g., Matplotlib or Plotly). This allows the user to view the information visually and intuitively.
[0533] For example, if a user inputs "Tell me the CPU usage of server A," the program will analyze this natural language and generate an appropriate SQL query. This generated query will allow the server to retrieve CPU usage information from the database and present the result to the user.
[0534] An example of a prompt statement is when a user requests, "Check the server's memory usage." In this case, too, the mobile device generates a query based on the user's natural language, retrieves data through the server, and visualizes the results. This allows users to manage complex data through everyday devices such as smartphones.
[0535] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0536] Step 1:
[0537] The user enters a data extraction request in natural language into their mobile device. The entered request is received by a natural language processing program installed on the mobile device. This prepares the data extraction request in text format.
[0538] Step 2:
[0539] The terminal uses a natural language processing library to analyze user input requests. It receives natural language text as input and converts it into technical terms. In this process, tokenization and grammatical analysis are performed, and the analyzed information is output as a set of technical terms. A generative AI model is used to analyze the user's intent.
[0540] Step 3:
[0541] The terminal automatically generates an SQL query based on the analysis results. Here, the generated technical terms are applied to SQL syntax. It receives the analyzed technical terms as input and generates an SQL query as output. This SQL query becomes the query statement to the database.
[0542] Step 4:
[0543] The terminal sends the generated SQL query to the server. The server then forwards the sent query to the data storage device. There, the SQL query is executed as a query against the database, and the actual data extraction takes place.
[0544] Step 5:
[0545] The server receives data extracted from the data storage device and sends that data back to the mobile device. The server takes the results of an SQL query as input and provides the extracted data to the mobile device as final output.
[0546] Step 6:
[0547] The terminal visually displays the received data. Using a data visualization library, it processes the input data into graphs and charts. Based on this processing, the visualized information is presented to the user as output. As a specific example, CPU usage data is displayed as a chart, allowing the user to visually confirm it.
[0548] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0549] This invention is a system that, when extracting information from a database based on requests made in natural language, recognizes the user's emotions, processes that information, and generates SQL queries. Furthermore, by incorporating an emotion engine, it adapts and optimizes the interface according to the user's emotional state.
[0550] When a user enters a data extraction request in natural language into the terminal, the terminal receives the request. First, the emotion engine is activated and recognizes the user's emotional state from the text input. This emotional state is used to optimize the interface during the SQL generation process.
[0551] Next, the terminal uses natural language processing technology to analyze the user's request and identify relevant keywords and conditions. The identified keywords are sent to the server and converted into technical terms in the database using an internal dictionary and mapping table.
[0552] The server automatically generates appropriate SQL queries based on the mapping information. These SQL queries can incorporate additional conditions and feedback based on the user's emotions as recognized by the emotion engine, as needed. The generated queries are then sent to the database to accurately extract the relevant data.
[0553] The extraction results are sent from the server to the terminal, which then visually presents the data to the user. The sentiment engine monitors how the user perceives the results and provides additional support and guidance as needed.
[0554] For example, if a user types "I need to quickly check my Pixel 7a usage," the sentiment engine recognizes the user's urgency from the word "urgent." Based on this recognition, the server extracts the data as quickly as possible, and the device presents the results in a simple and quick-to-view format. By allowing users to quickly access the information they request, the user experience can be improved.
[0555] In this way, by combining natural language processing and an emotion engine, this system effectively meets user requirements and enables flexible responses tailored to the user's emotional state. This improves the efficiency of data extraction and provides a more user-friendly interface.
[0556] The following describes the processing flow.
[0557] Step 1:
[0558] The user enters a data extraction request into the terminal using natural language. This request includes specific target data and circumstances.
[0559] Step 2:
[0560] The device receives input and activates the emotion engine. The emotion engine analyzes the user's text input and identifies emotional states such as joy or anxiety.
[0561] Step 3:
[0562] The device uses natural language processing to analyze text for key keywords and extraction criteria. This analysis includes information such as product names and IDs specified by the user.
[0563] Step 4:
[0564] The device sends the analyzed keywords and the user's emotional state to the server. At this time, the emotional state is added as supplementary information.
[0565] Step 5:
[0566] Based on the received data, the server refers to its internal dictionary and mapping tables, and converts the analyzed keywords into technical terms in the database.
[0567] Step 6:
[0568] The server automatically generates appropriate SQL queries, taking into account technical terms and emotional states. Query priority and feedback are adjusted according to the emotional state.
[0569] Step 7:
[0570] The server executes the generated SQL query and quickly extracts the relevant data from the database. This process is optimized for efficient database access.
[0571] Step 8:
[0572] The server sends the acquired data to the terminal. During transmission, data may be sent with priority based on its importance.
[0573] Step 9:
[0574] The device visually processes the received data and presents it to the user in an easy-to-understand format. The emotion engine can then monitor the user's response again and provide additional guidance or support.
[0575] This series of steps allows users to effectively access data through a flexible interface that takes emotions into consideration.
[0576] (Example 2)
[0577] Next, we will describe Example 2. 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."
[0578] This invention addresses the challenge of providing information quickly and accurately while considering the user's emotional state when extracting data from requests entered in natural language. In particular, it is necessary to achieve flexible responses in situations where mapping of technical terms and optimizing the user experience are required.
[0579] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0580] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data set to general terms, means for automatically generating a structured query language based on the analysis results, and means for recognizing the user's emotional state and adapting or optimizing the interface based on that emotion. This enables the rapid and accurate provision of information with a flexible interface that responds to the user's emotions.
[0581] "Natural language" refers to the language that humans use on a daily basis, and includes sentences and grammar that are not in a format necessary for computers to understand and process.
[0582] A "request" is the act or content of a user communicating to a system, using natural language or other means, that they wish to obtain specific information.
[0583] "Analysis" is the process of extracting relevant information from an input natural language request and converting it into a format that the system can process.
[0584] "Technical jargon" refers to specialized vocabulary and expressions used in a particular field, which may be difficult for the general public to understand.
[0585] "General terminology" refers to language and vocabulary that are widely understood by the general public and are not dependent on any particular field of specialization.
[0586] A "structured query language" is a type of standard programming language used to search, insert, update, and delete data in a database.
[0587] An "interface" refers to the means or methods of interaction between a user and a system, and is a mechanism for displaying information or inputting data.
[0588] "Emotional state" refers to the psychological or emotional state or tendency that a user exhibits when using the system.
[0589] "Mapping" is the process of converting one vocabulary or piece of information into another corresponding vocabulary or piece of information.
[0590] This invention is a system that extracts information from a data set based on natural language input and optimizes the interface while considering the user's emotional state. A specific implementation of this system is described below.
[0591] The user enters data extraction requests in natural language using a terminal. The terminal is equipped with an emotion engine and a natural language processing engine, supported by libraries such as Python's NLTK library.
[0592] The device recognizes the user's emotional state by analyzing the requests received from the user using an emotion engine. This emotional state is a crucial element in adapting the interface.
[0593] Next, the terminal analyzes the request using natural language processing technology and identifies specialized keywords. This information is sent to the server, where it is mapped to technical terms used in the database. The server utilizes databases such as MySQL or PostgreSQL, and terminology conversion is performed using internal dictionaries and mapping tables.
[0594] The server generates an SQL query based on the conversion results. This SQL query is optimized as needed based on the emotional state recognized by the emotion engine. The generated query is sent to the database to extract the data.
[0595] The extracted results are returned from the server to the terminal, which then visually presents them to the user. During the presentation, the interface is adapted to the user's emotions, and the information is displayed in a way that is easier to understand.
[0596] For example, if a user enters a prompt such as "I want to check my usage status urgently," the terminal and server will execute the above process and provide information in a quickly adapted format.
[0597] Thus, the present invention enables users to quickly and accurately obtain necessary information through a flexible system that responds to their own emotional state.
[0598] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0599] Step 1:
[0600] The user inputs data extraction requests into the device using natural language. For example, they might request, "I need to know information about a specific product urgently." This input is captured by the device and becomes initial data for recognizing the user's emotional state.
[0601] Step 2:
[0602] The device receives user input and activates the emotion engine. It analyzes the input text and identifies the user's emotional state from the keyword "hurry." In this process, the input data is converted into emotion data.
[0603] Step 3:
[0604] The terminal uses a natural language processing engine to analyze user requests in detail. Specifically, it extracts important keywords from the input sentence and performs grammatical analysis. This analyzed data is converted into keywords in preparation for transmission to the server.
[0605] Step 4:
[0606] Keywords sent from the terminal arrive at the server. The server receives these keywords and uses its internal dictionary and mapping tables to convert them into technical terms in the database. This conversion transforms the analysis data into technical term data.
[0607] Step 5:
[0608] The server automatically generates appropriate SQL queries based on technical terminology data. During this generation process, user sentiment information received from the sentiment engine is also considered, optimizing the queries. The generated SQL queries are then output as specific instructions for data extraction.
[0609] Step 6:
[0610] The server sends the generated SQL query to the database and extracts the relevant data. Based on the database response, the necessary information is returned to the server. This response data is a collection of information based on the user's request.
[0611] Step 7:
[0612] Data extracted from the server is sent to the terminal. The terminal receives this data and formats it for visual presentation to the user. Graphs and tables are generated using visualization tools and displayed. The final output is visual information that the user can easily understand.
[0613] Step 8:
[0614] The device monitors the user's reaction to the displayed results using an emotion engine. It provides additional guidance and support information as needed to enhance the user experience. This allows the system to continuously provide interactive user support.
[0615] (Application Example 2)
[0616] Next, we will explain application example 2. In the following explanation, 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."
[0617] In modern data querying systems, query generation based on user requests using natural language can sometimes be inefficient. Furthermore, the lack of interface optimization tailored to user emotions results in insufficient user experience. Therefore, the challenge lies in providing a system that streamlines query generation for natural language requests while simultaneously enabling flexible responses based on user emotional states.
[0618] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0619] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in data structures to general terms, means for automatically generating SQL queries based on the analysis results, and means for recognizing the user's emotional state and optimizing the interface based on emotional data. This enables efficient data extraction based on requests in natural language and flexible interface responses that respond to the user's emotions.
[0620] "Natural language" refers to the language that humans use for everyday communication and is also used in interaction with computers.
[0621] A "request" refers to an instruction that a user enters to ask the system to retrieve specific information or perform an action.
[0622] A "data structure" refers to a format or model for organizing, storing, and managing information, and is used within databases.
[0623] "Technical terms" are specialized terms used in a particular industry or field, and they have specific meanings that differ from general terms.
[0624] "General terminology" refers to words that are not dependent on specialized knowledge and are easily understood by anyone in a wide range of contexts.
[0625] "Means of mapping" refers to methods or processes for replacing specific terms with corresponding terms or concepts.
[0626] A "SQL query" is a standardized set of instructions used to search for and manipulate data in a database system.
[0627] "Means of automatic generation" refers to a method by which a program constructs processes and outputs based on specific inputs.
[0628] "Emotional state" refers to the user's psychological state and is analyzed by the emotion engine.
[0629] "Emotional data" refers to information that expresses a user's emotional state using numbers, symbols, or other means.
[0630] An "interface" refers to the medium through which a user and a system interact, serving as a visual and operational window for the user.
[0631] The system for carrying out the present invention automatically generates queries to a database based on requests entered by a user in natural language using a smart device. This system includes a software component that receives user input and performs language analysis, and an emotion engine that performs emotion recognition. Specifically, when a user enters natural language via a terminal, that data is sent to the server.
[0632] The server uses natural language processing software (e.g., spaCy) to analyze the input and extract relevant keywords. Subsequently, an emotion engine (e.g., Google Cloud Natural Language API) analyzes the user's emotional state and optimizes the interface based on the results. For example, if the user is feeling anxious, the interface will switch to a design that provides a sense of security.
[0633] During this process, when SQL queries are generated, technical terms are mapped to general terms using the analysis results and an internal dictionary. The generated queries are sent to the database, and data is extracted quickly. Based on the user's emotional state, the extracted results are presented visually in an optimized form through the interface.
[0634] For example, if a user enters into their device, "I want to know the details of my last purchased item. I'm worried, so I'd like a detailed explanation," the system will not only systematically extract information related to their "last purchase history," but will also display a "reassuring explanation."
[0635] This invention streamlines natural language request processing and enhances personalized responses based on emotions, including the creation of prompts using a generative AI model. By applying a prompt such as, "Please suggest an answer that takes the user's emotions into consideration and provides reassurance," it is possible to improve the user experience.
[0636] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0637] Step 1:
[0638] The user enters a request into the terminal in natural language. The terminal receives this input and sends the natural language data to the server. The input data is sent to the server in text format.
[0639] Step 2:
[0640] The server uses natural language processing software (e.g., spaCy) to analyze the received text data. As a result of the analysis, keywords and conditions for the information the user is looking for are extracted. This then provides relevant keywords and conditions that will be used as input for the next step.
[0641] Step 3:
[0642] The server activates an emotion engine (e.g., Google Cloud Natural Language API) to recognize the user's emotional state from text data. The emotion analysis outputs the user's emotional state, which is then used to prepare data for interface optimization.
[0643] Step 4:
[0644] The server automatically generates SQL queries using data based on analyzed keywords and sentiment states. During this query generation process, technical terms are mapped to general terms using an internal dictionary. The output is an optimized SQL query for database searching.
[0645] Step 5:
[0646] The generated SQL query is executed by the server. This query execution extracts relevant information from the database and returns it to the server in structured data format.
[0647] Step 6:
[0648] The extracted data is sent from the server to the terminal. The terminal receives this data and visually presents the results using an interface that takes the user's emotional state into consideration. This ultimately results in information being displayed in a way that provides the user with a sense of security.
[0649] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0650] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0651] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0652] [Fourth Embodiment]
[0653] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0654] As shown in Figure 7, the 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.
[0655] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0656] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0657] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0658] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0659] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0660] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0661] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0662] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0663] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0664] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0665] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0666] This invention is a system that automatically generates SQL queries from natural language requests when a user extracts specific information from a database. This system involves collaboration between the user, terminal, and server to automatically extract data and visually present the results.
[0667] The user inputs a data extraction request into the terminal using natural language. The request includes information such as a specific device name and service ID. The terminal receives this request and performs analysis using natural language processing technology. The analyzed information is mapped to technical terms and sent to the server.
[0668] The server refers to an internal dictionary that holds mapping information between technical terms and general terms. This makes it possible to identify the exact column and table names in the database that correspond to the user's request. Next, the server automatically generates the necessary SQL queries based on the parsed information. These generated queries are sent to the database, and data extraction is performed.
[0669] The extracted data is sent from the server to the terminal, which then visually presents the results to the user. This allows the user to easily verify the accurate data generated by the system.
[0670] For example, if a user requests to "extract the S of customers using a Pixel 7a," the device analyzes the keywords "Pixel 7a" and "S" and sends them to the server. The server maps these technical terms to "device_model" and "service_id" and automatically generates an SQL query. The SQL query `SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'` is generated, and the corresponding service ID is extracted from the database. The results are visually presented to the user via the device, allowing the user to easily access the extracted information.
[0671] This invention enables users to efficiently obtain necessary information without requiring specialized knowledge of SQL, and also reduces the burden of creating SQL queries.
[0672] The following describes the processing flow.
[0673] Step 1:
[0674] The user inputs requests for information to be retrieved from the database using natural language on the terminal. These requests include specific product names and service IDs.
[0675] Step 2:
[0676] The terminal receives a request in natural language and analyzes it using natural language processing (NLP) techniques. Through this analysis, it identifies the main keywords and conditions that make up the request.
[0677] Step 3:
[0678] The terminal converts keywords identified from the request into technical terms and sends the analysis results to the server. During this process, the terminal transmits the analyzed keywords and conditions to the server.
[0679] Step 4:
[0680] Based on the received analysis results, the server refers to an internal dictionary or mapping table to map keywords to technical terms (column names or table names) within the database.
[0681] Step 5:
[0682] The server automatically generates SQL queries that respond to user requests based on the mapping results. These SQL queries incorporate conditions that conform to the user's requests.
[0683] Step 6:
[0684] The server uses the generated SQL query to execute the query against the database and extract the necessary data. At this time, a database connection is established and the query is executed quickly.
[0685] Step 7:
[0686] The server retrieves the query results and sends that data to the terminal. The results include information that matches the user's request.
[0687] Step 8:
[0688] The device visually processes the received data and presents it to the user in an easy-to-understand format. This presentation of results allows the user to efficiently access the information they need.
[0689] (Example 1)
[0690] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0691] To provide a method for information systems that allows users, even without specialized knowledge, to efficiently extract necessary information from databases and obtain results in an intuitively understandable format.
[0692] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0693] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data processing device to general terms; means for converting the analyzed information into a technical terminology system and transmitting it to the data management device; and means for identifying accurate column names and data sets using an internal dictionary and automatically generating data query commands in response to the request. As a result, users can input requests in natural language without requiring specialized knowledge, and appropriate database queries will be automatically generated, allowing them to intuitively obtain information.
[0694] "Natural language" refers to the language that humans use on a daily basis, and it is the language that is input in its original form when communicating with a computer.
[0695] "Analysis" is the process of breaking down input information and converting it into a format that is easy to understand in terms of meaning and structure.
[0696] A "data processing device" refers to a system or software used to process and transform information on a computer.
[0697] "Technical terms" refer to specialized vocabulary and definitions that are commonly understood within a particular field.
[0698] "Common terminology" refers to vocabulary that is easily understood by many people and is used in everyday life.
[0699] "Mapping" refers to the operation or process of associating one data format or vocabulary with another format or vocabulary.
[0700] A "data management device" refers to a system or software that manages the storage, retrieval, and manipulation of data.
[0701] An "internal dictionary" is a data storage system that holds reference data for associating technical terms with general terms.
[0702] A "data query command" is a command issued to a computer to retrieve specific information from a database.
[0703] This invention provides a system that allows users to efficiently extract information from a database using natural language. This system enables a process in which the server, terminal, and user interact with each other, analyzing requests in natural language and automatically generating database queries.
[0704] The user inputs an information extraction request into the device using natural language. This input is in a specific format, such as "Show me the service ID of a customer using a Pixel 7a." The device receives this natural language request and analyzes it using a generative AI model. This analysis identifies the requested device name and specific identifiers, and extracts important keywords.
[0705] The extracted keywords are sent to the server. The server uses its internal dictionary to map these general terms to technical terms. For example, the device name "Pixel 7a" is mapped to "device_model," and "service ID" is mapped to "service_id." This conversion allows the server to automatically generate the appropriate SQL query in response to the request.
[0706] The server executes the generated SQL query to retrieve the necessary information from the data management device. For example, a query such as SELECT service_id FROM devices WHERE device_model = 'Pixel 7a' is generated, and the corresponding data is extracted from the database.
[0707] The extracted results are sent to the terminal and presented to the user visually. This allows the user to easily access the information they want without requiring specialized database knowledge. In this embodiment, it is possible to use a prompt statement in the form of "Generate SQL that displays the customer service ID for device model Pixel 7a." This allows the user to clearly communicate their request to the system and intuitively understand the generated results.
[0708] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0709] Step 1:
[0710] The user inputs their information extraction request into the device in natural language. For example, they might input a specific request such as, "Please tell me the service ID of a customer using a Pixel 7a." In this step, the user's request is input into the device as natural language text. As output, this text data is stored on the device.
[0711] Step 2:
[0712] The device receives the input natural language request and performs analysis using a generative AI model. Specifically, it tokenizes the input text and performs natural language processing to identify important keywords and phrases. The natural language text obtained in step 1 is used as input, and the output is the analyzed keyword "Pixel 7a" and "Service ID".
[0713] Step 3:
[0714] The device maps the analyzed information to technical terms and sends it to the server. Based on the extracted keywords, the device uses its internal dictionary and rules to convert "Pixel 7a" to "device_model" and "Service ID" to "service_id". The input is the output data from step 2, and the output, which includes the technical terms, is sent to the server.
[0715] Step 4:
[0716] The server automatically generates appropriate SQL queries based on the received technical terms. Specifically, it embeds query templates based on the mapped technical terms and constructs queries according to SQL syntax. The input is the technical term data obtained in step 3, and the output generates an SQL query like SELECT service_id FROM devices WHERE device_model = 'Pixel 7a'.
[0717] Step 5:
[0718] The server sends the generated SQL query to the database and extracts the relevant data. The server establishes a database connection and executes the query to obtain a dataset that matches the specified conditions. The input is the SQL query from step 4, and the output is a list of service IDs obtained from the database.
[0719] Step 6:
[0720] The server sends the extracted results to the terminal. The server converts the data format to a format suitable for visual display and sends the data to the terminal using a network protocol. The input is the extracted data from step 5, and the output is data formatted in a user-friendly format sent to the terminal.
[0721] Step 7:
[0722] The terminal visually presents the results received from the server to the user. The terminal displays the data on a graphical interface or dashboard, making it easy for the user to review the information. The input is the formatted data obtained in step 6, and the output provides the user with visualized information.
[0723] (Application Example 1)
[0724] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0725] There is a need for a system that allows users to easily extract information from data storage devices in natural language without requiring specialized knowledge. In particular, rapid and accurate information extraction is difficult in situations requiring complex data analysis or immediate information provision. Furthermore, while it is desirable for users to visually grasp information using mobile devices, current technology offers limited support for this.
[0726] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0727] This invention includes a server that analyzes requests entered in natural language and maps technical terms used in the data storage device to general terms; a server that automatically generates SQL queries based on the analysis results; a server that executes the generated SQL queries and visually presents the results to the user; and a server that instantly converts natural language commands into data and provides them as visual information through a program installed on the user's mobile device. As a result, even without specialized knowledge, users can intuitively obtain the necessary information from the data storage device and quickly verify that information through their mobile device.
[0728] "Natural language" refers to the language that humans use on a daily basis, and is contrasted with the programming language that computers understand.
[0729] "Analysis" is the process of breaking down information and data into smaller, more manageable forms.
[0730] A "data storage device" refers to a system for storing information long-term and providing that data as needed.
[0731] "Technical terms" are specialized words used in a particular field or technology.
[0732] "Common terminology" refers to words that are used and widely understood by the general public.
[0733] "Mapping" is the operation of associating elements of one set with elements of another set.
[0734] A "SQL query" is a set of instructions that uses a structured query language to retrieve and manipulate data in a database.
[0735] "Visual presentation" means displaying information in a way that appeals to the visual sense, such as using diagrams or charts.
[0736] A "portable device" refers to a terminal that is portable and capable of communication and running applications.
[0737] A "program" is a set of instructions that a computer uses to perform a specific task.
[0738] A "window" is an interface used for exchanging information and performing operations between the user and the system.
[0739] This system is an application that allows users to efficiently extract data and visually confirm the results. The primary target environment for implementing this invention is one that utilizes data storage devices.
[0740] First, the user inputs a data extraction request in natural language using a mobile device. This mobile device has a program installed for natural language analysis and SQL query generation. The program uses a natural language processing library (for example, Hugging Face's Transformers) to analyze the user's request and convert it into technical terms. This allows for the generation of appropriate database queries even from input that resembles normal conversation.
[0741] Next, the mobile device generates an SQL query based on the parsed request and sends it to the server. The server executes the received SQL query and extracts the requested data from the data storage device. In this process, using a database management system such as MySQL is appropriate.
[0742] The extracted data is sent from the server to the mobile device. The mobile device then displays the received data visually. This can be done using libraries for generating graphs and charts (e.g., Matplotlib or Plotly). This allows the user to view the information visually and intuitively.
[0743] For example, if a user inputs "Tell me the CPU usage of server A," the program will analyze this natural language and generate an appropriate SQL query. This generated query will allow the server to retrieve CPU usage information from the database and present the result to the user.
[0744] An example of a prompt statement is when a user requests, "Check the server's memory usage." In this case, too, the mobile device generates a query based on the user's natural language, retrieves data through the server, and visualizes the results. This allows users to manage complex data through everyday devices such as smartphones.
[0745] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0746] Step 1:
[0747] The user enters a data extraction request in natural language into their mobile device. The entered request is received by a natural language processing program installed on the mobile device. This prepares the data extraction request in text format.
[0748] Step 2:
[0749] The terminal uses a natural language processing library to analyze user input requests. It receives natural language text as input and converts it into technical terms. In this process, tokenization and grammatical analysis are performed, and the analyzed information is output as a set of technical terms. A generative AI model is used to analyze the user's intent.
[0750] Step 3:
[0751] The terminal automatically generates an SQL query based on the analysis results. Here, the generated technical terms are applied to SQL syntax. It receives the analyzed technical terms as input and generates an SQL query as output. This SQL query becomes the query statement to the database.
[0752] Step 4:
[0753] The terminal sends the generated SQL query to the server. The server then forwards the sent query to the data storage device. There, the SQL query is executed as a query against the database, and the actual data extraction takes place.
[0754] Step 5:
[0755] The server receives data extracted from the data storage device and sends that data back to the mobile device. The server takes the results of an SQL query as input and provides the extracted data to the mobile device as final output.
[0756] Step 6:
[0757] The terminal visually displays the received data. Using a data visualization library, it processes the input data into graphs and charts. Based on this processing, the visualized information is presented to the user as output. As a specific example, CPU usage data is displayed as a chart, allowing the user to visually confirm it.
[0758] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0759] This invention is a system that, when extracting information from a database based on requests made in natural language, recognizes the user's emotions, processes that information, and generates SQL queries. Furthermore, by incorporating an emotion engine, it adapts and optimizes the interface according to the user's emotional state.
[0760] When a user enters a data extraction request in natural language into the terminal, the terminal receives the request. First, the emotion engine is activated and recognizes the user's emotional state from the text input. This emotional state is used to optimize the interface during the SQL generation process.
[0761] Next, the terminal uses natural language processing technology to analyze the user's request and identify relevant keywords and conditions. The identified keywords are sent to the server and converted into technical terms in the database using an internal dictionary and mapping table.
[0762] The server automatically generates appropriate SQL queries based on the mapping information. These SQL queries can incorporate additional conditions and feedback based on the user's emotions as recognized by the emotion engine, as needed. The generated queries are then sent to the database to accurately extract the relevant data.
[0763] The extraction results are sent from the server to the terminal, which then visually presents the data to the user. The sentiment engine monitors how the user perceives the results and provides additional support and guidance as needed.
[0764] For example, if a user types "I need to quickly check my Pixel 7a usage," the sentiment engine recognizes the user's urgency from the word "urgent." Based on this recognition, the server extracts the data as quickly as possible, and the device presents the results in a simple and quick-to-view format. By allowing users to quickly access the information they request, the user experience can be improved.
[0765] In this way, by combining natural language processing and an emotion engine, this system effectively meets user requirements and enables flexible responses tailored to the user's emotional state. This improves the efficiency of data extraction and provides a more user-friendly interface.
[0766] The following describes the processing flow.
[0767] Step 1:
[0768] The user enters a data extraction request into the terminal using natural language. This request includes specific target data and circumstances.
[0769] Step 2:
[0770] The device receives input and activates the emotion engine. The emotion engine analyzes the user's text input and identifies emotional states such as joy or anxiety.
[0771] Step 3:
[0772] The device uses natural language processing to analyze text for key keywords and extraction criteria. This analysis includes information such as product names and IDs specified by the user.
[0773] Step 4:
[0774] The device sends the analyzed keywords and the user's emotional state to the server. At this time, the emotional state is added as supplementary information.
[0775] Step 5:
[0776] Based on the received data, the server refers to its internal dictionary and mapping tables, and converts the analyzed keywords into technical terms in the database.
[0777] Step 6:
[0778] The server automatically generates appropriate SQL queries, taking into account technical terms and emotional states. Query priority and feedback are adjusted according to the emotional state.
[0779] Step 7:
[0780] The server executes the generated SQL query and quickly extracts the relevant data from the database. This process is optimized for efficient database access.
[0781] Step 8:
[0782] The server sends the acquired data to the terminal. During transmission, data may be sent with priority based on its importance.
[0783] Step 9:
[0784] The device visually processes the received data and presents it to the user in an easy-to-understand format. The emotion engine can then monitor the user's response again and provide additional guidance or support.
[0785] This series of steps allows users to effectively access data through a flexible interface that takes emotions into consideration.
[0786] (Example 2)
[0787] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0788] This invention addresses the challenge of providing information quickly and accurately while considering the user's emotional state when extracting data from requests entered in natural language. In particular, it is necessary to achieve flexible responses in situations where mapping of technical terms and optimizing the user experience are required.
[0789] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0790] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in the data set to general terms, means for automatically generating a structured query language based on the analysis results, and means for recognizing the user's emotional state and adapting or optimizing the interface based on that emotion. This enables the rapid and accurate provision of information with a flexible interface that responds to the user's emotions.
[0791] "Natural language" refers to the language that humans use on a daily basis, and includes sentences and grammar that are not in a format necessary for computers to understand and process.
[0792] A "request" is the act or content of a user communicating to a system, using natural language or other means, that they wish to obtain specific information.
[0793] "Analysis" is the process of extracting relevant information from an input natural language request and converting it into a format that the system can process.
[0794] "Technical jargon" refers to specialized vocabulary and expressions used in a particular field, which may be difficult for the general public to understand.
[0795] "General terminology" refers to language and vocabulary that are widely understood by the general public and are not dependent on any particular field of specialization.
[0796] A "structured query language" is a type of standard programming language used to search, insert, update, and delete data in a database.
[0797] An "interface" refers to the means or methods of interaction between a user and a system, and is a mechanism for displaying information or inputting data.
[0798] "Emotional state" refers to the psychological or emotional state or tendency that a user exhibits when using the system.
[0799] "Mapping" is the process of converting one vocabulary or piece of information into another corresponding vocabulary or piece of information.
[0800] This invention is a system that extracts information from a data set based on natural language input and optimizes the interface while considering the user's emotional state. A specific implementation of this system is described below.
[0801] The user enters data extraction requests in natural language using a terminal. The terminal is equipped with an emotion engine and a natural language processing engine, supported by libraries such as Python's NLTK library.
[0802] The device recognizes the user's emotional state by analyzing the requests received from the user using an emotion engine. This emotional state is a crucial element in adapting the interface.
[0803] Next, the terminal analyzes the request using natural language processing technology and identifies specialized keywords. This information is sent to the server, where it is mapped to technical terms used in the database. The server utilizes databases such as MySQL or PostgreSQL, and terminology conversion is performed using internal dictionaries and mapping tables.
[0804] The server generates an SQL query based on the conversion results. This SQL query is optimized as needed based on the emotional state recognized by the emotion engine. The generated query is sent to the database to extract the data.
[0805] The extracted results are returned from the server to the terminal, which then visually presents them to the user. During the presentation, the interface is adapted to the user's emotions, and the information is displayed in a way that is easier to understand.
[0806] For example, if a user enters a prompt such as "I want to check my usage status urgently," the terminal and server will execute the above process and provide information in a quickly adapted format.
[0807] Thus, the present invention enables users to quickly and accurately obtain necessary information through a flexible system that responds to their own emotional state.
[0808] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0809] Step 1:
[0810] The user inputs data extraction requests into the device using natural language. For example, they might request, "I need to know information about a specific product urgently." This input is captured by the device and becomes initial data for recognizing the user's emotional state.
[0811] Step 2:
[0812] The device receives user input and activates the emotion engine. It analyzes the input text and identifies the user's emotional state from the keyword "hurry." In this process, the input data is converted into emotion data.
[0813] Step 3:
[0814] The terminal uses a natural language processing engine to analyze user requests in detail. Specifically, it extracts important keywords from the input sentence and performs grammatical analysis. This analyzed data is converted into keywords in preparation for transmission to the server.
[0815] Step 4:
[0816] Keywords sent from the terminal arrive at the server. The server receives these keywords and uses its internal dictionary and mapping tables to convert them into technical terms in the database. This conversion transforms the analysis data into technical term data.
[0817] Step 5:
[0818] The server automatically generates appropriate SQL queries based on technical terminology data. During this generation process, user sentiment information received from the sentiment engine is also considered, optimizing the queries. The generated SQL queries are then output as specific instructions for data extraction.
[0819] Step 6:
[0820] The server sends the generated SQL query to the database and extracts the relevant data. Based on the database response, the necessary information is returned to the server. This response data is a collection of information based on the user's request.
[0821] Step 7:
[0822] Data extracted from the server is sent to the terminal. The terminal receives this data and formats it for visual presentation to the user. Graphs and tables are generated using visualization tools and displayed. The final output is visual information that the user can easily understand.
[0823] Step 8:
[0824] The device monitors the user's reaction to the displayed results using an emotion engine. It provides additional guidance and support information as needed to enhance the user experience. This allows the system to continuously provide interactive user support.
[0825] (Application Example 2)
[0826] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0827] In modern data querying systems, query generation based on user requests using natural language can sometimes be inefficient. Furthermore, the lack of interface optimization tailored to user emotions results in insufficient user experience. Therefore, the challenge lies in providing a system that streamlines query generation for natural language requests while simultaneously enabling flexible responses based on user emotional states.
[0828] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0829] In this invention, the server includes means for analyzing requests entered in natural language and mapping technical terms used in data structures to general terms, means for automatically generating SQL queries based on the analysis results, and means for recognizing the user's emotional state and optimizing the interface based on emotional data. This enables efficient data extraction based on requests in natural language and flexible interface responses that respond to the user's emotions.
[0830] "Natural language" refers to the language that humans use for everyday communication and is also used in interaction with computers.
[0831] A "request" refers to an instruction that a user enters to ask the system to retrieve specific information or perform an action.
[0832] A "data structure" refers to a format or model for organizing, storing, and managing information, and is used within databases.
[0833] "Technical terms" are specialized terms used in a particular industry or field, and they have specific meanings that differ from general terms.
[0834] "General terminology" refers to words that are not dependent on specialized knowledge and are easily understood by anyone in a wide range of contexts.
[0835] "Means of mapping" refers to methods or processes for replacing specific terms with corresponding terms or concepts.
[0836] A "SQL query" is a standardized set of instructions used to search for and manipulate data in a database system.
[0837] "Means of automatic generation" refers to a method by which a program constructs processes and outputs based on specific inputs.
[0838] "Emotional state" refers to the user's psychological state and is analyzed by the emotion engine.
[0839] "Emotional data" refers to information that expresses a user's emotional state using numbers, symbols, or other means.
[0840] An "interface" refers to the medium through which a user and a system interact, serving as a visual and operational window for the user.
[0841] The system for carrying out the present invention automatically generates queries to a database based on requests entered by a user in natural language using a smart device. This system includes a software component that receives user input and performs language analysis, and an emotion engine that performs emotion recognition. Specifically, when a user enters natural language via a terminal, that data is sent to the server.
[0842] The server uses natural language processing software (e.g., spaCy) to analyze the input and extract relevant keywords. Subsequently, an emotion engine (e.g., Google Cloud Natural Language API) analyzes the user's emotional state and optimizes the interface based on the results. For example, if the user is feeling anxious, the interface will switch to a design that provides a sense of security.
[0843] During this process, when SQL queries are generated, technical terms are mapped to general terms using the analysis results and an internal dictionary. The generated queries are sent to the database, and data is extracted quickly. Based on the user's emotional state, the extracted results are presented visually in an optimized form through the interface.
[0844] For example, if a user enters into their device, "I want to know the details of my last purchased item. I'm worried, so I'd like a detailed explanation," the system will not only systematically extract information related to their "last purchase history," but will also display a "reassuring explanation."
[0845] This invention streamlines natural language request processing and enhances personalized responses based on emotions, including the creation of prompts using a generative AI model. By applying a prompt such as, "Please suggest an answer that takes the user's emotions into consideration and provides reassurance," it is possible to improve the user experience.
[0846] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0847] Step 1:
[0848] The user enters a request into the terminal in natural language. The terminal receives this input and sends the natural language data to the server. The input data is sent to the server in text format.
[0849] Step 2:
[0850] The server uses natural language processing software (e.g., spaCy) to analyze the received text data. As a result of the analysis, keywords and conditions for the information the user is looking for are extracted. This then provides relevant keywords and conditions that will be used as input for the next step.
[0851] Step 3:
[0852] The server activates an emotion engine (e.g., Google Cloud Natural Language API) to recognize the user's emotional state from text data. The emotion analysis outputs the user's emotional state, which is then used to prepare data for interface optimization.
[0853] Step 4:
[0854] The server automatically generates SQL queries using data based on analyzed keywords and sentiment states. During this query generation process, technical terms are mapped to general terms using an internal dictionary. The output is an optimized SQL query for database searching.
[0855] Step 5:
[0856] The generated SQL query is executed by the server. This query execution extracts relevant information from the database and returns it to the server in structured data format.
[0857] Step 6:
[0858] The extracted data is sent from the server to the terminal. The terminal receives this data and visually presents the results using an interface that takes the user's emotional state into consideration. This ultimately results in information being displayed in a way that provides the user with a sense of security.
[0859] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0860] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0861] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0862] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0863] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0864] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0865] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0866] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0867] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0868] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0869] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0870] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0871] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0872] 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.
[0873] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0874] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0875] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0876] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0877] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0878] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0879] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.
[0880] The following is further disclosed regarding the embodiments described above.
[0881] (Claim 1)
[0882] A means of analyzing requests entered in natural language and mapping technical terms used in the database to general terms,
[0883] A method for automatically generating SQL queries based on analysis results,
[0884] A means of executing the generated SQL query and visually presenting the results to the user,
[0885] A system that includes this.
[0886] (Claim 2)
[0887] The system according to claim 1, further comprising means for referring to an internal dictionary or mapping table when converting technical terms in a database to general terms.
[0888] (Claim 3)
[0889] The system according to claim 1, comprising an interface for providing guidance or additional information to user input.
[0890] "Example 1"
[0891] (Claim 1)
[0892] A means for analyzing requests input in natural language and mapping technical terms used in data processing devices to general terms,
[0893] A means for converting the analyzed information into a technical terminology system and transmitting it to a data management device,
[0894] A means of automatically generating data query commands in response to requests by using an internal dictionary to identify the exact column names and data sets,
[0895] A means for executing a generated data inquiry command and visually displaying the result on an information display device,
[0896] A system that includes this.
[0897] (Claim 2)
[0898] The system according to claim 1, further comprising means for referring to an internal dictionary or mapping table to convert technical terms related to data into general terms.
[0899] (Claim 3)
[0900] The system according to claim 1, comprising an information display for providing guidance or additional information in response to user input in an information display device.
[0901] "Application Example 1"
[0902] (Claim 1)
[0903] A means for analyzing requests input in natural language and mapping technical terms used in data storage devices to general terms,
[0904] A method for automatically generating SQL queries based on analysis results,
[0905] A means of executing the generated SQL query and visually presenting the results to the user,
[0906] A means of instantly converting natural language commands into data and providing them as visual information through a program installed on the user's mobile device,
[0907] A system that includes this.
[0908] (Claim 2)
[0909] The system according to claim 1, further comprising means for referring to an internal dictionary or mapping structure when converting technical terms in a data storage device to general terms.
[0910] (Claim 3)
[0911] The system according to claim 1, comprising a contact point for providing guidance or additional information regarding user input.
[0912] "Example 2 of combining an emotion engine"
[0913] (Claim 1)
[0914] A means of analyzing requests input in natural language and mapping specialized terminology used in a data set to general terminology,
[0915] A means of automatically generating a structured query language based on the analysis results,
[0916] A means of executing a generated structured query language and visually presenting the results to a human,
[0917] A means for recognizing the user's emotional state and adapting or optimizing the interface based on that emotion,
[0918] A system that includes this.
[0919] (Claim 2)
[0920] The system according to claim 1, further comprising means for referring to an internal dictionary or mapping table when converting technical terms in a data set to general terms.
[0921] (Claim 3)
[0922] The system according to claim 1, comprising an interface for providing guidance or additional information to user input.
[0923] "Application example 2 when combining with an emotional engine"
[0924] (Claim 1)
[0925] A means of analyzing requests input in natural language and mapping technical terms used in data structures to general terms,
[0926] A method for automatically generating SQL queries based on analysis results,
[0927] A means for recognizing the user's emotional state and optimizing the interface based on emotional data,
[0928] A means of executing the generated SQL query and presenting the results to the user in a visually and emotionally responsive format,
[0929] A system that includes this.
[0930] (Claim 2)
[0931] The system according to claim 1, further comprising means for referring to an internal dictionary or correspondence table when converting technical terms within a data structure to general terms.
[0932] (Claim 3)
[0933] The system according to claim 1, comprising means for providing guidance or additional information that gives the user a sense of security regarding input, depending on the user's emotional state. [Explanation of Symbols]
[0934] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of analyzing requests entered in natural language and mapping technical terms used in the database to general terms, A method for automatically generating SQL queries based on analysis results, A means of executing the generated SQL query and visually presenting the results to the user, A system that includes this.
2. The system according to claim 1, further comprising means for referring to an internal dictionary or mapping table when converting technical terms in a database to general terms.
3. The system according to claim 1, comprising an interface for providing guidance or additional information to user input.