system

The system addresses the challenge of inadequate IT support by using natural language processing and server interactions to deliver rapid and precise information, enhancing productivity.

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

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-10-02
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing systems fail to provide 24-hour support for IT and OA equipment issues, leading to decreased productivity due to inadequate information access and support, especially in enterprises.

Method used

A system that receives user messages, analyzes them using a natural language processing engine, requests data from a server based on analysis, and displays the results to users, enabling quick and accurate information retrieval from internal databases and external resources.

Benefits of technology

Enables employees to receive timely and appropriate support, improving operational efficiency by providing quick and accurate information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064780000001_ABST
    Figure 2026064780000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means of receiving messages entered by the user, A means of sending a message to a natural language processing engine and receiving the analysis results, A means of requesting data and processing from the server based on the analysis results, A means of displaying data received from the server 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, the method including receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In recent years, in enterprises, employees are required to access various information and tools in order to perform their work efficiently and quickly. However, especially when problems occur related to IT and OA equipment, it is difficult to receive appropriate support, and productivity often decreases. Also, although there are systems that provide solutions to these problems, systems that can provide 24-hour support are limited, and there is a need to provide information quickly and accurately. The present invention solves such problems and provides a system that enables employees to receive appropriate support at any time of the day or night.

Means for Solving the Problems

[0005] The present invention for solving the above problems provides a system including the following means.

[0006] A means of receiving messages entered by the user,

[0007] A means of sending a message to a natural language processing engine and receiving the analysis results,

[0008] A means of requesting data and processing from the server based on the analysis results,

[0009] Includes means for displaying data received from the server to the user.

[0010] Furthermore, the system includes means for searching and retrieving appropriate information from a specific database based on the analysis results, and means for retrieving information from external resources in response to requests based on the analysis results, thereby enabling the provision of information quickly and accurately.

[0011] "User" refers to an individual or group that uses the system.

[0012] "Input messages" refer to information that users send to the system in text format.

[0013] "Means of receiving" refers to the function that allows the system to receive messages from users.

[0014] A "natural language processing engine" refers to a component that analyzes text data and executes algorithms to understand the meaning and intent of the language.

[0015] "Analysis results" refer to data that shows the content and intent of a message as analyzed by a natural language processing engine.

[0016] "Means of transmission" refers to the function of sending data to other components or systems.

[0017] "Means of receiving" refers to the ability to retrieve data from other components or systems.

[0018] The "server" refers to a computer system for performing data processing and information provision in response to user requests.

[0019] The "means for making requests for data and processing" refers to the function of sending requests to the server to obtain specific data or execute processing.

[0020] The "received data" refers to the information and results provided by the server.

[0021] The "means for displaying" refers to the function of visually presenting the received data to the user.

[0022] The "database" refers to a collection of structured data for efficiently managing and searching information.

[0023] The "means for searching and obtaining information" refers to the function of searching for and retrieving necessary information from the database.

[0024] The "external resource" refers to an external information source or service different from its own system.

[0025] "Quick and accurate information provision" refers to quickly responding to user requests and providing accurate information.

Brief Explanation of Drawings

[0026] [Figure 1] It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This 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] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This 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] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]

[0027] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.

[0028] First, let's explain the terminology used in the following explanation.

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

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

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

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

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

[0034] [First Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0047] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[0048] Program processing

[0049] Receiving input from the user

[0050] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[0051] Message parsing

[0052] The terminal retrieves a message from the message queue and sends it to the natural language processing engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "creating a pivot table." The analysis results are then sent back to the terminal.

[0053] Server queries

[0054] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[0055] Generating appropriate information

[0056] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[0057] Sending a response to the user

[0058] The terminal analyzes the information received from the server and displays it visually to the user. Based on this information, the user can perform tasks to solve their own problems. For example, it may display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[0059] Specific example

[0060] Situation 1: Excel support

[0061] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[0062] 2. The terminal receives this message and sends it to the natural language processing engine for analysis.

[0063] 3. The natural language processing engine analyzes the message and identifies "Excel" and "Create a pivot table".

[0064] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[0065] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[0066] 6. The terminal analyzes the received instructions and displays to the user, "The procedure for creating a pivot table is as follows."

[0067] 7. The user follows the instructions displayed.

[0068] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems.

[0069] The following describes the processing flow.

[0070] Step 1:

[0071] The user enters a message into the terminal.

[0072] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[0073] Step 2:

[0074] The device receives the user's message.

[0075] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[0076] Step 3:

[0077] The terminal retrieves a message from the message queue and sends it to the natural language processing engine.

[0078] Specifically, the backend retrieves the message and sends it to the natural language processing engine as an API request.

[0079] Step 4:

[0080] A natural language processing engine analyzes the message to identify keywords and intent.

[0081] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[0082] Step 5:

[0083] The natural language processing engine sends the analysis results back to the terminal.

[0084] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[0085] Step 6:

[0086] The terminal requests data and processing from the server based on the analysis results.

[0087] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[0088] Step 7:

[0089] The server searches its internal database for the necessary information.

[0090] Specifically, this involves executing database queries to search for relevant manuals and documents.

[0091] Step 8:

[0092] The server processes the acquired information into JSON format and sends it to the terminal.

[0093] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[0094] Step 9:

[0095] The device displays the data it has received to the user.

[0096] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[0097] Step 10:

[0098] The user solves the problem based on the information displayed.

[0099] Specifically, follow the displayed instructions to create a pivot table in Excel.

[0100] (Example 1)

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

[0102] Modern user support systems are required to respond to user inquiries quickly and accurately. However, many systems struggle to provide efficient responses due to complex analysis processes and inappropriate information retrieval methods. This leads to decreased user satisfaction and hinders operational efficiency. This invention aims to solve these problems and provide a system that provides information quickly and accurately in response to user inquiries.

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

[0104] In this invention, the server includes means for receiving messages input by a user, means for adding the messages to a message queue and processing them sequentially, means for sending the messages to a natural language processing engine and analyzing keywords and intent, means for making requests to the server for necessary data and processing based on the analysis results, and means for analyzing the information received from the server and visually displaying it to the user in an appropriate format. This makes it possible to respond quickly and accurately to user inquiries and improve the efficiency of operations.

[0105] A "message" is text data that includes inquiries and instructions entered by the user into the system.

[0106] A "message queue" is a data structure used to temporarily store received messages and process them sequentially.

[0107] A "natural language processing engine" is software or an algorithm that analyzes input text data and extracts keywords and intent.

[0108] A "server" is a computer system that receives requests from terminals, accesses databases and external resources, and provides the necessary information.

[0109] A "database" is a system for efficiently storing, searching, updating, and deleting structured data.

[0110] "JSON format" is an abbreviation for JavaScript (registered trademark) Object Notation, which represents data using key-value pairs and is a lightweight and human-readable format.

[0111] A "generative AI model" is, for example, an algorithm or system that uses machine learning techniques to generate responses to user inquiries.

[0112] A "prompt" is a question or instruction given to a generative AI model to generate a specific response.

[0113] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[0114] The specific hardware and software configuration of this system includes the following: The user's terminal can be a personal computer, smartphone, or tablet, which allows them to input messages into the system. A message queue installed on the terminal provides a data structure for temporarily storing received messages and processing them sequentially. Software such as "spaCy" is used as a natural language processing engine to analyze messages and extract keywords and intent. The analysis results are processed in JSON format and returned to the terminal.

[0115] Next, a request is made to the server based on the analysis results. The server uses "MySQL®" as its database and can retrieve the necessary information from its internal database. It may also retrieve information from external resources via a "REST API" as needed. The server then constructs the retrieved information in an appropriate format (e.g., JSON format) and sends it back to the terminal.

[0116] The terminal analyzes the information received from the server and displays it visually to the user in an appropriate format. The user can then use this information to perform tasks to solve their own problems.

[0117] Specific example

[0118] Consider a scenario where a user types "How do I create a pivot table in Excel?" into a terminal. In this case, the terminal receives this message and adds it to the message queue. Next, the terminal sends this message to a natural language processing engine for analysis. The natural language processing engine identifies "Excel" and "creating a pivot table." Based on the analysis results, the terminal requests information from the server about "how to create a pivot table in Excel." The server searches its database for the relevant instructions and sends them back to the terminal in JSON format. Finally, the terminal analyzes the received instructions and displays to the user "The steps to create a pivot table are as follows: 1. Select the data, 2. Click the [Insert] tab, ..." The user then follows the displayed steps.

[0119] The process is similar when using a generative AI model. For example, if a user enters "How do I create a pivot table in Excel?", the following prompt is sent to the generative AI model:

[0120] "How do I create a pivot table in Excel?"

[0121] In contrast, generative AI models can generate appropriate answers and provide them to users.

[0122] As described above, the present invention provides a system that can respond quickly and accurately to a variety of inquiries from users and improve the efficiency of operations.

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

[0124] Step 1:

[0125] The user enters a message into the terminal. For example, they might type, "Tell me how to create a pivot table in Excel." This message is input from the user to the terminal. The terminal receives this message and adds it to the message queue. Messages added to the message queue are temporarily stored in preparation for the next analysis step.

[0126] Input: "How do I create a pivot table in Excel?"

[0127] Output: Add to message queue

[0128] Step 2:

[0129] The terminal retrieves the latest message from the message queue. This retrieval operation is performed using the FIFO (First In, First Out) method. The terminal sends this message to a natural language processing engine. Using "spaCy" as the natural language processing engine, the message is analyzed to extract keywords and intent. Specifically, the keywords "Excel" and "creating a pivot table" are identified. The analysis results are returned to the terminal in JSON format.

[0130] Input: Message retrieved from the message queue

[0131] Data processing: Extraction of keywords and intent using natural language processing.

[0132] Output: Parsing results in JSON format

[0133] Step 3:

[0134] The terminal uses the analysis results returned from the natural language processing engine to request the necessary data and processing from the server. Specifically, it generates a request for information on "how to create a pivot table in Excel." This request is sent as an API call to the server.

[0135] Input: Parsing result in JSON format

[0136] Data processing: Generating requests to the server

[0137] Output: Request sent to the server

[0138] Step 4:

[0139] The server processes the request received from the terminal. The server searches for the relevant information in its internal database (MySQL) and retrieves information from external resources (e.g., REST API) as needed. The server constructs the identified information in JSON format and sends it back to the terminal.

[0140] Input: Request sent to the server

[0141] Data processing: Database search and information retrieval from external resources.

[0142] Output: Sends data in JSON format back to the terminal.

[0143] Step 5:

[0144] The terminal receives and parses the JSON-formatted information sent back from the server. It parses the received data and converts it into a format for visual display to the user. For example, it displays the following steps: "The steps to create a pivot table in Excel are as follows: 1. Select the data, 2. Click the Insert tab, ..."

[0145] Input: Data in JSON format

[0146] Data processing: Parsing and converting data into a format for display.

[0147] Output: Display on the user interface

[0148] Step 6:

[0149] The user performs specific actions based on the information displayed on the device. For example, they might open Excel and create a pivot table following the displayed instructions. In this step, the user utilizes the displayed information to solve a real problem.

[0150] Input: Information displayed in the user interface

[0151] Output: Specific actions for resolving the user's problem

[0152] (Application Example 1)

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

[0154] In modern e-commerce, users often have many questions and uncertainties when searching for and purchasing products. To effectively address these inquiries, a system capable of providing quick and accurate answers is necessary. However, traditional chat support systems fail to adequately meet these needs, particularly in areas such as product recommendations and appropriate information retrieval.

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

[0156] In this invention, the server includes means for receiving messages input by the user, means for sending messages to a natural language processing engine and receiving analysis results, means for requesting data and processing from the server based on the analysis results, means for displaying the data received from the server to the user, means for searching for and obtaining product information using an external API, and means for recommending products using a generative AI model. This enables the user to quickly and accurately obtain product information and receive appropriate product recommendations.

[0157] "Means for receiving messages entered by the user" refers to the components that enable the system to receive messages entered by the user through a terminal.

[0158] "Means for sending messages to a natural language processing engine and receiving analysis results" refers to the components for sending messages from the user to a natural language processing engine and for the system to receive the analysis results.

[0159] "Means for requesting data and processing from a server based on analysis results" refers to components for sending necessary data and processing requests to a server based on analysis results obtained from a natural language processing engine.

[0160] "Means for displaying data received from a server to a user" refers to components for processing data received from a server and providing it to the user in a visual or other format.

[0161] "Means of searching for and retrieving product information using an external API" refers to components for searching for and retrieving information about products using an external application programming interface.

[0162] "Methods for recommending products using generative AI models" refer to the components for recommending appropriate products to users by utilizing generative AI models.

[0163] This invention relates to a smart shopping assistant system that responds quickly and accurately to a variety of user inquiries. To implement the invention, the system is constructed using the following means and procedures.

[0164] Communication between the server and the terminal requires the use of the Flask framework and external APIs. The server uses OpenAI's GPT-3 (registered trademark) as its natural language processing engine to analyze user messages. External APIs are also used for searching and retrieving product information. A terminal such as a smartphone, smart glasses, or head-mounted display is required to provide an interface for appropriately displaying the information from the server to the user.

[0165] ● Receiving user input

[0166] The user enters a message in natural language using a device such as a smartphone. For example, they might enter a specific question like, "Can you recommend some running shoes?" The device receives this message and sends it to the server.

[0167] ● Natural language processing

[0168] The server sends the received message to an OpenAI GPT-3 model for analysis. GPT-3 identifies the intent of the message and generates an appropriate response. For example, in response to the message "Tell me your recommended running shoes," the analysis results identify the intent as "The user is asking for recommendations for running shoes."

[0169] ● Request to the server

[0170] Based on the analysis results, the server uses an external API to request appropriate product information. For example, to obtain information on a specific pair of running shoes, it searches for information in an external product database.

[0171] ● Data generation and display

[0172] The server generates recommendation results using the acquired product information and the generated AI model, and sends them back to the device in JSON format. The device then displays the received information visually to the user. For example, it might present product information in a format such as, "The following three running shoes are recommended."

[0173] Here are some examples of specific prompt messages:

[0174] "Can you recommend some running shoes?"

[0175] "Please tell me your payment method."

[0176] This system allows users to quickly and accurately obtain product information and receive appropriate product recommendations. Furthermore, by analyzing users' search needs and purchasing behavior, it enables the development of more sophisticated marketing strategies.

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

[0178] Step 1:

[0179] The user enters a specific question using a device such as a smartphone. An example of such input is the message, "Please recommend some running shoes." The device receives this message and adds it to the message queue. In this case, the input is the user's message, and the output is the receipt of the message.

[0180] Step 2:

[0181] The terminal retrieves a message from the message queue and prepares it for transmission to the natural language processing engine (GPT-3). Data processing at this stage includes converting the message format to one that is easily parsable by the natural language processing engine. The input here is the received user message, and the output is the message requested for parsing.

[0182] Step 3:

[0183] The server sends a message to the natural language processing engine (GPT-3). GPT-3 analyzes this message to identify keywords and intent. For example, from the message "Please recommend some running shoes," it extracts keywords such as "running shoes" and "recommendation" to determine the user's intent. The input here is the message requested for analysis, and the output is the analysis result.

[0184] Step 4:

[0185] The server uses an external API based on the analysis results to search for appropriate product information. This step involves sending a search query to the product database based on keywords obtained from the analysis results. For example, it might request product information about "running shoes." The input here is the analysis results, and the output is the retrieved product information.

[0186] Step 5:

[0187] The server generates recommendation results using a generative AI model based on product information received from an external API. For example, it recommends the best running shoes based on the user's purchase history and product review information. Data processing at this stage includes filtering product information and generating recommendation information using a generative AI model. The input here is the acquired product information, and the output is the recommendation result.

[0188] Step 6:

[0189] The server sends the recommendation results to the terminal in JSON format. The terminal parses the received recommendation results and displays them visually to the user. This step includes the specific actions of the terminal displaying information about the recommended products through the user interface. The input here is the recommendation results in JSON format, and the output is the recommendation information displayed to the user.

[0190] Step 7:

[0191] The user reviews the recommendations displayed on the device and decides on their next action. For example, they might decide whether or not to purchase the recommended running shoes. The input here is the recommendations displayed to the user, and the output is the user's action.

[0192] In this way, the user, server, and terminal work together in each processing step, realizing a smart shopping assistant system that can respond quickly and accurately to the diverse needs of the user.

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

[0194] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. The system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to the server based on the analysis results. Furthermore, it can recognize the user's emotions using an emotion engine and adjust the response accordingly.

[0195] Program processing

[0196] Receiving input from the user

[0197] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[0198] Message parsing

[0199] The terminal retrieves a message from the message queue and sends it to the natural language processing engine and the sentiment engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "create pivot table." The sentiment engine simultaneously analyzes the message and identifies the user's emotions. For example, it might recognize the emotion "this user is troubled." The analysis results are then sent back to the terminal.

[0200] Server queries

[0201] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[0202] Generating appropriate information

[0203] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[0204] Sending a response to the user

[0205] The terminal analyzes information received from the server and adjusts its response based on the user's emotions recognized by the emotion engine. For example, if the system recognizes that the user is having trouble, it will adjust the instructions to be more polite. Finally, it displays the information visually to the user. The user can then use this information to take action to solve their problem. For example, it might display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select your data, 2. Click the Insert tab, ..."

[0206] Specific example

[0207] Situation 1: Excel support

[0208] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[0209] 2. The device receives this message and sends it to the natural language processing engine and the sentiment engine for analysis.

[0210] 3. The natural language processing engine and sentiment engine analyze the message, identify "Excel" and "creating a pivot table," and recognize the emotion of "being troubled."

[0211] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[0212] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[0213] 6. The terminal analyzes the received instructions and, in response to the user's perceived difficulty, displays a polite message to the user stating, "The procedure for creating a pivot table is as follows."

[0214] 7. The user follows the instructions displayed.

[0215] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems and providing appropriate support that responds to the user's emotions.

[0216] The following describes the processing flow.

[0217] Step 1:

[0218] The user enters a message into the terminal.

[0219] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[0220] Step 2:

[0221] The device receives the user's message.

[0222] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[0223] Step 3:

[0224] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment engine.

[0225] Specifically, the backend retrieves the message and sends it as an API request to the natural language processing engine and the sentiment engine.

[0226] Step 4:

[0227] A natural language processing engine analyzes the message to identify keywords and intent.

[0228] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[0229] Step 5:

[0230] The emotion engine analyzes the message and identifies the user's emotions.

[0231] As a concrete action, it analyzes emotions from text and recognizes the emotion of "being troubled."

[0232] Step 6:

[0233] The natural language processing engine and the emotion engine send the analysis results back to the terminal.

[0234] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[0235] Step 7:

[0236] The terminal requests data and processing from the server based on the analysis results.

[0237] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[0238] Step 8:

[0239] The server searches its internal database for the necessary information.

[0240] Specifically, this involves executing database queries to search for relevant manuals and documents.

[0241] Step 9:

[0242] The server processes the acquired information into JSON format and sends it to the terminal.

[0243] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[0244] Step 10:

[0245] The device analyzes the data it receives and adjusts its response based on the user's emotions recognized by the emotion engine.

[0246] In concrete terms, it generates polite language and specific instructions based on emotional categories.

[0247] Step 11:

[0248] The terminal displays the adjusted response to the user.

[0249] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[0250] Step 12:

[0251] The user solves the problem based on the information displayed.

[0252] Specifically, follow the displayed instructions to create a pivot table in Excel.

[0253] (Example 2)

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

[0255] Traditional chat-based support systems only performed simple keyword analysis on user input, failing to respond in a way that considered user emotions. This made it difficult to provide satisfactory support. Furthermore, they lacked mechanisms for quickly providing users with appropriate information, hindering efficient support.

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

[0257] In this invention, the server includes means for receiving text input from a user, means for sending the text to a natural language processing engine and receiving the analysis results, means for sending the text to an emotion analysis engine and receiving the emotion analysis results, means for making requests to the server for data and processing based on the analysis results and the emotion analysis results, and means for adjusting the data received from the server based on the emotion analysis results and displaying it visually to the user. This makes it possible to provide appropriate information that takes the user's emotions into consideration, and to provide support that results in high user satisfaction.

[0258] A "user" refers to anyone who uses this system to enter questions or requests.

[0259] "Text" refers to the string of characters that the user enters as a question or request.

[0260] A "natural language processing engine" refers to a software component that analyzes text input by a user to identify keywords and intent.

[0261] A "sentiment analysis engine" refers to a software component that analyzes a user's emotions from text and identifies the type of emotion.

[0262] A "server" refers to a computer system that retrieves data and provides information in response to user requests.

[0263] "Means of receiving" refers to the function that takes text entered by the user and adds it to the message queue.

[0264] "Analysis results" refer to information about the meaning of text and the user's emotions, output by the natural language processing engine and sentiment analysis engine.

[0265] "Means of requesting data and processing" refers to the function that requests the necessary data and processing from the server based on the analysis results.

[0266] "Means of display" refers to a function that visually presents information received from the server in a way that is easy for the user to understand.

[0267] A "database" refers to an information management system that systematically stores information and allows it to be searched and retrieved.

[0268] "External resources" refer to external information services and data sources that a server accesses as needed.

[0269] "Visually displaying" refers to displaying information on the user's device in the form of text, images, or other visual media.

[0270] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. This system analyzes user input using a natural language processing engine and an emotion analysis engine, and provides support based on the results.

[0271] System Configuration

[0272] This system includes the following main hardware and software components:

[0273] User devices (computers, tablets, smartphones, etc.)

[0274] Natural language processing engines (e.g., general language analysis tools)

[0275] Sentiment analysis engine (e.g., a general sentiment analysis tool)

[0276] Server (including database and external resource connections)

[0277] Database (information management system for internal information management)

[0278] Message queue (a queue system for temporarily storing user input)

[0279] Details of program processing

[0280] Receiving user input

[0281] The user uses the terminal to input questions or requests to the system in text format. For example, a specific question such as "Please teach me how to create a pivot table in Excel" is input. The terminal receives the message from the user and adds this message to the message queue.

[0282] Message analysis

[0283] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment analysis engine to request analysis. The natural language processing engine analyzes the user's message and identifies important keywords and intentions. For example, keywords such as "Excel" and "creation of pivot table" are extracted.

[0284] The sentiment analysis engine analyzes the same message and recognizes what kind of emotional state the user is in. For example, it identifies the emotion that "this user is troubled". Such analysis results are returned to the terminal.

[0285] Inquiry to the server

[0286] Based on the analysis results, the terminal makes requests for necessary data and processing to the server. For example, it sends a request to the server such as "Please provide information on how to create a pivot table in Excel". The server receives this request, searches for appropriate information from the internal database, and also obtains information from external resources if necessary.

[0287] Generation of appropriate information

[0288] The server generates information to provide to the user in an appropriate format based on the acquired information. For example, it generates text data detailing the steps for creating a pivot table and related image data, and sends this back to the terminal in JSON format.

[0289] Sending a response to the user

[0290] The device analyzes information received from the server and adjusts its response based on the user's emotions, as recognized by the sentiment analysis engine. For example, if the device detects that the user is having trouble, it will explain the steps in more polite language. Finally, the device visually displays the details to the user. For example, "Here are the steps to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..." The user can then use this information to take action to solve their problem.

[0291] Specific example

[0292] Situation 1: Excel support

[0293] For example, if a user types "How do I create a pivot table in Excel?", this message will be added to the message queue.

[0294] The terminal retrieves messages from the message queue and sends them to the natural language processing engine and sentiment analysis engine for analysis.

[0295] The natural language processing engine identifies keywords such as "Excel" and "creating pivot tables," while the sentiment analysis engine recognizes the emotion of "being troubled."

[0296] Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[0297] The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[0298] The terminal analyzes the received procedure manual and displays "The procedure for creating a pivot table is as follows" to the user in polite language according to the emotion of "being troubled".

[0299] The user performs the work according to the displayed procedure.

[0300] Thereby, the present invention constructs a system that supports the efficiency of business operations by providing information quickly and accurately for specific problems of the user and providing appropriate support according to the emotion of the user.

[0301] The flow of the specific process in Example 2 will be described with reference to FIG. 13.

[0302] Step 1:

[0303] The user inputs a question or request (e.g., "Teach me how to create a pivot table in Excel") to the terminal in text format.

[0304] Input: The user inputs a message via a keyboard or voice input.

[0305] Output: The terminal receives the input message and adds it to the message queue.

[0306] Specific operation: The user sends a message through the input interface of the terminal, and this message is saved in the message queue.

[0307] Step 2:

[0308] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the emotion analysis engine.

[0309] Input: The message from the user in the message queue.

[0310] Output: Messages sent to the natural language processing engine and the sentiment analysis engine.

[0311] Specific operation: The device retrieves the message and sends it to the natural language processing engine and sentiment analysis engine via APIs, etc.

[0312] Step 3:

[0313] A natural language processing engine analyzes the message to identify keywords and intent.

[0314] Input: Message sent by the user.

[0315] Output: Keywords such as "Excel" and "creating pivot tables," along with analysis results.

[0316] Specific operation: The natural language processing engine analyzes the message and executes text analysis algorithms to extract important keywords and user intent.

[0317] Step 4:

[0318] The sentiment analysis engine analyzes the same message and identifies the user's emotions.

[0319] Input: Message sent by the user.

[0320] Output: Emotional labels such as "distressed" and analysis results.

[0321] Specific operation: The sentiment analysis engine uses a sentiment analysis algorithm to classify the user's emotions from the text within the message.

[0322] Step 5:

[0323] The device integrates the analysis results received from the natural language processing engine and the sentiment analysis engine.

[0324] Input: Analysis results from a natural language processing engine and an emotion analysis engine.

[0325] Output: Integrated analysis results.

[0326] Specific operation: The terminal receives both analysis results, integrates them, and prepares for the next processing step.

[0327] Step 6:

[0328] The terminal requests data and processing from the server based on the analysis results.

[0329] Input: Integrated analysis results.

[0330] Output: Data request sent to the server (e.g., "Please provide information on how to create a pivot table in Excel").

[0331] Specific operation: The terminal sends a data request to the server in the form of an HTTP request or similar.

[0332] Step 7:

[0333] The server receives the request, searches for information in its internal database, and retrieves information from external resources as needed.

[0334] Input: Data request sent from the terminal.

[0335] Output: Instructions and related information for creating pivot tables.

[0336] Specific operation: The server executes database queries and retrieves relevant information. If necessary, it sends requests to external APIs to retrieve additional information.

[0337] Step 8:

[0338] The server generates information to provide to the user in an appropriate format, based on information obtained from the database and external resources.

[0339] Input: Information obtained from databases and external resources.

[0340] Output: Generated information (e.g., procedure for creating a pivot table in JSON format).

[0341] Specific operation: The server organizes the information and reconstructs the data in a format that is easy for the user to understand.

[0342] Step 9:

[0343] The terminal analyzes the information received from the server and adjusts its response based on the sentiment analysis results.

[0344] Input: Data received from the server.

[0345] Output: Adjusted response content.

[0346] Specific operation: The device handles the data and adjusts the wording and level of detail in explanations according to the user's emotions.

[0347] Step 10:

[0348] The terminal visually displays the final response to the user.

[0349] Input: Adjusted response content.

[0350] Output: Detailed instructions and information displayed to the user.

[0351] Specific operation: The device uses a user interface to present information to the user in text and image format.

[0352] This allows users to take action to solve problems based on the displayed information. For example, users can follow the displayed steps, such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[0353] (Application Example 2)

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

[0355] Traditional chat-based support systems provided uniform responses without considering user emotions, resulting in a poor user experience and insufficient support, especially for users in need. Furthermore, accurately extracting necessary information from a vast amount of resources was required for users to receive specific information quickly, which was also difficult.

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

[0357] In this invention, the server includes means for analyzing the user's emotions using an emotion engine and adjusting the response content based on those emotions; means for searching for and obtaining appropriate information from a specific database based on the analysis results; and means for obtaining information from external resources in response to requests based on the analysis results. This enables personalized responses that correspond to the user's emotions and the provision of information quickly and accurately.

[0358] A "user" refers to a person who uses an information processing system to input messages or retrieve information.

[0359] "Message receiving means" refers to functions or devices for receiving messages entered by users.

[0360] A "natural language processing engine" refers to a technology that analyzes input messages to identify keywords and intent.

[0361] "Means for receiving analysis results" refers to functions or devices for receiving results analyzed by a natural language processing engine.

[0362] "Server request means" refers to a function or device for requesting data or processing from a server based on the analysis results.

[0363] "Data display means" refers to functions or devices for displaying data received from a server to the user.

[0364] An "emotion engine" refers to a technology that analyzes and identifies emotions from user input messages.

[0365] "Response content adjustment means" refers to a function or device for adjusting the response content based on the user's emotions analyzed by the emotion engine.

[0366] "Database search means" refers to functions or devices used to search for and retrieve necessary information from a specific database.

[0367] "External resource acquisition means" refers to functions or devices for acquiring information from external resources in response to requests based on analysis results.

[0368] To implement this invention, hardware and software such as a user terminal, a natural language processing engine, an emotion engine, and a server are required. This invention is a system that provides information that responds to the user's emotions through the following steps.

[0369] Hardware and software configuration

[0370] hardware

[0371] 1. User's device: Smartphone, tablet, personal computer, etc.

[0372] 2. Server: A server that holds the database and processes the data.

[0373] software

[0374] 1. Natural Language Processing Engine: Software used for natural language processing. Examples include SpaCy and Google® NLP.

[0375] 2. Emotion Engine: Software for analyzing user emotions. Examples include IBM Watson® Tone Analyzer and Azure® Emotion API.

[0376] 3. Server Program: A server using Node.js, Django, Flask, etc.

[0377] Implementation method

[0378] The system begins processing when the user enters a message into the terminal. First, the terminal receives the message and sends it to the natural language processing engine and the emotion engine. The natural language processing engine analyzes the message and identifies its intent and keywords. Meanwhile, the emotion engine analyzes the user's emotions and identifies feelings such as distress or happiness.

[0379] Based on the analysis results, the terminal sends a request to the server. This request may include a request to search for information in a specific database, or a request to retrieve information from an external resource if the necessary information cannot be found. The server receives these requests and retrieves the appropriate information from its internal database or external resources. The retrieved information is then sent back to the terminal in JSON format or another appropriate format.

[0380] The terminal receives a response from the server and adjusts the response based on the user's emotions, which are analyzed by the emotion engine. For example, if the system recognizes that the user is in distress, a more detailed and courteous explanation will be provided. Finally, the adjusted response is displayed on the user's terminal. As a specific example, if the user enters the message "How do I return this product?", and the system recognizes that the user is in distress, a detailed explanation of the return procedure and necessary documents will be provided.

[0381] Examples of specific cases and prompt statements

[0382] Specific example

[0383] Situation: When the user is having trouble.

[0384] User: "How do I return this item?"

[0385] The device displays detailed instructions such as, "The return procedure is as follows: 1. Pack the item to be returned, 2. Fill out the return form, 3. Send it to the specified address."

[0386] Example of a prompt

[0387] User message: "How do I return this item?"

[0388] Perceived emotion: "I'm in trouble"

[0389] Corresponding response:

[0390] Return Procedure 1: Pack the item you wish to return.

[0391] Return Procedure 2: Fill out the required information on the return form.

[0392] Return procedure 3: Send to the specified address.

[0393] The above details the "mode for carrying out the invention." This system can provide information that responds to the user's emotions and improve the user experience.

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

[0395] Step 1:

[0396] The user enters a message into the device. This message might be something like, "Please tell me how to return this product." The entered message is received by the device.

[0397] Input: Message entered by the user

[0398] Output: Received message

[0399] Step 2:

[0400] The device sends the received message to a natural language processing engine. The natural language processing engine analyzes this message to identify keywords and intent. For example, keywords such as "product" and "return method" may be extracted.

[0401] Input: Received message

[0402] Output: Analysis results (keywords, intent)

[0403] Step 3:

[0404] Simultaneously, the device also sends a message to the emotion engine. The emotion engine analyzes the user's emotions from the message and identifies emotions such as "distressed." This analysis result is also sent back to the device.

[0405] Input: Received message

[0406] Output: Emotion analysis results (emotional state)

[0407] Step 4:

[0408] The device sends requests to the server based on the analysis results from its natural language processing engine and sentiment engine. These requests include requests to search for information in a specific database, and requests to retrieve information from external resources if the necessary information cannot be found. For example, information about "products" and "return procedures" may be requested.

[0409] Input: Keywords, intent, sentiment analysis results

[0410] Output: Server Request

[0411] Step 5:

[0412] The server receives a request from the terminal and searches its internal database. If it finds the appropriate information, it retrieves it and sends it back to the terminal. For example, it might search for detailed instructions on how to return an item.

[0413] Input: Server Request

[0414] Output: Search results (information from the database)

[0415] Step 6:

[0416] The server retrieves information from external resources as needed. For example, if there is insufficient information in the server's internal database, it will use an external API to obtain additional information. This information obtained from external resources is also sent back to the terminal.

[0417] Input: Server Request

[0418] Output: Information obtained from external resources

[0419] Step 7:

[0420] The terminal receives information from the server and adjusts its response based on the user's emotions, as recognized by the emotion engine. For example, if the system recognizes the user as being "in distress," it will provide more polite language and detailed instructions.

[0421] Input: Search results and information from external resources, sentiment analysis results

[0422] Output: Adjusted response content

[0423] Step 8:

[0424] Finally, the device displays a tailored response to the user. Based on this information, the user can learn how to resolve the problem. For example, it might display something like, "The return procedure is as follows: 1. Pack the item to be returned. 2. Fill out the return form. 3. Send it to the specified address."

[0425] Input: Adjusted response content

[0426] Output: Response displayed to the user

[0427] In this way, the present invention can provide information that responds to the user's emotions and improve the user experience.

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

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

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

[0431] [Second Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0444] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[0445] Program processing

[0446] Receiving input from the user

[0447] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[0448] Message parsing

[0449] The terminal retrieves a message from the message queue and sends it to the natural language processing engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "creating a pivot table." The analysis results are then sent back to the terminal.

[0450] Server queries

[0451] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[0452] Generating appropriate information

[0453] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[0454] Sending a response to the user

[0455] The terminal analyzes the information received from the server and displays it visually to the user. Based on this information, the user can perform tasks to solve their own problems. For example, it may display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[0456] Specific example

[0457] Situation 1: Excel support

[0458] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[0459] 2. The terminal receives this message and sends it to the natural language processing engine for analysis.

[0460] 3. The natural language processing engine analyzes the message and identifies "Excel" and "Create a pivot table".

[0461] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[0462] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[0463] 6. The terminal analyzes the received instructions and displays to the user, "The procedure for creating a pivot table is as follows."

[0464] 7. The user follows the instructions displayed.

[0465] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems.

[0466] The following describes the processing flow.

[0467] Step 1:

[0468] The user enters a message into the terminal.

[0469] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[0470] Step 2:

[0471] The device receives the user's message.

[0472] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[0473] Step 3:

[0474] The terminal retrieves a message from the message queue and sends it to the natural language processing engine.

[0475] Specifically, the backend retrieves the message and sends it to the natural language processing engine as an API request.

[0476] Step 4:

[0477] A natural language processing engine analyzes the message to identify keywords and intent.

[0478] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[0479] Step 5:

[0480] The natural language processing engine sends the analysis results back to the terminal.

[0481] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[0482] Step 6:

[0483] The terminal requests data and processing from the server based on the analysis results.

[0484] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[0485] Step 7:

[0486] The server searches its internal database for the necessary information.

[0487] Specifically, this involves executing database queries to search for relevant manuals and documents.

[0488] Step 8:

[0489] The server processes the acquired information into JSON format and sends it to the terminal.

[0490] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[0491] Step 9:

[0492] The device displays the data it has received to the user.

[0493] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[0494] Step 10:

[0495] The user solves the problem based on the information displayed.

[0496] Specifically, follow the displayed instructions to create a pivot table in Excel.

[0497] (Example 1)

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

[0499] Modern user support systems are required to respond to user inquiries quickly and accurately. However, many systems struggle to provide efficient responses due to complex analysis processes and inappropriate information retrieval methods. This leads to decreased user satisfaction and hinders operational efficiency. This invention aims to solve these problems and provide a system that provides information quickly and accurately in response to user inquiries.

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

[0501] In this invention, the server includes means for receiving messages input by a user, means for adding the messages to a message queue and processing them sequentially, means for sending the messages to a natural language processing engine and analyzing keywords and intent, means for making requests to the server for necessary data and processing based on the analysis results, and means for analyzing the information received from the server and visually displaying it to the user in an appropriate format. This makes it possible to respond quickly and accurately to user inquiries and improve the efficiency of operations.

[0502] A "message" is text data that includes inquiries and instructions entered by the user into the system.

[0503] A "message queue" is a data structure used to temporarily store received messages and process them sequentially.

[0504] A "natural language processing engine" is software or an algorithm that analyzes input text data and extracts keywords and intent.

[0505] A "server" is a computer system that receives requests from terminals, accesses databases and external resources, and provides the necessary information.

[0506] A "database" is a system for efficiently storing, searching, updating, and deleting structured data.

[0507] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight and human-readable format that represents data using key-value pairs.

[0508] A "generative AI model" is, for example, an algorithm or system that uses machine learning techniques to generate responses to user inquiries.

[0509] A "prompt" is a question or instruction given to a generative AI model to generate a specific response.

[0510] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[0511] The specific hardware and software configuration of this system includes the following: The user's terminal can be a personal computer, smartphone, or tablet, which allows them to input messages into the system. A message queue installed on the terminal provides a data structure for temporarily storing received messages and processing them sequentially. Software such as "spaCy" is used as a natural language processing engine to analyze messages and extract keywords and intent. The analysis results are processed in JSON format and returned to the terminal.

[0512] Next, a request is made to the server based on the analysis results. The server uses "MySQL" as its database and can retrieve the necessary information from its internal database. It may also retrieve information from external resources via "REST API" as needed. The server constructs the retrieved information in an appropriate format (e.g., JSON format) and sends it back to the terminal.

[0513] The terminal analyzes the information received from the server and displays it visually to the user in an appropriate format. The user can then use this information to perform tasks to solve their own problems.

[0514] Specific example

[0515] Consider a scenario where a user types "How do I create a pivot table in Excel?" into a terminal. In this case, the terminal receives this message and adds it to the message queue. Next, the terminal sends this message to a natural language processing engine for analysis. The natural language processing engine identifies "Excel" and "creating a pivot table." Based on the analysis results, the terminal requests information from the server about "how to create a pivot table in Excel." The server searches its database for the relevant instructions and sends them back to the terminal in JSON format. Finally, the terminal analyzes the received instructions and displays to the user "The steps to create a pivot table are as follows: 1. Select the data, 2. Click the [Insert] tab, ..." The user then follows the displayed steps.

[0516] The process is similar when using a generative AI model. For example, if a user enters "How do I create a pivot table in Excel?", the following prompt is sent to the generative AI model:

[0517] "How do I create a pivot table in Excel?"

[0518] In contrast, generative AI models can generate appropriate answers and provide them to users.

[0519] As described above, the present invention provides a system that can respond quickly and accurately to a variety of inquiries from users and improve the efficiency of operations.

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

[0521] Step 1:

[0522] The user enters a message into the terminal. For example, they might type, "Tell me how to create a pivot table in Excel." This message is input from the user to the terminal. The terminal receives this message and adds it to the message queue. Messages added to the message queue are temporarily stored in preparation for the next analysis step.

[0523] Input: "How do I create a pivot table in Excel?"

[0524] Output: Add to message queue

[0525] Step 2:

[0526] The terminal retrieves the latest message from the message queue. This retrieval operation is performed using the FIFO (First In, First Out) method. The terminal sends this message to a natural language processing engine. Using "spaCy" as the natural language processing engine, the message is analyzed to extract keywords and intent. Specifically, the keywords "Excel" and "creating a pivot table" are identified. The analysis results are returned to the terminal in JSON format.

[0527] Input: Message retrieved from the message queue

[0528] Data processing: Extraction of keywords and intent using natural language processing.

[0529] Output: Parsing results in JSON format

[0530] Step 3:

[0531] The terminal uses the analysis results returned from the natural language processing engine to request the necessary data and processing from the server. Specifically, it generates a request for information on "how to create a pivot table in Excel." This request is sent as an API call to the server.

[0532] Input: Parsing result in JSON format

[0533] Data processing: Generating requests to the server

[0534] Output: Request sent to the server

[0535] Step 4:

[0536] The server processes the request received from the terminal. The server searches for the relevant information in its internal database (MySQL) and retrieves information from external resources (e.g., REST API) as needed. The server constructs the identified information in JSON format and sends it back to the terminal.

[0537] Input: Request sent to the server

[0538] Data processing: Database search and information retrieval from external resources.

[0539] Output: Sends data in JSON format back to the terminal.

[0540] Step 5:

[0541] The terminal receives and parses the JSON-formatted information sent back from the server. It parses the received data and converts it into a format for visual display to the user. For example, it displays the following steps: "The steps to create a pivot table in Excel are as follows: 1. Select the data, 2. Click the Insert tab, ..."

[0542] Input: Data in JSON format

[0543] Data processing: Parsing and converting data into a format for display.

[0544] Output: Display on the user interface

[0545] Step 6:

[0546] The user performs specific actions based on the information displayed on the device. For example, they might open Excel and create a pivot table following the displayed instructions. In this step, the user utilizes the displayed information to solve a real problem.

[0547] Input: Information displayed in the user interface

[0548] Output: Specific actions for resolving the user's problem

[0549] (Application Example 1)

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

[0551] In modern e-commerce, users often have many questions and uncertainties when searching for and purchasing products. To effectively address these inquiries, a system capable of providing quick and accurate answers is necessary. However, traditional chat support systems fail to adequately meet these needs, particularly in areas such as product recommendations and appropriate information retrieval.

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

[0553] In this invention, the server includes means for receiving messages input by the user, means for sending messages to a natural language processing engine and receiving analysis results, means for requesting data and processing from the server based on the analysis results, means for displaying the data received from the server to the user, means for searching for and obtaining product information using an external API, and means for recommending products using a generative AI model. This enables the user to quickly and accurately obtain product information and receive appropriate product recommendations.

[0554] "Means for receiving messages entered by the user" refers to the components that enable the system to receive messages entered by the user through a terminal.

[0555] "Means for sending messages to a natural language processing engine and receiving analysis results" refers to the components for sending messages from the user to a natural language processing engine and for the system to receive the analysis results.

[0556] "Means for requesting data and processing from a server based on analysis results" refers to components for sending necessary data and processing requests to a server based on analysis results obtained from a natural language processing engine.

[0557] "Means for displaying data received from a server to a user" refers to components for processing data received from a server and providing it to the user in a visual or other format.

[0558] "Means of searching for and retrieving product information using an external API" refers to components for searching for and retrieving information about products using an external application programming interface.

[0559] "Methods for recommending products using generative AI models" refer to the components for recommending appropriate products to users by utilizing generative AI models.

[0560] This invention relates to a smart shopping assistant system that responds quickly and accurately to a variety of user inquiries. To implement the invention, the system is constructed using the following means and procedures.

[0561] Communication between the server and the terminal requires the use of the Flask framework and external APIs. The server uses OpenAI's GPT-3 as its natural language processing engine to analyze user messages. External APIs are also used for searching and retrieving product information. A terminal such as a smartphone, smart glasses, or head-mounted display is required to provide an interface for appropriately displaying the information from the server to the user.

[0562] ● Receiving user input

[0563] The user enters a message in natural language using a device such as a smartphone. For example, they might enter a specific question like, "Can you recommend some running shoes?" The device receives this message and sends it to the server.

[0564] ● Natural language processing

[0565] The server sends the received message to an OpenAI GPT-3 model for analysis. GPT-3 identifies the intent of the message and generates an appropriate response. For example, in response to the message "Tell me your recommended running shoes," the analysis results identify the intent as "The user is asking for recommendations for running shoes."

[0566] ● Request to the server

[0567] Based on the analysis results, the server uses an external API to request appropriate product information. For example, to obtain information on a specific pair of running shoes, it searches for information in an external product database.

[0568] ● Data generation and display

[0569] The server generates recommendation results using the acquired product information and the generated AI model, and sends them back to the device in JSON format. The device then displays the received information visually to the user. For example, it might present product information in a format such as, "The following three running shoes are recommended."

[0570] Here are some examples of specific prompt messages:

[0571] "Can you recommend some running shoes?"

[0572] "Please tell me your payment method."

[0573] This system allows users to quickly and accurately obtain product information and receive appropriate product recommendations. Furthermore, by analyzing users' search needs and purchasing behavior, it enables the development of more sophisticated marketing strategies.

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

[0575] Step 1:

[0576] The user enters a specific question using a device such as a smartphone. An example of such input is the message, "Please recommend some running shoes." The device receives this message and adds it to the message queue. In this case, the input is the user's message, and the output is the receipt of the message.

[0577] Step 2:

[0578] The terminal retrieves a message from the message queue and prepares it for transmission to the natural language processing engine (GPT-3). Data processing at this stage includes converting the message format to one that is easily parsable by the natural language processing engine. The input here is the received user message, and the output is the message requested for parsing.

[0579] Step 3:

[0580] The server sends a message to the natural language processing engine (GPT-3). GPT-3 analyzes this message to identify keywords and intent. For example, from the message "Please recommend some running shoes," it extracts keywords such as "running shoes" and "recommendation" to determine the user's intent. The input here is the message requested for analysis, and the output is the analysis result.

[0581] Step 4:

[0582] The server uses an external API based on the analysis results to search for appropriate product information. This step involves sending a search query to the product database based on keywords obtained from the analysis results. For example, it might request product information about "running shoes." The input here is the analysis results, and the output is the retrieved product information.

[0583] Step 5:

[0584] The server generates recommendation results using a generative AI model based on product information received from an external API. For example, it recommends the best running shoes based on the user's purchase history and product review information. Data processing at this stage includes filtering product information and generating recommendation information using a generative AI model. The input here is the acquired product information, and the output is the recommendation result.

[0585] Step 6:

[0586] The server sends the recommendation results to the terminal in JSON format. The terminal parses the received recommendation results and displays them visually to the user. This step includes the specific actions of the terminal displaying information about the recommended products through the user interface. The input here is the recommendation results in JSON format, and the output is the recommendation information displayed to the user.

[0587] Step 7:

[0588] The user reviews the recommendations displayed on the device and decides on their next action. For example, they might decide whether or not to purchase the recommended running shoes. The input here is the recommendations displayed to the user, and the output is the user's action.

[0589] In this way, the user, server, and terminal work together in each processing step, realizing a smart shopping assistant system that can respond quickly and accurately to the diverse needs of the user.

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

[0591] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. The system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to the server based on the analysis results. Furthermore, it can recognize the user's emotions using an emotion engine and adjust the response accordingly.

[0592] Program processing

[0593] Receiving input from the user

[0594] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[0595] Message parsing

[0596] The terminal retrieves a message from the message queue and sends it to the natural language processing engine and the sentiment engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "create pivot table." The sentiment engine simultaneously analyzes the message and identifies the user's emotions. For example, it might recognize the emotion "this user is troubled." The analysis results are then sent back to the terminal.

[0597] Server queries

[0598] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[0599] Generating appropriate information

[0600] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[0601] Sending a response to the user

[0602] The terminal analyzes information received from the server and adjusts its response based on the user's emotions recognized by the emotion engine. For example, if the system recognizes that the user is having trouble, it will adjust the instructions to be more polite. Finally, it displays the information visually to the user. The user can then use this information to take action to solve their problem. For example, it might display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select your data, 2. Click the Insert tab, ..."

[0603] Specific example

[0604] Situation 1: Excel support

[0605] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[0606] 2. The device receives this message and sends it to the natural language processing engine and the sentiment engine for analysis.

[0607] 3. The natural language processing engine and sentiment engine analyze the message, identify "Excel" and "creating a pivot table," and recognize the emotion of "being troubled."

[0608] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[0609] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[0610] 6. The terminal analyzes the received instructions and, in response to the user's perceived difficulty, displays a polite message to the user stating, "The procedure for creating a pivot table is as follows."

[0611] 7. The user follows the instructions displayed.

[0612] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems and providing appropriate support that responds to the user's emotions.

[0613] The following describes the processing flow.

[0614] Step 1:

[0615] The user enters a message into the terminal.

[0616] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[0617] Step 2:

[0618] The device receives the user's message.

[0619] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[0620] Step 3:

[0621] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment engine.

[0622] Specifically, the backend retrieves the message and sends it as an API request to the natural language processing engine and the sentiment engine.

[0623] Step 4:

[0624] A natural language processing engine analyzes the message to identify keywords and intent.

[0625] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[0626] Step 5:

[0627] The emotion engine analyzes the message and identifies the user's emotions.

[0628] As a concrete action, it analyzes emotions from text and recognizes the emotion of "being troubled."

[0629] Step 6:

[0630] The natural language processing engine and the emotion engine send the analysis results back to the terminal.

[0631] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[0632] Step 7:

[0633] The terminal requests data and processing from the server based on the analysis results.

[0634] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[0635] Step 8:

[0636] The server searches its internal database for the necessary information.

[0637] Specifically, this involves executing database queries to search for relevant manuals and documents.

[0638] Step 9:

[0639] The server processes the acquired information into JSON format and sends it to the terminal.

[0640] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[0641] Step 10:

[0642] The device analyzes the data it receives and adjusts its response based on the user's emotions recognized by the emotion engine.

[0643] In concrete terms, it generates polite language and specific instructions based on emotional categories.

[0644] Step 11:

[0645] The terminal displays the adjusted response to the user.

[0646] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[0647] Step 12:

[0648] The user solves the problem based on the information displayed.

[0649] Specifically, follow the displayed instructions to create a pivot table in Excel.

[0650] (Example 2)

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

[0652] Traditional chat-based support systems only performed simple keyword analysis on user input, failing to respond in a way that considered user emotions. This made it difficult to provide satisfactory support. Furthermore, they lacked mechanisms for quickly providing users with appropriate information, hindering efficient support.

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

[0654] In this invention, the server includes means for receiving text input from a user, means for sending the text to a natural language processing engine and receiving the analysis results, means for sending the text to an emotion analysis engine and receiving the emotion analysis results, means for making requests to the server for data and processing based on the analysis results and the emotion analysis results, and means for adjusting the data received from the server based on the emotion analysis results and displaying it visually to the user. This makes it possible to provide appropriate information that takes the user's emotions into consideration, and to provide support that results in high user satisfaction.

[0655] A "user" refers to anyone who uses this system to enter questions or requests.

[0656] "Text" refers to the string of characters that the user enters as a question or request.

[0657] A "natural language processing engine" refers to a software component that analyzes text input by a user to identify keywords and intent.

[0658] A "sentiment analysis engine" refers to a software component that analyzes a user's emotions from text and identifies the type of emotion.

[0659] A "server" refers to a computer system that retrieves data and provides information in response to user requests.

[0660] "Means of receiving" refers to the function that takes text entered by the user and adds it to the message queue.

[0661] "Analysis results" refer to information about the meaning of text and the user's emotions, output by the natural language processing engine and sentiment analysis engine.

[0662] "Means of requesting data and processing" refers to the function that requests the necessary data and processing from the server based on the analysis results.

[0663] "Means of display" refers to a function that visually presents information received from the server in a way that is easy for the user to understand.

[0664] A "database" refers to an information management system that systematically stores information and allows it to be searched and retrieved.

[0665] "External resources" refer to external information services and data sources that a server accesses as needed.

[0666] "Visually displaying" refers to displaying information on the user's device in the form of text, images, or other visual media.

[0667] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. This system analyzes user input using a natural language processing engine and an emotion analysis engine, and provides support based on the results.

[0668] System Configuration

[0669] This system includes the following main hardware and software components:

[0670] User devices (computers, tablets, smartphones, etc.)

[0671] Natural language processing engines (e.g., general language analysis tools)

[0672] Sentiment analysis engine (e.g., a general sentiment analysis tool)

[0673] Server (including database and external resource connections)

[0674] Database (information management system for internal information management)

[0675] Message queue (a queue system for temporarily storing user input)

[0676] Details of the program's processing

[0677] Receiving user input

[0678] The user uses a terminal to enter questions or requests into the system in text format. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives the message from the user and adds it to the message queue.

[0679] Message Controller

[0680] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and sentiment analysis engine for analysis. The natural language processing engine analyzes the user's message and identifies important keywords and intent. For example, keywords such as "Excel" and "creating a pivot table" may be extracted.

[0681] The emotion analysis engine analyzes the same message to recognize the user's emotional state. For example, it might identify the emotion "this user is troubled." This analysis result is then sent back to the device.

[0682] Server queries

[0683] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request, searches its internal database for the appropriate information, and retrieves information from external resources as needed.

[0684] Generating appropriate information

[0685] The server generates information to provide to the user in an appropriate format based on the acquired information. For example, it generates text data detailing the steps for creating a pivot table and related image data, and sends this back to the terminal in JSON format.

[0686] Sending a response to the user

[0687] The device analyzes information received from the server and adjusts its response based on the user's emotions, as recognized by the sentiment analysis engine. For example, if the device detects that the user is having trouble, it will explain the steps in more polite language. Finally, the device visually displays the details to the user. For example, "Here are the steps to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..." The user can then use this information to take action to solve their problem.

[0688] Specific example

[0689] Situation 1: Excel support

[0690] For example, if a user types "How do I create a pivot table in Excel?", this message will be added to the message queue.

[0691] The terminal retrieves messages from the message queue and sends them to the natural language processing engine and sentiment analysis engine for analysis.

[0692] The natural language processing engine identifies keywords such as "Excel" and "creating pivot tables," while the sentiment analysis engine recognizes the emotion of "being troubled."

[0693] Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[0694] The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[0695] The terminal analyzes the received instructions and, depending on the user's level of difficulty, displays a polite message to them saying, "The procedure for creating a pivot table is as follows."

[0696] The user follows the instructions displayed.

[0697] This invention enables the creation of a system that supports business efficiency by providing information quickly and accurately to users' specific problems and offering appropriate support tailored to the user's emotions.

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

[0699] Step 1:

[0700] The user enters a question or request in text format into the device (e.g., "How do I create a pivot table in Excel?").

[0701] Input: The user enters a message using a keyboard, voice input, etc.

[0702] Output: The terminal receives the entered message and adds it to the message queue.

[0703] Specific operation: The user sends a message through the terminal's input interface, and this message is stored in the message queue.

[0704] Step 2:

[0705] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment analysis engine.

[0706] Input: Messages from users in the message queue.

[0707] Output: Messages sent to the natural language processing engine and the sentiment analysis engine.

[0708] Specific operation: The device retrieves the message and sends it to the natural language processing engine and sentiment analysis engine via APIs, etc.

[0709] Step 3:

[0710] A natural language processing engine analyzes the message to identify keywords and intent.

[0711] Input: Message sent by the user.

[0712] Output: Keywords such as "Excel" and "creating pivot tables," along with analysis results.

[0713] Specific operation: The natural language processing engine analyzes the message and executes text analysis algorithms to extract important keywords and user intent.

[0714] Step 4:

[0715] The sentiment analysis engine analyzes the same message and identifies the user's emotions.

[0716] Input: Message sent by the user.

[0717] Output: Emotional labels such as "distressed" and analysis results.

[0718] Specific operation: The sentiment analysis engine uses a sentiment analysis algorithm to classify the user's emotions from the text within the message.

[0719] Step 5:

[0720] The device integrates the analysis results received from the natural language processing engine and the sentiment analysis engine.

[0721] Input: Analysis results from a natural language processing engine and an emotion analysis engine.

[0722] Output: Integrated analysis results.

[0723] Specific operation: The terminal receives both analysis results, integrates them, and prepares for the next processing step.

[0724] Step 6:

[0725] The terminal requests data and processing from the server based on the analysis results.

[0726] Input: Integrated analysis results.

[0727] Output: Data request sent to the server (e.g., "Please provide information on how to create a pivot table in Excel").

[0728] Specific operation: The terminal sends a data request to the server in the form of an HTTP request or similar.

[0729] Step 7:

[0730] The server receives the request, searches for information in its internal database, and retrieves information from external resources as needed.

[0731] Input: Data request sent from the terminal.

[0732] Output: Instructions and related information for creating pivot tables.

[0733] Specific operation: The server executes database queries and retrieves relevant information. If necessary, it sends requests to external APIs to retrieve additional information.

[0734] Step 8:

[0735] The server generates information to provide to the user in an appropriate format, based on information obtained from the database and external resources.

[0736] Input: Information obtained from databases and external resources.

[0737] Output: Generated information (e.g., procedure for creating a pivot table in JSON format).

[0738] Specific operation: The server organizes the information and reconstructs the data in a format that is easy for the user to understand.

[0739] Step 9:

[0740] The terminal analyzes the information received from the server and adjusts its response based on the sentiment analysis results.

[0741] Input: Data received from the server.

[0742] Output: Adjusted response content.

[0743] Specific operation: The device handles the data and adjusts the wording and level of detail in explanations according to the user's emotions.

[0744] Step 10:

[0745] The terminal visually displays the final response to the user.

[0746] Input: Adjusted response content.

[0747] Output: Detailed instructions and information displayed to the user.

[0748] Specific operation: The device uses a user interface to present information to the user in text and image format.

[0749] This allows users to take action to solve problems based on the displayed information. For example, users can follow the displayed steps, such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[0750] (Application Example 2)

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

[0752] Traditional chat-based support systems provided uniform responses without considering user emotions, resulting in a poor user experience and insufficient support, especially for users in need. Furthermore, accurately extracting necessary information from a vast amount of resources was required for users to receive specific information quickly, which was also difficult.

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

[0754] In this invention, the server includes means for analyzing the user's emotions using an emotion engine and adjusting the response content based on those emotions; means for searching for and obtaining appropriate information from a specific database based on the analysis results; and means for obtaining information from external resources in response to requests based on the analysis results. This enables personalized responses that correspond to the user's emotions and the provision of information quickly and accurately.

[0755] A "user" refers to a person who uses an information processing system to input messages or retrieve information.

[0756] "Message receiving means" refers to functions or devices for receiving messages entered by users.

[0757] A "natural language processing engine" refers to a technology that analyzes input messages to identify keywords and intent.

[0758] "Means for receiving analysis results" refers to functions or devices for receiving results analyzed by a natural language processing engine.

[0759] "Server request means" refers to a function or device for requesting data or processing from a server based on the analysis results.

[0760] "Data display means" refers to functions or devices for displaying data received from a server to the user.

[0761] An "emotion engine" refers to a technology that analyzes and identifies emotions from user input messages.

[0762] "Response content adjustment means" refers to a function or device for adjusting the response content based on the user's emotions analyzed by the emotion engine.

[0763] "Database search means" refers to functions or devices used to search for and retrieve necessary information from a specific database.

[0764] "External resource acquisition means" refers to functions or devices for acquiring information from external resources in response to requests based on analysis results.

[0765] To implement this invention, hardware and software such as a user terminal, a natural language processing engine, an emotion engine, and a server are required. This invention is a system that provides information that responds to the user's emotions through the following steps.

[0766] Hardware and software configuration

[0767] hardware

[0768] 1. User's device: Smartphone, tablet, personal computer, etc.

[0769] 2. Server: A server that holds the database and processes the data.

[0770] software

[0771] 1. Natural Language Processing Engine: Software used for natural language processing. Examples include SpaCy and Google NLP.

[0772] 2. Emotion Engine: Software for analyzing user emotions. Examples include IBM Watson Tone Analyzer and Azure Emotion API.

[0773] 3. Server Program: A server using Node.js, Django, Flask, etc.

[0774] Implementation method

[0775] The system begins processing when the user enters a message into the terminal. First, the terminal receives the message and sends it to the natural language processing engine and the emotion engine. The natural language processing engine analyzes the message and identifies its intent and keywords. Meanwhile, the emotion engine analyzes the user's emotions and identifies feelings such as distress or happiness.

[0776] Based on the analysis results, the terminal sends a request to the server. This request may include a request to search for information in a specific database, or a request to retrieve information from an external resource if the necessary information cannot be found. The server receives these requests and retrieves the appropriate information from its internal database or external resources. The retrieved information is then sent back to the terminal in JSON format or another appropriate format.

[0777] The terminal receives a response from the server and adjusts the response based on the user's emotions, which are analyzed by the emotion engine. For example, if the system recognizes that the user is in distress, a more detailed and courteous explanation will be provided. Finally, the adjusted response is displayed on the user's terminal. As a specific example, if the user enters the message "How do I return this product?", and the system recognizes that the user is in distress, a detailed explanation of the return procedure and necessary documents will be provided.

[0778] Examples of specific cases and prompt statements

[0779] Specific example

[0780] Situation: When the user is having trouble.

[0781] User: "How do I return this item?"

[0782] The device displays detailed instructions such as, "The return procedure is as follows: 1. Pack the item to be returned, 2. Fill out the return form, 3. Send it to the specified address."

[0783] Example of a prompt

[0784] User message: "How do I return this item?"

[0785] Perceived emotion: "I'm in trouble"

[0786] Corresponding response:

[0787] Return Procedure 1: Pack the item you wish to return.

[0788] Return Procedure 2: Fill out the required information on the return form.

[0789] Return procedure 3: Send to the specified address.

[0790] The above details the "mode for carrying out the invention." This system can provide information that responds to the user's emotions and improve the user experience.

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

[0792] Step 1:

[0793] The user enters a message into the device. This message might be something like, "Please tell me how to return this product." The entered message is received by the device.

[0794] Input: Message entered by the user

[0795] Output: Received message

[0796] Step 2:

[0797] The device sends the received message to a natural language processing engine. The natural language processing engine analyzes this message to identify keywords and intent. For example, keywords such as "product" and "return method" may be extracted.

[0798] Input: Received message

[0799] Output: Analysis results (keywords, intent)

[0800] Step 3:

[0801] Simultaneously, the device also sends a message to the emotion engine. The emotion engine analyzes the user's emotions from the message and identifies emotions such as "distressed." This analysis result is also sent back to the device.

[0802] Input: Received message

[0803] Output: Emotion analysis results (emotional state)

[0804] Step 4:

[0805] The device sends requests to the server based on the analysis results from its natural language processing engine and sentiment engine. These requests include requests to search for information in a specific database, and requests to retrieve information from external resources if the necessary information cannot be found. For example, information about "products" and "return procedures" may be requested.

[0806] Input: Keywords, intent, sentiment analysis results

[0807] Output: Server Request

[0808] Step 5:

[0809] The server receives a request from the terminal and searches its internal database. If it finds the appropriate information, it retrieves it and sends it back to the terminal. For example, it might search for detailed instructions on how to return an item.

[0810] Input: Server Request

[0811] Output: Search results (information from the database)

[0812] Step 6:

[0813] The server retrieves information from external resources as needed. For example, if there is insufficient information in the server's internal database, it will use an external API to obtain additional information. This information obtained from external resources is also sent back to the terminal.

[0814] Input: Server Request

[0815] Output: Information obtained from external resources

[0816] Step 7:

[0817] The terminal receives information from the server and adjusts its response based on the user's emotions, as recognized by the emotion engine. For example, if the system recognizes the user as being "in distress," it will provide more polite language and detailed instructions.

[0818] Input: Search results and information from external resources, sentiment analysis results

[0819] Output: Adjusted response content

[0820] Step 8:

[0821] Finally, the device displays a tailored response to the user. Based on this information, the user can learn how to resolve the problem. For example, it might display something like, "The return procedure is as follows: 1. Pack the item to be returned. 2. Fill out the return form. 3. Send it to the specified address."

[0822] Input: Adjusted response content

[0823] Output: Response displayed to the user

[0824] In this way, the present invention can provide information that responds to the user's emotions and improve the user experience.

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

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

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

[0828] [Third Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0841] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[0842] Program processing

[0843] Receiving input from the user

[0844] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[0845] Message parsing

[0846] The terminal retrieves a message from the message queue and sends it to the natural language processing engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "creating a pivot table." The analysis results are then sent back to the terminal.

[0847] Server queries

[0848] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[0849] Generating appropriate information

[0850] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[0851] Sending a response to the user

[0852] The terminal analyzes the information received from the server and displays it visually to the user. Based on this information, the user can perform tasks to solve their own problems. For example, it may display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[0853] Specific example

[0854] Situation 1: Excel support

[0855] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[0856] 2. The terminal receives this message and sends it to the natural language processing engine for analysis.

[0857] 3. The natural language processing engine analyzes the message and identifies "Excel" and "Create a pivot table".

[0858] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[0859] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[0860] 6. The terminal analyzes the received instructions and displays to the user, "The procedure for creating a pivot table is as follows."

[0861] 7. The user follows the instructions displayed.

[0862] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems.

[0863] The following describes the processing flow.

[0864] Step 1:

[0865] The user enters a message into the terminal.

[0866] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[0867] Step 2:

[0868] The device receives the user's message.

[0869] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[0870] Step 3:

[0871] The terminal retrieves a message from the message queue and sends it to the natural language processing engine.

[0872] Specifically, the backend retrieves the message and sends it to the natural language processing engine as an API request.

[0873] Step 4:

[0874] A natural language processing engine analyzes the message to identify keywords and intent.

[0875] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[0876] Step 5:

[0877] The natural language processing engine sends the analysis results back to the terminal.

[0878] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[0879] Step 6:

[0880] The terminal requests data and processing from the server based on the analysis results.

[0881] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[0882] Step 7:

[0883] The server searches its internal database for the necessary information.

[0884] Specifically, this involves executing database queries to search for relevant manuals and documents.

[0885] Step 8:

[0886] The server processes the acquired information into JSON format and sends it to the terminal.

[0887] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[0888] Step 9:

[0889] The device displays the data it has received to the user.

[0890] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[0891] Step 10:

[0892] The user solves the problem based on the information displayed.

[0893] Specifically, follow the displayed instructions to create a pivot table in Excel.

[0894] (Example 1)

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

[0896] Modern user support systems are required to respond to user inquiries quickly and accurately. However, many systems struggle to provide efficient responses due to complex analysis processes and inappropriate information retrieval methods. This leads to decreased user satisfaction and hinders operational efficiency. This invention aims to solve these problems and provide a system that provides information quickly and accurately in response to user inquiries.

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

[0898] In this invention, the server includes means for receiving messages input by a user, means for adding the messages to a message queue and processing them sequentially, means for sending the messages to a natural language processing engine and analyzing keywords and intent, means for making requests to the server for necessary data and processing based on the analysis results, and means for analyzing the information received from the server and visually displaying it to the user in an appropriate format. This makes it possible to respond quickly and accurately to user inquiries and improve the efficiency of operations.

[0899] A "message" is text data that includes inquiries and instructions entered by the user into the system.

[0900] A "message queue" is a data structure used to temporarily store received messages and process them sequentially.

[0901] A "natural language processing engine" is software or an algorithm that analyzes input text data and extracts keywords and intent.

[0902] A "server" is a computer system that receives requests from terminals, accesses databases and external resources, and provides the necessary information.

[0903] A "database" is a system for efficiently storing, searching, updating, and deleting structured data.

[0904] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight and human-readable format that represents data using key-value pairs.

[0905] A "generative AI model" is, for example, an algorithm or system that uses machine learning techniques to generate responses to user inquiries.

[0906] A "prompt" is a question or instruction given to a generative AI model to generate a specific response.

[0907] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[0908] The specific hardware and software configuration of this system includes the following: The user's terminal can be a personal computer, smartphone, or tablet, which allows them to input messages into the system. A message queue installed on the terminal provides a data structure for temporarily storing received messages and processing them sequentially. Software such as "spaCy" is used as a natural language processing engine to analyze messages and extract keywords and intent. The analysis results are processed in JSON format and returned to the terminal.

[0909] Next, a request is made to the server based on the analysis results. The server uses "MySQL" as its database and can retrieve the necessary information from its internal database. It may also retrieve information from external resources via "REST API" as needed. The server constructs the retrieved information in an appropriate format (e.g., JSON format) and sends it back to the terminal.

[0910] The terminal analyzes the information received from the server and displays it visually to the user in an appropriate format. The user can then use this information to perform tasks to solve their own problems.

[0911] Specific example

[0912] Consider a scenario where a user types "How do I create a pivot table in Excel?" into a terminal. In this case, the terminal receives this message and adds it to the message queue. Next, the terminal sends this message to a natural language processing engine for analysis. The natural language processing engine identifies "Excel" and "creating a pivot table." Based on the analysis results, the terminal requests information from the server about "how to create a pivot table in Excel." The server searches its database for the relevant instructions and sends them back to the terminal in JSON format. Finally, the terminal analyzes the received instructions and displays to the user "The steps to create a pivot table are as follows: 1. Select the data, 2. Click the [Insert] tab, ..." The user then follows the displayed steps.

[0913] The process is similar when using a generative AI model. For example, if a user enters "How do I create a pivot table in Excel?", the following prompt is sent to the generative AI model:

[0914] "How do I create a pivot table in Excel?"

[0915] In contrast, generative AI models can generate appropriate answers and provide them to users.

[0916] As described above, the present invention provides a system that can respond quickly and accurately to a variety of inquiries from users and improve the efficiency of operations.

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

[0918] Step 1:

[0919] The user enters a message into the terminal. For example, they might type, "Tell me how to create a pivot table in Excel." This message is input from the user to the terminal. The terminal receives this message and adds it to the message queue. Messages added to the message queue are temporarily stored in preparation for the next analysis step.

[0920] Input: "How do I create a pivot table in Excel?"

[0921] Output: Add to message queue

[0922] Step 2:

[0923] The terminal retrieves the latest message from the message queue. This retrieval operation is performed using the FIFO (First In, First Out) method. The terminal sends this message to a natural language processing engine. Using "spaCy" as the natural language processing engine, the message is analyzed to extract keywords and intent. Specifically, the keywords "Excel" and "creating a pivot table" are identified. The analysis results are returned to the terminal in JSON format.

[0924] Input: Message retrieved from the message queue

[0925] Data processing: Extraction of keywords and intent using natural language processing.

[0926] Output: Parsing results in JSON format

[0927] Step 3:

[0928] The terminal uses the analysis results returned from the natural language processing engine to request the necessary data and processing from the server. Specifically, it generates a request for information on "how to create a pivot table in Excel." This request is sent as an API call to the server.

[0929] Input: Parsing result in JSON format

[0930] Data processing: Generating requests to the server

[0931] Output: Request sent to the server

[0932] Step 4:

[0933] The server processes the request received from the terminal. The server searches for the relevant information in its internal database (MySQL) and retrieves information from external resources (e.g., REST API) as needed. The server constructs the identified information in JSON format and sends it back to the terminal.

[0934] Input: Request sent to the server

[0935] Data processing: Database search and information retrieval from external resources.

[0936] Output: Sends data in JSON format back to the terminal.

[0937] Step 5:

[0938] The terminal receives and parses the JSON-formatted information sent back from the server. It parses the received data and converts it into a format for visual display to the user. For example, it displays the following steps: "The steps to create a pivot table in Excel are as follows: 1. Select the data, 2. Click the Insert tab, ..."

[0939] Input: Data in JSON format

[0940] Data processing: Parsing and converting data into a format for display.

[0941] Output: Display on the user interface

[0942] Step 6:

[0943] The user performs specific actions based on the information displayed on the device. For example, they might open Excel and create a pivot table following the displayed instructions. In this step, the user utilizes the displayed information to solve a real problem.

[0944] Input: Information displayed in the user interface

[0945] Output: Specific actions for resolving the user's problem

[0946] (Application Example 1)

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

[0948] In modern e-commerce, users often have many questions and uncertainties when searching for and purchasing products. To effectively address these inquiries, a system capable of providing quick and accurate answers is necessary. However, traditional chat support systems fail to adequately meet these needs, particularly in areas such as product recommendations and appropriate information retrieval.

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

[0950] In this invention, the server includes means for receiving messages input by the user, means for sending messages to a natural language processing engine and receiving analysis results, means for requesting data and processing from the server based on the analysis results, means for displaying the data received from the server to the user, means for searching for and obtaining product information using an external API, and means for recommending products using a generative AI model. This enables the user to quickly and accurately obtain product information and receive appropriate product recommendations.

[0951] "Means for receiving messages entered by the user" refers to the components that enable the system to receive messages entered by the user through a terminal.

[0952] "Means for sending messages to a natural language processing engine and receiving analysis results" refers to the components for sending messages from the user to a natural language processing engine and for the system to receive the analysis results.

[0953] "Means for requesting data and processing from a server based on analysis results" refers to components for sending necessary data and processing requests to a server based on analysis results obtained from a natural language processing engine.

[0954] "Means for displaying data received from a server to a user" refers to components for processing data received from a server and providing it to the user in a visual or other format.

[0955] "Means of searching for and retrieving product information using an external API" refers to components for searching for and retrieving information about products using an external application programming interface.

[0956] "Methods for recommending products using generative AI models" refer to the components for recommending appropriate products to users by utilizing generative AI models.

[0957] This invention relates to a smart shopping assistant system that responds quickly and accurately to a variety of user inquiries. To implement the invention, the system is constructed using the following means and procedures.

[0958] Communication between the server and the terminal requires the use of the Flask framework and external APIs. The server uses OpenAI's GPT-3 as its natural language processing engine to analyze user messages. External APIs are also used for searching and retrieving product information. A terminal such as a smartphone, smart glasses, or head-mounted display is required to provide an interface for appropriately displaying the information from the server to the user.

[0959] ● Receiving user input

[0960] The user enters a message in natural language using a device such as a smartphone. For example, they might enter a specific question like, "Can you recommend some running shoes?" The device receives this message and sends it to the server.

[0961] ● Natural language processing

[0962] The server sends the received message to an OpenAI GPT-3 model for analysis. GPT-3 identifies the intent of the message and generates an appropriate response. For example, in response to the message "Tell me your recommended running shoes," the analysis results identify the intent as "The user is asking for recommendations for running shoes."

[0963] ● Request to the server

[0964] Based on the analysis results, the server uses an external API to request appropriate product information. For example, to obtain information on a specific pair of running shoes, it searches for information in an external product database.

[0965] ● Data generation and display

[0966] The server generates recommendation results using the acquired product information and the generated AI model, and sends them back to the device in JSON format. The device then displays the received information visually to the user. For example, it might present product information in a format such as, "The following three running shoes are recommended."

[0967] Here are some examples of specific prompt messages:

[0968] "Can you recommend some running shoes?"

[0969] "Please tell me your payment method."

[0970] This system allows users to quickly and accurately obtain product information and receive appropriate product recommendations. Furthermore, by analyzing users' search needs and purchasing behavior, it enables the development of more sophisticated marketing strategies.

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

[0972] Step 1:

[0973] The user enters a specific question using a device such as a smartphone. An example of such input is the message, "Please recommend some running shoes." The device receives this message and adds it to the message queue. In this case, the input is the user's message, and the output is the receipt of the message.

[0974] Step 2:

[0975] The terminal retrieves a message from the message queue and prepares it for transmission to the natural language processing engine (GPT-3). Data processing at this stage includes converting the message format to one that is easily parsable by the natural language processing engine. The input here is the received user message, and the output is the message requested for parsing.

[0976] Step 3:

[0977] The server sends a message to the natural language processing engine (GPT-3). GPT-3 analyzes this message to identify keywords and intent. For example, from the message "Please recommend some running shoes," it extracts keywords such as "running shoes" and "recommendation" to determine the user's intent. The input here is the message requested for analysis, and the output is the analysis result.

[0978] Step 4:

[0979] The server uses an external API based on the analysis results to search for appropriate product information. This step involves sending a search query to the product database based on keywords obtained from the analysis results. For example, it might request product information about "running shoes." The input here is the analysis results, and the output is the retrieved product information.

[0980] Step 5:

[0981] The server generates recommendation results using a generative AI model based on product information received from an external API. For example, it recommends the best running shoes based on the user's purchase history and product review information. Data processing at this stage includes filtering product information and generating recommendation information using a generative AI model. The input here is the acquired product information, and the output is the recommendation result.

[0982] Step 6:

[0983] The server sends the recommendation results to the terminal in JSON format. The terminal parses the received recommendation results and displays them visually to the user. This step includes the specific actions of the terminal displaying information about the recommended products through the user interface. The input here is the recommendation results in JSON format, and the output is the recommendation information displayed to the user.

[0984] Step 7:

[0985] The user reviews the recommendations displayed on the device and decides on their next action. For example, they might decide whether or not to purchase the recommended running shoes. The input here is the recommendations displayed to the user, and the output is the user's action.

[0986] In this way, the user, server, and terminal work together in each processing step, realizing a smart shopping assistant system that can respond quickly and accurately to the diverse needs of the user.

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

[0988] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. The system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to the server based on the analysis results. Furthermore, it can recognize the user's emotions using an emotion engine and adjust the response accordingly.

[0989] Program processing

[0990] Receiving input from the user

[0991] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[0992] Message parsing

[0993] The terminal retrieves a message from the message queue and sends it to the natural language processing engine and the sentiment engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "create pivot table." The sentiment engine simultaneously analyzes the message and identifies the user's emotions. For example, it might recognize the emotion "this user is troubled." The analysis results are then sent back to the terminal.

[0994] Server queries

[0995] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[0996] Generating appropriate information

[0997] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[0998] Sending a response to the user

[0999] The terminal analyzes information received from the server and adjusts its response based on the user's emotions recognized by the emotion engine. For example, if the system recognizes that the user is having trouble, it will adjust the instructions to be more polite. Finally, it displays the information visually to the user. The user can then use this information to take action to solve their problem. For example, it might display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select your data, 2. Click the Insert tab, ..."

[1000] Specific example

[1001] Situation 1: Excel support

[1002] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[1003] 2. The device receives this message and sends it to the natural language processing engine and the sentiment engine for analysis.

[1004] 3. The natural language processing engine and sentiment engine analyze the message, identify "Excel" and "creating a pivot table," and recognize the emotion of "being troubled."

[1005] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[1006] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[1007] 6. The terminal analyzes the received instructions and, in response to the user's perceived difficulty, displays a polite message to the user stating, "The procedure for creating a pivot table is as follows."

[1008] 7. The user follows the instructions displayed.

[1009] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems and providing appropriate support that responds to the user's emotions.

[1010] The following describes the processing flow.

[1011] Step 1:

[1012] The user enters a message into the terminal.

[1013] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[1014] Step 2:

[1015] The device receives the user's message.

[1016] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[1017] Step 3:

[1018] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment engine.

[1019] Specifically, the backend retrieves the message and sends it as an API request to the natural language processing engine and the sentiment engine.

[1020] Step 4:

[1021] A natural language processing engine analyzes the message to identify keywords and intent.

[1022] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[1023] Step 5:

[1024] The emotion engine analyzes the message and identifies the user's emotions.

[1025] As a concrete action, it analyzes emotions from text and recognizes the emotion of "being troubled."

[1026] Step 6:

[1027] The natural language processing engine and the emotion engine send the analysis results back to the terminal.

[1028] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[1029] Step 7:

[1030] The terminal requests data and processing from the server based on the analysis results.

[1031] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[1032] Step 8:

[1033] The server searches its internal database for the necessary information.

[1034] Specifically, this involves executing database queries to search for relevant manuals and documents.

[1035] Step 9:

[1036] The server processes the acquired information into JSON format and sends it to the terminal.

[1037] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[1038] Step 10:

[1039] The device analyzes the data it receives and adjusts its response based on the user's emotions recognized by the emotion engine.

[1040] In concrete terms, it generates polite language and specific instructions based on emotional categories.

[1041] Step 11:

[1042] The terminal displays the adjusted response to the user.

[1043] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[1044] Step 12:

[1045] The user solves the problem based on the information displayed.

[1046] Specifically, follow the displayed instructions to create a pivot table in Excel.

[1047] (Example 2)

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

[1049] Traditional chat-based support systems only performed simple keyword analysis on user input, failing to respond in a way that considered user emotions. This made it difficult to provide satisfactory support. Furthermore, they lacked mechanisms for quickly providing users with appropriate information, hindering efficient support.

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

[1051] In this invention, the server includes means for receiving text input from a user, means for sending the text to a natural language processing engine and receiving the analysis results, means for sending the text to an emotion analysis engine and receiving the emotion analysis results, means for making requests to the server for data and processing based on the analysis results and the emotion analysis results, and means for adjusting the data received from the server based on the emotion analysis results and displaying it visually to the user. This makes it possible to provide appropriate information that takes the user's emotions into consideration, and to provide support that results in high user satisfaction.

[1052] A "user" refers to anyone who uses this system to enter questions or requests.

[1053] "Text" refers to the string of characters that the user enters as a question or request.

[1054] A "natural language processing engine" refers to a software component that analyzes text input by a user to identify keywords and intent.

[1055] A "sentiment analysis engine" refers to a software component that analyzes a user's emotions from text and identifies the type of emotion.

[1056] A "server" refers to a computer system that retrieves data and provides information in response to user requests.

[1057] "Means of receiving" refers to the function that takes text entered by the user and adds it to the message queue.

[1058] "Analysis results" refer to information about the meaning of text and the user's emotions, output by the natural language processing engine and sentiment analysis engine.

[1059] "Means of requesting data and processing" refers to the function that requests the necessary data and processing from the server based on the analysis results.

[1060] "Means of display" refers to a function that visually presents information received from the server in a way that is easy for the user to understand.

[1061] A "database" refers to an information management system that systematically stores information and allows it to be searched and retrieved.

[1062] "External resources" refer to external information services and data sources that a server accesses as needed.

[1063] "Visually displaying" refers to displaying information on the user's device in the form of text, images, or other visual media.

[1064] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. This system analyzes user input using a natural language processing engine and an emotion analysis engine, and provides support based on the results.

[1065] System Configuration

[1066] This system includes the following main hardware and software components:

[1067] User devices (computers, tablets, smartphones, etc.)

[1068] Natural language processing engines (e.g., general language analysis tools)

[1069] Sentiment analysis engine (e.g., a general sentiment analysis tool)

[1070] Server (including database and external resource connections)

[1071] Database (information management system for internal information management)

[1072] Message queue (a queue system for temporarily storing user input)

[1073] Details of the program's processing

[1074] Receiving user input

[1075] The user uses a terminal to enter questions or requests into the system in text format. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives the message from the user and adds it to the message queue.

[1076] Message Controller

[1077] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and sentiment analysis engine for analysis. The natural language processing engine analyzes the user's message and identifies important keywords and intent. For example, keywords such as "Excel" and "creating a pivot table" may be extracted.

[1078] The emotion analysis engine analyzes the same message to recognize the user's emotional state. For example, it might identify the emotion "this user is troubled." This analysis result is then sent back to the device.

[1079] Server queries

[1080] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request, searches its internal database for the appropriate information, and retrieves information from external resources as needed.

[1081] Generating appropriate information

[1082] The server generates information to provide to the user in an appropriate format based on the acquired information. For example, it generates text data detailing the steps for creating a pivot table and related image data, and sends this back to the terminal in JSON format.

[1083] Sending a response to the user

[1084] The device analyzes information received from the server and adjusts its response based on the user's emotions, as recognized by the sentiment analysis engine. For example, if the device detects that the user is having trouble, it will explain the steps in more polite language. Finally, the device visually displays the details to the user. For example, "Here are the steps to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..." The user can then use this information to take action to solve their problem.

[1085] Specific example

[1086] Situation 1: Excel support

[1087] For example, if a user types "How do I create a pivot table in Excel?", this message will be added to the message queue.

[1088] The terminal retrieves messages from the message queue and sends them to the natural language processing engine and sentiment analysis engine for analysis.

[1089] The natural language processing engine identifies keywords such as "Excel" and "creating pivot tables," while the sentiment analysis engine recognizes the emotion of "being troubled."

[1090] Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[1091] The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[1092] The terminal analyzes the received instructions and, depending on the user's level of difficulty, displays a polite message to them saying, "The procedure for creating a pivot table is as follows."

[1093] The user follows the instructions displayed.

[1094] This invention enables the creation of a system that supports business efficiency by providing information quickly and accurately to users' specific problems and offering appropriate support tailored to the user's emotions.

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

[1096] Step 1:

[1097] The user enters a question or request in text format into the device (e.g., "How do I create a pivot table in Excel?").

[1098] Input: The user enters a message using a keyboard, voice input, etc.

[1099] Output: The terminal receives the entered message and adds it to the message queue.

[1100] Specific operation: The user sends a message through the terminal's input interface, and this message is stored in the message queue.

[1101] Step 2:

[1102] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment analysis engine.

[1103] Input: Messages from users in the message queue.

[1104] Output: Messages sent to the natural language processing engine and the sentiment analysis engine.

[1105] Specific operation: The device retrieves the message and sends it to the natural language processing engine and sentiment analysis engine via APIs, etc.

[1106] Step 3:

[1107] A natural language processing engine analyzes the message to identify keywords and intent.

[1108] Input: Message sent by the user.

[1109] Output: Keywords such as "Excel" and "creating pivot tables," along with analysis results.

[1110] Specific operation: The natural language processing engine analyzes the message and executes text analysis algorithms to extract important keywords and user intent.

[1111] Step 4:

[1112] The sentiment analysis engine analyzes the same message and identifies the user's emotions.

[1113] Input: Message sent by the user.

[1114] Output: Emotional labels such as "distressed" and analysis results.

[1115] Specific operation: The sentiment analysis engine uses a sentiment analysis algorithm to classify the user's emotions from the text within the message.

[1116] Step 5:

[1117] The device integrates the analysis results received from the natural language processing engine and the sentiment analysis engine.

[1118] Input: Analysis results from a natural language processing engine and an emotion analysis engine.

[1119] Output: Integrated analysis results.

[1120] Specific operation: The terminal receives both analysis results, integrates them, and prepares for the next processing step.

[1121] Step 6:

[1122] The terminal requests data and processing from the server based on the analysis results.

[1123] Input: Integrated analysis results.

[1124] Output: Data request sent to the server (e.g., "Please provide information on how to create a pivot table in Excel").

[1125] Specific operation: The terminal sends a data request to the server in the form of an HTTP request or similar.

[1126] Step 7:

[1127] The server receives the request, searches for information in its internal database, and retrieves information from external resources as needed.

[1128] Input: Data request sent from the terminal.

[1129] Output: Instructions and related information for creating pivot tables.

[1130] Specific operation: The server executes database queries and retrieves relevant information. If necessary, it sends requests to external APIs to retrieve additional information.

[1131] Step 8:

[1132] The server generates information to provide to the user in an appropriate format, based on information obtained from the database and external resources.

[1133] Input: Information obtained from databases and external resources.

[1134] Output: Generated information (e.g., procedure for creating a pivot table in JSON format).

[1135] Specific operation: The server organizes the information and reconstructs the data in a format that is easy for the user to understand.

[1136] Step 9:

[1137] The terminal analyzes the information received from the server and adjusts its response based on the sentiment analysis results.

[1138] Input: Data received from the server.

[1139] Output: Adjusted response content.

[1140] Specific operation: The device handles the data and adjusts the wording and level of detail in explanations according to the user's emotions.

[1141] Step 10:

[1142] The terminal visually displays the final response to the user.

[1143] Input: Adjusted response content.

[1144] Output: Detailed instructions and information displayed to the user.

[1145] Specific operation: The device uses a user interface to present information to the user in text and image format.

[1146] This allows users to take action to solve problems based on the displayed information. For example, users can follow the displayed steps, such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[1147] (Application Example 2)

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

[1149] Traditional chat-based support systems provided uniform responses without considering user emotions, resulting in a poor user experience and insufficient support, especially for users in need. Furthermore, accurately extracting necessary information from a vast amount of resources was required for users to receive specific information quickly, which was also difficult.

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

[1151] In this invention, the server includes means for analyzing the user's emotions using an emotion engine and adjusting the response content based on those emotions; means for searching for and obtaining appropriate information from a specific database based on the analysis results; and means for obtaining information from external resources in response to requests based on the analysis results. This enables personalized responses that correspond to the user's emotions and the provision of information quickly and accurately.

[1152] A "user" refers to a person who uses an information processing system to input messages or retrieve information.

[1153] "Message receiving means" refers to functions or devices for receiving messages entered by users.

[1154] A "natural language processing engine" refers to a technology that analyzes input messages to identify keywords and intent.

[1155] "Means for receiving analysis results" refers to functions or devices for receiving results analyzed by a natural language processing engine.

[1156] "Server request means" refers to a function or device for requesting data or processing from a server based on the analysis results.

[1157] "Data display means" refers to functions or devices for displaying data received from a server to the user.

[1158] An "emotion engine" refers to a technology that analyzes and identifies emotions from user input messages.

[1159] "Response content adjustment means" refers to a function or device for adjusting the response content based on the user's emotions analyzed by the emotion engine.

[1160] "Database search means" refers to functions or devices used to search for and retrieve necessary information from a specific database.

[1161] "External resource acquisition means" refers to functions or devices for acquiring information from external resources in response to requests based on analysis results.

[1162] To implement this invention, hardware and software such as a user terminal, a natural language processing engine, an emotion engine, and a server are required. This invention is a system that provides information that responds to the user's emotions through the following steps.

[1163] Hardware and software configuration

[1164] hardware

[1165] 1. User's device: Smartphone, tablet, personal computer, etc.

[1166] 2. Server: A server that holds the database and processes the data.

[1167] software

[1168] 1. Natural Language Processing Engine: Software used for natural language processing. Examples include SpaCy and Google NLP.

[1169] 2. Emotion Engine: Software for analyzing user emotions. Examples include IBM Watson Tone Analyzer and Azure Emotion API.

[1170] 3. Server Program: A server using Node.js, Django, Flask, etc.

[1171] Implementation method

[1172] The system begins processing when the user enters a message into the terminal. First, the terminal receives the message and sends it to the natural language processing engine and the emotion engine. The natural language processing engine analyzes the message and identifies its intent and keywords. Meanwhile, the emotion engine analyzes the user's emotions and identifies feelings such as distress or happiness.

[1173] Based on the analysis results, the terminal sends a request to the server. This request may include a request to search for information in a specific database, or a request to retrieve information from an external resource if the necessary information cannot be found. The server receives these requests and retrieves the appropriate information from its internal database or external resources. The retrieved information is then sent back to the terminal in JSON format or another appropriate format.

[1174] The terminal receives a response from the server and adjusts the response based on the user's emotions, which are analyzed by the emotion engine. For example, if the system recognizes that the user is in distress, a more detailed and courteous explanation will be provided. Finally, the adjusted response is displayed on the user's terminal. As a specific example, if the user enters the message "How do I return this product?", and the system recognizes that the user is in distress, a detailed explanation of the return procedure and necessary documents will be provided.

[1175] Examples of specific cases and prompt statements

[1176] Specific example

[1177] Situation: When the user is having trouble.

[1178] User: "How do I return this item?"

[1179] The device displays detailed instructions such as, "The return procedure is as follows: 1. Pack the item to be returned, 2. Fill out the return form, 3. Send it to the specified address."

[1180] Example of a prompt

[1181] User message: "How do I return this item?"

[1182] Perceived emotion: "I'm in trouble"

[1183] Corresponding response:

[1184] Return Procedure 1: Pack the item you wish to return.

[1185] Return Procedure 2: Fill out the required information on the return form.

[1186] Return procedure 3: Send to the specified address.

[1187] The above details the "mode for carrying out the invention." This system can provide information that responds to the user's emotions and improve the user experience.

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

[1189] Step 1:

[1190] The user enters a message into the device. This message might be something like, "Please tell me how to return this product." The entered message is received by the device.

[1191] Input: Message entered by the user

[1192] Output: Received message

[1193] Step 2:

[1194] The device sends the received message to a natural language processing engine. The natural language processing engine analyzes this message to identify keywords and intent. For example, keywords such as "product" and "return method" may be extracted.

[1195] Input: Received message

[1196] Output: Analysis results (keywords, intent)

[1197] Step 3:

[1198] Simultaneously, the device also sends a message to the emotion engine. The emotion engine analyzes the user's emotions from the message and identifies emotions such as "distressed." This analysis result is also sent back to the device.

[1199] Input: Received message

[1200] Output: Emotion analysis results (emotional state)

[1201] Step 4:

[1202] The device sends requests to the server based on the analysis results from its natural language processing engine and sentiment engine. These requests include requests to search for information in a specific database, and requests to retrieve information from external resources if the necessary information cannot be found. For example, information about "products" and "return procedures" may be requested.

[1203] Input: Keywords, intent, sentiment analysis results

[1204] Output: Server Request

[1205] Step 5:

[1206] The server receives a request from the terminal and searches its internal database. If it finds the appropriate information, it retrieves it and sends it back to the terminal. For example, it might search for detailed instructions on how to return an item.

[1207] Input: Server Request

[1208] Output: Search results (information from the database)

[1209] Step 6:

[1210] The server retrieves information from external resources as needed. For example, if there is insufficient information in the server's internal database, it will use an external API to obtain additional information. This information obtained from external resources is also sent back to the terminal.

[1211] Input: Server Request

[1212] Output: Information obtained from external resources

[1213] Step 7:

[1214] The terminal receives information from the server and adjusts its response based on the user's emotions, as recognized by the emotion engine. For example, if the system recognizes the user as being "in distress," it will provide more polite language and detailed instructions.

[1215] Input: Search results and information from external resources, sentiment analysis results

[1216] Output: Adjusted response content

[1217] Step 8:

[1218] Finally, the device displays a tailored response to the user. Based on this information, the user can learn how to resolve the problem. For example, it might display something like, "The return procedure is as follows: 1. Pack the item to be returned. 2. Fill out the return form. 3. Send it to the specified address."

[1219] Input: Adjusted response content

[1220] Output: Response displayed to the user

[1221] In this way, the present invention can provide information that responds to the user's emotions and improve the user experience.

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

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

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

[1225] [Fourth Embodiment]

[1226] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1239] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[1240] Program processing

[1241] Receiving input from the user

[1242] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[1243] Message parsing

[1244] The terminal retrieves a message from the message queue and sends it to the natural language processing engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "creating a pivot table." The analysis results are then sent back to the terminal.

[1245] Server queries

[1246] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[1247] Generating appropriate information

[1248] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[1249] Sending a response to the user

[1250] The terminal analyzes the information received from the server and displays it visually to the user. Based on this information, the user can perform tasks to solve their own problems. For example, it may display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[1251] Specific example

[1252] Situation 1: Excel support

[1253] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[1254] 2. The terminal receives this message and sends it to the natural language processing engine for analysis.

[1255] 3. The natural language processing engine analyzes the message and identifies "Excel" and "Create a pivot table".

[1256] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[1257] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[1258] 6. The terminal analyzes the received instructions and displays to the user, "The procedure for creating a pivot table is as follows."

[1259] 7. The user follows the instructions displayed.

[1260] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems.

[1261] The following describes the processing flow.

[1262] Step 1:

[1263] The user enters a message into the terminal.

[1264] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[1265] Step 2:

[1266] The device receives the user's message.

[1267] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[1268] Step 3:

[1269] The terminal retrieves a message from the message queue and sends it to the natural language processing engine.

[1270] Specifically, the backend retrieves the message and sends it to the natural language processing engine as an API request.

[1271] Step 4:

[1272] A natural language processing engine analyzes the message to identify keywords and intent.

[1273] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[1274] Step 5:

[1275] The natural language processing engine sends the analysis results back to the terminal.

[1276] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[1277] Step 6:

[1278] The terminal requests data and processing from the server based on the analysis results.

[1279] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[1280] Step 7:

[1281] The server searches its internal database for the necessary information.

[1282] Specifically, this involves executing database queries to search for relevant manuals and documents.

[1283] Step 8:

[1284] The server processes the acquired information into JSON format and sends it to the terminal.

[1285] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[1286] Step 9:

[1287] The device displays the data it has received to the user.

[1288] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[1289] Step 10:

[1290] The user solves the problem based on the information displayed.

[1291] Specifically, follow the displayed instructions to create a pivot table in Excel.

[1292] (Example 1)

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

[1294] Modern user support systems are required to respond to user inquiries quickly and accurately. However, many systems struggle to provide efficient responses due to complex analysis processes and inappropriate information retrieval methods. This leads to decreased user satisfaction and hinders operational efficiency. This invention aims to solve these problems and provide a system that provides information quickly and accurately in response to user inquiries.

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

[1296] In this invention, the server includes means for receiving messages input by a user, means for adding the messages to a message queue and processing them sequentially, means for sending the messages to a natural language processing engine and analyzing keywords and intent, means for making requests to the server for necessary data and processing based on the analysis results, and means for analyzing the information received from the server and visually displaying it to the user in an appropriate format. This makes it possible to respond quickly and accurately to user inquiries and improve the efficiency of operations.

[1297] A "message" is text data that includes inquiries and instructions entered by the user into the system.

[1298] A "message queue" is a data structure used to temporarily store received messages and process them sequentially.

[1299] A "natural language processing engine" is software or an algorithm that analyzes input text data and extracts keywords and intent.

[1300] A "server" is a computer system that receives requests from terminals, accesses databases and external resources, and provides the necessary information.

[1301] A "database" is a system for efficiently storing, searching, updating, and deleting structured data.

[1302] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight and human-readable format that represents data using key-value pairs.

[1303] A "generative AI model" is, for example, an algorithm or system that uses machine learning techniques to generate responses to user inquiries.

[1304] A "prompt" is a question or instruction given to a generative AI model to generate a specific response.

[1305] This invention relates to a chat-based support system that responds to a variety of user inquiries and provides information quickly and accurately. This system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to a server based on the analysis results. It then displays the data received from the server to the user, thereby addressing the diverse needs of the user.

[1306] The specific hardware and software configuration of this system includes the following: The user's terminal can be a personal computer, smartphone, or tablet, which allows them to input messages into the system. A message queue installed on the terminal provides a data structure for temporarily storing received messages and processing them sequentially. Software such as "spaCy" is used as a natural language processing engine to analyze messages and extract keywords and intent. The analysis results are processed in JSON format and returned to the terminal.

[1307] Next, a request is made to the server based on the analysis results. The server uses "MySQL" as its database and can retrieve the necessary information from its internal database. It may also retrieve information from external resources via "REST API" as needed. The server constructs the retrieved information in an appropriate format (e.g., JSON format) and sends it back to the terminal.

[1308] The terminal analyzes the information received from the server and displays it visually to the user in an appropriate format. The user can then use this information to perform tasks to solve their own problems.

[1309] Specific example

[1310] Consider a scenario where a user types "How do I create a pivot table in Excel?" into a terminal. In this case, the terminal receives this message and adds it to the message queue. Next, the terminal sends this message to a natural language processing engine for analysis. The natural language processing engine identifies "Excel" and "creating a pivot table." Based on the analysis results, the terminal requests information from the server about "how to create a pivot table in Excel." The server searches its database for the relevant instructions and sends them back to the terminal in JSON format. Finally, the terminal analyzes the received instructions and displays to the user "The steps to create a pivot table are as follows: 1. Select the data, 2. Click the [Insert] tab, ..." The user then follows the displayed steps.

[1311] The process is similar when using a generative AI model. For example, if a user enters "How do I create a pivot table in Excel?", the following prompt is sent to the generative AI model:

[1312] "How do I create a pivot table in Excel?"

[1313] In contrast, generative AI models can generate appropriate answers and provide them to users.

[1314] As described above, the present invention provides a system that can respond quickly and accurately to a variety of inquiries from users and improve the efficiency of operations.

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

[1316] Step 1:

[1317] The user enters a message into the terminal. For example, they might type, "Tell me how to create a pivot table in Excel." This message is input from the user to the terminal. The terminal receives this message and adds it to the message queue. Messages added to the message queue are temporarily stored in preparation for the next analysis step.

[1318] Input: "How do I create a pivot table in Excel?"

[1319] Output: Add to message queue

[1320] Step 2:

[1321] The terminal retrieves the latest message from the message queue. This retrieval operation is performed using the FIFO (First In, First Out) method. The terminal sends this message to a natural language processing engine. Using "spaCy" as the natural language processing engine, the message is analyzed to extract keywords and intent. Specifically, the keywords "Excel" and "creating a pivot table" are identified. The analysis results are returned to the terminal in JSON format.

[1322] Input: Message retrieved from the message queue

[1323] Data processing: Extraction of keywords and intent using natural language processing.

[1324] Output: Parsing results in JSON format

[1325] Step 3:

[1326] The terminal uses the analysis results returned from the natural language processing engine to request the necessary data and processing from the server. Specifically, it generates a request for information on "how to create a pivot table in Excel." This request is sent as an API call to the server.

[1327] Input: Parsing result in JSON format

[1328] Data processing: Generating requests to the server

[1329] Output: Request sent to the server

[1330] Step 4:

[1331] The server processes the request received from the terminal. The server searches for the relevant information in its internal database (MySQL) and retrieves information from external resources (e.g., REST API) as needed. The server constructs the identified information in JSON format and sends it back to the terminal.

[1332] Input: Request sent to the server

[1333] Data processing: Database search and information retrieval from external resources.

[1334] Output: Sends data in JSON format back to the terminal.

[1335] Step 5:

[1336] The terminal receives and parses the JSON-formatted information sent back from the server. It parses the received data and converts it into a format for visual display to the user. For example, it displays the following steps: "The steps to create a pivot table in Excel are as follows: 1. Select the data, 2. Click the Insert tab, ..."

[1337] Input: Data in JSON format

[1338] Data processing: Parsing and converting data into a format for display.

[1339] Output: Display on the user interface

[1340] Step 6:

[1341] The user performs specific actions based on the information displayed on the device. For example, they might open Excel and create a pivot table following the displayed instructions. In this step, the user utilizes the displayed information to solve a real problem.

[1342] Input: Information displayed in the user interface

[1343] Output: Specific actions for resolving the user's problem

[1344] (Application Example 1)

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

[1346] In modern e-commerce, users often have many questions and uncertainties when searching for and purchasing products. To effectively address these inquiries, a system capable of providing quick and accurate answers is necessary. However, traditional chat support systems fail to adequately meet these needs, particularly in areas such as product recommendations and appropriate information retrieval.

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

[1348] In this invention, the server includes means for receiving messages input by the user, means for sending messages to a natural language processing engine and receiving analysis results, means for requesting data and processing from the server based on the analysis results, means for displaying the data received from the server to the user, means for searching for and obtaining product information using an external API, and means for recommending products using a generative AI model. This enables the user to quickly and accurately obtain product information and receive appropriate product recommendations.

[1349] "Means for receiving messages entered by the user" refers to the components that enable the system to receive messages entered by the user through a terminal.

[1350] "Means for sending messages to a natural language processing engine and receiving analysis results" refers to the components for sending messages from the user to a natural language processing engine and for the system to receive the analysis results.

[1351] "Means for requesting data and processing from a server based on analysis results" refers to components for sending necessary data and processing requests to a server based on analysis results obtained from a natural language processing engine.

[1352] "Means for displaying data received from a server to a user" refers to components for processing data received from a server and providing it to the user in a visual or other format.

[1353] "Means of searching for and retrieving product information using an external API" refers to components for searching for and retrieving information about products using an external application programming interface.

[1354] "Methods for recommending products using generative AI models" refer to the components for recommending appropriate products to users by utilizing generative AI models.

[1355] This invention relates to a smart shopping assistant system that responds quickly and accurately to a variety of user inquiries. To implement the invention, the system is constructed using the following means and procedures.

[1356] Communication between the server and the terminal requires the use of the Flask framework and external APIs. The server uses OpenAI's GPT-3 as its natural language processing engine to analyze user messages. External APIs are also used for searching and retrieving product information. A terminal such as a smartphone, smart glasses, or head-mounted display is required to provide an interface for appropriately displaying the information from the server to the user.

[1357] ● Receiving user input

[1358] The user enters a message in natural language using a device such as a smartphone. For example, they might enter a specific question like, "Can you recommend some running shoes?" The device receives this message and sends it to the server.

[1359] ● Natural language processing

[1360] The server sends the received message to an OpenAI GPT-3 model for analysis. GPT-3 identifies the intent of the message and generates an appropriate response. For example, in response to the message "Tell me your recommended running shoes," the analysis results identify the intent as "The user is asking for recommendations for running shoes."

[1361] ● Request to the server

[1362] Based on the analysis results, the server uses an external API to request appropriate product information. For example, to obtain information on a specific pair of running shoes, it searches for information in an external product database.

[1363] ● Data generation and display

[1364] The server generates recommendation results using the acquired product information and the generated AI model, and sends them back to the device in JSON format. The device then displays the received information visually to the user. For example, it might present product information in a format such as, "The following three running shoes are recommended."

[1365] Here are some examples of specific prompt messages:

[1366] "Can you recommend some running shoes?"

[1367] "Please tell me your payment method."

[1368] This system allows users to quickly and accurately obtain product information and receive appropriate product recommendations. Furthermore, by analyzing users' search needs and purchasing behavior, it enables the development of more sophisticated marketing strategies.

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

[1370] Step 1:

[1371] The user enters a specific question using a device such as a smartphone. An example of such input is the message, "Please recommend some running shoes." The device receives this message and adds it to the message queue. In this case, the input is the user's message, and the output is the receipt of the message.

[1372] Step 2:

[1373] The terminal retrieves a message from the message queue and prepares it for transmission to the natural language processing engine (GPT-3). Data processing at this stage includes converting the message format to one that is easily parsable by the natural language processing engine. The input here is the received user message, and the output is the message requested for parsing.

[1374] Step 3:

[1375] The server sends a message to the natural language processing engine (GPT-3). GPT-3 analyzes this message to identify keywords and intent. For example, from the message "Please recommend some running shoes," it extracts keywords such as "running shoes" and "recommendation" to determine the user's intent. The input here is the message requested for analysis, and the output is the analysis result.

[1376] Step 4:

[1377] The server uses an external API based on the analysis results to search for appropriate product information. This step involves sending a search query to the product database based on keywords obtained from the analysis results. For example, it might request product information about "running shoes." The input here is the analysis results, and the output is the retrieved product information.

[1378] Step 5:

[1379] The server generates recommendation results using a generative AI model based on product information received from an external API. For example, it recommends the best running shoes based on the user's purchase history and product review information. Data processing at this stage includes filtering product information and generating recommendation information using a generative AI model. The input here is the acquired product information, and the output is the recommendation result.

[1380] Step 6:

[1381] The server sends the recommendation results to the terminal in JSON format. The terminal parses the received recommendation results and displays them visually to the user. This step includes the specific actions of the terminal displaying information about the recommended products through the user interface. The input here is the recommendation results in JSON format, and the output is the recommendation information displayed to the user.

[1382] Step 7:

[1383] The user reviews the recommendations displayed on the device and decides on their next action. For example, they might decide whether or not to purchase the recommended running shoes. The input here is the recommendations displayed to the user, and the output is the user's action.

[1384] In this way, the user, server, and terminal work together in each processing step, realizing a smart shopping assistant system that can respond quickly and accurately to the diverse needs of the user.

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

[1386] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. The system receives messages entered by the user, analyzes them using a natural language processing engine, and makes requests to the server based on the analysis results. Furthermore, it can recognize the user's emotions using an emotion engine and adjust the response accordingly.

[1387] Program processing

[1388] Receiving input from the user

[1389] The user enters a message into the system using a terminal. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives this message and starts processing it by adding it to the message queue.

[1390] Message parsing

[1391] The terminal retrieves a message from the message queue and sends it to the natural language processing engine and the sentiment engine for analysis. The natural language processing engine analyzes the message and identifies keywords and intent. For example, it might extract keywords such as "Excel" and "create pivot table." The sentiment engine simultaneously analyzes the message and identifies the user's emotions. For example, it might recognize the emotion "this user is troubled." The analysis results are then sent back to the terminal.

[1392] Server queries

[1393] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request and searches its internal database for the necessary information. It may also retrieve information from external resources as needed.

[1394] Generating appropriate information

[1395] The server generates information in an appropriate format based on data obtained from databases and external resources, and sends it to the terminal. For example, it generates text data and image data, including instructions for creating a pivot table, and sends them back to the terminal in JSON format.

[1396] Sending a response to the user

[1397] The terminal analyzes information received from the server and adjusts its response based on the user's emotions recognized by the emotion engine. For example, if the system recognizes that the user is having trouble, it will adjust the instructions to be more polite. Finally, it displays the information visually to the user. The user can then use this information to take action to solve their problem. For example, it might display detailed instructions such as, "Here's how to create a pivot table in Excel: 1. Select your data, 2. Click the Insert tab, ..."

[1398] Specific example

[1399] Situation 1: Excel support

[1400] 1. The user types "How do I create a pivot table in Excel?" into the terminal.

[1401] 2. The device receives this message and sends it to the natural language processing engine and the sentiment engine for analysis.

[1402] 3. The natural language processing engine and sentiment engine analyze the message, identify "Excel" and "creating a pivot table," and recognize the emotion of "being troubled."

[1403] 4. Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[1404] 5. The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[1405] 6. The terminal analyzes the received instructions and, in response to the user's perceived difficulty, displays a polite message to the user stating, "The procedure for creating a pivot table is as follows."

[1406] 7. The user follows the instructions displayed.

[1407] In this way, the present invention constructs a system that supports business efficiency by providing information quickly and accurately to the user's specific problems and providing appropriate support that responds to the user's emotions.

[1408] The following describes the processing flow.

[1409] Step 1:

[1410] The user enters a message into the terminal.

[1411] Specifically, the user types "How do I create a pivot table in Excel?" into a text box and presses the submit button.

[1412] Step 2:

[1413] The device receives the user's message.

[1414] Specifically, the terminal's frontend sends a message to the backend, which then adds it to the message queue.

[1415] Step 3:

[1416] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment engine.

[1417] Specifically, the backend retrieves the message and sends it as an API request to the natural language processing engine and the sentiment engine.

[1418] Step 4:

[1419] A natural language processing engine analyzes the message to identify keywords and intent.

[1420] Specifically, we will extract "Excel" and "creating a pivot table" as keywords and analyze the relationship between them.

[1421] Step 5:

[1422] The emotion engine analyzes the message and identifies the user's emotions.

[1423] As a concrete action, it analyzes emotions from text and recognizes the emotion of "being troubled."

[1424] Step 6:

[1425] The natural language processing engine and the emotion engine send the analysis results back to the terminal.

[1426] Specifically, the analysis results are encoded in JSON format and returned to the backend as an API response.

[1427] Step 7:

[1428] The terminal requests data and processing from the server based on the analysis results.

[1429] Specifically, the process involves sending an API request to the server asking, "Please provide information on how to create a pivot table in Excel."

[1430] Step 8:

[1431] The server searches its internal database for the necessary information.

[1432] Specifically, this involves executing database queries to search for relevant manuals and documents.

[1433] Step 9:

[1434] The server processes the acquired information into JSON format and sends it to the terminal.

[1435] Specifically, the search results are encoded in JSON format and returned to the device as an API response.

[1436] Step 10:

[1437] The device analyzes the data it receives and adjusts its response based on the user's emotions recognized by the emotion engine.

[1438] In concrete terms, it generates polite language and specific instructions based on emotional categories.

[1439] Step 11:

[1440] The terminal displays the adjusted response to the user.

[1441] Specifically, the frontend decodes the API response and displays it in the user interface in an appropriate format.

[1442] Step 12:

[1443] The user solves the problem based on the information displayed.

[1444] Specifically, follow the displayed instructions to create a pivot table in Excel.

[1445] (Example 2)

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

[1447] Traditional chat-based support systems only performed simple keyword analysis on user input, failing to respond in a way that considered user emotions. This made it difficult to provide satisfactory support. Furthermore, they lacked mechanisms for quickly providing users with appropriate information, hindering efficient support.

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

[1449] In this invention, the server includes means for receiving text input from a user, means for sending the text to a natural language processing engine and receiving the analysis results, means for sending the text to an emotion analysis engine and receiving the emotion analysis results, means for making requests to the server for data and processing based on the analysis results and the emotion analysis results, and means for adjusting the data received from the server based on the emotion analysis results and displaying it visually to the user. This makes it possible to provide appropriate information that takes the user's emotions into consideration, and to provide support that results in high user satisfaction.

[1450] A "user" refers to anyone who uses this system to enter questions or requests.

[1451] "Text" refers to the string of characters that the user enters as a question or request.

[1452] A "natural language processing engine" refers to a software component that analyzes text input by a user to identify keywords and intent.

[1453] A "sentiment analysis engine" refers to a software component that analyzes a user's emotions from text and identifies the type of emotion.

[1454] A "server" refers to a computer system that retrieves data and provides information in response to user requests.

[1455] "Means of receiving" refers to the function that takes text entered by the user and adds it to the message queue.

[1456] "Analysis results" refer to information about the meaning of text and the user's emotions, output by the natural language processing engine and sentiment analysis engine.

[1457] "Means of requesting data and processing" refers to the function that requests the necessary data and processing from the server based on the analysis results.

[1458] "Means of display" refers to a function that visually presents information received from the server in a way that is easy for the user to understand.

[1459] A "database" refers to an information management system that systematically stores information and allows it to be searched and retrieved.

[1460] "External resources" refer to external information services and data sources that a server accesses as needed.

[1461] "Visually displaying" refers to displaying information on the user's device in the form of text, images, or other visual media.

[1462] This invention relates to a chat-based support system that recognizes user emotions and provides appropriate information and support. This system analyzes user input using a natural language processing engine and an emotion analysis engine, and provides support based on the results.

[1463] System Configuration

[1464] This system includes the following main hardware and software components:

[1465] User devices (computers, tablets, smartphones, etc.)

[1466] Natural language processing engines (e.g., general language analysis tools)

[1467] Sentiment analysis engine (e.g., a general sentiment analysis tool)

[1468] Server (including database and external resource connections)

[1469] Database (information management system for internal information management)

[1470] Message queue (a queue system for temporarily storing user input)

[1471] Details of the program's processing

[1472] Receiving user input

[1473] The user uses a terminal to enter questions or requests into the system in text format. For example, they might enter a specific question such as, "How do I create a pivot table in Excel?" The terminal receives the message from the user and adds it to the message queue.

[1474] Message Controller

[1475] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and sentiment analysis engine for analysis. The natural language processing engine analyzes the user's message and identifies important keywords and intent. For example, keywords such as "Excel" and "creating a pivot table" may be extracted.

[1476] The emotion analysis engine analyzes the same message to recognize the user's emotional state. For example, it might identify the emotion "this user is troubled." This analysis result is then sent back to the device.

[1477] Server queries

[1478] The terminal requests the server for necessary data and processing based on the analysis results. For example, it might send a request to the server saying, "Please provide information on how to create a pivot table in Excel." The server receives this request, searches its internal database for the appropriate information, and retrieves information from external resources as needed.

[1479] Generating appropriate information

[1480] The server generates information to provide to the user in an appropriate format based on the acquired information. For example, it generates text data detailing the steps for creating a pivot table and related image data, and sends this back to the terminal in JSON format.

[1481] Sending a response to the user

[1482] The device analyzes information received from the server and adjusts its response based on the user's emotions, as recognized by the sentiment analysis engine. For example, if the device detects that the user is having trouble, it will explain the steps in more polite language. Finally, the device visually displays the details to the user. For example, "Here are the steps to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..." The user can then use this information to take action to solve their problem.

[1483] Specific example

[1484] Situation 1: Excel support

[1485] For example, if a user types "How do I create a pivot table in Excel?", this message will be added to the message queue.

[1486] The terminal retrieves messages from the message queue and sends them to the natural language processing engine and sentiment analysis engine for analysis.

[1487] The natural language processing engine identifies keywords such as "Excel" and "creating pivot tables," while the sentiment analysis engine recognizes the emotion of "being troubled."

[1488] Based on the analysis results, the terminal requests information from the server on "how to create a pivot table in Excel."

[1489] The server searches the database for the relevant procedure document and sends it to the terminal in JSON format.

[1490] The terminal analyzes the received instructions and, depending on the user's level of difficulty, displays a polite message to them saying, "The procedure for creating a pivot table is as follows."

[1491] The user follows the instructions displayed.

[1492] This invention enables the creation of a system that supports business efficiency by providing information quickly and accurately to users' specific problems and offering appropriate support tailored to the user's emotions.

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

[1494] Step 1:

[1495] The user enters a question or request in text format into the device (e.g., "How do I create a pivot table in Excel?").

[1496] Input: The user enters a message using a keyboard, voice input, etc.

[1497] Output: The terminal receives the entered message and adds it to the message queue.

[1498] Specific operation: The user sends a message through the terminal's input interface, and this message is stored in the message queue.

[1499] Step 2:

[1500] The terminal retrieves the message from the message queue and sends it to the natural language processing engine and the sentiment analysis engine.

[1501] Input: Messages from users in the message queue.

[1502] Output: Messages sent to the natural language processing engine and the sentiment analysis engine.

[1503] Specific operation: The device retrieves the message and sends it to the natural language processing engine and sentiment analysis engine via APIs, etc.

[1504] Step 3:

[1505] A natural language processing engine analyzes the message to identify keywords and intent.

[1506] Input: Message sent by the user.

[1507] Output: Keywords such as "Excel" and "creating pivot tables," along with analysis results.

[1508] Specific operation: The natural language processing engine analyzes the message and executes text analysis algorithms to extract important keywords and user intent.

[1509] Step 4:

[1510] The sentiment analysis engine analyzes the same message and identifies the user's emotions.

[1511] Input: Message sent by the user.

[1512] Output: Emotional labels such as "distressed" and analysis results.

[1513] Specific operation: The sentiment analysis engine uses a sentiment analysis algorithm to classify the user's emotions from the text within the message.

[1514] Step 5:

[1515] The device integrates the analysis results received from the natural language processing engine and the sentiment analysis engine.

[1516] Input: Analysis results from a natural language processing engine and an emotion analysis engine.

[1517] Output: Integrated analysis results.

[1518] Specific operation: The terminal receives both analysis results, integrates them, and prepares for the next processing step.

[1519] Step 6:

[1520] The terminal requests data and processing from the server based on the analysis results.

[1521] Input: Integrated analysis results.

[1522] Output: Data request sent to the server (e.g., "Please provide information on how to create a pivot table in Excel").

[1523] Specific operation: The terminal sends a data request to the server in the form of an HTTP request or similar.

[1524] Step 7:

[1525] The server receives the request, searches for information in its internal database, and retrieves information from external resources as needed.

[1526] Input: Data request sent from the terminal.

[1527] Output: Instructions and related information for creating pivot tables.

[1528] Specific operation: The server executes database queries and retrieves relevant information. If necessary, it sends requests to external APIs to retrieve additional information.

[1529] Step 8:

[1530] The server generates information to provide to the user in an appropriate format, based on information obtained from the database and external resources.

[1531] Input: Information obtained from databases and external resources.

[1532] Output: Generated information (e.g., procedure for creating a pivot table in JSON format).

[1533] Specific operation: The server organizes the information and reconstructs the data in a format that is easy for the user to understand.

[1534] Step 9:

[1535] The terminal analyzes the information received from the server and adjusts its response based on the sentiment analysis results.

[1536] Input: Data received from the server.

[1537] Output: Adjusted response content.

[1538] Specific operation: The device handles the data and adjusts the wording and level of detail in explanations according to the user's emotions.

[1539] Step 10:

[1540] The terminal visually displays the final response to the user.

[1541] Input: Adjusted response content.

[1542] Output: Detailed instructions and information displayed to the user.

[1543] Specific operation: The device uses a user interface to present information to the user in text and image format.

[1544] This allows users to take action to solve problems based on the displayed information. For example, users can follow the displayed steps, such as, "Here's how to create a pivot table in Excel: 1. Select the data, 2. Click the Insert tab, ..."

[1545] (Application Example 2)

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

[1547] Traditional chat-based support systems provided uniform responses without considering user emotions, resulting in a poor user experience and insufficient support, especially for users in need. Furthermore, accurately extracting necessary information from a vast amount of resources was required for users to receive specific information quickly, which was also difficult.

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

[1549] In this invention, the server includes means for analyzing the user's emotions using an emotion engine and adjusting the response content based on those emotions; means for searching for and obtaining appropriate information from a specific database based on the analysis results; and means for obtaining information from external resources in response to requests based on the analysis results. This enables personalized responses that correspond to the user's emotions and the provision of information quickly and accurately.

[1550] A "user" refers to a person who uses an information processing system to input messages or retrieve information.

[1551] "Message receiving means" refers to functions or devices for receiving messages entered by users.

[1552] A "natural language processing engine" refers to a technology that analyzes input messages to identify keywords and intent.

[1553] "Means for receiving analysis results" refers to functions or devices for receiving results analyzed by a natural language processing engine.

[1554] "Server request means" refers to a function or device for requesting data or processing from a server based on the analysis results.

[1555] "Data display means" refers to functions or devices for displaying data received from a server to the user.

[1556] An "emotion engine" refers to a technology that analyzes and identifies emotions from user input messages.

[1557] "Response content adjustment means" refers to a function or device for adjusting the response content based on the user's emotions analyzed by the emotion engine.

[1558] "Database search means" refers to functions or devices used to search for and retrieve necessary information from a specific database.

[1559] "External resource acquisition means" refers to functions or devices for acquiring information from external resources in response to requests based on analysis results.

[1560] To implement this invention, hardware and software such as a user terminal, a natural language processing engine, an emotion engine, and a server are required. This invention is a system that provides information that responds to the user's emotions through the following steps.

[1561] Hardware and software configuration

[1562] hardware

[1563] 1. User's device: Smartphone, tablet, personal computer, etc.

[1564] 2. Server: A server that holds the database and processes the data.

[1565] software

[1566] 1. Natural Language Processing Engine: Software used for natural language processing. Examples include SpaCy and Google NLP.

[1567] 2. Emotion Engine: Software for analyzing user emotions. Examples include IBM Watson Tone Analyzer and Azure Emotion API.

[1568] 3. Server Program: A server using Node.js, Django, Flask, etc.

[1569] Implementation method

[1570] The system begins processing when the user enters a message into the terminal. First, the terminal receives the message and sends it to the natural language processing engine and the emotion engine. The natural language processing engine analyzes the message and identifies its intent and keywords. Meanwhile, the emotion engine analyzes the user's emotions and identifies feelings such as distress or happiness.

[1571] Based on the analysis results, the terminal sends a request to the server. This request may include a request to search for information in a specific database, or a request to retrieve information from an external resource if the necessary information cannot be found. The server receives these requests and retrieves the appropriate information from its internal database or external resources. The retrieved information is then sent back to the terminal in JSON format or another appropriate format.

[1572] The terminal receives a response from the server and adjusts the response based on the user's emotions, which are analyzed by the emotion engine. For example, if the system recognizes that the user is in distress, a more detailed and courteous explanation will be provided. Finally, the adjusted response is displayed on the user's terminal. As a specific example, if the user enters the message "How do I return this product?", and the system recognizes that the user is in distress, a detailed explanation of the return procedure and necessary documents will be provided.

[1573] Examples of specific cases and prompt statements

[1574] Specific example

[1575] Situation: When the user is having trouble.

[1576] User: "How do I return this item?"

[1577] The device displays detailed instructions such as, "The return procedure is as follows: 1. Pack the item to be returned, 2. Fill out the return form, 3. Send it to the specified address."

[1578] Example of a prompt

[1579] User message: "How do I return this item?"

[1580] Perceived emotion: "I'm in trouble"

[1581] Corresponding response:

[1582] Return Procedure 1: Pack the item you wish to return.

[1583] Return Procedure 2: Fill out the required information on the return form.

[1584] Return procedure 3: Send to the specified address.

[1585] The above details the "mode for carrying out the invention." This system can provide information that responds to the user's emotions and improve the user experience.

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

[1587] Step 1:

[1588] The user enters a message into the device. This message might be something like, "Please tell me how to return this product." The entered message is received by the device.

[1589] Input: Message entered by the user

[1590] Output: Received message

[1591] Step 2:

[1592] The device sends the received message to a natural language processing engine. The natural language processing engine analyzes this message to identify keywords and intent. For example, keywords such as "product" and "return method" may be extracted.

[1593] Input: Received message

[1594] Output: Analysis results (keywords, intent)

[1595] Step 3:

[1596] Simultaneously, the device also sends a message to the emotion engine. The emotion engine analyzes the user's emotions from the message and identifies emotions such as "distressed." This analysis result is also sent back to the device.

[1597] Input: Received message

[1598] Output: Emotion analysis results (emotional state)

[1599] Step 4:

[1600] The device sends requests to the server based on the analysis results from its natural language processing engine and sentiment engine. These requests include requests to search for information in a specific database, and requests to retrieve information from external resources if the necessary information cannot be found. For example, information about "products" and "return procedures" may be requested.

[1601] Input: Keywords, intent, sentiment analysis results

[1602] Output: Server Request

[1603] Step 5:

[1604] The server receives a request from the terminal and searches its internal database. If it finds the appropriate information, it retrieves it and sends it back to the terminal. For example, it might search for detailed instructions on how to return an item.

[1605] Input: Server Request

[1606] Output: Search results (information from the database)

[1607] Step 6:

[1608] The server retrieves information from external resources as needed. For example, if there is insufficient information in the server's internal database, it will use an external API to obtain additional information. This information obtained from external resources is also sent back to the terminal.

[1609] Input: Server Request

[1610] Output: Information obtained from external resources

[1611] Step 7:

[1612] The terminal receives information from the server and adjusts its response based on the user's emotions, as recognized by the emotion engine. For example, if the system recognizes the user as being "in distress," it will provide more polite language and detailed instructions.

[1613] Input: Search results and information from external resources, sentiment analysis results

[1614] Output: Adjusted response content

[1615] Step 8:

[1616] Finally, the device displays a tailored response to the user. Based on this information, the user can learn how to resolve the problem. For example, it might display something like, "The return procedure is as follows: 1. Pack the item to be returned. 2. Fill out the return form. 3. Send it to the specified address."

[1617] Input: Adjusted response content

[1618] Output: Response displayed to the user

[1619] In this way, the present invention can provide information that responds to the user's emotions and improve the user experience.

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

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

[1622] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1641] The following is further disclosed regarding the embodiments described above.

[1642] (Claim 1)

[1643] A means of receiving messages entered by the user,

[1644] A means of sending a message to a natural language processing engine and receiving the analysis results,

[1645] A means of requesting data and processing from the server based on the analysis results,

[1646] A means of displaying data received from the server to the user,

[1647] A system that includes this.

[1648] (Claim 2)

[1649] Based on the aforementioned analysis results, the means include a means for searching for and obtaining appropriate information from a specific database.

[1650] The system according to claim 1.

[1651] (Claim 3)

[1652] The system further provides means for obtaining information from external resources in response to requests based on the aforementioned analysis results.

[1653] The system according to claim 1.

[1654] "Example 1"

[1655] (Claim 1)

[1656] A means of receiving messages entered by the user,

[1657] A means for adding the aforementioned message to a message queue and processing it sequentially,

[1658] A means for sending the aforementioned message to a natural language processing engine and analyzing the keywords and intent,

[1659] Based on the aforementioned analysis results, a means for requesting the necessary data and processing from the server,

[1660] A means of analyzing information received from a server and visually displaying it to the user in an appropriate format,

[1661] A system that includes this.

[1662] (Claim 2)

[1663] Based on the aforementioned analysis results, the system includes means for obtaining information from a specific database or external resource and returning it to the terminal in JSON format.

[1664] The system according to claim 1.

[1665] (Claim 3)

[1666] The system further includes means for sending a prompt message to a generating AI model based on the user's message and providing the generated response to the user.

[1667] The system according to claim 1.

[1668] "Application Example 1"

[1669] (Claim 1)

[1670] A means of receiving messages entered by the user,

[1671] A means of sending a message to a natural language processing engine and receiving the analysis results,

[1672] A means of requesting data and processing from the server based on the analysis results,

[1673] A means of displaying data received from the server to the user,

[1674] Methods for searching and retrieving product information using external APIs,

[1675] A method for recommending products using a generative AI model,

[1676] A system that includes this.

[1677] (Claim 2)

[1678] Based on the aforementioned analysis results, the means include a means for searching for and obtaining appropriate information from a specific database.

[1679] The system according to claim 1.

[1680] (Claim 3)

[1681] The system further provides means for obtaining information from external resources in response to requests based on the aforementioned analysis results.

[1682] The system according to claim 1.

[1683] "Example 2 of combining an emotion engine"

[1684] (Claim 1)

[1685] A means of receiving text input from the user,

[1686] A means of sending text to a natural language processing engine and receiving the analysis results,

[1687] A means of sending text to an emotion analysis engine and receiving the results of the emotion analysis,

[1688] A means for requesting data and processing from a server based on the analysis results and sentiment analysis results,

[1689] A means of adjusting data received from a server based on sentiment analysis results and displaying it visually to the user,

[1690] A system that includes this.

[1691] (Claim 2)

[1692] This includes means for searching for and obtaining appropriate information from a specific database based on the analysis results and sentiment analysis results.

[1693] The system according to claim 1.

[1694] (Claim 3)

[1695] The system further includes means for acquiring information from external resources in response to requests based on the analysis results and sentiment analysis results.

[1696] The system according to claim 1.

[1697] "Application example 2 when combining with an emotional engine"

[1698] (Claim 1)

[1699] A means of receiving messages entered by the user,

[1700] A means of sending a message to a natural language processing engine and receiving the analysis results,

[1701] A means of requesting data and processing from the server based on the analysis results,

[1702] A means of displaying data received from the server to the user,

[1703] A means for analyzing the user's emotions using an emotion engine and adjusting the response content based on those emotions,

[1704] A system that includes this.

[1705] (Claim 2)

[1706] Based on the aforementioned analysis results, the means include a means for searching for and obtaining appropriate information from a specific database.

[1707] The system according to claim 1.

[1708] (Claim 3)

[1709] The system further provides means for obtaining information from external resources in response to requests based on the aforementioned analysis results.

[1710] The system according to claim 1. [Explanation of Symbols]

[1711] 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 messages entered by the user, A means of sending a message to a natural language processing engine and receiving the analysis results, A means of requesting data and processing from the server based on the analysis results, A means of displaying data received from the server to the user, A system that includes this.

2. Based on the aforementioned analysis results, the means include a means for searching for and obtaining appropriate information from a specific database. The system according to claim 1.

3. The system further provides means for obtaining information from external resources in response to requests based on the aforementioned analysis results. The system according to claim 1.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A