system

The system addresses the challenge of manual query construction by automatically analyzing and generating natural language answers, ensuring quick and accurate information retrieval.

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

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

Conventional search methods require users to manually construct complex queries, which is time-consuming and often leads to inaccurate or difficult-to-understand search results, necessitating specialized knowledge and hindering general users from obtaining the information they need quickly.

Method used

A system that automatically receives and analyzes questions in natural language, extracts important keywords, generates search queries, retrieves information from a database, and provides answers in natural language, utilizing natural language processing engines and generation models to ensure accuracy and simplicity.

Benefits of technology

Enables users to quickly and accurately obtain information without constructing complex queries, providing easy-to-understand answers through natural language generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026062300000001_ABST
    Figure 2026062300000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means of receiving questions entered by users in natural language, A method for analyzing the received questions and extracting important keywords, A means of generating search queries based on extracted keywords, A means of retrieving information from a database using a generated search query, A method for generating answers in natural language based on acquired information, A means of displaying the generated response to the user, A system that includes this.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technology of the present disclosure relates to a system.

Background Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is 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 character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance as a 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] In the conventional search method, the user has to manually construct a search query, which takes time and makes it difficult to access accurate information. Also, there is variation in the quality of search results, and often the user cannot quickly obtain the information they need. Furthermore, specialized knowledge is required to create complex queries, making it difficult for general users to utilize. To solve these problems, a system that automatically searches for information and generates answers based on natural language question input has been demanded.

Means for Solving the Problems

[0005] The present invention provides means for receiving and analyzing questions entered by users in natural language. Specifically, it includes means for analyzing the received questions and extracting important keywords. Furthermore, it provides means for generating a search query based on the extracted keywords and retrieving information from a database using this query. It also provides means for generating an answer in natural language based on the retrieved information and displaying this generated answer to the user. This eliminates the need for users to create complex search queries, enabling them to quickly and accurately obtain the necessary information. In addition, by adding means for extracting subjects, predicates, and objects using a natural language processing engine, and means for generating answers based on information obtained using a natural language generation model, it is possible to provide even more accurate answers.

[0006] A "user" is a person or entity that uses a system to input questions in natural language and receive answers.

[0007] "Natural language" is the language that humans use on a daily basis, and it is a form of unstructured, free text.

[0008] A "question" is text entered in natural language by the user to obtain the information they want to know.

[0009] A "means of receiving" refers to a mechanism that receives questions entered by users within a computer system and stores them for processing.

[0010] "Means of analysis" refer to algorithms or engines used to analyze received questions and understand their structure and meaning.

[0011] "Key keywords" are words or phrases included in the question that are necessary to understand the user's intent behind the question.

[0012] A "search query" is a structured question designed to retrieve necessary information from a database or information source.

[0013] "Generating means" refers to functions or engines that create search queries and answers based on acquired information and analysis results.

[0014] "Means of acquiring information" refers to a mechanism that executes generated search queries and collects necessary information from databases and external sources.

[0015] "Methods for generating answers in natural language" refers to a function that creates answers in natural language in a way that is easy for the user to understand, based on the information obtained.

[0016] "Means of display" refers to a mechanism that displays the generated response on the device in a format that the user can review.

[0017] A "natural language processing engine" is software that analyzes natural language by performing tasks such as tokenizing text, tagging parts of speech, and analyzing dependencies.

[0018] A "natural language generation model" is software or algorithms used to generate text in natural language based on acquired data.

[0019] A "database" is a collection of information designed to efficiently manage and search accumulated data.

[0020] An "answer" is natural language text that represents the result of providing information in response to a user's question. [Brief explanation of the drawing]

[0021] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This 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 a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of 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 an 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 an emotion engine is combined.

Embodiments for Carrying Out the Invention

[0022] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described according to the accompanying drawings.

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

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

[0025] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.

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

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

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

[0029] [First Embodiment]

[0030] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.

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

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

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

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

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

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

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

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

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

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

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

[0042] The system of the present invention comprises a series of steps for responding to questions entered by the user in natural language, and aims to simplify user operation. The following describes specific embodiments of the system.

[0043] System Configuration

[0044] This system primarily consists of terminals, servers, and a database. The terminals, where users input questions, the servers, which analyze and process those questions, and the database, which provides information related to those questions, all work together in a coordinated manner.

[0045] Program processing

[0046] Question submission and sending

[0047] 1. The user enters a question about the information they want to search for into the device using natural language.

[0048] Example: The user enters the question, "What's the weather going to be like this weekend?"

[0049] 2. The terminal temporarily stores the entered question and sends it to the server.

[0050] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[0051] Question analysis

[0052] 3. The server analyzes the received question using a natural language processing engine and understands its syntax.

[0053] The analysis engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[0054] Example: Extract the keywords "this weekend" and "weather" from the question "What will the weather be like this weekend?".

[0055] Generating and executing search queries

[0056] 4. The server generates a search query based on the analysis results.

[0057] The generated query is applied to the database.

[0058] Example: Generate an SQL query for "This weekend's weather".

[0059] 5. The server uses the generated query to retrieve information from the database.

[0060] The information actually returned from the database is data such as "weather forecasts."

[0061] Generating and displaying answers

[0062] 6. The server generates a response in natural language based on the information it has acquired.

[0063] By using a natural language generation model, we create answers that are easy for users to understand.

[0064] Example: Based on the acquired information, generate a response such as "The weather this weekend will be sunny."

[0065] 7. The server sends the generated response to the terminal.

[0066] The device receives the response using HTTP or WebSocket.

[0067] 8. The terminal displays the received response in the user interface.

[0068] It will be displayed in a format that users can easily understand.

[0069] Specific example

[0070] The user enters the question, "What's the weather like this weekend?". The server receives this question and uses a natural language processing engine to extract the keywords "this weekend" and "weather". Next, the server generates a search query for the database based on these keywords and retrieves weather information. Based on the retrieved information, the server generates a natural language answer, "The weather this weekend will be sunny," and sends it to the terminal. Finally, the terminal displays this answer to the user, allowing the user to quickly obtain the information they need.

[0071] The above describes an embodiment for carrying out the present invention, and this system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[0072] The following describes the processing flow.

[0073] Step 1:

[0074] The user enters their search query in natural language into the terminal. The input interface is provided in the form of a text box.

[0075] Example: The user enters "What's the weather like this weekend?".

[0076] Step 2:

[0077] The terminal temporarily stores the entered question in memory. This saving operation is performed asynchronously, reducing the response time to user input.

[0078] The save format is either a simple text format or JSON format.

[0079] Step 3:

[0080] The terminal sends the saved questions to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[0081] For HTTP POST requests, the question is included in the JSON body.

[0082] Step 4:

[0083] The server passes the question received from the terminal to the analysis engine. The analysis engine uses a natural language processing library (e.g., SpaCy or NLTK) to tokenize the question, tag its parts of speech, and perform dependency analysis.

[0084] Example: Analyze "What's the weather like this weekend?" and extract "this weekend" and "weather".

[0085] Step 5:

[0086] The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[0087] Example: The engine extracts the keywords "this weekend" and "weather".

[0088] Step 6:

[0089] The server generates search queries based on the extracted keywords. This query generation logic often uses templates to create SQL queries or specific API calls.

[0090] Example: "SELECT weather FROM forecasts WHERE date BETWEEN(registered trademark) '2023-10-07' AND '2023-10-08'"

[0091] Step 7:

[0092] The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[0093] The database returns a response to the executed query.

[0094] Step 8:

[0095] The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3®) to generate a response for the user.

[0096] Example: Generate the answer "The weather this weekend will be sunny."

[0097] Step 9:

[0098] The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[0099] The data sent is typically in JSON format.

[0100] Step 10:

[0101] The terminal displays the received response in the user interface. This display process uses GUI components of a web browser or mobile application.

[0102] Example: The user's screen displays "The weather this weekend will be sunny."

[0103] By following these steps, the system will be able to respond quickly and accurately to questions entered by users in natural language.

[0104] (Example 1)

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

[0106] Traditional search systems required users to create complex queries, making information retrieval difficult. Furthermore, the answers were often mechanical and hard to understand. In addition, search results were sometimes not displayed quickly, resulting in a poor user experience.

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

[0108] In this invention, the server includes means for receiving questions entered by the user in natural language, means for temporarily storing the received questions and sending them to the server, means for analyzing the received questions with a natural language processing engine and extracting important keywords, means for generating a search query based on the extracted keywords, means for retrieving information from a database using the generated search query, means for generating an answer using a natural language generation model based on the retrieved information, and means for displaying the generated answer to the user. As a result, the user can quickly and accurately obtain information by entering questions in natural language and receive answers in an easy-to-understand format.

[0109] A "user" is an entity that enters a question into a system for the purpose of searching for information.

[0110] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is a natural form of language that is not a specific programming language.

[0111] A "question" is a query entered by a user to obtain information.

[0112] A "terminal" is a device used by a user to input questions and display answers.

[0113] A "server" is the primary computer system that receives and analyzes user queries and interacts with the database.

[0114] A "natural language processing engine" is a software tool that analyzes input natural language text to understand its meaning and structure.

[0115] "Keywords" are important words or phrases extracted from a question that are necessary for a search.

[0116] A "search query" is a specific set of instructions generated to retrieve information from a database.

[0117] A "database" is an organized collection of data designed to efficiently store and retrieve information.

[0118] A "natural language generation model" is a machine learning model that generates responses in a format that is easy for users to understand, based on the information it has acquired.

[0119] An "answer" is the information that the system provides in response to a user's question.

[0120] The system of the present invention comprises a series of steps for providing expert responses to questions entered by the user in natural language, and aims to simplify user operation. This system mainly consists of a terminal, a server, and a database. The terminal in which the user enters questions, the server that analyzes and processes the questions, and the database that provides information about the questions all work together.

[0121] System Configuration

[0122] 1. Terminal

[0123] This is a device for users to input questions and view answers. Examples of such devices include personal computers, smartphones, and tablets. The device has the functionality to temporarily store questions entered in natural language and send those questions to a server.

[0124] 2. Server

[0125] This system analyzes received questions using a natural language processing engine and extracts important keywords. This involves processes such as text tokenization, part-of-speech tagging, and dependency analysis. Specifically, natural language processing libraries such as SpaCy and NLTK are used.

[0126] 3. Database

[0127] This is a data storage system that provides information based on search queries generated by the server. Commercially used database management systems such as MySQL (registered trademark) and PostgreSQL are used for the database.

[0128] Specific actions

[0129] The specific operation of the present invention is described below.

[0130] Submitting and receiving questions

[0131] The user enters the question "What's the weather like this weekend?" into the device using natural language. The device temporarily stores this question in memory and sends it to the server using an HTTP POST request or WebSocket. Specifically, the following HTTP POST request is used:

[0132] POST / api / question

[0133] Content-Type: application / json

[0134] {

[0135] "Question": "What's the weather like this weekend?"

[0136] }

[0137] Question analysis

[0138] The server processes the received question using a natural language processing engine. The processing engine tokenizes the text, performs part-of-speech tagging and dependency analysis, and extracts important keywords. For example, in the question "What's the weather like this weekend?", keywords such as "this weekend" and "weather" are extracted. Commonly used tools such as SpaCy and NLTK are used for this analysis.

[0139] Generating and executing search queries

[0140] The server generates a search query based on the extracted keywords. This query is applied to the database and used to retrieve weather information. For example, the following SQL query is generated:

[0141] SQL

[0142] SELECT forecast FROM weather_data WHERE date >= CURDATE() AND date <= DATE_ADD(CURDATE(), INTERVAL 3 DAY);

[0143] Generating and displaying answers

[0144] The server generates a response using a natural language generation model based on the acquired information. By using a generative AI model such as GPT-3, a response is created in a format that is easy for the user to understand. For example, the following prompt is given:

[0145] Prompt: Based on the weather forecast data "sunny," create the answer "The weather this weekend will be sunny."

[0146] The server sends the generated response back to the terminal. The terminal receives this response and displays it in the user interface. The user can then review the displayed response and obtain the necessary information.

[0147] The above describes the embodiments for carrying out the present invention. This system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[0148] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0149] Step 1:

[0150] The user enters the question into the terminal using natural language.

[0151] Example: Enter "What's the weather like this weekend?"

[0152] Input: User's natural language question.

[0153] Output: The question has been entered.

[0154] Step 2:

[0155] The terminal temporarily stores the entered question and sends it to the server.

[0156] Specific operation: The terminal sends questions to the server using HTTP POST requests or WebSocket connections.

[0157] Input: Saved question text.

[0158] Output: Question data sent to the server.

[0159] Step 3:

[0160] The server analyzes the received question using a natural language processing engine.

[0161] Specific operation: Tokenizes text, tags it with parts of speech, and performs dependency analysis. Libraries such as SpaCy and NLTK are used for analysis.

[0162] Input: The question text sent to the server.

[0163] Output: Analyzed text data (keywords)

[0164] Step 4:

[0165] The server generates a search query based on the extracted keywords.

[0166] Specific operation: Generate an SQL query based on extracted keywords (e.g., "this weekend", "weather").

[0167] Input: Analyzed text data (keywords)

[0168] Output: Generated SQL query

[0169] Step 5:

[0170] The server uses the generated query to retrieve information from the database.

[0171] Specific operation: Executes a generated SQL query against the database and retrieves relevant information. For example, retrieves weather information.

[0172] Input: Generated SQL query

[0173] Output: Information retrieved from the database

[0174] Step 6:

[0175] The server generates responses using a natural language generation model based on the acquired information.

[0176] Specific operation: Use generative AI models such as GPT-3 to convert data into a format that is easily understood in natural language.

[0177] Input: Information retrieved from the database

[0178] Output: Answer generated in natural language format

[0179] Step 7:

[0180] The server sends the generated response to the terminal.

[0181] Specific operation: The generated response is sent to the terminal as an HTTP response or WebSocket message.

[0182] Input: Answer generated in natural language format

[0183] Output: Submitted response data

[0184] Step 8:

[0185] The terminal displays the received response in the user interface.

[0186] Specific operation: The answer will be displayed on the device screen or application in a format that is easy for the user to understand.

[0187] Input: Response data sent from the server

[0188] Output: Displayed answer

[0189] The above outlines the specific processing steps. This system allows users to input questions in natural language and quickly obtain accurate information in an easy-to-understand format.

[0190] (Application Example 1)

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

[0192] In recent years, with the increasing automation in factories, there is a growing need for robots to provide quick and accurate answers when workers ask them questions. However, with conventional systems, it is difficult for workers to immediately acquire specific operating procedures or troubleshooting methods, resulting in work efficiency issues and time-consuming training and education.

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

[0194] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for retrieving information from a database using the generated search queries, means for generating answers in natural language based on the retrieved information, means for displaying the generated answers to the user, and a robot that provides machine operation instructions in natural language. This enables workers to quickly acquire work procedures and problem-solving methods in real time, thereby improving production efficiency in the factory and the efficiency of worker training.

[0195] A "user" is someone who uses the system to input questions in natural language.

[0196] "Natural language" refers to the language that humans use on a daily basis, and it encompasses free linguistic expression that is not bound by any specific form.

[0197] "Means for receiving questions" refers to a mechanism for incorporating questions from users in natural language into the system.

[0198] "Means for analysis and extraction of important keywords" refers to a function that analyzes the input natural language question, understands the intent of the question, and extracts the main keywords.

[0199] "Means for generating search queries" refers to a function that creates queries for database searches based on extracted keywords.

[0200] "Means of retrieving information from a database" refers to a function that uses a generated search query to retrieve information stored in the database.

[0201] A "means of generating answers in natural language" is a system that creates answers in a natural language format that is easy for the user to understand, based on the information obtained.

[0202] "Means for displaying generated answers to the user" refers to a function that outputs the generated answers in a format that the user can review.

[0203] A "robot" is a machine that performs various tasks automatically. In particular, in this invention, it refers to a robot that has the function of providing instructions for operating the machine in natural language.

[0204] The system of this invention comprises a series of steps for a robot to respond to questions entered by a user in natural language. To realize this system, various hardware and software components are required, and their respective functions must work in coordination. The details are described below.

[0205] hardware

[0206] 1. Robot body: This is the main device for receiving, analyzing, and providing answers to questions.

[0207] 2. Microphone: A device that acquires the user's voice input.

[0208] 3. Speaker: A device that presents the user with answers generated in natural language via voice.

[0209] software

[0210] 1. Natural Language Processing Engine: For example, use spaCy or BERT to analyze the question content and extract important keywords.

[0211] 2. Database: For example, use a database such as PostgreSQL to store and retrieve information based on search queries.

[0212] 3. Communication Protocol: HTTP or WebSocket is used for data communication between the server and the robot.

[0213] 4. Natural Language Generation Model: For example, GPT-3.5 is used to generate responses in natural language based on the acquired information.

[0214] Program processing

[0215] The server receives a question voiced by the user through a microphone and converts the speech into text. Next, the server analyzes the text using a natural language processing engine and extracts key keywords. Based on the extracted keywords, it generates a search query to retrieve appropriate information from the database. Using the generated search query, it retrieves information from the database and generates an answer using a natural language generation model based on that information. The generated answer is then sent back to the robot and presented to the user audibly through a speaker.

[0216] Specific example

[0217] For example, if a worker asks a robot, "Please tell me the maintenance procedure for this machine," the following process will occur.

[0218] The robot's microphone captures the audio and converts it into text.

[0219] The server uses a natural language processing engine to extract important keywords such as "machine," "maintenance," and "procedure."

[0220] Based on these keywords, an appropriate search query is generated for the database.

[0221] Retrieve maintenance procedure information for "this machine" from the database.

[0222] Using a natural language generation model, the system generates natural language responses such as, "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[0223] Finally, the robot communicates the generated answer to the worker via a speaker.

[0224] Example of a prompt

[0225] Question: "Please tell me the maintenance procedure for this machine."

[0226] Name entities: Machinery, Maintenance, Procedure

[0227] SQL query: SELECT FROM Maintenance_Procedures WHERE machine='this machine'

[0228] Answer: "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[0229] This specific example demonstrates how factory robots can quickly provide relevant information, maximizing work efficiency.

[0230] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0231] Step 1:

[0232] The server acquires the audio input from the user via the microphone and converts it into text. Specifically, it uses a speech recognition engine (e.g., Google® Speech-to-Text API) to convert audio data (input) into text data (output).

[0233] Step 2:

[0234] The server passes the acquired text data to a natural language processing engine for analysis. Specifically, it tokenizes the text, tags it with parts of speech, and performs dependency analysis. This extracts key keywords (data processing) and generates a keyword list (output).

[0235] Step 3:

[0236] The server generates a search query based on the keyword list. Specifically, it constructs an appropriate SQL query based on the extracted keywords. This process generates an SQL query (output) from the keyword list (input).

[0237] Step 4:

[0238] The server retrieves the necessary information from the database using the generated SQL query. Specifically, it executes an SQL query against the database (e.g., PostgreSQL) and retrieves the relevant information. In this process, search results (output) are obtained based on the SQL query (input).

[0239] Step 5:

[0240] The server passes the acquired information to a natural language generation model to generate user-friendly responses. Specifically, it uses a natural language generation model (e.g., GPT-3.5) to generate natural language responses (output) from search results (input).

[0241] Step 6:

[0242] The server sends the generated response text to the robot, which then presents it to the user via audio through a speaker. Specifically, the response text (input) is processed by a speech synthesis engine (e.g., Google Text-to-Speech API) to create audio data (output), which is then played back through the speaker.

[0243] Step 7:

[0244] The user receives the voice response provided by the robot and obtains the necessary information. In this step, the voice data (input) directly leads to the user's understanding (output).

[0245] In this way, through a series of steps, users can input questions in natural language and receive quick and accurate answers from the robot.

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

[0247] This invention relates to a system that generates appropriate answers to questions entered by a user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. Specific embodiments of this system are described in detail below.

[0248] System Configuration

[0249] This system primarily consists of terminals, servers, and a database. The terminals where users input questions, the servers that analyze and process those questions, and the database that provides information related to those questions all work together in coordination. Furthermore, it incorporates an "emotion engine" that recognizes the user's emotions.

[0250] Program processing

[0251] Question submission and sending

[0252] 1. The user enters a question about the information they want to search for into the terminal using natural language. The input interface is provided in the form of a text box.

[0253] Example: The user enters "What's the weather like this weekend?".

[0254] 2. The terminal temporarily stores the entered question in memory and sends it to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[0255] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[0256] Question analysis and sentiment recognition

[0257] 3. The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[0258] Example: Analyze the question "What's the weather like this weekend?" and extract "this weekend" and "weather".

[0259] 4. The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[0260] Example: The engine extracts the keywords "this weekend" and "weather".

[0261] 5. The server also passes the question to the sentiment engine to recognize the user's emotions. The sentiment engine uses natural language processing techniques to analyze the user's emotions from their text.

[0262] Example: Determining the user's emotions from their context and phrasing, and recognizing states such as "excitement" or "calmness."

[0263] Generating and executing search queries

[0264] 6. The server generates search queries based on the extracted keywords and user sentiment information. This query generation logic often uses templates to create SQL or specific API calls.

[0265] Example: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'"

[0266] 7. The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[0267] The database returns a response to the executed query.

[0268] Generating and displaying answers

[0269] 8. The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3) to generate a response for the user.

[0270] Example: Generate the answer "The weather this weekend will be sunny."

[0271] 9. The server adjusts the tone and content of its responses based on the results of the emotion engine. For example, if the emotion is "anxiety," the server will provide the response in more polite language.

[0272] For example, if the emotion is "anxiety," you might say, "The weather this weekend will be sunny, so it's a great day to go out."

[0273] 10. The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[0274] The data sent is typically in JSON format.

[0275] 11. The terminal displays the received response in the user interface. This display process uses the GUI components of a web browser or mobile application.

[0276] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[0277] Specific example

[0278] The user enters the question, "What's the weather like this weekend?" The server analyzes this question, extracts the keywords "this weekend" and "weather," and the emotion engine recognizes the emotion "excitement." Based on this information, the server generates a search query for the database and retrieves weather information. The server then uses this information to generate the answer, "The weather this weekend will be sunny, so it's a good day to go out," and sends it to the terminal. The terminal displays this answer in the user interface, allowing the user to quickly obtain the necessary information.

[0279] The above describes a specific embodiment of the present invention combined with an emotion engine. This system allows users to obtain necessary information quickly and accurately, and also enables flexible responses that respond to emotions.

[0280] The following describes the processing flow.

[0281] Step 1:

[0282] The user enters a question about the information they want to search for into the device using natural language. For example, they might type "What's the weather like this weekend?" into the device's text input field. The entered data is immediately saved to the device.

[0283] Step 2:

[0284] The terminal sends the question data input by the user to the server. This sending process uses an HTTP POST request or a WebSocket message. The sent data is packaged in JSON format.

[0285] Example: The JSON data is sent in the form of {"question": "What's the weather like this weekend?"}.

[0286] Step 3:

[0287] The server passes the question data received from the terminal to the analysis engine. This engine performs tokenization, part-of-speech tagging, and dependency parsing of the question sentence using natural language processing libraries (e.g., SpaCy, NLTK).

[0288] The analysis results are extracted as keywords such as "this weekend" and "weather".

[0289] Step 4:

[0290] Based on the analysis results, the server extracts important keywords from the question sentence. These keywords serve as the basis for generating a search query.

[0291] Example: Identify "this weekend" and "weather" as keywords.

[0292] Step 5:

[0293] The server passes the question sentence to the sentiment engine to analyze the user's sentiment. The sentiment engine uses natural language processing techniques to determine a specific sentiment (e.g., joy, sadness, anger, anxiety, etc.) from the user's question sentence.

[0294] Example: Recognize a sentiment such as "excitement" from the question sentence. <00​​​​​​The server generates a search query based on the extracted keywords and sentiment information. This query is executed against a database or an external API.

[0297] Example: Generate the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'" to obtain weather information.

[0298] Step 7:

[0299] The server executes the generated search query against the database. It establishes a database connection and sends the query. The database returns the results corresponding to the query.

[0300] Example: Obtain the information "sunny" by query execution.

[0301] Step 8:

[0302] The server receives the results obtained from the database and generates an answer in natural language. Using a natural language generation model, it creates an answer in a format that is easy for the user to understand.

[0303] Example: Generate an answer "The weather this weekend will be sunny" based on the obtained data.

[0304] Step 9:

[0305] Based on the results of the sentiment engine, the server adjusts the tone and content of the generated answer. For example, if the user is "uneasy", the answer is provided in a tone that makes the user feel more at ease.

[0306] Example: Adjust it to "Since the weather this weekend will be sunny, it's a great day for going out".

[0307] Step 10:

[0308] The server sends the adjusted response to the terminal, again using an HTTP response or WebSocket message.

[0309] The transmitted data is in the format {"response": "The weather this weekend will be sunny, so it's a great day to go out."}.

[0310] Step 11:

[0311] The device displays the received response in the user interface. This display is done using GUI components of a web browser or mobile app. The user confirms the response on the screen.

[0312] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[0313] By following these steps, users can obtain quick and accurate answers to questions entered in natural language, and even receive appropriate responses that reflect their emotions.

[0314] (Example 2)

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

[0316] Conventional natural language processing systems cannot consider user emotions when generating answers to user questions. Therefore, they struggle to provide flexible responses that align with user emotions, resulting in insufficient improvement in satisfaction and optimization of the user experience.

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

[0318] In this invention, the server includes means for receiving user-inputted questions in natural language, means for analyzing the received questions and extracting important keywords, and means for generating search queries based on the extracted keywords. This enables flexible responses that respond to the user's emotions.

[0319] A "natural language processing engine" is software that tokenizes input text, tags it by part of speech, and analyzes dependencies.

[0320] "Keywords" are important words or phrases extracted through the analysis of a question to identify its intent.

[0321] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[0322] A "database" is an information system that systematically organizes and stores information, making it accessible and searchable.

[0323] A "natural language generation model" is a machine learning model that generates natural language text based on input data.

[0324] An "emotion engine" is software that recognizes and analyzes a user's emotions from the input text.

[0325] A "user interface" refers to the input and display devices and software that allow a user to interact with a system.

[0326] An "HTTP POST request" is a type of communication protocol used to send data to a server over the internet.

[0327] A "WebSocket message" is a unit of data transmitted and received over a protocol that enables bidirectional communication.

[0328] "Tokenization" is the process of dividing text into meaningful units (tokens).

[0329] "Part-of-speech tagging" is the process of assigning a part of speech (noun, verb, etc.) to each token.

[0330] "Dependency analysis" is the process of analyzing the grammatical relationships between each token in a sentence.

[0331] "Memory" refers to a hardware or software area used to temporarily store data.

[0332] An "HTTP response" is a response message sent from a server to a client.

[0333] JSON format is a lightweight data exchange format for structuring, storing, and transmitting data.

[0334] A "user interface" is a means by which a user interacts with a system, and primarily includes displays and input devices.

[0335] This invention is a system that generates appropriate answers to questions entered by the user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. This system primarily operates with the user, terminal, and server as its main components, and is implemented through the following specific procedures.

[0336] The user first enters a question into the terminal using natural language. The input interface is provided in the form of a text box, and can use GUI components from a web browser or mobile application, for example. As a concrete example, the user enters "What's the weather like this weekend?"

[0337] The entered questions are temporarily stored in the terminal's memory and sent to the server via an HTTP POST request or WebSocket message. The transmitted data is typically packaged in JSON format.

[0338] The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as tokenizing the text, tagging parts of speech, and analyzing dependencies. For example, NLTK or SpaCy can be used as natural language processing libraries. This extracts important keywords such as "this weekend" and "weather" from the question "What's the weather like this weekend?".

[0339] Based on the extracted keywords, the server grasps the intent behind the question and uses an emotion engine to recognize the user's emotions. This emotion recognition analyzes emotions from the user's text using natural language processing techniques. For example, it utilizes emotion analysis engines such as TextBlob or SentiStrength.

[0340] Next, the server generates a search query based on the extracted keywords and recognized sentiment information. This generation typically uses templates to create SQL queries or specific API calls. As a concrete example, the following SQL query is generated: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'".

[0341] The server executes the generated search query against the database. Based on the results returned from the database, it uses a natural language generation model (e.g., GPT-3) to generate a response for the user. In this process, the tone and content of the response are adjusted based on the extracted keywords and sentiment information. For example, if the sentiment is "anxious," a polite response such as "The weather this weekend will be sunny, so it will be a good day to go out" will be generated.

[0342] The generated response is sent back to the terminal from the server via an HTTP response or WebSocket message. The terminal displays the received response in the user interface, which the user can then review. As a result, the user can obtain the necessary information quickly and accurately, and is provided with flexible responses that are sensitive to their emotions.

[0343] This embodiment improves user satisfaction and optimizes the user experience. For example, if a user inputs the question "What will the weather be like this weekend?" and their emotion at the time is "anxious," the system will generate and display a reassuring response such as "The weather this weekend will be sunny, so it will be a good day to go out."

[0344] The above describes the specific implementation method of this system.

[0345] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0346] Step 1:

[0347] The user inputs a natural language question into the device. The input interface is provided in the form of a text box, using the GUI components of a web browser or mobile application. Specifically, the user inputs "What's the weather like this weekend?". The entered text is temporarily stored in the device's memory. Input: User's question text. Output: Text data.

[0348] Step 2:

[0349] The terminal sends the entered question to the server using an HTTP POST request or WebSocket message. Specifically, it sends data packaged in JSON format. For example, when sending using the fetch API, a request is generated from the terminal to the server. Input: Question text. Output: Request sent to the server.

[0350] Step 3:

[0351] The server passes the question received from the terminal to the natural language processing engine. The processing engine tokenizes the text, tags it by part of speech, and performs dependency analysis. For example, it may use libraries such as NLTK or SpaCy. Input: Question text. Output: Analysis results (tokens, part-of-speech tags, dependencies).

[0352] Step 4:

[0353] The server extracts key keywords and intents from a question based on the analysis results obtained from its natural language processing engine. This helps it understand the context of the question. For example, the keywords "this weekend" and "weather" might be extracted. Input: Analysis results. Output: Key keywords and intents.

[0354] Step 5:

[0355] The server also passes the question to an emotion engine to recognize the user's emotions. This emotion recognition uses natural language processing techniques to analyze emotions from text. Specifically, it utilizes TextBlob and SentiStrength. Input: Question text. Output: Sentiment analysis results.

[0356] Step 6:

[0357] The server generates search queries based on extracted keywords and sentiment information. Templates are used to create SQL queries and specific API calls. An example of such a query is the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'". Input: Keywords and sentiment information. Output: Generated search query.

[0358] Step 7:

[0359] The server executes the generated search query against the database. The server establishes a database connection and sends the query. Specifically, it uses a database access library such as PyMySQL. Input: Search query. Output: Information retrieved from the database (weather data).

[0360] Step 8:

[0361] The server generates a response using a natural language generation model (e.g., GPT-3) based on the results returned from the database. The initial response generated will be something like, "The weather this weekend will be sunny." Input: Information from the database. Output: Initial response.

[0362] Step 9:

[0363] The server adjusts the tone and content of the response based on the results of the emotion engine. For example, if the user's emotion is "anxious," the response will be changed to a more polite phrase such as, "The weather this weekend will be sunny, so it's a great day to go out." Input: Initial response and emotion information. Output: Adjusted response corresponding to the emotion.

[0364] Step 10:

[0365] The server sends the generated response to the terminal. This transmission is again via an HTTP response or WebSocket message. Input: Adjusted response. Output: Response data sent to the terminal.

[0366] Step 11:

[0367] The terminal displays the received response on the user interface. This allows the user to confirm the response. For example, the user's screen might display "The weather this weekend will be sunny, so it's a good day to go out." Input: Response data from the server. Output: Response displayed on the user interface.

[0368] (Application Example 2)

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

[0370] Conventional natural language processing systems can generate appropriate answers to user questions, but they lack the ability to adjust those answers to consider the user's emotions. Therefore, it was difficult to provide responses that were highly satisfying to users. Furthermore, particularly in the advertising industry, it is crucial to propose appropriate advertising strategies that align with the user's emotions, but no system capable of such emotion recognition and response adjustment existed.

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

[0372] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for obtaining information from a database using the generated search queries, means for generating answers in natural language based on the obtained information, means for recognizing the user's emotions based on the generated answers, means for adjusting the tone and content of the answers based on the recognized user emotions, and means for displaying the adjusted answers to the user. This enables the generation of more appropriate answers that take the user's emotions into consideration, and in particular, enables effective responses that take the user's emotions into account when proposing advertising strategies.

[0373] "Natural language" refers to the language that humans use in everyday life, and is a form of instruction and questioning for computer programs.

[0374] A "question" is text data that a user enters in natural language to obtain specific information.

[0375] "Analysis means" refers to a system or device that analyzes an input question and extracts linguistic elements such as subject, predicate, and object.

[0376] "Keywords" are important words or phrases extracted from user questions and are used to generate search queries and search databases.

[0377] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[0378] A "database" is a collection of data built to efficiently manage and retrieve information.

[0379] A "response generation means" is a system or device that generates a response to the user in natural language based on acquired information.

[0380] "Emotion recognition" is the process of analyzing emotions from text and questions entered by the user and identifying emotional states such as "joy" or "anxiety."

[0381] "Response adjustment" is the process of modifying the tone and content of the generated response in accordance with the perceived emotions of the user.

[0382] "Display means" refers to a system or device for visually providing the user with the generated response.

[0383] System Configuration

[0384] The system that realizes this invention includes a series of processes for generating appropriate answers to questions entered by the user in natural language, and further recognizing the user's emotions and adjusting those answers accordingly. This system mainly consists of a terminal, a server, a database, and an emotion engine.

[0385] Hardware and software used

[0386] Hardware:

[0387] User terminal: Mobile device such as a smartphone

[0388] Server: A server device with high-performance computing resources.

[0389] software:

[0390] Natural Language Processing Engine: Transformers (Hugging Face)

[0391] Emotional Engine: Sentiment Analysis (Hugging Face)

[0392] Database management system: SQL or NoSQL database

[0393] Communication protocols: HTTP, WebSocket

[0394] Natural language generation models: Generative AI models (e.g., GPT-3)

[0395] Data processing and data calculation

[0396] Submitting and receiving questions

[0397] The user inputs questions about advertising strategies into their device using natural language. For example, they might input, "Please tell me effective keywords for promoting a new product targeting young people." The device then sends this question to the server. HTTP POST requests and WebSocket messages are used as communication protocols.

[0398] Question analysis and sentiment recognition

[0399] The server passes the received question to a natural language processing engine, which performs tokenization, part-of-speech tagging, and dependency analysis. This extracts the subject, predicate, and object of the question. Subsequently, it generates search queries related to advertising strategies based on the extracted keywords. In addition, an emotion engine analyzes the user's emotions and identifies emotional states such as "doubt" and "expectation."

[0400] Generating and executing search queries

[0401] The server uses the generated search query to retrieve relevant information from the database. For example, it might retrieve information related to "keywords effective for product promotion targeting young people."

[0402] Generating and displaying answers

[0403] The server uses a natural language generation model to generate a response based on the acquired information. The generated response is adjusted in tone and content, taking into account whether the user's emotions are "question" or "expectation." For example, a response like, "For new product promotions, keywords such as 'latest trends,' 'youth-oriented products,' 'stylish,' and 'trending items' are effective. If you have any further questions, we will explain in more detail," might be generated. The server sends this response to the device, and the user confirms it on the screen.

[0404] Specific example

[0405] User Questions

[0406] "What are some effective keywords for promoting new products to younger generations?"

[0407] Example of a prompt

[0408] "Advertising strategy, targeting young people, keywords, sentiment recognition, optimal"

[0409] This system allows users to receive quick, accurate, and emotionally sensitive responses, making it particularly effective in developing advertising strategies.

[0410] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0411] Step 1:

[0412] Users input questions about advertising strategies in natural language into their smartphones or other devices. For example, they might input text such as, "Please tell me effective keywords for promoting a new product targeting young people." This input data is temporarily stored in the device's memory.

[0413] Step 2:

[0414] The terminal sends the stored question data to the server using an HTTP POST request or WebSocket message. This transmitted data is packaged in JSON format.

[0415] Step 3:

[0416] The server passes the received question data to the natural language processing engine. The processing engine tokenizes the text, tags parts of speech, and performs dependency analysis to extract the subject, predicate, and object of the question. As a result of this analysis, the keywords "young people," "new product promotion," and "keywords" are extracted.

[0417] Step 4:

[0418] The server generates search queries related to advertising strategies based on the analysis results (keywords). For example, an SQL query like "SELECT keywords FROM ad_strategy WHERE target_audience = 'young people'" is generated. This query generation logic is automated using templates.

[0419] Step 5:

[0420] The server executes the generated search query against the database. The server establishes a database connection and sends the SQL query. The database returns relevant keyword information as a response to this query.

[0421] Step 6:

[0422] The server uses a natural language generation model (e.g., GPT-3) based on keyword information retrieved from the database to generate responses to the user. An example of a generated response is the text: "For new product promotions, 'latest trends,' 'products for young people,' 'stylish,' and 'trending items' are effective."

[0423] Step 7:

[0424] The server passes the generated response to an emotion recognition engine, which analyzes the user's emotions. For example, it might recognize that the user is feeling "anticipation." Based on the emotion analysis results, the tone and content of the response are adjusted. An example of a final response might be, "Please look forward to it. Keywords such as 'latest trends' and 'products for young people' are particularly effective for new product promotions."

[0425] Step 8:

[0426] The server packages the adjusted response again in JSON format and sends it to the terminal via an HTTP response or WebSocket message.

[0427] Step 9:

[0428] The terminal analyzes the received response data and displays it on the user interface. For example, the screen might display, "Stay tuned! Keywords like 'latest trends' and 'youth-oriented products' are particularly effective for new product promotions."

[0429] This series of processing steps allows users to receive quick, accurate, and emotionally sensitive answers.

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

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

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

[0433] [Second Embodiment]

[0434] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

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

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

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

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

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

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

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

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

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

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

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

[0446] The system of the present invention comprises a series of steps for responding to questions entered by the user in natural language, and aims to simplify user operation. The following describes specific embodiments of the system.

[0447] System Configuration

[0448] This system primarily consists of terminals, servers, and a database. The terminals, where users input questions, the servers, which analyze and process those questions, and the database, which provides information related to those questions, all work together in a coordinated manner.

[0449] Program processing

[0450] Question submission and sending

[0451] 1. The user enters a question about the information they want to search for into the device using natural language.

[0452] Example: The user enters the question, "What's the weather going to be like this weekend?"

[0453] 2. The terminal temporarily stores the entered question and sends it to the server.

[0454] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[0455] Question analysis

[0456] 3. The server analyzes the received question using a natural language processing engine and understands its syntax.

[0457] The analysis engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[0458] Example: Extract the keywords "this weekend" and "weather" from the question "What will the weather be like this weekend?".

[0459] Generating and executing search queries

[0460] 4. The server generates a search query based on the analysis results.

[0461] The generated query is applied to the database.

[0462] Example: Generate an SQL query for "This weekend's weather".

[0463] 5. The server uses the generated query to retrieve information from the database.

[0464] The information actually returned from the database is data such as "weather forecasts."

[0465] Generating and displaying answers

[0466] 6. The server generates a response in natural language based on the information it has acquired.

[0467] By using a natural language generation model, we create answers that are easy for users to understand.

[0468] Example: Based on the acquired information, generate a response such as "The weather this weekend will be sunny."

[0469] 7. The server sends the generated response to the terminal.

[0470] The device receives the response using HTTP or WebSocket.

[0471] 8. The terminal displays the received response in the user interface.

[0472] It will be displayed in a format that users can easily understand.

[0473] Specific example

[0474] The user enters the question, "What's the weather like this weekend?". The server receives this question and uses a natural language processing engine to extract the keywords "this weekend" and "weather". Next, the server generates a search query for the database based on these keywords and retrieves weather information. Based on the retrieved information, the server generates a natural language answer, "The weather this weekend will be sunny," and sends it to the terminal. Finally, the terminal displays this answer to the user, allowing the user to quickly obtain the information they need.

[0475] The above describes an embodiment for carrying out the present invention, and this system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[0476] The following describes the processing flow.

[0477] Step 1:

[0478] The user enters their search query in natural language into the terminal. The input interface is provided in the form of a text box.

[0479] Example: The user enters "What's the weather like this weekend?".

[0480] Step 2:

[0481] The terminal temporarily stores the entered question in memory. This saving operation is performed asynchronously, reducing the response time to user input.

[0482] The save format is either a simple text format or JSON format.

[0483] Step 3:

[0484] The terminal sends the saved questions to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[0485] For HTTP POST requests, the question is included in the JSON body.

[0486] Step 4:

[0487] The server passes the question received from the terminal to the analysis engine. The analysis engine uses a natural language processing library (e.g., SpaCy or NLTK) to tokenize the question, tag its parts of speech, and perform dependency analysis.

[0488] Example: Analyze "What's the weather like this weekend?" and extract "this weekend" and "weather".

[0489] Step 5:

[0490] The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[0491] Example: The engine extracts the keywords "this weekend" and "weather".

[0492] Step 6:

[0493] The server generates search queries based on the extracted keywords. This query generation logic often uses templates to create SQL queries or specific API calls.

[0494] Example: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'"

[0495] Step 7:

[0496] The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[0497] The database returns a response to the executed query.

[0498] Step 8:

[0499] The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3) to generate a response for the user.

[0500] Example: Generate the answer "The weather this weekend will be sunny."

[0501] Step 9:

[0502] The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[0503] The data sent is typically in JSON format.

[0504] Step 10:

[0505] The terminal displays the received response in the user interface. This display process uses GUI components of a web browser or mobile application.

[0506] Example: The user's screen displays "The weather this weekend will be sunny."

[0507] By following these steps, the system will be able to respond quickly and accurately to questions entered by users in natural language.

[0508] (Example 1)

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

[0510] Traditional search systems required users to create complex queries, making information retrieval difficult. Furthermore, the answers were often mechanical and hard to understand. In addition, search results were sometimes not displayed quickly, resulting in a poor user experience.

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

[0512] In this invention, the server includes means for receiving questions entered by the user in natural language, means for temporarily storing the received questions and sending them to the server, means for analyzing the received questions with a natural language processing engine and extracting important keywords, means for generating a search query based on the extracted keywords, means for retrieving information from a database using the generated search query, means for generating an answer using a natural language generation model based on the retrieved information, and means for displaying the generated answer to the user. As a result, the user can quickly and accurately obtain information by entering questions in natural language and receive answers in an easy-to-understand format.

[0513] A "user" is an entity that enters a question into a system for the purpose of searching for information.

[0514] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is a natural form of language that is not a specific programming language.

[0515] A "question" is a query entered by a user to obtain information.

[0516] A "terminal" is a device used by a user to input questions and display answers.

[0517] A "server" is the primary computer system that receives and analyzes user queries and interacts with the database.

[0518] A "natural language processing engine" is a software tool that analyzes input natural language text to understand its meaning and structure.

[0519] "Keywords" are important words or phrases extracted from a question that are necessary for a search.

[0520] A "search query" is a specific set of instructions generated to retrieve information from a database.

[0521] A "database" is an organized collection of data designed to efficiently store and retrieve information.

[0522] A "natural language generation model" is a machine learning model that generates responses in a format that is easy for users to understand, based on the information it has acquired.

[0523] An "answer" is the information that the system provides in response to a user's question.

[0524] The system of the present invention comprises a series of steps for providing expert responses to questions entered by the user in natural language, and aims to simplify user operation. This system mainly consists of a terminal, a server, and a database. The terminal in which the user enters questions, the server that analyzes and processes the questions, and the database that provides information about the questions all work together.

[0525] System Configuration

[0526] 1. Terminal

[0527] This is a device for users to input questions and view answers. Examples of such devices include personal computers, smartphones, and tablets. The device has the functionality to temporarily store questions entered in natural language and send those questions to a server.

[0528] 2. Server

[0529] This system analyzes received questions using a natural language processing engine and extracts important keywords. This involves processes such as text tokenization, part-of-speech tagging, and dependency analysis. Specifically, natural language processing libraries such as SpaCy and NLTK are used.

[0530] 3. Database

[0531] This is a data storage system that provides information based on search queries generated by the server. Commercially used database management systems such as MySQL and PostgreSQL are employed for the database.

[0532] Specific actions

[0533] The specific operation of the present invention is described below.

[0534] Submitting and receiving questions

[0535] The user enters the question "What's the weather like this weekend?" into the device using natural language. The device temporarily stores this question in memory and sends it to the server using an HTTP POST request or WebSocket. Specifically, the following HTTP POST request is used:

[0536] POST / api / question

[0537] Content-Type: application / json

[0538] {

[0539] "Question": "What's the weather like this weekend?"

[0540] }

[0541] Question analysis

[0542] The server processes the received question using a natural language processing engine. The processing engine tokenizes the text, performs part-of-speech tagging and dependency analysis, and extracts important keywords. For example, in the question "What's the weather like this weekend?", keywords such as "this weekend" and "weather" are extracted. Commonly used tools such as SpaCy and NLTK are used for this analysis.

[0543] Generating and executing search queries

[0544] The server generates a search query based on the extracted keywords. This query is applied to the database and used to retrieve weather information. For example, the following SQL query is generated:

[0545] SQL

[0546] SELECT forecast FROM weather_data WHERE date >= CURDATE() AND date <= DATE_ADD(CURDATE(), INTERVAL 3 DAY);

[0547] Generating and displaying answers

[0548] The server generates responses using a natural language generation model based on the acquired information. By using generative AI models such as GPT-3, responses are created in a format that is easy for the user to understand. For example, the following prompt sentence may be given:

[0549] Prompt: Based on the weather forecast data "sunny," create the answer "The weather this weekend will be sunny."

[0550] The server sends the generated response back to the terminal. The terminal receives this response and displays it in the user interface. The user can then review the displayed response and obtain the necessary information.

[0551] The above describes the embodiments for carrying out the present invention. This system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[0552] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0553] Step 1:

[0554] The user enters the question into the terminal using natural language.

[0555] Example: Enter "What's the weather like this weekend?"

[0556] Input: User's natural language question.

[0557] Output: The question has been entered.

[0558] Step 2:

[0559] The terminal temporarily stores the entered question and sends it to the server.

[0560] Specific operation: The terminal sends questions to the server using HTTP POST requests or WebSocket connections.

[0561] Input: Saved question text.

[0562] Output: Question data sent to the server.

[0563] Step 3:

[0564] The server analyzes the received question using a natural language processing engine.

[0565] Specific operation: Tokenizes text, tags it with parts of speech, and performs dependency analysis. Libraries such as SpaCy and NLTK are used for analysis.

[0566] Input: The question text sent to the server.

[0567] Output: Analyzed text data (keywords)

[0568] Step 4:

[0569] The server generates a search query based on the extracted keywords.

[0570] Specific operation: Generate an SQL query based on extracted keywords (e.g., "this weekend", "weather").

[0571] Input: Analyzed text data (keywords)

[0572] Output: Generated SQL query

[0573] Step 5:

[0574] The server uses the generated query to retrieve information from the database.

[0575] Specific operation: Executes a generated SQL query against the database and retrieves relevant information. For example, retrieves weather information.

[0576] Input: Generated SQL query

[0577] Output: Information retrieved from the database

[0578] Step 6:

[0579] The server generates responses using a natural language generation model based on the acquired information.

[0580] Specific operation: Use generative AI models such as GPT-3 to convert data into a format that is easily understood in natural language.

[0581] Input: Information retrieved from the database

[0582] Output: Answer generated in natural language format

[0583] Step 7:

[0584] The server sends the generated response to the terminal.

[0585] Specific operation: The generated response is sent to the terminal as an HTTP response or WebSocket message.

[0586] Input: Answer generated in natural language format

[0587] Output: Submitted response data

[0588] Step 8:

[0589] The terminal displays the received response in the user interface.

[0590] Specific operation: The answer will be displayed on the device screen or application in a format that is easy for the user to understand.

[0591] Input: Response data sent from the server

[0592] Output: Displayed answer

[0593] The above outlines the specific processing steps. This system allows users to input questions in natural language and quickly obtain accurate information in an easy-to-understand format.

[0594] (Application Example 1)

[0595] 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 glasses 214 will be referred to as the "terminal."

[0596] In recent years, with the increasing automation in factories, there is a growing need for robots to provide quick and accurate answers when workers ask them questions. However, with conventional systems, it is difficult for workers to immediately acquire specific operating procedures or troubleshooting methods, resulting in work efficiency issues and time-consuming training and education.

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

[0598] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for retrieving information from a database using the generated search queries, means for generating answers in natural language based on the retrieved information, means for displaying the generated answers to the user, and a robot that provides machine operation instructions in natural language. This enables workers to quickly acquire work procedures and problem-solving methods in real time, thereby improving production efficiency in the factory and the efficiency of worker training.

[0599] A "user" is someone who uses the system to input questions in natural language.

[0600] "Natural language" refers to the language that humans use on a daily basis, and it encompasses free linguistic expression that is not bound by any specific form.

[0601] "Means for receiving questions" refers to a mechanism for incorporating questions from users in natural language into the system.

[0602] "Means for analysis and extraction of important keywords" refers to a function that analyzes the input natural language question, understands the intent of the question, and extracts the main keywords.

[0603] "Means for generating search queries" refers to a function that creates queries for database searches based on extracted keywords.

[0604] "Means of retrieving information from a database" refers to a function that uses a generated search query to retrieve information stored in the database.

[0605] A "means of generating answers in natural language" is a system that creates answers in a natural language format that is easy for the user to understand, based on the information obtained.

[0606] "Means for displaying generated answers to the user" refers to a function that outputs the generated answers in a format that the user can review.

[0607] A "robot" is a machine that performs various tasks automatically. In particular, in this invention, it refers to a robot that has the function of providing instructions for operating the machine in natural language.

[0608] The system of this invention comprises a series of steps for a robot to respond to questions entered by a user in natural language. To realize this system, various hardware and software components are required, and their respective functions must work in coordination. The details are described below.

[0609] hardware

[0610] 1. Robot body: This is the main device for receiving, analyzing, and providing answers to questions.

[0611] 2. Microphone: A device that acquires the user's voice input.

[0612] 3. Speaker: A device that presents the user with answers generated in natural language via voice.

[0613] software

[0614] 1. Natural Language Processing Engine: For example, use spaCy or BERT to analyze the question content and extract important keywords.

[0615] 2. Database: For example, use a database such as PostgreSQL to store and retrieve information based on search queries.

[0616] 3. Communication Protocol: HTTP or WebSocket is used for data communication between the server and the robot.

[0617] 4. Natural Language Generation Model: For example, GPT-3.5 is used to generate responses in natural language based on the acquired information.

[0618] Program processing

[0619] The server receives a question voiced by the user through a microphone and converts the speech into text. Next, the server analyzes the text using a natural language processing engine and extracts key keywords. Based on the extracted keywords, it generates a search query to retrieve appropriate information from the database. Using the generated search query, it retrieves information from the database and generates an answer using a natural language generation model based on that information. The generated answer is then sent back to the robot and presented to the user audibly through a speaker.

[0620] Specific example

[0621] For example, if a worker asks a robot, "Please tell me the maintenance procedure for this machine," the following process will occur.

[0622] The robot's microphone captures the audio and converts it into text.

[0623] The server uses a natural language processing engine to extract important keywords such as "machine," "maintenance," and "procedure."

[0624] Based on these keywords, an appropriate search query is generated for the database.

[0625] Retrieve maintenance procedure information for "this machine" from the database.

[0626] Using a natural language generation model, the system generates natural language responses such as, "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[0627] Finally, the robot communicates the generated answer to the worker via a speaker.

[0628] Example of a prompt

[0629] Question: "Please tell me the maintenance procedure for this machine."

[0630] Name entities: Machinery, Maintenance, Procedure

[0631] SQL query: SELECT FROM Maintenance_Procedures WHERE machine='this machine'

[0632] Answer: "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[0633] This specific example demonstrates how factory robots can quickly provide relevant information, maximizing work efficiency.

[0634] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0635] Step 1:

[0636] The server acquires the audio input from the user via the microphone and converts it into text. Specifically, it uses a speech recognition engine (e.g., Google Speech-to-Text API) to convert the audio data (input) into text data (output).

[0637] Step 2:

[0638] The server passes the acquired text data to a natural language processing engine for analysis. Specifically, it tokenizes the text, tags it with parts of speech, and performs dependency analysis. This extracts key keywords (data processing) and generates a keyword list (output).

[0639] Step 3:

[0640] The server generates a search query based on the keyword list. Specifically, it constructs an appropriate SQL query based on the extracted keywords. This process generates an SQL query (output) from the keyword list (input).

[0641] Step 4:

[0642] The server retrieves the necessary information from the database using the generated SQL query. Specifically, it executes an SQL query against the database (e.g., PostgreSQL) and retrieves the relevant information. In this process, search results (output) are obtained based on the SQL query (input).

[0643] Step 5:

[0644] The server passes the acquired information to a natural language generation model to generate user-friendly responses. Specifically, it uses a natural language generation model (e.g., GPT-3.5) to generate natural language responses (output) from search results (input).

[0645] Step 6:

[0646] The server sends the generated response text to the robot, which then presents it to the user via a speaker. Specifically, the response text (input) is processed by a speech synthesis engine (e.g., Google Text-to-Speech API) to create audio data (output), which is then played back through the speaker.

[0647] Step 7:

[0648] The user receives the voice response provided by the robot and obtains the necessary information. In this step, the voice data (input) directly leads to the user's understanding (output).

[0649] In this way, through a series of steps, users can input questions in natural language and receive quick and accurate answers from the robot.

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

[0651] This invention relates to a system that generates appropriate answers to questions entered by a user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. Specific embodiments of this system are described in detail below.

[0652] System Configuration

[0653] This system primarily consists of terminals, servers, and a database. The terminals where users input questions, the servers that analyze and process those questions, and the database that provides information related to those questions all work together in coordination. Furthermore, it incorporates an "emotion engine" that recognizes the user's emotions.

[0654] Program processing

[0655] Question submission and sending

[0656] 1. The user enters a question about the information they want to search for into the terminal using natural language. The input interface is provided in the form of a text box.

[0657] Example: The user enters "What's the weather like this weekend?".

[0658] 2. The terminal temporarily stores the entered question in memory and sends it to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[0659] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[0660] Question analysis and sentiment recognition

[0661] 3. The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[0662] Example: Analyze the question "What's the weather like this weekend?" and extract "this weekend" and "weather".

[0663] 4. The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[0664] Example: The engine extracts the keywords "this weekend" and "weather".

[0665] 5. The server also passes the question to the sentiment engine to recognize the user's emotions. The sentiment engine uses natural language processing techniques to analyze the user's emotions from their text.

[0666] Example: Determining the user's emotions from their context and phrasing, and recognizing states such as "excitement" or "calmness."

[0667] Generating and executing search queries

[0668] 6. The server generates search queries based on the extracted keywords and user sentiment information. This query generation logic often uses templates to create SQL or specific API calls.

[0669] Example: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'"

[0670] 7. The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[0671] The database returns a response to the executed query.

[0672] Generating and displaying answers

[0673] 8. The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3) to generate a response for the user.

[0674] Example: Generate the answer "The weather this weekend will be sunny."

[0675] 9. The server adjusts the tone and content of its responses based on the results of the emotion engine. For example, if the emotion is "anxiety," the server will provide the response in more polite language.

[0676] For example, if the emotion is "anxiety," you might say, "The weather this weekend will be sunny, so it's a great day to go out."

[0677] 10. The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[0678] The data sent is typically in JSON format.

[0679] 11. The terminal displays the received response in the user interface. This display process uses the GUI components of a web browser or mobile application.

[0680] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[0681] Specific example

[0682] The user enters the question, "What's the weather like this weekend?" The server analyzes this question, extracts the keywords "this weekend" and "weather," and the emotion engine recognizes the emotion "excitement." Based on this information, the server generates a search query for the database and retrieves weather information. The server then uses this information to generate the answer, "The weather this weekend will be sunny, so it's a good day to go out," and sends it to the terminal. The terminal displays this answer in the user interface, allowing the user to quickly obtain the necessary information.

[0683] The above describes a specific embodiment of the present invention combined with an emotion engine. This system allows users to obtain necessary information quickly and accurately, and also enables flexible responses that respond to emotions.

[0684] The following describes the processing flow.

[0685] Step 1:

[0686] The user enters a question about the information they want to search for into the device using natural language. For example, they might type "What's the weather like this weekend?" into the device's text input field. The entered data is immediately saved to the device.

[0687] Step 2:

[0688] The terminal sends the question data entered by the user to the server. This transmission process uses either an HTTP POST request or a WebSocket message. The transmitted data is packaged in JSON format.

[0689] Example: JSON data will be sent in the format {"question": "What will the weather be like this weekend?"}.

[0690] Step 3:

[0691] The server passes the question data received from the terminal to the analysis engine. This engine uses a natural language processing library (e.g., SpaCy, NLTK) to tokenize the question text, tag parts of speech, and analyze dependencies.

[0692] The analysis results are extracted as keywords: "this weekend" and "weather".

[0693] Step 4:

[0694] Based on the analysis results, the server extracts important keywords from the question text. These keywords form the basis for generating the search query.

[0695] Example: Identify "this weekend" and "weather" as keywords.

[0696] Step 5:

[0697] The server passes the question to the emotion engine, which analyzes the user's emotions. The emotion engine uses natural language processing techniques to determine a specific emotion (e.g., joy, sadness, anger, anxiety, etc.) from the user's question.

[0698] Example: Recognizing emotions such as "excitement" from the question.

[0699] Step 6:

[0700] The server generates search queries based on extracted keywords and sentiment information. These queries are then executed against databases or external APIs.

[0701] Example: Generate the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'" to retrieve weather information.

[0702] Step 7:

[0703] The server executes the generated search query against the database. It establishes a database connection and sends the query. The database returns results corresponding to the query.

[0704] Example: Retrieve information about the weather condition ("sunny") by executing a query.

[0705] Step 8:

[0706] The server receives results from the database and generates a response in natural language. A natural language generation model is used to create the response in a format that is easy for the user to understand.

[0707] Example: Based on the acquired data, generate the answer "The weather this weekend will be sunny."

[0708] Step 9:

[0709] Based on the results of the emotion engine, the server adjusts the tone and content of the generated response. For example, if the user is "anxious," the response will be provided in a more reassuring tone.

[0710] For example, adjust the conversation by saying, "The weather forecast for this weekend is sunny, so it's a great day to go out."

[0711] Step 10:

[0712] The server sends the adjusted response to the terminal, again using an HTTP response or WebSocket message.

[0713] The transmitted data is in the format {"response": "The weather this weekend will be sunny, so it's a great day to go out."}.

[0714] Step 11:

[0715] The device displays the received response in the user interface. This display is done using GUI components of a web browser or mobile app. The user confirms the response on the screen.

[0716] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[0717] By following these steps, users can obtain quick and accurate answers to questions entered in natural language, and even receive appropriate responses that reflect their emotions.

[0718] (Example 2)

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

[0720] Conventional natural language processing systems cannot consider user emotions when generating answers to user questions. Therefore, they struggle to provide flexible responses that align with user emotions, resulting in insufficient improvement in satisfaction and optimization of the user experience.

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

[0722] In this invention, the server includes means for receiving user-inputted questions in natural language, means for analyzing the received questions and extracting important keywords, and means for generating search queries based on the extracted keywords. This enables flexible responses that respond to the user's emotions.

[0723] A "natural language processing engine" is software that tokenizes input text, tags it by part of speech, and analyzes dependencies.

[0724] "Keywords" are important words or phrases extracted through the analysis of a question to identify its intent.

[0725] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[0726] A "database" is an information system that systematically organizes and stores information, making it accessible and searchable.

[0727] A "natural language generation model" is a machine learning model that generates natural language text based on input data.

[0728] An "emotion engine" is software that recognizes and analyzes a user's emotions from the input text.

[0729] A "user interface" refers to the input and display devices and software that allow a user to interact with a system.

[0730] An "HTTP POST request" is a type of communication protocol used to send data to a server over the internet.

[0731] A "WebSocket message" is a unit of data transmitted and received over a protocol that enables bidirectional communication.

[0732] "Tokenization" is the process of dividing text into meaningful units (tokens).

[0733] "Part-of-speech tagging" is the process of assigning a part of speech (noun, verb, etc.) to each token.

[0734] "Dependency analysis" is the process of analyzing the grammatical relationships between each token in a sentence.

[0735] "Memory" refers to a hardware or software area used to temporarily store data.

[0736] An "HTTP response" is a response message sent from a server to a client.

[0737] JSON format is a lightweight data exchange format for structuring, storing, and transmitting data.

[0738] A "user interface" is a means by which a user interacts with a system, and primarily includes displays and input devices.

[0739] This invention is a system that generates appropriate answers to questions entered by the user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. This system primarily operates with the user, terminal, and server as its main components, and is implemented through the following specific procedures.

[0740] The user first enters a question into the terminal using natural language. The input interface is provided in the form of a text box, and can use GUI components from a web browser or mobile application, for example. As a concrete example, the user enters "What's the weather like this weekend?"

[0741] The entered questions are temporarily stored in the terminal's memory and sent to the server via an HTTP POST request or WebSocket message. The transmitted data is typically packaged in JSON format.

[0742] The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as tokenizing the text, tagging parts of speech, and analyzing dependencies. For example, NLTK or SpaCy can be used as natural language processing libraries. This extracts important keywords such as "this weekend" and "weather" from the question "What's the weather like this weekend?".

[0743] Based on the extracted keywords, the server grasps the intent behind the question and uses an emotion engine to recognize the user's emotions. This emotion recognition analyzes emotions from the user's text using natural language processing techniques. For example, it utilizes emotion analysis engines such as TextBlob or SentiStrength.

[0744] Next, the server generates a search query based on the extracted keywords and recognized sentiment information. This generation typically uses templates to create SQL queries or specific API calls. As a concrete example, the following SQL query is generated: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'".

[0745] The server executes the generated search query against the database. Based on the results returned from the database, it uses a natural language generation model (e.g., GPT-3) to generate a response for the user. In this process, the tone and content of the response are adjusted based on the extracted keywords and sentiment information. For example, if the sentiment is "anxious," a polite response such as "The weather this weekend will be sunny, so it will be a good day to go out" will be generated.

[0746] The generated response is sent back to the terminal from the server via an HTTP response or WebSocket message. The terminal displays the received response in the user interface, which the user can then review. As a result, the user can obtain the necessary information quickly and accurately, and is provided with flexible responses that are sensitive to their emotions.

[0747] This embodiment improves user satisfaction and optimizes the user experience. For example, if a user inputs the question "What will the weather be like this weekend?" and their emotion at the time is "anxious," the system will generate and display a reassuring response such as "The weather this weekend will be sunny, so it will be a good day to go out."

[0748] The above describes the specific implementation method of this system.

[0749] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0750] Step 1:

[0751] The user inputs a natural language question into the device. The input interface is provided in the form of a text box, using the GUI components of a web browser or mobile application. Specifically, the user inputs "What's the weather like this weekend?". The entered text is temporarily stored in the device's memory. Input: User's question text. Output: Text data.

[0752] Step 2:

[0753] The terminal sends the entered question to the server using an HTTP POST request or WebSocket message. Specifically, it sends data packaged in JSON format. For example, when sending using the fetch API, a request is generated from the terminal to the server. Input: Question text. Output: Request sent to the server.

[0754] Step 3:

[0755] The server passes the question received from the terminal to the natural language processing engine. The processing engine tokenizes the text, tags it by part of speech, and performs dependency analysis. For example, it may use libraries such as NLTK or SpaCy. Input: Question text. Output: Analysis results (tokens, part-of-speech tags, dependencies).

[0756] Step 4:

[0757] The server extracts key keywords and intents from a question based on the analysis results obtained from its natural language processing engine. This helps it understand the context of the question. For example, the keywords "this weekend" and "weather" might be extracted. Input: Analysis results. Output: Key keywords and intents.

[0758] Step 5:

[0759] The server also passes the question to an emotion engine to recognize the user's emotions. This emotion recognition uses natural language processing techniques to analyze emotions from text. Specifically, it utilizes TextBlob and SentiStrength. Input: Question text. Output: Sentiment analysis results.

[0760] Step 6:

[0761] The server generates search queries based on extracted keywords and sentiment information. Templates are used to create SQL queries and specific API calls. An example of such a query is the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'". Input: Keywords and sentiment information. Output: Generated search query.

[0762] Step 7:

[0763] The server executes the generated search query against the database. The server establishes a database connection and sends the query. Specifically, it uses a database access library such as PyMySQL. Input: Search query. Output: Information retrieved from the database (weather data).

[0764] Step 8:

[0765] The server generates a response using a natural language generation model (e.g., GPT-3) based on the results returned from the database. The initial response generated will be something like, "The weather this weekend will be sunny." Input: Information from the database. Output: Initial response.

[0766] Step 9:

[0767] The server adjusts the tone and content of the response based on the results of the emotion engine. For example, if the user's emotion is "anxious," the response will be changed to a more polite phrase such as, "The weather this weekend will be sunny, so it's a great day to go out." Input: Initial response and emotion information. Output: Adjusted response corresponding to the emotion.

[0768] Step 10:

[0769] The server sends the generated response to the terminal. This transmission is again via an HTTP response or WebSocket message. Input: Adjusted response. Output: Response data sent to the terminal.

[0770] Step 11:

[0771] The terminal displays the received response on the user interface. This allows the user to confirm the response. For example, the user's screen might display "The weather this weekend will be sunny, so it's a good day to go out." Input: Response data from the server. Output: Response displayed on the user interface.

[0772] (Application Example 2)

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

[0774] Conventional natural language processing systems can generate appropriate answers to user questions, but they lack the ability to adjust those answers to consider the user's emotions. Therefore, it was difficult to provide responses that were highly satisfying to users. Furthermore, particularly in the advertising industry, it is crucial to propose appropriate advertising strategies that align with the user's emotions, but no system capable of such emotion recognition and response adjustment existed.

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

[0776] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for obtaining information from a database using the generated search queries, means for generating answers in natural language based on the obtained information, means for recognizing the user's emotions based on the generated answers, means for adjusting the tone and content of the answers based on the recognized user emotions, and means for displaying the adjusted answers to the user. This enables the generation of more appropriate answers that take the user's emotions into consideration, and in particular, enables effective responses that take the user's emotions into account when proposing advertising strategies.

[0777] "Natural language" refers to the language that humans use in everyday life, and is a form of instruction and questioning for computer programs.

[0778] A "question" is text data that a user enters in natural language to obtain specific information.

[0779] "Analysis means" refers to a system or device that analyzes an input question and extracts linguistic elements such as subject, predicate, and object.

[0780] "Keywords" are important words or phrases extracted from user questions and are used to generate search queries and search databases.

[0781] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[0782] A "database" is a collection of data built to efficiently manage and retrieve information.

[0783] A "response generation means" is a system or device that generates a response to the user in natural language based on acquired information.

[0784] "Emotion recognition" is the process of analyzing emotions from text and questions entered by the user and identifying emotional states such as "joy" or "anxiety."

[0785] "Response adjustment" is the process of modifying the tone and content of the generated response in accordance with the perceived emotions of the user.

[0786] "Display means" refers to a system or device for visually providing the user with the generated response.

[0787] System Configuration

[0788] The system that realizes this invention includes a series of processes for generating appropriate answers to questions entered by the user in natural language, and further recognizing the user's emotions and adjusting those answers accordingly. This system mainly consists of a terminal, a server, a database, and an emotion engine.

[0789] Hardware and software used

[0790] Hardware:

[0791] User terminal: Mobile device such as a smartphone

[0792] Server: A server device with high-performance computing resources.

[0793] software:

[0794] Natural Language Processing Engine: Transformers (Hugging Face)

[0795] Emotional Engine: Sentiment Analysis (Hugging Face)

[0796] Database management system: SQL or NoSQL database

[0797] Communication protocols: HTTP, WebSocket

[0798] Natural language generation models: Generative AI models (e.g., GPT-3)

[0799] Data processing and data calculation

[0800] Submitting and receiving questions

[0801] The user inputs questions about advertising strategies into their device using natural language. For example, they might input, "Please tell me effective keywords for promoting a new product targeting young people." The device then sends this question to the server. HTTP POST requests and WebSocket messages are used as communication protocols.

[0802] Question analysis and sentiment recognition

[0803] The server passes the received question to a natural language processing engine, which performs tokenization, part-of-speech tagging, and dependency analysis. This extracts the subject, predicate, and object of the question. Subsequently, it generates search queries related to advertising strategies based on the extracted keywords. In addition, an emotion engine analyzes the user's emotions and identifies emotional states such as "doubt" and "expectation."

[0804] Generating and executing search queries

[0805] The server uses the generated search query to retrieve relevant information from the database. For example, it might retrieve information related to "keywords effective for product promotion targeting young people."

[0806] Generating and displaying answers

[0807] The server uses a natural language generation model to generate a response based on the acquired information. The generated response is adjusted in tone and content, taking into account whether the user's emotions are "question" or "expectation." For example, a response like, "For new product promotions, keywords such as 'latest trends,' 'youth-oriented products,' 'stylish,' and 'trending items' are effective. If you have any further questions, we will explain in more detail," might be generated. The server sends this response to the device, and the user confirms it on the screen.

[0808] Specific example

[0809] User Questions

[0810] "What are some effective keywords for promoting new products to younger generations?"

[0811] Example of a prompt

[0812] "Advertising strategy, targeting young people, keywords, sentiment recognition, optimal"

[0813] This system allows users to receive quick, accurate, and emotionally sensitive responses, making it particularly effective in developing advertising strategies.

[0814] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0815] Step 1:

[0816] Users input questions about advertising strategies in natural language into their smartphones or other devices. For example, they might input text such as, "Please tell me effective keywords for promoting a new product targeting young people." This input data is temporarily stored in the device's memory.

[0817] Step 2:

[0818] The terminal sends the stored question data to the server using an HTTP POST request or WebSocket message. This transmitted data is packaged in JSON format.

[0819] Step 3:

[0820] The server passes the received question data to the natural language processing engine. The processing engine tokenizes the text, tags parts of speech, and performs dependency analysis to extract the subject, predicate, and object of the question. As a result of this analysis, the keywords "young people," "new product promotion," and "keywords" are extracted.

[0821] Step 4:

[0822] The server generates search queries related to advertising strategies based on the analysis results (keywords). For example, an SQL query like "SELECT keywords FROM ad_strategy WHERE target_audience = 'young people'" is generated. This query generation logic is automated using templates.

[0823] Step 5:

[0824] The server executes the generated search query against the database. The server establishes a database connection and sends the SQL query. In response to this query, the database returns relevant keyword information.

[0825] Step 6:

[0826] The server uses a natural language generation model (e.g., GPT-3) based on keyword information retrieved from the database to generate responses to the user. An example of a generated response is the text: "For new product promotions, 'latest trends,' 'products for young people,' 'stylish,' and 'trending items' are effective."

[0827] Step 7:

[0828] The server passes the generated response to an emotion recognition engine, which analyzes the user's emotions. For example, it might recognize that the user is feeling "anticipation." Based on the emotion analysis results, the tone and content of the response are adjusted. An example of a final response might be, "Please look forward to it. Keywords such as 'latest trends' and 'products for young people' are particularly effective for new product promotions."

[0829] Step 8:

[0830] The server packages the adjusted response again in JSON format and sends it to the terminal via an HTTP response or WebSocket message.

[0831] Step 9:

[0832] The terminal analyzes the received response data and displays it on the user interface. For example, the screen might display, "Stay tuned! Keywords like 'latest trends' and 'youth-oriented products' are particularly effective for new product promotions."

[0833] This series of processing steps allows users to receive quick, accurate, and emotionally sensitive answers.

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

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

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

[0837] [Third Embodiment]

[0838] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

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

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

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

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

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

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

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

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

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

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

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

[0850] The system of the present invention comprises a series of steps for responding to questions entered by the user in natural language, and aims to simplify user operation. The following describes specific embodiments of the system.

[0851] System Configuration

[0852] This system primarily consists of terminals, servers, and a database. The terminals, where users input questions, the servers, which analyze and process those questions, and the database, which provides information related to those questions, all work together in a coordinated manner.

[0853] Program processing

[0854] Question submission and sending

[0855] 1. The user enters a question about the information they want to search for into the device using natural language.

[0856] Example: The user enters the question, "What's the weather going to be like this weekend?"

[0857] 2. The terminal temporarily stores the entered question and sends it to the server.

[0858] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[0859] Question analysis

[0860] 3. The server analyzes the received question using a natural language processing engine and understands its syntax.

[0861] The analysis engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[0862] Example: Extract the keywords "this weekend" and "weather" from the question "What will the weather be like this weekend?".

[0863] Generating and executing search queries

[0864] 4. The server generates a search query based on the analysis results.

[0865] The generated query is applied to the database.

[0866] Example: Generate an SQL query for "This weekend's weather".

[0867] 5. The server uses the generated query to retrieve information from the database.

[0868] The information actually returned from the database is data such as "weather forecasts."

[0869] Generating and displaying answers

[0870] 6. The server generates a response in natural language based on the information it has acquired.

[0871] By using a natural language generation model, we create answers that are easy for users to understand.

[0872] Example: Based on the acquired information, generate a response such as "The weather this weekend will be sunny."

[0873] 7. The server sends the generated response to the terminal.

[0874] The device receives the response using HTTP or WebSocket.

[0875] 8. The terminal displays the received response in the user interface.

[0876] It will be displayed in a format that users can easily understand.

[0877] Specific example

[0878] The user enters the question, "What's the weather like this weekend?". The server receives this question and uses a natural language processing engine to extract the keywords "this weekend" and "weather". Next, the server generates a search query for the database based on these keywords and retrieves weather information. Based on the retrieved information, the server generates a natural language answer, "The weather this weekend will be sunny," and sends it to the terminal. Finally, the terminal displays this answer to the user, allowing the user to quickly obtain the information they need.

[0879] The above describes an embodiment for carrying out the present invention, and this system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[0880] The following describes the processing flow.

[0881] Step 1:

[0882] The user enters their search query in natural language into the terminal. The input interface is provided in the form of a text box.

[0883] Example: The user enters "What's the weather like this weekend?".

[0884] Step 2:

[0885] The terminal temporarily stores the entered question in memory. This saving operation is performed asynchronously, reducing the response time to user input.

[0886] The save format is either a simple text format or JSON format.

[0887] Step 3:

[0888] The terminal sends the saved questions to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[0889] For HTTP POST requests, the question is included in the JSON body.

[0890] Step 4:

[0891] The server passes the question received from the terminal to the analysis engine. The analysis engine uses a natural language processing library (e.g., SpaCy or NLTK) to tokenize the question, tag its parts of speech, and perform dependency analysis.

[0892] Example: Analyze "What's the weather like this weekend?" and extract "this weekend" and "weather".

[0893] Step 5:

[0894] The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[0895] Example: The engine extracts the keywords "this weekend" and "weather".

[0896] Step 6:

[0897] The server generates search queries based on the extracted keywords. This query generation logic often uses templates to create SQL queries or specific API calls.

[0898] Example: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'"

[0899] Step 7:

[0900] The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[0901] The database returns a response to the executed query.

[0902] Step 8:

[0903] The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3) to generate a response for the user.

[0904] Example: Generate the answer "The weather this weekend will be sunny."

[0905] Step 9:

[0906] The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[0907] The data sent is typically in JSON format.

[0908] Step 10:

[0909] The terminal displays the received response in the user interface. This display process uses GUI components of a web browser or mobile application.

[0910] Example: The user's screen displays "The weather this weekend will be sunny."

[0911] By following these steps, the system will be able to respond quickly and accurately to questions entered by users in natural language.

[0912] (Example 1)

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

[0914] Traditional search systems required users to create complex queries, making information retrieval difficult. Furthermore, the answers were often mechanical and hard to understand. In addition, search results were sometimes not displayed quickly, resulting in a poor user experience.

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

[0916] In this invention, the server includes means for receiving questions entered by the user in natural language, means for temporarily storing the received questions and sending them to the server, means for analyzing the received questions with a natural language processing engine and extracting important keywords, means for generating a search query based on the extracted keywords, means for retrieving information from a database using the generated search query, means for generating an answer using a natural language generation model based on the retrieved information, and means for displaying the generated answer to the user. As a result, the user can quickly and accurately obtain information by entering questions in natural language and receive answers in an easy-to-understand format.

[0917] A "user" is an entity that enters a question into a system for the purpose of searching for information.

[0918] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is a natural form of language that is not a specific programming language.

[0919] A "question" is a query entered by a user to obtain information.

[0920] A "terminal" is a device used by a user to input questions and display answers.

[0921] A "server" is the primary computer system that receives and analyzes user queries and interacts with the database.

[0922] A "natural language processing engine" is a software tool that analyzes input natural language text to understand its meaning and structure.

[0923] "Keywords" are important words or phrases extracted from a question that are necessary for a search.

[0924] A "search query" is a specific set of instructions generated to retrieve information from a database.

[0925] A "database" is an organized collection of data designed to efficiently store and retrieve information.

[0926] A "natural language generation model" is a machine learning model that generates responses in a format that is easy for users to understand, based on the information it has acquired.

[0927] An "answer" is the information that the system provides in response to a user's question.

[0928] The system of the present invention comprises a series of steps for providing expert responses to questions entered by the user in natural language, and aims to simplify user operation. This system mainly consists of a terminal, a server, and a database. The terminal in which the user enters questions, the server that analyzes and processes the questions, and the database that provides information about the questions all work together.

[0929] System Configuration

[0930] 1. Terminal

[0931] This is a device for users to input questions and view answers. Examples of such devices include personal computers, smartphones, and tablets. The device has the functionality to temporarily store questions entered in natural language and send those questions to a server.

[0932] 2. Server

[0933] This system analyzes received questions using a natural language processing engine and extracts important keywords. This involves processes such as text tokenization, part-of-speech tagging, and dependency analysis. Specifically, natural language processing libraries such as SpaCy and NLTK are used.

[0934] 3. Database

[0935] This is a data storage system that provides information based on search queries generated by the server. Commercially used database management systems such as MySQL and PostgreSQL are employed for the database.

[0936] Specific actions

[0937] The specific operation of the present invention is described below.

[0938] Submitting and receiving questions

[0939] The user enters the question "What's the weather like this weekend?" into the device using natural language. The device temporarily stores this question in memory and sends it to the server using an HTTP POST request or WebSocket. Specifically, the following HTTP POST request is used:

[0940] POST / api / question

[0941] Content-Type: application / json

[0942] {

[0943] "Question": "What's the weather like this weekend?"

[0944] }

[0945] Question analysis

[0946] The server processes the received question using a natural language processing engine. The processing engine tokenizes the text, performs part-of-speech tagging and dependency analysis, and extracts important keywords. For example, in the question "What's the weather like this weekend?", keywords such as "this weekend" and "weather" are extracted. Commonly used tools such as SpaCy and NLTK are used for this analysis.

[0947] Generating and executing search queries

[0948] The server generates a search query based on the extracted keywords. This query is applied to the database and used to retrieve weather information. For example, the following SQL query is generated:

[0949] SQL

[0950] SELECT forecast FROM weather_data WHERE date >= CURDATE() AND date <= DATE_ADD(CURDATE(), INTERVAL 3 DAY);

[0951] Generating and displaying answers

[0952] The server generates responses using a natural language generation model based on the acquired information. By using generative AI models such as GPT-3, responses are created in a format that is easy for the user to understand. For example, the following prompt sentence may be given:

[0953] Prompt: Based on the weather forecast data "sunny," create the answer "The weather this weekend will be sunny."

[0954] The server sends the generated response back to the terminal. The terminal receives this response and displays it in the user interface. The user can then review the displayed response and obtain the necessary information.

[0955] The above describes the embodiments for carrying out the present invention. This system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[0956] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0957] Step 1:

[0958] The user enters the question into the terminal using natural language.

[0959] Example: Enter "What's the weather like this weekend?"

[0960] Input: User's natural language question.

[0961] Output: The question has been entered.

[0962] Step 2:

[0963] The terminal temporarily stores the entered question and sends it to the server.

[0964] Specific operation: The terminal sends questions to the server using HTTP POST requests or WebSocket connections.

[0965] Input: Saved question text.

[0966] Output: Question data sent to the server.

[0967] Step 3:

[0968] The server analyzes the received question using a natural language processing engine.

[0969] Specific operation: Tokenizes text, tags it with parts of speech, and performs dependency analysis. Libraries such as SpaCy and NLTK are used for analysis.

[0970] Input: The question text sent to the server.

[0971] Output: Analyzed text data (keywords)

[0972] Step 4:

[0973] The server generates a search query based on the extracted keywords.

[0974] Specific operation: Generate an SQL query based on extracted keywords (e.g., "this weekend", "weather").

[0975] Input: Analyzed text data (keywords)

[0976] Output: Generated SQL query

[0977] Step 5:

[0978] The server uses the generated query to retrieve information from the database.

[0979] Specific operation: Executes a generated SQL query against the database and retrieves relevant information. For example, retrieves weather information.

[0980] Input: Generated SQL query

[0981] Output: Information retrieved from the database

[0982] Step 6:

[0983] The server generates responses using a natural language generation model based on the acquired information.

[0984] Specific operation: Use generative AI models such as GPT-3 to convert data into a format that is easily understood in natural language.

[0985] Input: Information retrieved from the database

[0986] Output: Answer generated in natural language format

[0987] Step 7:

[0988] The server sends the generated response to the terminal.

[0989] Specific operation: The generated response is sent to the terminal as an HTTP response or WebSocket message.

[0990] Input: Answer generated in natural language format

[0991] Output: Submitted response data

[0992] Step 8:

[0993] The terminal displays the received response in the user interface.

[0994] Specific operation: The answer will be displayed on the device screen or application in a format that is easy for the user to understand.

[0995] Input: Response data sent from the server

[0996] Output: Displayed answer

[0997] The above outlines the specific processing steps. This system allows users to input questions in natural language and quickly obtain accurate information in an easy-to-understand format.

[0998] (Application Example 1)

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

[1000] In recent years, with the increasing automation in factories, there is a growing need for robots to provide quick and accurate answers when workers ask them questions. However, with conventional systems, it is difficult for workers to immediately acquire specific operating procedures or troubleshooting methods, resulting in work efficiency issues and time-consuming training and education.

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

[1002] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for retrieving information from a database using the generated search queries, means for generating answers in natural language based on the retrieved information, means for displaying the generated answers to the user, and a robot that provides machine operation instructions in natural language. This enables workers to quickly acquire work procedures and problem-solving methods in real time, thereby improving production efficiency in the factory and the efficiency of worker training.

[1003] A "user" is someone who uses the system to input questions in natural language.

[1004] "Natural language" refers to the language that humans use on a daily basis, and it encompasses free linguistic expression that is not bound by any specific form.

[1005] "Means for receiving questions" refers to a mechanism for incorporating questions from users in natural language into the system.

[1006] "Means for analysis and extraction of important keywords" refers to a function that analyzes the input natural language question, understands the intent of the question, and extracts the main keywords.

[1007] "Means for generating search queries" refers to a function that creates queries for database searches based on extracted keywords.

[1008] "Means of retrieving information from a database" refers to a function that uses a generated search query to retrieve information stored in the database.

[1009] A "means of generating answers in natural language" is a system that creates answers in a natural language format that is easy for the user to understand, based on the information obtained.

[1010] "Means for displaying generated answers to the user" refers to a function that outputs the generated answers in a format that the user can review.

[1011] A "robot" is a machine that performs various tasks automatically. In particular, in this invention, it refers to a robot that has the function of providing instructions for operating the machine in natural language.

[1012] The system of this invention comprises a series of steps for a robot to respond to questions entered by a user in natural language. To realize this system, various hardware and software components are required, and their respective functions must work in coordination. The details are described below.

[1013] hardware

[1014] 1. Robot body: This is the main device for receiving, analyzing, and providing answers to questions.

[1015] 2. Microphone: A device that acquires the user's voice input.

[1016] 3. Speaker: A device that presents the user with answers generated in natural language via voice.

[1017] software

[1018] 1. Natural Language Processing Engine: For example, use spaCy or BERT to analyze the question content and extract important keywords.

[1019] 2. Database: For example, use a database such as PostgreSQL to store and retrieve information based on search queries.

[1020] 3. Communication Protocol: HTTP or WebSocket is used for data communication between the server and the robot.

[1021] 4. Natural Language Generation Model: For example, GPT-3.5 is used to generate responses in natural language based on the acquired information.

[1022] Program processing

[1023] The server receives a question voiced by the user through a microphone and converts the speech into text. Next, the server analyzes the text using a natural language processing engine and extracts key keywords. Based on the extracted keywords, it generates a search query to retrieve appropriate information from the database. Using the generated search query, it retrieves information from the database and generates an answer using a natural language generation model based on that information. The generated answer is then sent back to the robot and presented to the user audibly through a speaker.

[1024] Specific example

[1025] For example, if a worker asks a robot, "Please tell me the maintenance procedure for this machine," the following process will occur.

[1026] The robot's microphone captures the audio and converts it into text.

[1027] The server uses a natural language processing engine to extract important keywords such as "machine," "maintenance," and "procedure."

[1028] Based on these keywords, an appropriate search query is generated for the database.

[1029] Retrieve maintenance procedure information for "this machine" from the database.

[1030] Using a natural language generation model, the system generates natural language responses such as, "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[1031] Finally, the robot communicates the generated answer to the worker via a speaker.

[1032] Example of a prompt

[1033] Question: "Please tell me the maintenance procedure for this machine."

[1034] Name entities: Machinery, Maintenance, Procedure

[1035] SQL query: SELECT FROM Maintenance_Procedures WHERE machine='this machine'

[1036] Answer: "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[1037] This specific example demonstrates how factory robots can quickly provide relevant information, maximizing work efficiency.

[1038] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1039] Step 1:

[1040] The server acquires the audio input from the user via the microphone and converts it into text. Specifically, it uses a speech recognition engine (e.g., Google Speech-to-Text API) to convert the audio data (input) into text data (output).

[1041] Step 2:

[1042] The server passes the acquired text data to a natural language processing engine for analysis. Specifically, it tokenizes the text, tags it with parts of speech, and performs dependency analysis. This extracts key keywords (data processing) and generates a keyword list (output).

[1043] Step 3:

[1044] The server generates a search query based on the keyword list. Specifically, it constructs an appropriate SQL query based on the extracted keywords. This process generates an SQL query (output) from the keyword list (input).

[1045] Step 4:

[1046] The server retrieves the necessary information from the database using the generated SQL query. Specifically, it executes an SQL query against the database (e.g., PostgreSQL) and retrieves the relevant information. In this process, search results (output) are obtained based on the SQL query (input).

[1047] Step 5:

[1048] The server passes the acquired information to a natural language generation model to generate user-friendly responses. Specifically, it uses a natural language generation model (e.g., GPT-3.5) to generate natural language responses (output) from search results (input).

[1049] Step 6:

[1050] The server sends the generated response text to the robot, which then presents it to the user via a speaker. Specifically, the response text (input) is processed by a speech synthesis engine (e.g., Google Text-to-Speech API) to create audio data (output), which is then played back through the speaker.

[1051] Step 7:

[1052] The user receives the voice response provided by the robot and obtains the necessary information. In this step, the voice data (input) directly leads to the user's understanding (output).

[1053] In this way, through a series of steps, users can input questions in natural language and receive quick and accurate answers from the robot.

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

[1055] This invention relates to a system that generates appropriate answers to questions entered by a user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. Specific embodiments of this system are described in detail below.

[1056] System Configuration

[1057] This system primarily consists of terminals, servers, and a database. The terminals where users input questions, the servers that analyze and process those questions, and the database that provides information related to those questions all work together in coordination. Furthermore, it incorporates an "emotion engine" that recognizes the user's emotions.

[1058] Program processing

[1059] Question submission and sending

[1060] 1. The user enters a question about the information they want to search for into the terminal using natural language. The input interface is provided in the form of a text box.

[1061] Example: The user enters "What's the weather like this weekend?".

[1062] 2. The terminal temporarily stores the entered question in memory and sends it to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[1063] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[1064] Question analysis and sentiment recognition

[1065] 3. The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[1066] Example: Analyze the question "What's the weather like this weekend?" and extract "this weekend" and "weather".

[1067] 4. The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[1068] Example: The engine extracts the keywords "this weekend" and "weather".

[1069] 5. The server also passes the question to the sentiment engine to recognize the user's emotions. The sentiment engine uses natural language processing techniques to analyze the user's emotions from their text.

[1070] Example: Determining the user's emotions from their context and phrasing, and recognizing states such as "excitement" or "calmness."

[1071] Generating and executing search queries

[1072] 6. The server generates search queries based on the extracted keywords and user sentiment information. This query generation logic often uses templates to create SQL or specific API calls.

[1073] Example: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'"

[1074] 7. The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[1075] The database returns a response to the executed query.

[1076] Generating and displaying answers

[1077] 8. The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3) to generate a response for the user.

[1078] Example: Generate the answer "The weather this weekend will be sunny."

[1079] 9. The server adjusts the tone and content of its responses based on the results of the emotion engine. For example, if the emotion is "anxiety," the server will provide the response in more polite language.

[1080] For example, if the emotion is "anxiety," you might say, "The weather this weekend will be sunny, so it's a great day to go out."

[1081] 10. The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[1082] The data sent is typically in JSON format.

[1083] 11. The terminal displays the received response in the user interface. This display process uses the GUI components of a web browser or mobile application.

[1084] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[1085] Specific example

[1086] The user enters the question, "What's the weather like this weekend?" The server analyzes this question, extracts the keywords "this weekend" and "weather," and the emotion engine recognizes the emotion "excitement." Based on this information, the server generates a search query for the database and retrieves weather information. The server then uses this information to generate the answer, "The weather this weekend will be sunny, so it's a good day to go out," and sends it to the terminal. The terminal displays this answer in the user interface, allowing the user to quickly obtain the necessary information.

[1087] The above describes a specific embodiment of the present invention combined with an emotion engine. This system allows users to obtain necessary information quickly and accurately, and also enables flexible responses that respond to emotions.

[1088] The following describes the processing flow.

[1089] Step 1:

[1090] The user enters a question about the information they want to search for into the device using natural language. For example, they might type "What's the weather like this weekend?" into the device's text input field. The entered data is immediately saved to the device.

[1091] Step 2:

[1092] The terminal sends the question data entered by the user to the server. This transmission process uses either an HTTP POST request or a WebSocket message. The transmitted data is packaged in JSON format.

[1093] Example: JSON data will be sent in the format {"question": "What will the weather be like this weekend?"}.

[1094] Step 3:

[1095] The server passes the question data received from the terminal to the analysis engine. This engine uses a natural language processing library (e.g., SpaCy, NLTK) to tokenize the question text, tag parts of speech, and analyze dependencies.

[1096] The analysis results are extracted as keywords: "this weekend" and "weather".

[1097] Step 4:

[1098] Based on the analysis results, the server extracts important keywords from the question text. These keywords form the basis for generating the search query.

[1099] Example: Identify "this weekend" and "weather" as keywords.

[1100] Step 5:

[1101] The server passes the question to the emotion engine, which analyzes the user's emotions. The emotion engine uses natural language processing techniques to determine a specific emotion (e.g., joy, sadness, anger, anxiety, etc.) from the user's question.

[1102] Example: Recognizing emotions such as "excitement" from the question.

[1103] Step 6:

[1104] The server generates search queries based on extracted keywords and sentiment information. These queries are then executed against databases or external APIs.

[1105] Example: Generate the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'" to retrieve weather information.

[1106] Step 7:

[1107] The server executes the generated search query against the database. It establishes a database connection and sends the query. The database returns results corresponding to the query.

[1108] Example: Retrieve information about the weather condition ("sunny") by executing a query.

[1109] Step 8:

[1110] The server receives results from the database and generates a response in natural language. A natural language generation model is used to create the response in a format that is easy for the user to understand.

[1111] Example: Based on the acquired data, generate the answer "The weather this weekend will be sunny."

[1112] Step 9:

[1113] Based on the results of the emotion engine, the server adjusts the tone and content of the generated response. For example, if the user is "anxious," the response will be provided in a more reassuring tone.

[1114] For example, adjust the conversation by saying, "The weather forecast for this weekend is sunny, so it's a great day to go out."

[1115] Step 10:

[1116] The server sends the adjusted response to the terminal, again using an HTTP response or WebSocket message.

[1117] The transmitted data is in the format {"response": "The weather this weekend will be sunny, so it's a great day to go out."}.

[1118] Step 11:

[1119] The device displays the received response in the user interface. This display is done using GUI components of a web browser or mobile app. The user confirms the response on the screen.

[1120] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[1121] By following these steps, users can obtain quick and accurate answers to questions entered in natural language, and even receive appropriate responses that reflect their emotions.

[1122] (Example 2)

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

[1124] Conventional natural language processing systems cannot consider user emotions when generating answers to user questions. Therefore, they struggle to provide flexible responses that align with user emotions, resulting in insufficient improvement in satisfaction and optimization of the user experience.

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

[1126] In this invention, the server includes means for receiving user-inputted questions in natural language, means for analyzing the received questions and extracting important keywords, and means for generating search queries based on the extracted keywords. This enables flexible responses that respond to the user's emotions.

[1127] A "natural language processing engine" is software that tokenizes input text, tags it by part of speech, and analyzes dependencies.

[1128] "Keywords" are important words or phrases extracted through the analysis of a question to identify its intent.

[1129] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[1130] A "database" is an information system that systematically organizes and stores information, making it accessible and searchable.

[1131] A "natural language generation model" is a machine learning model that generates natural language text based on input data.

[1132] An "emotion engine" is software that recognizes and analyzes a user's emotions from the input text.

[1133] A "user interface" refers to the input and display devices and software that allow a user to interact with a system.

[1134] An "HTTP POST request" is a type of communication protocol used to send data to a server over the internet.

[1135] A "WebSocket message" is a unit of data transmitted and received over a protocol that enables bidirectional communication.

[1136] "Tokenization" is the process of dividing text into meaningful units (tokens).

[1137] "Part-of-speech tagging" is the process of assigning a part of speech (noun, verb, etc.) to each token.

[1138] "Dependency analysis" is the process of analyzing the grammatical relationships between each token in a sentence.

[1139] "Memory" refers to a hardware or software area used to temporarily store data.

[1140] An "HTTP response" is a response message sent from a server to a client.

[1141] JSON format is a lightweight data exchange format for structuring, storing, and transmitting data.

[1142] A "user interface" is a means by which a user interacts with a system, and primarily includes displays and input devices.

[1143] This invention is a system that generates appropriate answers to questions entered by the user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. This system primarily operates with the user, terminal, and server as its main components, and is implemented through the following specific procedures.

[1144] The user first enters a question into the terminal using natural language. The input interface is provided in the form of a text box, and can use GUI components from a web browser or mobile application, for example. As a concrete example, the user enters "What's the weather like this weekend?"

[1145] The entered questions are temporarily stored in the terminal's memory and sent to the server via an HTTP POST request or WebSocket message. The transmitted data is typically packaged in JSON format.

[1146] The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as tokenizing the text, tagging parts of speech, and analyzing dependencies. For example, NLTK or SpaCy can be used as natural language processing libraries. This extracts important keywords such as "this weekend" and "weather" from the question "What's the weather like this weekend?".

[1147] Based on the extracted keywords, the server grasps the intent behind the question and uses an emotion engine to recognize the user's emotions. This emotion recognition analyzes emotions from the user's text using natural language processing techniques. For example, it utilizes emotion analysis engines such as TextBlob or SentiStrength.

[1148] Next, the server generates a search query based on the extracted keywords and recognized sentiment information. This generation typically uses templates to create SQL queries or specific API calls. As a concrete example, the following SQL query is generated: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'".

[1149] The server executes the generated search query against the database. Based on the results returned from the database, it uses a natural language generation model (e.g., GPT-3) to generate a response for the user. In this process, the tone and content of the response are adjusted based on the extracted keywords and sentiment information. For example, if the sentiment is "anxious," a polite response such as "The weather this weekend will be sunny, so it will be a good day to go out" will be generated.

[1150] The generated response is sent back to the terminal from the server via an HTTP response or WebSocket message. The terminal displays the received response in the user interface, which the user can then review. As a result, the user can obtain the necessary information quickly and accurately, and is provided with flexible responses that are sensitive to their emotions.

[1151] This embodiment improves user satisfaction and optimizes the user experience. For example, if a user inputs the question "What will the weather be like this weekend?" and their emotion at the time is "anxious," the system will generate and display a reassuring response such as "The weather this weekend will be sunny, so it will be a good day to go out."

[1152] The above describes the specific implementation method of this system.

[1153] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1154] Step 1:

[1155] The user inputs a natural language question into the device. The input interface is provided in the form of a text box, using the GUI components of a web browser or mobile application. Specifically, the user inputs "What's the weather like this weekend?". The entered text is temporarily stored in the device's memory. Input: User's question text. Output: Text data.

[1156] Step 2:

[1157] The terminal sends the entered question to the server using an HTTP POST request or WebSocket message. Specifically, it sends data packaged in JSON format. For example, when sending using the fetch API, a request is generated from the terminal to the server. Input: Question text. Output: Request sent to the server.

[1158] Step 3:

[1159] The server passes the question received from the terminal to the natural language processing engine. The processing engine tokenizes the text, tags it by part of speech, and performs dependency analysis. For example, it may use libraries such as NLTK or SpaCy. Input: Question text. Output: Analysis results (tokens, part-of-speech tags, dependencies).

[1160] Step 4:

[1161] The server extracts key keywords and intents from a question based on the analysis results obtained from its natural language processing engine. This helps it understand the context of the question. For example, the keywords "this weekend" and "weather" might be extracted. Input: Analysis results. Output: Key keywords and intents.

[1162] Step 5:

[1163] The server also passes the question to an emotion engine to recognize the user's emotions. This emotion recognition uses natural language processing techniques to analyze emotions from text. Specifically, it utilizes TextBlob and SentiStrength. Input: Question text. Output: Sentiment analysis results.

[1164] Step 6:

[1165] The server generates search queries based on extracted keywords and sentiment information. Templates are used to create SQL queries and specific API calls. An example of such a query is the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'". Input: Keywords and sentiment information. Output: Generated search query.

[1166] Step 7:

[1167] The server executes the generated search query against the database. The server establishes a database connection and sends the query. Specifically, it uses a database access library such as PyMySQL. Input: Search query. Output: Information retrieved from the database (weather data).

[1168] Step 8:

[1169] The server generates a response using a natural language generation model (e.g., GPT-3) based on the results returned from the database. The initial response generated will be something like, "The weather this weekend will be sunny." Input: Information from the database. Output: Initial response.

[1170] Step 9:

[1171] The server adjusts the tone and content of the response based on the results of the emotion engine. For example, if the user's emotion is "anxious," the response will be changed to a more polite phrase such as, "The weather this weekend will be sunny, so it's a great day to go out." Input: Initial response and emotion information. Output: Adjusted response corresponding to the emotion.

[1172] Step 10:

[1173] The server sends the generated response to the terminal. This transmission is again via an HTTP response or WebSocket message. Input: Adjusted response. Output: Response data sent to the terminal.

[1174] Step 11:

[1175] The terminal displays the received response on the user interface. This allows the user to confirm the response. For example, the user's screen might display "The weather this weekend will be sunny, so it's a good day to go out." Input: Response data from the server. Output: Response displayed on the user interface.

[1176] (Application Example 2)

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

[1178] Conventional natural language processing systems can generate appropriate answers to user questions, but they lack the ability to adjust those answers to consider the user's emotions. Therefore, it was difficult to provide responses that were highly satisfying to users. Furthermore, particularly in the advertising industry, it is crucial to propose appropriate advertising strategies that align with the user's emotions, but no system capable of such emotion recognition and response adjustment existed.

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

[1180] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for obtaining information from a database using the generated search queries, means for generating answers in natural language based on the obtained information, means for recognizing the user's emotions based on the generated answers, means for adjusting the tone and content of the answers based on the recognized user emotions, and means for displaying the adjusted answers to the user. This enables the generation of more appropriate answers that take the user's emotions into consideration, and in particular, enables effective responses that take the user's emotions into account when proposing advertising strategies.

[1181] "Natural language" refers to the language that humans use in everyday life, and is a form of instruction and questioning for computer programs.

[1182] A "question" is text data that a user enters in natural language to obtain specific information.

[1183] "Analysis means" refers to a system or device that analyzes an input question and extracts linguistic elements such as subject, predicate, and object.

[1184] "Keywords" are important words or phrases extracted from user questions and are used to generate search queries and search databases.

[1185] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[1186] A "database" is a collection of data built to efficiently manage and retrieve information.

[1187] A "response generation means" is a system or device that generates a response to the user in natural language based on acquired information.

[1188] "Emotion recognition" is the process of analyzing emotions from text and questions entered by the user and identifying emotional states such as "joy" or "anxiety."

[1189] "Response adjustment" is the process of modifying the tone and content of the generated response in accordance with the perceived emotions of the user.

[1190] "Display means" refers to a system or device for visually providing the user with the generated response.

[1191] System Configuration

[1192] The system that realizes this invention includes a series of processes for generating appropriate answers to questions entered by the user in natural language, and further recognizing the user's emotions and adjusting those answers accordingly. This system mainly consists of a terminal, a server, a database, and an emotion engine.

[1193] Hardware and software used

[1194] Hardware:

[1195] User terminal: Mobile device such as a smartphone

[1196] Server: A server device with high-performance computing resources.

[1197] software:

[1198] Natural Language Processing Engine: Transformers (Hugging Face)

[1199] Emotional Engine: Sentiment Analysis (Hugging Face)

[1200] Database management system: SQL or NoSQL database

[1201] Communication protocols: HTTP, WebSocket

[1202] Natural language generation models: Generative AI models (e.g., GPT-3)

[1203] Data processing and data calculation

[1204] Submitting and receiving questions

[1205] The user inputs questions about advertising strategies into their device using natural language. For example, they might input, "Please tell me effective keywords for promoting a new product targeting young people." The device then sends this question to the server. HTTP POST requests and WebSocket messages are used as communication protocols.

[1206] Question analysis and sentiment recognition

[1207] The server passes the received question to a natural language processing engine, which performs tokenization, part-of-speech tagging, and dependency analysis. This extracts the subject, predicate, and object of the question. Subsequently, it generates search queries related to advertising strategies based on the extracted keywords. In addition, an emotion engine analyzes the user's emotions and identifies emotional states such as "doubt" and "expectation."

[1208] Generating and executing search queries

[1209] The server uses the generated search query to retrieve relevant information from the database. For example, it might retrieve information related to "keywords effective for product promotion targeting young people."

[1210] Generating and displaying answers

[1211] The server uses a natural language generation model to generate a response based on the acquired information. The generated response is adjusted in tone and content, taking into account whether the user's emotions are "question" or "expectation." For example, a response like, "For new product promotions, keywords such as 'latest trends,' 'youth-oriented products,' 'stylish,' and 'trending items' are effective. If you have any further questions, we will explain in more detail," might be generated. The server sends this response to the device, and the user confirms it on the screen.

[1212] Specific example

[1213] User Questions

[1214] "What are some effective keywords for promoting new products to younger generations?"

[1215] Example of a prompt

[1216] "Advertising strategy, targeting young people, keywords, sentiment recognition, optimal"

[1217] This system allows users to receive quick, accurate, and emotionally sensitive responses, making it particularly effective in developing advertising strategies.

[1218] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1219] Step 1:

[1220] Users input questions about advertising strategies in natural language into their smartphones or other devices. For example, they might input text such as, "Please tell me effective keywords for promoting a new product targeting young people." This input data is temporarily stored in the device's memory.

[1221] Step 2:

[1222] The terminal sends the stored question data to the server using an HTTP POST request or WebSocket message. This transmitted data is packaged in JSON format.

[1223] Step 3:

[1224] The server passes the received question data to the natural language processing engine. The processing engine tokenizes the text, tags parts of speech, and performs dependency analysis to extract the subject, predicate, and object of the question. As a result of this analysis, the keywords "young people," "new product promotion," and "keywords" are extracted.

[1225] Step 4:

[1226] The server generates search queries related to advertising strategies based on the analysis results (keywords). For example, an SQL query like "SELECT keywords FROM ad_strategy WHERE target_audience = 'young people'" is generated. This query generation logic is automated using templates.

[1227] Step 5:

[1228] The server executes the generated search query against the database. The server establishes a database connection and sends the SQL query. In response to this query, the database returns relevant keyword information.

[1229] Step 6:

[1230] The server uses a natural language generation model (e.g., GPT-3) based on keyword information retrieved from the database to generate responses to the user. An example of a generated response is the text: "For new product promotions, 'latest trends,' 'products for young people,' 'stylish,' and 'trending items' are effective."

[1231] Step 7:

[1232] The server passes the generated response to an emotion recognition engine, which analyzes the user's emotions. For example, it might recognize that the user is feeling "anticipation." Based on the emotion analysis results, the tone and content of the response are adjusted. An example of a final response might be, "Please look forward to it. Keywords such as 'latest trends' and 'products for young people' are particularly effective for new product promotions."

[1233] Step 8:

[1234] The server packages the adjusted response again in JSON format and sends it to the terminal via an HTTP response or WebSocket message.

[1235] Step 9:

[1236] The terminal analyzes the received response data and displays it on the user interface. For example, the screen might display, "Stay tuned! Keywords like 'latest trends' and 'youth-oriented products' are particularly effective for new product promotions."

[1237] This series of processing steps allows users to receive quick, accurate, and emotionally sensitive answers.

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

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

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

[1241] [Fourth Embodiment]

[1242] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1255] The system of the present invention comprises a series of steps for responding to questions entered by the user in natural language, and aims to simplify user operation. The following describes specific embodiments of the system.

[1256] System Configuration

[1257] This system primarily consists of terminals, servers, and a database. The terminals, where users input questions, the servers, which analyze and process those questions, and the database, which provides information related to those questions, all work together in a coordinated manner.

[1258] Program processing

[1259] Question submission and sending

[1260] 1. The user enters a question about the information they want to search for into the device using natural language.

[1261] Example: The user enters the question, "What's the weather going to be like this weekend?"

[1262] 2. The terminal temporarily stores the entered question and sends it to the server.

[1263] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[1264] Question analysis

[1265] 3. The server analyzes the received question using a natural language processing engine and understands its syntax.

[1266] The analysis engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[1267] Example: Extract the keywords "this weekend" and "weather" from the question "What will the weather be like this weekend?".

[1268] Generating and executing search queries

[1269] 4. The server generates a search query based on the analysis results.

[1270] The generated query is applied to the database.

[1271] Example: Generate an SQL query for "This weekend's weather".

[1272] 5. The server uses the generated query to retrieve information from the database.

[1273] The information actually returned from the database is data such as "weather forecasts."

[1274] Generating and displaying answers

[1275] 6. The server generates a response in natural language based on the information it has acquired.

[1276] By using a natural language generation model, we create answers that are easy for users to understand.

[1277] Example: Based on the acquired information, generate a response such as "The weather this weekend will be sunny."

[1278] 7. The server sends the generated response to the terminal.

[1279] The device receives the response using HTTP or WebSocket.

[1280] 8. The terminal displays the received response in the user interface.

[1281] It will be displayed in a format that users can easily understand.

[1282] Specific example

[1283] The user enters the question, "What's the weather like this weekend?". The server receives this question and uses a natural language processing engine to extract the keywords "this weekend" and "weather". Next, the server generates a search query for the database based on these keywords and retrieves weather information. Based on the retrieved information, the server generates a natural language answer, "The weather this weekend will be sunny," and sends it to the terminal. Finally, the terminal displays this answer to the user, allowing the user to quickly obtain the information they need.

[1284] The above describes an embodiment for carrying out the present invention, and this system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[1285] The following describes the processing flow.

[1286] Step 1:

[1287] The user enters their search query in natural language into the terminal. The input interface is provided in the form of a text box.

[1288] Example: The user enters "What's the weather like this weekend?".

[1289] Step 2:

[1290] The terminal temporarily stores the entered question in memory. This saving operation is performed asynchronously, reducing the response time to user input.

[1291] The save format is either a simple text format or JSON format.

[1292] Step 3:

[1293] The terminal sends the saved questions to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[1294] For HTTP POST requests, the question is included in the JSON body.

[1295] Step 4:

[1296] The server passes the question received from the terminal to the analysis engine. The analysis engine uses a natural language processing library (e.g., SpaCy or NLTK) to tokenize the question, tag its parts of speech, and perform dependency analysis.

[1297] Example: Analyze "What's the weather like this weekend?" and extract "this weekend" and "weather".

[1298] Step 5:

[1299] The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[1300] Example: The engine extracts the keywords "this weekend" and "weather".

[1301] Step 6:

[1302] The server generates search queries based on the extracted keywords. This query generation logic often uses templates to create SQL queries or specific API calls.

[1303] Example: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'"

[1304] Step 7:

[1305] The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[1306] The database returns a response to the executed query.

[1307] Step 8:

[1308] The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3) to generate a response for the user.

[1309] Example: Generate the answer "The weather this weekend will be sunny."

[1310] Step 9:

[1311] The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[1312] The data sent is typically in JSON format.

[1313] Step 10:

[1314] The terminal displays the received response in the user interface. This display process uses GUI components of a web browser or mobile application.

[1315] Example: The user's screen displays "The weather this weekend will be sunny."

[1316] By following these steps, the system will be able to respond quickly and accurately to questions entered by users in natural language.

[1317] (Example 1)

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

[1319] Traditional search systems required users to create complex queries, making information retrieval difficult. Furthermore, the answers were often mechanical and hard to understand. In addition, search results were sometimes not displayed quickly, resulting in a poor user experience.

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

[1321] In this invention, the server includes means for receiving questions entered by the user in natural language, means for temporarily storing the received questions and sending them to the server, means for analyzing the received questions with a natural language processing engine and extracting important keywords, means for generating a search query based on the extracted keywords, means for retrieving information from a database using the generated search query, means for generating an answer using a natural language generation model based on the retrieved information, and means for displaying the generated answer to the user. As a result, the user can quickly and accurately obtain information by entering questions in natural language and receive answers in an easy-to-understand format.

[1322] A "user" is an entity that enters a question into a system for the purpose of searching for information.

[1323] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is a natural form of language that is not a specific programming language.

[1324] A "question" is a query entered by a user to obtain information.

[1325] A "terminal" is a device used by a user to input questions and display answers.

[1326] A "server" is the primary computer system that receives and analyzes user queries and interacts with the database.

[1327] A "natural language processing engine" is a software tool that analyzes input natural language text to understand its meaning and structure.

[1328] "Keywords" are important words or phrases extracted from a question that are necessary for a search.

[1329] A "search query" is a specific set of instructions generated to retrieve information from a database.

[1330] A "database" is an organized collection of data designed to efficiently store and retrieve information.

[1331] A "natural language generation model" is a machine learning model that generates responses in a format that is easy for users to understand, based on the information it has acquired.

[1332] An "answer" is the information that the system provides in response to a user's question.

[1333] The system of the present invention comprises a series of steps for providing expert responses to questions entered by the user in natural language, and aims to simplify user operation. This system mainly consists of a terminal, a server, and a database. The terminal in which the user enters questions, the server that analyzes and processes the questions, and the database that provides information about the questions all work together.

[1334] System Configuration

[1335] 1. Terminal

[1336] This is a device for users to input questions and view answers. Examples of such devices include personal computers, smartphones, and tablets. The device has the functionality to temporarily store questions entered in natural language and send those questions to a server.

[1337] 2. Server

[1338] This system analyzes received questions using a natural language processing engine and extracts important keywords. This involves processes such as text tokenization, part-of-speech tagging, and dependency analysis. Specifically, natural language processing libraries such as SpaCy and NLTK are used.

[1339] 3. Database

[1340] This is a data storage system that provides information based on search queries generated by the server. Commercially used database management systems such as MySQL and PostgreSQL are employed for the database.

[1341] Specific actions

[1342] The specific operation of the present invention is described below.

[1343] Submitting and receiving questions

[1344] The user enters the question "What's the weather like this weekend?" into the device using natural language. The device temporarily stores this question in memory and sends it to the server using an HTTP POST request or WebSocket. Specifically, the following HTTP POST request is used:

[1345] POST / api / question

[1346] Content-Type: application / json

[1347] {

[1348] "Question": "What's the weather like this weekend?"

[1349] }

[1350] Question analysis

[1351] The server processes the received question using a natural language processing engine. The processing engine tokenizes the text, performs part-of-speech tagging and dependency analysis, and extracts important keywords. For example, in the question "What's the weather like this weekend?", keywords such as "this weekend" and "weather" are extracted. Commonly used tools such as SpaCy and NLTK are used for this analysis.

[1352] Generating and executing search queries

[1353] The server generates a search query based on the extracted keywords. This query is applied to the database and used to retrieve weather information. For example, the following SQL query is generated:

[1354] SQL

[1355] SELECT forecast FROM weather_data WHERE date >= CURDATE() AND date <= DATE_ADD(CURDATE(), INTERVAL 3 DAY);

[1356] Generating and displaying answers

[1357] The server generates responses using a natural language generation model based on the acquired information. By using generative AI models such as GPT-3, responses are created in a format that is easy for the user to understand. For example, the following prompt sentence may be given:

[1358] Prompt: Based on the weather forecast data "sunny," create the answer "The weather this weekend will be sunny."

[1359] The server sends the generated response back to the terminal. The terminal receives this response and displays it in the user interface. The user can then review the displayed response and obtain the necessary information.

[1360] The above describes the embodiments for carrying out the present invention. This system eliminates the need for users to create complex search queries, enabling them to obtain the necessary information quickly and accurately.

[1361] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1362] Step 1:

[1363] The user enters the question into the terminal using natural language.

[1364] Example: Enter "What's the weather like this weekend?"

[1365] Input: User's natural language question.

[1366] Output: The question has been entered.

[1367] Step 2:

[1368] The terminal temporarily stores the entered question and sends it to the server.

[1369] Specific operation: The terminal sends questions to the server using HTTP POST requests or WebSocket connections.

[1370] Input: Saved question text.

[1371] Output: Question data sent to the server.

[1372] Step 3:

[1373] The server analyzes the received question using a natural language processing engine.

[1374] Specific operation: Tokenizes text, tags it with parts of speech, and performs dependency analysis. Libraries such as SpaCy and NLTK are used for analysis.

[1375] Input: The question text sent to the server.

[1376] Output: Analyzed text data (keywords)

[1377] Step 4:

[1378] The server generates a search query based on the extracted keywords.

[1379] Specific operation: Generate an SQL query based on extracted keywords (e.g., "this weekend", "weather").

[1380] Input: Analyzed text data (keywords)

[1381] Output: Generated SQL query

[1382] Step 5:

[1383] The server uses the generated query to retrieve information from the database.

[1384] Specific operation: Executes a generated SQL query against the database and retrieves relevant information. For example, retrieves weather information.

[1385] Input: Generated SQL query

[1386] Output: Information retrieved from the database

[1387] Step 6:

[1388] The server generates responses using a natural language generation model based on the acquired information.

[1389] Specific operation: Use generative AI models such as GPT-3 to convert data into a format that is easily understood in natural language.

[1390] Input: Information retrieved from the database

[1391] Output: Answer generated in natural language format

[1392] Step 7:

[1393] The server sends the generated response to the terminal.

[1394] Specific operation: The generated response is sent to the terminal as an HTTP response or WebSocket message.

[1395] Input: Answer generated in natural language format

[1396] Output: Submitted response data

[1397] Step 8:

[1398] The terminal displays the received response in the user interface.

[1399] Specific operation: The answer will be displayed on the device screen or application in a format that is easy for the user to understand.

[1400] Input: Response data sent from the server

[1401] Output: Displayed answer

[1402] The above outlines the specific processing steps. This system allows users to input questions in natural language and quickly obtain accurate information in an easy-to-understand format.

[1403] (Application Example 1)

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

[1405] In recent years, with the increasing automation in factories, there is a growing need for robots to provide quick and accurate answers when workers ask them questions. However, with conventional systems, it is difficult for workers to immediately acquire specific operating procedures or troubleshooting methods, resulting in work efficiency issues and time-consuming training and education.

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

[1407] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for retrieving information from a database using the generated search queries, means for generating answers in natural language based on the retrieved information, means for displaying the generated answers to the user, and a robot that provides machine operation instructions in natural language. This enables workers to quickly acquire work procedures and problem-solving methods in real time, thereby improving production efficiency in the factory and the efficiency of worker training.

[1408] A "user" is someone who uses the system to input questions in natural language.

[1409] "Natural language" refers to the language that humans use on a daily basis, and it encompasses free linguistic expression that is not bound by any specific form.

[1410] "Means for receiving questions" refers to a mechanism for incorporating questions from users in natural language into the system.

[1411] "Means for analysis and extraction of important keywords" refers to a function that analyzes the input natural language question, understands the intent of the question, and extracts the main keywords.

[1412] "Means for generating search queries" refers to a function that creates queries for database searches based on extracted keywords.

[1413] "Means of retrieving information from a database" refers to a function that uses a generated search query to retrieve information stored in the database.

[1414] A "means of generating answers in natural language" is a system that creates answers in a natural language format that is easy for the user to understand, based on the information obtained.

[1415] "Means for displaying generated answers to the user" refers to a function that outputs the generated answers in a format that the user can review.

[1416] A "robot" is a machine that performs various tasks automatically. In particular, in this invention, it refers to a robot that has the function of providing instructions for operating the machine in natural language.

[1417] The system of this invention comprises a series of steps for a robot to respond to questions entered by a user in natural language. To realize this system, various hardware and software components are required, and their respective functions must work in coordination. The details are described below.

[1418] hardware

[1419] 1. Robot body: This is the main device for receiving, analyzing, and providing answers to questions.

[1420] 2. Microphone: A device that acquires the user's voice input.

[1421] 3. Speaker: A device that presents the user with answers generated in natural language via voice.

[1422] software

[1423] 1. Natural Language Processing Engine: For example, use spaCy or BERT to analyze the question content and extract important keywords.

[1424] 2. Database: For example, use a database such as PostgreSQL to store and retrieve information based on search queries.

[1425] 3. Communication Protocol: HTTP or WebSocket is used for data communication between the server and the robot.

[1426] 4. Natural Language Generation Model: For example, GPT-3.5 is used to generate responses in natural language based on the acquired information.

[1427] Program processing

[1428] The server receives a question voiced by the user through a microphone and converts the speech into text. Next, the server analyzes the text using a natural language processing engine and extracts key keywords. Based on the extracted keywords, it generates a search query to retrieve appropriate information from the database. Using the generated search query, it retrieves information from the database and generates an answer using a natural language generation model based on that information. The generated answer is then sent back to the robot and presented to the user audibly through a speaker.

[1429] Specific example

[1430] For example, if a worker asks a robot, "Please tell me the maintenance procedure for this machine," the following process will occur.

[1431] The robot's microphone captures the audio and converts it into text.

[1432] The server uses a natural language processing engine to extract important keywords such as "machine," "maintenance," and "procedure."

[1433] Based on these keywords, an appropriate search query is generated for the database.

[1434] Retrieve maintenance procedure information for "this machine" from the database.

[1435] Using a natural language generation model, the system generates natural language responses such as, "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[1436] Finally, the robot communicates the generated answer to the worker via a speaker.

[1437] Example of a prompt

[1438] Question: "Please tell me the maintenance procedure for this machine."

[1439] Name entities: Machinery, Maintenance, Procedure

[1440] SQL query: SELECT FROM Maintenance_Procedures WHERE machine='this machine'

[1441] Answer: "The maintenance procedure for this machine is as follows: 1. Turn off the power. 2. Remove the cover. 3. Replace the filter. 4. Put the cover back on..."

[1442] This specific example demonstrates how factory robots can quickly provide relevant information, maximizing work efficiency.

[1443] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1444] Step 1:

[1445] The server acquires the audio input from the user via the microphone and converts it into text. Specifically, it uses a speech recognition engine (e.g., Google Speech-to-Text API) to convert the audio data (input) into text data (output).

[1446] Step 2:

[1447] The server passes the acquired text data to a natural language processing engine for analysis. Specifically, it tokenizes the text, tags it with parts of speech, and performs dependency analysis. This extracts key keywords (data processing) and generates a keyword list (output).

[1448] Step 3:

[1449] The server generates a search query based on the keyword list. Specifically, it constructs an appropriate SQL query based on the extracted keywords. This process generates an SQL query (output) from the keyword list (input).

[1450] Step 4:

[1451] The server retrieves the necessary information from the database using the generated SQL query. Specifically, it executes an SQL query against the database (e.g., PostgreSQL) and retrieves the relevant information. In this process, search results (output) are obtained based on the SQL query (input).

[1452] Step 5:

[1453] The server passes the acquired information to a natural language generation model to generate user-friendly responses. Specifically, it uses a natural language generation model (e.g., GPT-3.5) to generate natural language responses (output) from search results (input).

[1454] Step 6:

[1455] The server sends the generated response text to the robot, which then presents it to the user via a speaker. Specifically, the response text (input) is processed by a speech synthesis engine (e.g., Google Text-to-Speech API) to create audio data (output), which is then played back through the speaker.

[1456] Step 7:

[1457] The user receives the voice response provided by the robot and obtains the necessary information. In this step, the voice data (input) directly leads to the user's understanding (output).

[1458] In this way, through a series of steps, users can input questions in natural language and receive quick and accurate answers from the robot.

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

[1460] This invention relates to a system that generates appropriate answers to questions entered by a user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. Specific embodiments of this system are described in detail below.

[1461] System Configuration

[1462] This system primarily consists of terminals, servers, and a database. The terminals where users input questions, the servers that analyze and process those questions, and the database that provides information related to those questions all work together in coordination. Furthermore, it incorporates an "emotion engine" that recognizes the user's emotions.

[1463] Program processing

[1464] Question submission and sending

[1465] 1. The user enters a question about the information they want to search for into the terminal using natural language. The input interface is provided in the form of a text box.

[1466] Example: The user enters "What's the weather like this weekend?".

[1467] 2. The terminal temporarily stores the entered question in memory and sends it to the server. This transmission uses either an HTTP POST request or a WebSocket message.

[1468] The transmission method uses communication protocols such as HTTP requests and WebSockets.

[1469] Question analysis and sentiment recognition

[1470] 3. The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as text tokenization, part-of-speech tagging, and dependency analysis.

[1471] Example: Analyze the question "What's the weather like this weekend?" and extract "this weekend" and "weather".

[1472] 4. The server receives the results from the analysis engine and extracts key keywords and intents. Based on this information, it understands the context of the user's question.

[1473] Example: The engine extracts the keywords "this weekend" and "weather".

[1474] 5. The server also passes the question to the sentiment engine to recognize the user's emotions. The sentiment engine uses natural language processing techniques to analyze the user's emotions from their text.

[1475] Example: Determining the user's emotions from their context and phrasing, and recognizing states such as "excitement" or "calmness."

[1476] Generating and executing search queries

[1477] 6. The server generates search queries based on the extracted keywords and user sentiment information. This query generation logic often uses templates to create SQL or specific API calls.

[1478] Example: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'"

[1479] 7. The server executes the generated search query against the database. The server establishes a database connection for this query execution and sends the query.

[1480] The database returns a response to the executed query.

[1481] Generating and displaying answers

[1482] 8. The server receives the results returned from the database and begins processing to generate a response in natural language. It uses a natural language generation model (e.g., GPT-3) to generate a response for the user.

[1483] Example: Generate the answer "The weather this weekend will be sunny."

[1484] 9. The server adjusts the tone and content of its responses based on the results of the emotion engine. For example, if the emotion is "anxiety," the server will provide the response in more polite language.

[1485] For example, if the emotion is "anxiety," you might say, "The weather this weekend will be sunny, so it's a great day to go out."

[1486] 10. The server sends the generated response to the terminal. This transmission is again done via an HTTP response or WebSocket message.

[1487] The data sent is typically in JSON format.

[1488] 11. The terminal displays the received response in the user interface. This display process uses the GUI components of a web browser or mobile application.

[1489] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[1490] Specific example

[1491] The user enters the question, "What's the weather like this weekend?" The server analyzes this question, extracts the keywords "this weekend" and "weather," and the emotion engine recognizes the emotion "excitement." Based on this information, the server generates a search query for the database and retrieves weather information. The server then uses this information to generate the answer, "The weather this weekend will be sunny, so it's a good day to go out," and sends it to the terminal. The terminal displays this answer in the user interface, allowing the user to quickly obtain the necessary information.

[1492] The above describes a specific embodiment of the present invention combined with an emotion engine. This system allows users to obtain necessary information quickly and accurately, and also enables flexible responses that respond to emotions.

[1493] The following describes the processing flow.

[1494] Step 1:

[1495] The user enters a question about the information they want to search for into the device using natural language. For example, they might type "What's the weather like this weekend?" into the device's text input field. The entered data is immediately saved to the device.

[1496] Step 2:

[1497] The terminal sends the question data entered by the user to the server. This transmission process uses either an HTTP POST request or a WebSocket message. The transmitted data is packaged in JSON format.

[1498] Example: JSON data will be sent in the format {"question": "What will the weather be like this weekend?"}.

[1499] Step 3:

[1500] The server passes the question data received from the terminal to the analysis engine. This engine uses a natural language processing library (e.g., SpaCy, NLTK) to tokenize the question text, tag parts of speech, and analyze dependencies.

[1501] The analysis results are extracted as keywords: "this weekend" and "weather".

[1502] Step 4:

[1503] Based on the analysis results, the server extracts important keywords from the question text. These keywords form the basis for generating the search query.

[1504] Example: Identify "this weekend" and "weather" as keywords.

[1505] Step 5:

[1506] The server passes the question to the emotion engine, which analyzes the user's emotions. The emotion engine uses natural language processing techniques to determine a specific emotion (e.g., joy, sadness, anger, anxiety, etc.) from the user's question.

[1507] Example: Recognizing emotions such as "excitement" from the question.

[1508] Step 6:

[1509] The server generates search queries based on extracted keywords and sentiment information. These queries are then executed against databases or external APIs.

[1510] Example: Generate the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'" to retrieve weather information.

[1511] Step 7:

[1512] The server executes the generated search query against the database. It establishes a database connection and sends the query. The database returns results corresponding to the query.

[1513] Example: Retrieve information about the weather condition ("sunny") by executing a query.

[1514] Step 8:

[1515] The server receives results from the database and generates a response in natural language. A natural language generation model is used to create the response in a format that is easy for the user to understand.

[1516] Example: Based on the acquired data, generate the answer "The weather this weekend will be sunny."

[1517] Step 9:

[1518] Based on the results of the emotion engine, the server adjusts the tone and content of the generated response. For example, if the user is "anxious," the response will be provided in a more reassuring tone.

[1519] For example, adjust the conversation by saying, "The weather forecast for this weekend is sunny, so it's a great day to go out."

[1520] Step 10:

[1521] The server sends the adjusted response to the terminal, again using an HTTP response or WebSocket message.

[1522] The transmitted data is in the format {"response": "The weather this weekend will be sunny, so it's a great day to go out."}.

[1523] Step 11:

[1524] The device displays the received response in the user interface. This display is done using GUI components of a web browser or mobile app. The user confirms the response on the screen.

[1525] Example: The user's screen displays "The weather this weekend will be sunny, so it's a great day to go out."

[1526] By following these steps, users can obtain quick and accurate answers to questions entered in natural language, and even receive appropriate responses that reflect their emotions.

[1527] (Example 2)

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

[1529] Conventional natural language processing systems cannot consider user emotions when generating answers to user questions. Therefore, they struggle to provide flexible responses that align with user emotions, resulting in insufficient improvement in satisfaction and optimization of the user experience.

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

[1531] In this invention, the server includes means for receiving user-inputted questions in natural language, means for analyzing the received questions and extracting important keywords, and means for generating search queries based on the extracted keywords. This enables flexible responses that respond to the user's emotions.

[1532] A "natural language processing engine" is software that tokenizes input text, tags it by part of speech, and analyzes dependencies.

[1533] "Keywords" are important words or phrases extracted through the analysis of a question to identify its intent.

[1534] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[1535] A "database" is an information system that systematically organizes and stores information, making it accessible and searchable.

[1536] A "natural language generation model" is a machine learning model that generates natural language text based on input data.

[1537] An "emotion engine" is software that recognizes and analyzes a user's emotions from the input text.

[1538] A "user interface" refers to the input and display devices and software that allow a user to interact with a system.

[1539] An "HTTP POST request" is a type of communication protocol used to send data to a server over the internet.

[1540] A "WebSocket message" is a unit of data transmitted and received over a protocol that enables bidirectional communication.

[1541] "Tokenization" is the process of dividing text into meaningful units (tokens).

[1542] "Part-of-speech tagging" is the process of assigning a part of speech (noun, verb, etc.) to each token.

[1543] "Dependency analysis" is the process of analyzing the grammatical relationships between each token in a sentence.

[1544] "Memory" refers to a hardware or software area used to temporarily store data.

[1545] An "HTTP response" is a response message sent from a server to a client.

[1546] JSON format is a lightweight data exchange format for structuring, storing, and transmitting data.

[1547] A "user interface" is a means by which a user interacts with a system, and primarily includes displays and input devices.

[1548] This invention is a system that generates appropriate answers to questions entered by the user in natural language, and further recognizes the user's emotions and adjusts those answers accordingly. This system primarily operates with the user, terminal, and server as its main components, and is implemented through the following specific procedures.

[1549] The user first enters a question into the terminal using natural language. The input interface is provided in the form of a text box, and can use GUI components from a web browser or mobile application, for example. As a concrete example, the user enters "What's the weather like this weekend?"

[1550] The entered questions are temporarily stored in the terminal's memory and sent to the server via an HTTP POST request or WebSocket message. The transmitted data is typically packaged in JSON format.

[1551] The server passes the question received from the terminal to the natural language processing engine. The processing engine performs tasks such as tokenizing the text, tagging parts of speech, and analyzing dependencies. For example, NLTK or SpaCy can be used as natural language processing libraries. This extracts important keywords such as "this weekend" and "weather" from the question "What's the weather like this weekend?".

[1552] Based on the extracted keywords, the server grasps the intent behind the question and uses an emotion engine to recognize the user's emotions. This emotion recognition analyzes emotions from the user's text using natural language processing techniques. For example, it utilizes emotion analysis engines such as TextBlob or SentiStrength.

[1553] Next, the server generates a search query based on the extracted keywords and recognized sentiment information. This generation typically uses templates to create SQL queries or specific API calls. As a concrete example, the following SQL query is generated: "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'".

[1554] The server executes the generated search query against the database. Based on the results returned from the database, it uses a natural language generation model (e.g., GPT-3) to generate a response for the user. In this process, the tone and content of the response are adjusted based on the extracted keywords and sentiment information. For example, if the sentiment is "anxious," a polite response such as "The weather this weekend will be sunny, so it will be a good day to go out" will be generated.

[1555] The generated response is sent back to the terminal from the server via an HTTP response or WebSocket message. The terminal displays the received response in the user interface, which the user can then review. As a result, the user can obtain the necessary information quickly and accurately, and is provided with flexible responses that are sensitive to their emotions.

[1556] This embodiment improves user satisfaction and optimizes the user experience. For example, if a user inputs the question "What will the weather be like this weekend?" and their emotion at the time is "anxious," the system will generate and display a reassuring response such as "The weather this weekend will be sunny, so it will be a good day to go out."

[1557] The above describes the specific implementation method of this system.

[1558] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1559] Step 1:

[1560] The user inputs a natural language question into the device. The input interface is provided in the form of a text box, using the GUI components of a web browser or mobile application. Specifically, the user inputs "What's the weather like this weekend?". The entered text is temporarily stored in the device's memory. Input: User's question text. Output: Text data.

[1561] Step 2:

[1562] The terminal sends the entered question to the server using an HTTP POST request or WebSocket message. Specifically, it sends data packaged in JSON format. For example, when sending using the fetch API, a request is generated from the terminal to the server. Input: Question text. Output: Request sent to the server.

[1563] Step 3:

[1564] The server passes the question received from the terminal to the natural language processing engine. The processing engine tokenizes the text, tags it by part of speech, and performs dependency analysis. For example, it may use libraries such as NLTK or SpaCy. Input: Question text. Output: Analysis results (tokens, part-of-speech tags, dependencies).

[1565] Step 4:

[1566] The server extracts key keywords and intents from a question based on the analysis results obtained from its natural language processing engine. This helps it understand the context of the question. For example, the keywords "this weekend" and "weather" might be extracted. Input: Analysis results. Output: Key keywords and intents.

[1567] Step 5:

[1568] The server also passes the question to an emotion engine to recognize the user's emotions. This emotion recognition uses natural language processing techniques to analyze emotions from text. Specifically, it utilizes TextBlob and SentiStrength. Input: Question text. Output: Sentiment analysis results.

[1569] Step 6:

[1570] The server generates search queries based on extracted keywords and sentiment information. Templates are used to create SQL queries and specific API calls. An example of such a query is the SQL query "SELECT weather FROM forecasts WHERE date BETWEEN '2023-10-07' AND '2023-10-08'". Input: Keywords and sentiment information. Output: Generated search query.

[1571] Step 7:

[1572] The server executes the generated search query against the database. The server establishes a database connection and sends the query. Specifically, it uses a database access library such as PyMySQL. Input: Search query. Output: Information retrieved from the database (weather data).

[1573] Step 8:

[1574] The server generates a response using a natural language generation model (e.g., GPT-3) based on the results returned from the database. The initial response generated will be something like, "The weather this weekend will be sunny." Input: Information from the database. Output: Initial response.

[1575] Step 9:

[1576] The server adjusts the tone and content of the response based on the results of the emotion engine. For example, if the user's emotion is "anxious," the response will be changed to a more polite phrase such as, "The weather this weekend will be sunny, so it's a great day to go out." Input: Initial response and emotion information. Output: Adjusted response corresponding to the emotion.

[1577] Step 10:

[1578] The server sends the generated response to the terminal. This transmission is again via an HTTP response or WebSocket message. Input: Adjusted response. Output: Response data sent to the terminal.

[1579] Step 11:

[1580] The terminal displays the received response on the user interface. This allows the user to confirm the response. For example, the user's screen might display "The weather this weekend will be sunny, so it's a good day to go out." Input: Response data from the server. Output: Response displayed on the user interface.

[1581] (Application Example 2)

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

[1583] Conventional natural language processing systems can generate appropriate answers to user questions, but they lack the ability to adjust those answers to consider the user's emotions. Therefore, it was difficult to provide responses that were highly satisfying to users. Furthermore, particularly in the advertising industry, it is crucial to propose appropriate advertising strategies that align with the user's emotions, but no system capable of such emotion recognition and response adjustment existed.

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

[1585] In this invention, the server includes means for receiving questions entered by the user in natural language, means for analyzing the received questions and extracting important keywords, means for generating search queries based on the extracted keywords, means for obtaining information from a database using the generated search queries, means for generating answers in natural language based on the obtained information, means for recognizing the user's emotions based on the generated answers, means for adjusting the tone and content of the answers based on the recognized user emotions, and means for displaying the adjusted answers to the user. This enables the generation of more appropriate answers that take the user's emotions into consideration, and in particular, enables effective responses that take the user's emotions into account when proposing advertising strategies.

[1586] "Natural language" refers to the language that humans use in everyday life, and is a form of instruction and questioning for computer programs.

[1587] A "question" is text data that a user enters in natural language to obtain specific information.

[1588] "Analysis means" refers to a system or device that analyzes an input question and extracts linguistic elements such as subject, predicate, and object.

[1589] "Keywords" are important words or phrases extracted from user questions and are used to generate search queries and search databases.

[1590] A "search query" is a statement of inquiry generated to retrieve specific information from a database.

[1591] A "database" is a collection of data built to efficiently manage and retrieve information.

[1592] A "response generation means" is a system or device that generates a response to the user in natural language based on acquired information.

[1593] "Emotion recognition" is the process of analyzing emotions from text and questions entered by the user and identifying emotional states such as "joy" or "anxiety."

[1594] "Response adjustment" is the process of modifying the tone and content of the generated response in accordance with the perceived emotions of the user.

[1595] "Display means" refers to a system or device for visually providing the user with the generated response.

[1596] System Configuration

[1597] The system that realizes this invention includes a series of processes for generating appropriate answers to questions entered by the user in natural language, and further recognizing the user's emotions and adjusting those answers accordingly. This system mainly consists of a terminal, a server, a database, and an emotion engine.

[1598] Hardware and software used

[1599] Hardware:

[1600] User terminal: Mobile device such as a smartphone

[1601] Server: A server device with high-performance computing resources.

[1602] software:

[1603] Natural Language Processing Engine: Transformers (Hugging Face)

[1604] Emotional Engine: Sentiment Analysis (Hugging Face)

[1605] Database management system: SQL or NoSQL database

[1606] Communication protocols: HTTP, WebSocket

[1607] Natural language generation models: Generative AI models (e.g., GPT-3)

[1608] Data processing and data calculation

[1609] Submitting and receiving questions

[1610] The user inputs questions about advertising strategies into their device using natural language. For example, they might input, "Please tell me effective keywords for promoting a new product targeting young people." The device then sends this question to the server. HTTP POST requests and WebSocket messages are used as communication protocols.

[1611] Question analysis and sentiment recognition

[1612] The server passes the received question to a natural language processing engine, which performs tokenization, part-of-speech tagging, and dependency analysis. This extracts the subject, predicate, and object of the question. Subsequently, it generates search queries related to advertising strategies based on the extracted keywords. In addition, an emotion engine analyzes the user's emotions and identifies emotional states such as "doubt" and "expectation."

[1613] Generating and executing search queries

[1614] The server uses the generated search query to retrieve relevant information from the database. For example, it might retrieve information related to "keywords effective for product promotion targeting young people."

[1615] Generating and displaying answers

[1616] The server uses a natural language generation model to generate a response based on the acquired information. The generated response is adjusted in tone and content, taking into account whether the user's emotions are "question" or "expectation." For example, a response like, "For new product promotions, keywords such as 'latest trends,' 'youth-oriented products,' 'stylish,' and 'trending items' are effective. If you have any further questions, we will explain in more detail," might be generated. The server sends this response to the device, and the user confirms it on the screen.

[1617] Specific example

[1618] User Questions

[1619] "What are some effective keywords for promoting new products to younger generations?"

[1620] Example of a prompt

[1621] "Advertising strategy, targeting young people, keywords, sentiment recognition, optimal"

[1622] This system allows users to receive quick, accurate, and emotionally sensitive responses, making it particularly effective in developing advertising strategies.

[1623] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1624] Step 1:

[1625] Users input questions about advertising strategies in natural language into their smartphones or other devices. For example, they might input text such as, "Please tell me effective keywords for promoting a new product targeting young people." This input data is temporarily stored in the device's memory.

[1626] Step 2:

[1627] The terminal sends the stored question data to the server using an HTTP POST request or WebSocket message. This transmitted data is packaged in JSON format.

[1628] Step 3:

[1629] The server passes the received question data to the natural language processing engine. The processing engine tokenizes the text, tags parts of speech, and performs dependency analysis to extract the subject, predicate, and object of the question. As a result of this analysis, the keywords "young people," "new product promotion," and "keywords" are extracted.

[1630] Step 4:

[1631] The server generates search queries related to advertising strategies based on the analysis results (keywords). For example, an SQL query like "SELECT keywords FROM ad_strategy WHERE target_audience = 'young people'" is generated. This query generation logic is automated using templates.

[1632] Step 5:

[1633] The server executes the generated search query against the database. The server establishes a database connection and sends the SQL query. In response to this query, the database returns relevant keyword information.

[1634] Step 6:

[1635] The server uses a natural language generation model (e.g., GPT-3) based on keyword information retrieved from the database to generate responses to the user. An example of a generated response is the text: "For new product promotions, 'latest trends,' 'products for young people,' 'stylish,' and 'trending items' are effective."

[1636] Step 7:

[1637] The server passes the generated response to an emotion recognition engine, which analyzes the user's emotions. For example, it might recognize that the user is feeling "anticipation." Based on the emotion analysis results, the tone and content of the response are adjusted. An example of a final response might be, "Please look forward to it. Keywords such as 'latest trends' and 'products for young people' are particularly effective for new product promotions."

[1638] Step 8:

[1639] The server packages the adjusted response again in JSON format and sends it to the terminal via an HTTP response or WebSocket message.

[1640] Step 9:

[1641] The terminal analyzes the received response data and displays it on the user interface. For example, the screen might display, "Stay tuned! Keywords like 'latest trends' and 'youth-oriented products' are particularly effective for new product promotions."

[1642] This series of processing steps allows users to receive quick, accurate, and emotionally sensitive answers.

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

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

[1645] 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 robot 414.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1663] 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 to be incorporated by reference.

[1664] The following is further disclosed regarding the embodiments described above.

[1665] (Claim 1)

[1666] A means of receiving questions entered by users in natural language,

[1667] A method for analyzing the received questions and extracting important keywords,

[1668] A means of generating search queries based on extracted keywords,

[1669] A means of retrieving information from a database using a generated search query,

[1670] A method for generating answers in natural language based on acquired information,

[1671] A means of displaying the generated response to the user,

[1672] A system that includes this.

[1673] (Claim 2)

[1674] The system according to claim 1, further comprising means for analyzing a question using a natural language processing engine and extracting the subject, predicate, and object.

[1675] (Claim 3)

[1676] The system according to claim 1, further comprising means for generating a response based on information obtained using a natural language generation model.

[1677] "Example 1"

[1678] (Claim 1)

[1679] A means of receiving questions entered by users in natural language,

[1680] A means of temporarily storing the received questions and sending them to the server,

[1681] A method for analyzing received questions using a natural language processing engine and extracting important keywords,

[1682] A means of generating search queries based on extracted keywords,

[1683] A means of retrieving information from a database using a generated search query,

[1684] A means of generating a response using a natural language generation model based on acquired information,

[1685] A means of displaying the generated response to the user,

[1686] A system that includes this.

[1687] (Claim 2)

[1688] The system according to claim 1, further comprising means for analyzing a question using a natural language processing engine and extracting key keywords.

[1689] (Claim 3)

[1690] The system according to claim 1, further comprising means for generating a response based on information obtained using a natural language generation model.

[1691] "Application Example 1"

[1692] (Claim 1)

[1693] A means of receiving questions entered by users in natural language,

[1694] A method for analyzing the received questions and extracting important keywords,

[1695] A means of generating search queries based on extracted keywords,

[1696] A means of retrieving information from a database using a generated search query,

[1697] A method for generating answers in natural language based on acquired information,

[1698] A means of displaying the generated response to the user,

[1699] A robot that provides machine operation instructions in natural language,

[1700] A system that includes this.

[1701] (Claim 2)

[1702] The system according to claim 1, further comprising means for analyzing a question using a natural language processing engine and extracting the subject, predicate, and object.

[1703] (Claim 3)

[1704] The system according to claim 1, further comprising means for generating a response based on information obtained using a natural language generation model.

[1705] "Example 2 of combining an emotion engine"

[1706] (Claim 1)

[1707] A means of receiving questions entered by users in natural language,

[1708] A method for analyzing the received questions and extracting important keywords,

[1709] A means of generating search queries based on extracted keywords,

[1710] A means of retrieving information from a database using a generated search query,

[1711] A method for generating answers in natural language based on acquired information,

[1712] A means of displaying the generated response to the user,

[1713] A means of recognizing the user's emotions and adjusting the response based on those emotions,

[1714] A system that includes this.

[1715] (Claim 2)

[1716] The system according to claim 1, further comprising means for analyzing a question using a natural language processing engine and extracting the subject, predicate, and object.

[1717] (Claim 3)

[1718] The system according to claim 1, further comprising means for generating a response based on information obtained using a natural language generation model.

[1719] "Application example 2 when combining with an emotional engine"

[1720] (Claim 1)

[1721] A means of receiving questions entered by users in natural language,

[1722] A method for analyzing the received questions and extracting important keywords,

[1723] A means of generating search queries based on extracted keywords,

[1724] A means of retrieving information from a database using a generated search query,

[1725] A method for generating answers in natural language based on acquired information,

[1726] A means of recognizing the user's emotions based on the generated response,

[1727] A means of adjusting the tone and content of responses based on the recognized user's emotions,

[1728] A means of displaying the adjusted response to the user,

[1729] A system that includes this.

[1730] (Claim 2)

[1731] The system according to claim 1, further comprising means for analyzing a question using a natural language processing engine and extracting the subject, predicate, and object.

[1732] (Claim 3)

[1733] The system according to claim 1, further comprising means for generating a response based on information obtained using a natural language generation model. [Explanation of Symbols]

[1734] 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 receiving questions entered by users in natural language, A method for analyzing the received questions and extracting important keywords, A means of generating search queries based on extracted keywords, A means of retrieving information from a database using a generated search query, A method for generating answers in natural language based on acquired information, A means of displaying the generated response to the user, A system that includes this.

2. The system according to claim 1, further comprising means for analyzing a question using a natural language processing engine and extracting the subject, predicate, and object.

3. The system according to claim 1, further comprising means for generating a response based on information obtained using a natural language generation model.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A