system

The system addresses the challenge of providing rapid and accurate responses to diverse user inquiries by using a natural language processing engine and emotion recognition, improving user satisfaction and system performance through feedback integration.

JP2026064810APending 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 face challenges in providing quick, accurate, and personalized responses to user inquiries about a wide range of products and services, especially in scenarios requiring 24/7 availability, and lack effective mechanisms for collecting and utilizing user feedback to enhance system performance.

Method used

A system comprising a user terminal, server, and database that utilizes a natural language processing engine to analyze user inquiries, retrieve relevant information from a database, generate responses, and collect feedback, with optional emotion recognition to tailor responses to user emotions.

Benefits of technology

Enables quick, accurate, and personalized responses to user inquiries, enhances user satisfaction, and facilitates continuous system improvement through feedback integration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064810000001_ABST
    Figure 2026064810000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for receiving inquiry messages from the user terminal, The means for passing the received message to a natural language processing engine and analyzing its intent and keywords, Based on the aforementioned analysis results, a means for searching and obtaining relevant information from a database, A means of organizing the acquired information and generating answers for the user, A system including means for transmitting the generated response to the user terminal.
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 and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance as a response to the user utterance.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Conventionally, companies have provided a large number of products and services, but access to information about them and response to inquiries are complicated, and it has been difficult to individually respond to a wide range of content. Also, in a situation where 24 / 7 / 365 response is required, there is a limit to human resources, and there has been a problem that it is difficult to provide information quickly and accurately. The present invention aims to solve such problems and provide a system that allows users to easily obtain information and efficiently solve problems.

Means for Solving the Problems

[0005] To solve the above problems, the present invention provides a system comprising the following means: means for receiving inquiry messages from a user terminal; means for passing the received messages to a natural language processing engine for analyzing intent and keywords; means for searching and obtaining relevant information from a database based on the analysis results; means for organizing the obtained information and generating an answer for the user; and means for sending the generated answer to the user terminal. The system further includes means for receiving additional inquiries from the user again, performing re-analysis and re-generating answers, and means for collecting and storing feedback provided by the user.

[0006] A "user terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.

[0007] An "inquiry message" is a text-based question or request that a user sends to obtain information.

[0008] "Means of receiving" refers to the methods or functions for receiving inquiry messages sent from the user's terminal.

[0009] A "natural language processing engine" is software that analyzes meaning and intent from text data and extracts it as structured information.

[0010] "Means of analysis" refers to methods and functions for analyzing received inquiry messages and extracting important elements and intentions.

[0011] "Related information" refers to data about products and services that address the user's inquiry.

[0012] "Means of searching and retrieving" refers to the methods and functions for finding and retrieving relevant information from a database.

[0013] A "database" is a collection of data that stores information about products and services.

[0014] "Means for generating responses" refer to methods and functions for creating answers to user inquiries based on acquired information.

[0015] "Means of transmission" refers to the methods or functions for sending the generated response back to the user's terminal.

[0016] A "follow-up inquiry" is a new message sent by a user requesting further information in response to their initial question.

[0017] "Means for re-analysis and re-response generation" refers to methods or functions for re-analyzing additional queries and creating new responses.

[0018] "Feedback" refers to the user's evaluation or opinion of the provided response.

[0019] "Means of collection and storage" refers to methods and functions for receiving user feedback and storing it in a database or similar system. [Brief explanation of the drawing]

[0020] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This 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]It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.

Embodiments for Carrying Out the Invention

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

[0022] First, the language used in the following description will be explained.

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

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

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

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

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

[0028] [First Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0041] System Overview

[0042] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[0043] System Configuration

[0044] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[0045] Server: Receives a query message and analyzes it using a natural language processing engine. Furthermore, it searches for and retrieves relevant information from the database based on the analysis results, generates a response, and sends it to the user's terminal.

[0046] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[0047] Program processing

[0048] 1. Receiving user inquiries

[0049] When a user types a question into the chat window on their device and presses the send button, an inquiry message is generated. This message is then sent to the server via the internet.

[0050] 2. Receiving and analyzing inquiries

[0051] The server passes the received message to the natural language processing engine. The natural language processing engine extracts important keywords and user intent from the query message and returns the analysis results to the server.

[0052] 3. Searching for and obtaining related information

[0053] Based on the analysis results, the server uses appropriate keywords to search and retrieve information about relevant products and services from the database.

[0054] 4. Generating the response content

[0055] Based on the information obtained, the server generates an answer suitable for the user's inquiry. The generated answer is presented in a format that is easy for the user to understand.

[0056] 5. Submitting and displaying responses

[0057] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[0058] 6. Handling additional inquiries

[0059] If the user requests further information and enters additional questions, the server receives the message again, repeats the process described above, and generates and sends a new answer.

[0060] 7. Gathering Feedback

[0061] When users provide feedback on an answer, their ratings and comments are received by the server and stored appropriately. This feedback information is used to improve the accuracy of answers and enhance the overall system.

[0062] Specific example

[0063] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server then retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services offer advanced security features and are available under the following pricing plans..." and sends it to the user's device. The user then reviews this response in the chat window.

[0064] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently.

[0065] The following describes the processing flow.

[0066] Step 1:

[0067] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0068] Step 2:

[0069] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[0070] Step 3:

[0071] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[0072] Step 4:

[0073] The server generates a database search query using relevant keywords based on the analysis results. This query is then used to retrieve relevant information from the database.

[0074] Step 5:

[0075] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[0076] Step 6:

[0077] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[0078] Step 7:

[0079] The server generates a response message and sends it to the user's terminal.

[0080] Step 8:

[0081] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[0082] Step 9:

[0083] If the user enters and submits an additional question, the server will receive the message again.

[0084] Step 10:

[0085] The server uses the NLP engine again to analyze the message, retrieves new information from the database, and generates a new response.

[0086] Step 11:

[0087] The server regenerates the answer and sends it to the user's terminal for the user to confirm again.

[0088] Step 12:

[0089] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. This information is used to improve the system.

[0090] (Example 1)

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

[0092] Traditional chatbot systems were inadequate in responding to user inquiries. Furthermore, the accuracy of their inquiry analysis and the suitability of their answers were low, resulting in low user satisfaction. Additionally, the lack of a system for effectively collecting and utilizing user feedback led to delays in system improvements.

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

[0094] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for retrieving relevant information from a data storage device based on the analysis results, means for organizing the retrieved information and generating a response for the user, means for sending and displaying the generated response to the user terminal, and means for collecting and storing feedback provided by the user. This enables a quick and appropriate response to user inquiries and allows for continuous improvement of the system based on feedback.

[0095] A "user terminal" is a device that includes input devices used by the user and is used for sending and receiving messages.

[0096] An "inquiry message" is a message that a user enters and sends in written form, expressing questions or requests regarding a service or product.

[0097] A "natural language processing engine" is software or a system that analyzes received text data to extract the intent and keywords of the text.

[0098] "Intent and keyword analysis" is the process of using a natural language processing engine to extract important elements from text data and identify user intent and keywords of interest.

[0099] A "data storage device" refers to a database or storage medium that stores, searches for, and retrieves information required by a system.

[0100] "Searching for and retrieving relevant information" is the process of finding and retrieving appropriate information from data storage devices based on analyzed keywords and intents.

[0101] "Response generation" is the act of creating a user-friendly and meaningful response based on acquired information.

[0102] "Feedback collection and storage" is the process of receiving ratings and comments provided by users and storing them in a specific location within the system.

[0103] "Display" refers to the act of showing the generated response on the user's device screen and presenting it to the user visually.

[0104] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[0105] User terminal

[0106] User terminals include devices such as computers, smartphones, and tablets. The user terminal provides a chat window where users can enter inquiry messages in text format. When a user enters an inquiry message and presses the send button, the message is sent to the server via the internet.

[0107] server

[0108] The server passes the inquiry message received from the user's terminal to a natural language processing engine for analysis. Specifically, it uses a natural language processing engine such as Google® Cloud Natural Language API to extract the message's intent and keywords. Based on the extracted results, the server searches the database using appropriate keywords to obtain information about related products and services. SQL queries (e.g., MySQL®, PostgreSQL) can be used for this purpose.

[0109] Based on the information obtained, the server generates the most suitable answer to the user's inquiry. Here, an answer template engine (e.g., Thymeleaf, Handlebars) is used to create an answer in a format that is easy for the user to understand. The generated answer is sent to the user's device and displayed in the chat window.

[0110] database

[0111] The database stores detailed information about various products and services offered by the company. The database provides and returns the necessary information to the server in response to search requests from the server.

[0112] Specific example

[0113] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services have advanced security features and are available with the following pricing plans..." and sends it to the user's terminal. The user then reviews this response in the chat window.

[0114] Example of a prompt

[0115] As an example of a prompt for a generative AI model, you can learn about the details of the analysis process by inputting a sentence such as, "Please tell me the details of the process of passing user inquiry messages to a natural language processing engine and extracting keywords and user intent."

[0116] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. Furthermore, it includes a mechanism for collecting user feedback and using it to improve the system, enabling continuous system enhancement.

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

[0118] Step 1:

[0119] The user enters an inquiry message into the chat window on their device and presses the send button. The entered message might be, for example, "Please tell me more about the cloud services your company provides." This input message is sent to the server in JSON format. Here, the input is the user's question text, and the output is the inquiry message in JSON format.

[0120] Step 2:

[0121] The server receives the inquiry message. It extracts text from the received JSON-formatted message and passes it to a natural language processing engine (e.g., Google Cloud Natural Language API). The input is the inquiry message (in JSON format), and the output is the analysis result (including keywords and intent). Specifically, the message is sent to the API to analyze keywords such as "cloud service" and "learn more," as well as the user's intent.

[0122] Step 3:

[0123] The server generates a database query based on the analysis results. For example, using MySQL, it creates a query "SELECT FROM Products WHERE Category='Cloud Services'". The input is the analyzed keywords and intent, and the output is the query string. The server sends this query to the database.

[0124] Step 4:

[0125] The server receives information retrieved from the database. The database returns information such as details and pricing plans for the relevant cloud service. The input is a query string, and the output is the retrieved data (e.g., detailed information about the cloud service).

[0126] Step 5:

[0127] The server generates answers to user questions based on the information it has acquired. Using a template engine such as Thymeleaf, it creates specific answers such as, "Our cloud service features advanced security and is available with the following pricing plans..." The input is the acquired data, and the output is the generated answer text.

[0128] Step 6:

[0129] The server sends the generated response to the user's terminal. The response is again sent in JSON format, stored in the "Response Message" field. The input is the generated response text, and the output is a response message in JSON format.

[0130] Step 7:

[0131] The user views the response in the chat window on their device. For example, a response such as "Our cloud service features advanced security and is available with the following pricing plans..." might be displayed. The input is a response message in JSON format, and the output is the text displayed to the user.

[0132] Step 8:

[0133] The user enters additional questions seeking further information and presses the submit button again. For this new inquiry, the server repeats steps 1 through 7 above. Similarly, the input is a new inquiry message, and the output is the corresponding new answer.

[0134] Step 9:

[0135] The user enters the feedback they want to provide and presses the submit button. For example, they might submit feedback such as "This answer was helpful." The server saves the received feedback to its database. The input is the feedback message, and the output is the feedback information stored in the database.

[0136] By following these steps, the system can respond quickly and appropriately to user inquiries and undergo continuous improvement.

[0137] (Application Example 1)

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

[0139] Conventional AI chatbot systems have made it difficult for users to instantly obtain detailed information about a wide variety of products and services. Furthermore, in virtual stores, users have limited means of obtaining real-time information about products and services, resulting in an unimproved user experience. This invention aims to solve these problems and enable users to obtain product information more intuitively and effectively, thereby assisting them in making purchasing decisions.

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

[0141] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results, means for organizing the obtained information and generating an answer for the user, means for sending the generated answer to the user terminal, means for the user to inquire about product information in a chat-based manner in a virtual store, means for the user terminal to be compatible with smartphones, smart glasses, and head-mounted displays, and means for visually presenting the generated answer to the user within the virtual store. As a result, the user can not only obtain necessary product information in real time, but also consider and purchase products with a sense of presence within the virtual store.

[0142] A "user terminal" refers to a device used by a user, such as a computer, smartphone, smart glasses, or head-mounted display.

[0143] "Means for receiving inquiry messages" refers to a function that allows a server to receive messages sent by a user through their device.

[0144] A "natural language processing engine" is software or hardware that analyzes and understands intent and keywords from received messages.

[0145] "Methods for searching and retrieving data from a database" refers to a function that searches a database containing relevant information based on the analysis results and retrieves the necessary data.

[0146] "Means of generating responses for users" refers to a function that creates responses tailored to user inquiries based on acquired information.

[0147] "Means for sending the generated response to the user terminal" refers to a function that transfers the response generated on the server to the user terminal and displays it.

[0148] A "virtual store" is a store virtually constructed on the internet, where users can access it via electronic devices and purchase goods and services.

[0149] A "chat-based inquiry method" is a function that provides an interface where users can request questions and information in text format, and then respond to them based on that.

[0150] "Visual presentation methods" refer to functions that display generated answers or information on a screen in a format that is easy for the user to understand.

[0151] This invention relates to an AI chatbot system for users to inquire about product information in a virtual store via chat. The system comprises a user terminal, a server, and a database.

[0152] System Configuration

[0153] User device: A device used by the user, such as a smartphone, smart glasses, or head-mounted display. Applications installed on these devices provide a chat window, allowing the user to enter inquiry messages in text format.

[0154] Server: Receives a query message and parses it using a natural language processing engine (e.g., spaCy). Then, based on the parsing results, it searches and retrieves relevant information from the database, generates a response, and sends it to the user's terminal. The server is built as a web application using Flask.

[0155] Database: Contains detailed information about products and services. SQLAlchemy is used to communicate with the database and retrieve the necessary information.

[0156] Comprehensive program processing

[0157] The server receives inquiry messages sent from the user's terminal. The received messages are passed to a natural language processing engine (spaCy), where intent and keywords are analyzed. Based on the analysis results, the server searches the database for relevant information, organizes the retrieved information, and generates a response. The generated response is sent to the user's terminal and visually presented within the virtual store.

[0158] Specific example

[0159] For example, if a user asks, "Can you recommend a video camera?", the server uses a natural language processing engine to extract keywords such as "recommended" and "video camera." The server then retrieves detailed information about video cameras from its database and generates a response such as, "Our recommended video camera is capable of high-quality recording and has the following features..." The user can then view this response in the chat window.

[0160] Example of a prompt

[0161] "Could you recommend a video camera?"

[0162] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. To provide a user-friendly and convenient virtual store experience, it supports a variety of devices, including smartphones, smart glasses, and head-mounted displays.

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

[0164] Step 1:

[0165] The user enters an inquiry message into the chat window from their device (smartphone, smart glasses, head-mounted display) and presses the send button to generate the inquiry message. The input is the user's inquiry message, and the output is the transmission of this message to the server.

[0166] Step 2:

[0167] The server passes the query message received from the terminal to a natural language processing engine (spaCy) for message analysis. The input is the received query message, and the output is the analyzed intent and keywords. The server uses the natural language processing engine to extract important keywords and user intent from the message.

[0168] Step 3:

[0169] The server retrieves relevant information from a database (using SQLAlchemy) based on the analysis results. The input is the analyzed keywords, and the output is the relevant information retrieved from the database. The server generates appropriate SQL queries to search for the necessary data from the database.

[0170] Step 4:

[0171] The server generates appropriate answers to user inquiries based on the information it retrieves. The input is relevant information retrieved from the database, and the output is the answer to the user. The server organizes the retrieved information and creates answers in an easy-to-understand format.

[0172] Step 5:

[0173] The server sends the generated response to the user's terminal. Simultaneously, it uses a generation AI model to verify the quality of the response. The input is the generated response, and the output is the response sent to the user's terminal. The server packages the generated response and sends it to the terminal.

[0174] Step 6:

[0175] If the user submits a further query, the server receives the message again, re-parses it, and generates a new response. The input is the new query message, and the output is the newly generated response. The server repeats the same process to respond to the user's further inquiries.

[0176] Step 7:

[0177] This system collects and stores user feedback. The input is user feedback, and the output is feedback data stored in a database. The server receives user feedback messages and saves their contents to the database.

[0178] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. The processing performed at each step improves the user experience and enables the provision of immersive product information within the virtual store.

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

[0180] System Overview

[0181] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[0182] System Configuration

[0183] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[0184] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it uses an emotion engine to recognize the user's emotions, retrieves relevant information from the database based on the results, generates a response, and sends it to the user's terminal.

[0185] Emotion Engine: This engine analyzes the emotions behind user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more polite response.

[0186] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[0187] Program processing

[0188] 1. Receiving user inquiries

[0189] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0190] 2. Receiving and analyzing inquiries

[0191] The server passes the received message to a natural language processing engine (NLP engine). The NLP engine analyzes the message to identify important keywords and the user's intent, and returns the results to the server.

[0192] 3. Emotion recognition by an emotion engine

[0193] The server passes the message to the emotion engine along with the analysis results from the NLP engine. The emotion engine identifies the user's emotions from the message, determining, for example, joy, anger, sadness, surprise, etc.

[0194] 4. Searching for and obtaining related information

[0195] Based on the analysis results and emotion recognition results, the server uses appropriate keywords to search for and retrieve relevant information from the database.

[0196] 5. Generating the response content

[0197] Based on the information it acquires, the server generates a response that reflects the emotion engine's recognition results. For example, if the user expresses dissatisfaction, it generates a response that includes a more detailed and polite explanation.

[0198] 6. Submitting and displaying responses

[0199] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[0200] 7. Handling additional inquiries

[0201] If the user requests further information and enters additional questions, the server will receive the message again. Processing after the re-reception will then be repeated according to the steps described above.

[0202] 8. Gathering feedback

[0203] Users enter and submit feedback on the answers. The server receives the feedback and stores it in a database. This feedback information is used to improve the system and increase its accuracy.

[0204] Specific example

[0205] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses an NLP engine to extract keywords such as "cloud services" and "more details," and then uses an emotion engine to determine the user's emotions. If the emotion engine detects that the user is slightly irritated, the server will generate a more polite and detailed response based on information retrieved from the database.

[0206] Specifically, the system generates a response along the lines of, "Our cloud service features advanced security capabilities and is available under the following pricing plans. We can also explain the detailed features and case studies, so please let us know if you have any questions." This response is then sent to the user's device. The user can then view this response in the chat window and ask additional questions or provide feedback.

[0207] In this way, the system can provide optimal answers that take user emotions into account, thereby improving the user experience.

[0208] The following describes the processing flow.

[0209] Step 1:

[0210] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0211] Step 2:

[0212] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[0213] Step 3:

[0214] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[0215] Step 4:

[0216] Based on the analysis results, the server generates a database search query using relevant keywords, and then uses this query to search for and retrieve relevant information from the database.

[0217] Step 5:

[0218] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[0219] Step 6:

[0220] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[0221] Step 7:

[0222] Before the server sends the generated response, it passes that response to an emotion engine to recognize the user's emotions.

[0223] Step 8:

[0224] The server's sentiment engine considers the user's emotions in response to a reply and adjusts the tone and content of the reply as needed. For example, if the user expresses dissatisfaction, the response will be adjusted to be more polite and detailed.

[0225] Step 9:

[0226] The server sends the final, adjusted response message to the user's terminal.

[0227] Step 10:

[0228] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[0229] Step 11:

[0230] If the user enters and submits additional questions, the server will receive the query message again, re-parse it, and retrieve the relevant information again.

[0231] Step 12:

[0232] The server regenerates the response and sends it to the user's terminal for the user to review again. This process is repeated until the user is satisfied.

[0233] Step 13:

[0234] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. The feedback information is used to improve the system and enhance the accuracy of the answers.

[0235] (Example 2)

[0236] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0237] In modern society, users are required to quickly and accurately obtain information about the diverse products and services offered by companies. However, conventional systems have struggled to appropriately respond to user inquiries and provide answers that take user emotions into consideration. As a result, user satisfaction can decline, and companies' ability to respond effectively is put to the test. In response to this, there is a need for a system that accurately grasps user intentions and emotions and provides high-quality answers based on that understanding.

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

[0239] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for recognizing the user's emotions using an emotion engine based on the analysis results, means for retrieving relevant information from a database based on the emotion recognition results and analysis results, means for organizing the retrieved information and generating a response that takes the user's emotions into consideration, and means for transmitting the generated response to the user terminal. This makes it possible to accurately understand the user's intent and emotions and provide a quick and appropriate response.

[0240] A "user terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that provides a chat window for entering and sending questions.

[0241] A "server" is a computer system that processes inquiry messages received from user terminals, generates responses, and sends them back to the user terminals.

[0242] An "inquiry message" refers to the questions and information that a user types and sends into the chat window.

[0243] A "natural language processing engine" is software used to analyze important keywords and user intent from inquiry messages, and in some cases, it may also use machine learning models.

[0244] "Intent" refers to the content of the user's questions or requests included in the inquiry message, and is used for interpreting them.

[0245] A "keyword" refers to a word or phrase containing important information within an inquiry message.

[0246] An "emotion engine" is software that analyzes emotions from user inquiry messages and recognizes feelings such as joy, anger, sadness, and surprise.

[0247] "Emotion recognition results" refer to data indicating the user's emotional state, obtained as a result of analysis by the emotion engine.

[0248] A "database" is a place where detailed information about various products and services offered by a company is stored, and it is searchable and retrievable.

[0249] "Answer generation" is the process of constructing an answer to a user's question based on acquired information and sentiment recognition results.

[0250] "Feedback" refers to evaluations and opinions on answers provided by users, and is information used to improve the system and enhance its accuracy.

[0251] "Message re-analysis" is the process of passing the user's additional inquiry back to the natural language processing engine for analysis of intent and keywords.

[0252] "Re-emotion recognition" is the process of passing additional user inquiries back to the emotion engine and re-analyzing the user's emotions.

[0253] Modes for carrying out the invention

[0254] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[0255] System Configuration

[0256] User device: A device used by the user, such as a computer, smartphone, or tablet, that provides a chat window and allows the user to enter inquiry messages in text format. For example, a user might use a smartphone app to type "Please tell me more about your cloud service" and press the send button.

[0257] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it recognizes the user's emotions using an emotion engine, retrieves relevant information from the database based on the results, generates a response, and sends it to the user's terminal. Specifically, Google's TENSORFLOW® and OpenAI®'s GPT model are used as natural language processing engines, and Hugging Face's Transformers library is used as the emotion engine.

[0258] Emotion Engine: This engine analyzes the emotions in user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more detailed and polite response. Based on the results of the NLP engine, this engine identifies emotions such as joy, anger, sadness, and surprise.

[0259] Database: This database stores detailed information about various products and services offered by a company. It is used to search for and retrieve necessary information. Examples of databases include MySQL and PostgreSQL.

[0260] Specific examples and prompt statements

[0261] The following scenario is a possible example of how this system operates:

[0262] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server will process it as follows:

[0263] 1. Receive the user's message and save it to the log as follows: "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[0264] 2. The message is passed to a natural language processing engine, which extracts keywords such as "cloud service" and "details."

[0265] 3. Pass a message to the emotion engine and recognize that "the user is a little frustrated."

[0266] 4. Search the database using the specified keywords and retrieve information on "Cloud Service Overview," "Pricing Plans," and "Case Studies."

[0267] 5. Taking user sentiment into consideration, generate a polite response such as, "Our cloud service features advanced security functions and is available under the following pricing plans. We can also explain the detailed features and implementation examples, so please let us know if you have any questions."

[0268] 6. Send the generated response to the user's device and display it in the chat window.

[0269] An example of a prompt statement is as follows:

[0270] A user has inquired, "Please tell me more about your cloud services." The user is a little frustrated. Please generate a polite response to this inquiry.

[0271] In this way, the system aims to improve the user experience by accurately understanding and quickly and appropriately processing the user's intentions and emotions.

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

[0273] Step 1:

[0274] The user enters an inquiry message into the chat window on their device and presses the send button. This generates the inquiry message, which is then sent to the server via the internet. The input is the user's question (e.g., "Please tell me more about your cloud services"), and the output is this message sent to the server. Specifically, this process involves the user entering the question and pressing the send button on a smartphone app.

[0275] Step 2:

[0276] The server appropriately identifies and logs inquiry messages received from users. The input is the message sent from the user's terminal, and the output is the saved log entry. Specifically, it logs the message in the format "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[0277] Step 3:

[0278] The server passes the received message to a natural language processing engine (NLP engine) for analysis of intent and keywords. The input is a stored query message, and the output includes the analyzed intent and keywords (e.g., "cloud service," "details"). Specifically, the NLP engine (e.g., Google's TensorFlow model) is used to analyze the message and extract keywords and intent.

[0279] Step 4:

[0280] The server passes the analysis results from the NLP engine to the emotion engine to recognize the user's emotions. Inputs include the analyzed intent and keywords, as well as the original message, while output includes the recognized emotion (e.g., "The user is a little irritated"). Specifically, the emotion is analyzed using an emotion engine (e.g., the Hugging Face Transformers library).

[0281] Step 5:

[0282] The server retrieves relevant information from the database based on the analysis results and sentiment recognition results. Inputs include intent, keywords, and user sentiment, while output includes necessary relevant information (e.g., "Cloud Service Overview," "Pricing Plans," "Case Studies"). Specifically, it generates appropriate SQL queries to retrieve information from the database (e.g., MySQL, PostgreSQL).

[0283] Step 6:

[0284] Based on the acquired information, the server generates a response considering the user's sentiment. The inputs include the information obtained from the database and the result of the user's sentiment recognition, and the output includes the generated response (for example, "Our company's cloud service has advanced security features and can be used with the following pricing plans. We will also explain the detailed features and implementation cases, so please let us know if you have any questions."). As a specific operation, it constructs a response while adjusting the tone and content using a text generation algorithm.

[0285] Step 7:

[0286] The server sends the generated response to the user terminal. The input is the generated response, and the output includes the response displayed on the user terminal. As a specific operation, it sends a data packet for displaying the response message in the chat window.

[0287] Step 8:

[0288] When the user requests more information and enters an additional question, the server receives the message again. The input is the user's additional question, and the output is the message received again. As a specific operation, it includes the operation of entering and sending the question in the chat window again.

[0289] Step 9:

[0290] The server analyzes the message received again according to the previous steps and performs sentiment recognition and response generation. The input is the inquiry message received again, and the output includes the response generated again. As a specific operation, it includes the process of re-analysis and re-sentiment recognition to generate a new response.

[0291] Step 10:

[0292] The user inputs and submits their feedback. The server receives this feedback and saves it to a database. The input is the user's feedback, and the output includes the saved feedback data. Specifically, the process involves the user entering feedback in a chat window, the server receiving it, and recording it in the database.

[0293] (Application Example 2)

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

[0295] Current customer service in physical stores heavily relies on the individual staff's abilities, making 24-hour service difficult. In particular, in situations requiring flexible and courteous service tailored to customer emotions, the quality of service can vary significantly. Furthermore, the time required to check product information and inventory can lower customer satisfaction. Additionally, effective collection of customer feedback and its use in future service improvements is insufficient.

[0296] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine and analyzing the intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results and the emotion recognition results from the emotion engine, means for organizing the obtained information and generating a response in a tone and content appropriate to the user's emotions, means for sending the generated response to the user terminal, and means for providing product information and inventory status in response to the user's inquiry and responding in a tone appropriate to their emotions. This enables customers to inquire about product information and inventory status even outside of the store's business hours, and allows for flexible and courteous responses that are appropriate to the customer's emotions. Furthermore, the service can be improved based on the collected feedback.

[0297] A "user terminal" refers to an electronic device used to send inquiry messages. Examples include smartphones, tablets, and computers.

[0298] "Means for passing messages to a natural language processing engine and analyzing intent and keywords" refers to a computer program or function that analyzes received inquiry messages to understand their content and the user's intent. This allows for the extraction of important information from the message, which can then be used for subsequent processing.

[0299] "Means for searching and retrieving relevant information from a database based on analysis results and emotion recognition results from an emotion engine" refers to a method or function for searching and retrieving appropriate information from a database based on the user's inquiry content and emotional state. By utilizing analysis results and emotion recognition results, more appropriate information is provided.

[0300] An "emotion engine" refers to a program or system that analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[0301] A "database" refers to an information aggregation device or system used to store detailed information about various products and services offered by a company. It allows for efficient searching and retrieval of necessary information.

[0302] "Means of organizing acquired information and generating responses in a tone and content appropriate to the user's emotions" refers to a method or program for constructing responses that are appropriate to the user's emotional state based on the relevant information acquired. By responding in a tone appropriate to the user's emotions, customer satisfaction can be increased.

[0303] "Means for transmitting the generated answer to the user terminal" refers to a method or system for transmitting the summarized answer to the user's device. This enables the user to receive information in real time.

[0304] "Means for providing product information and inventory status in response to inquiries and responding in a tone appropriate to the emotion" refers to a function or means for presenting specific product information and the availability of inventory based on the content of the user's inquiry and responding in a way that takes into account the user's emotion.

[0305] The present invention is a chatbot system for improving the efficiency of customer service in physical stores and enhancing customer satisfaction. This system includes a user terminal, a server, a database, a natural language processing engine, and an emotion engine.

[0306] System Configuration

[0307] User Terminal: A device for the user to input and send an inquiry message. Smartphones, tablets, computers, etc. are used as user terminals. It displays a chat window and provides the message input by the user as an interface.

[0308] Server: A central device for processing the inquiry message received from the user terminal. The received message is first passed to the natural language processing engine to analyze the intention and keywords. Based on the analysis result and the emotion recognition result by the emotion engine, relevant information is retrieved from the database. The retrieved information is organized, and an answer is generated in a tone and content appropriate to the user's emotion and transmitted to the user terminal.

[0309] Database: An information integration device that stores detailed information about various commercial materials and services provided by the company. The server retrieves and obtains the necessary information from here.

[0310] Natural Language Processing Engine: A computer program that analyzes user inquiry messages and extracts intent and keywords. Implemented using Python or other programming languages, it flexibly interprets the content of messages.

[0311] Emotion Engine: This program analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[0312] Program execution steps

[0313] 1. Receiving the inquiry message: The user sends an inquiry message from their device, and the server receives it.

[0314] 2. Natural Language Processing: Received messages are passed to a natural language processing engine, where intent and keywords are analyzed. For example, keywords such as "check stock availability" and "product details" are extracted.

[0315] 3. Emotion Recognition: Simultaneously, the message is passed to the emotion engine, which recognizes the user's emotional state. For example, "anger," "joy," and "excitement" are determined.

[0316] 4. Information Retrieval and Acquisition: Based on the analysis results and emotion recognition results, relevant information is retrieved from the database.

[0317] 5. Response Generation: Based on the information obtained, responses are generated with a tone and content that matches the user's emotions. For example, if the user is irritated, detailed information will be provided using polite language.

[0318] 6. Submitting the response: The generated response is sent to the user's device, and the user checks it in the chat window.

[0319] Specific example

[0320] For example, if a user asks, "Do you have this mobile phone in stock?", the server receives this message. The natural language processing engine extracts the keywords "mobile phone" and "stock," and the sentiment engine recognizes that the user is frustrated. The server searches its database for and retrieves the mobile phone's stock information. Based on the retrieved information, a polite and specific response, "We have the mobile phone you are looking for in stock. We will provide you with more detailed information, so please let us know if you have any questions," is generated and sent to the user's device.

[0321] Example of a prompt:

[0322] User: Do you have this cell phone in stock?

[0323] Emotion engine: Recognizes that the user is irritated.

[0324] Generated AI model prompt: The user is frustrated; please provide more information about the availability of this mobile phone.

[0325] In this way, the system can take user emotions into consideration when responding, thereby improving customer satisfaction.

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

[0327] Step 1:

[0328] The user enters an inquiry message from their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet. The input is the user's inquiry message, and the output is the transmission of the inquiry message to the server.

[0329] Step 2:

[0330] The server receives inquiry messages from the user's terminal. The received messages are passed directly to the natural language processing engine for intent and keyword analysis. The input is the user's inquiry message, and the output is the analyzed intent and keywords. Specifically, keywords such as "mobile phone," "inventory," and "confirmation" are extracted.

[0331] Step 3:

[0332] The server passes the analysis results to the emotion engine, which then recognizes the user's emotional state. The input is the analyzed inquiry message, and the output is the recognized emotional state. Specifically, the user might be recognized as "frustrated" or "happy."

[0333] Step 4:

[0334] The server searches and retrieves relevant information from the database using appropriate keywords based on the analysis results and sentiment recognition results. The input is the analysis results and sentiment recognition results, and the output is the retrieved relevant information (for example, mobile phone inventory information). Specifically, the database is searched using the keywords "mobile phone" and "inventory," and the inventory status is retrieved.

[0335] Step 5:

[0336] The server organizes the information it has acquired and generates a response with a tone and content that matches the user's emotions. The input is the acquired relevant information and the result of recognizing the user's emotions, and the output is the generated response message. Specifically, based on inventory information, a message such as "The mobile phone you are looking for is in stock. We will provide you with more detailed information, so please let us know if you have any questions." is generated.

[0337] Step 6:

[0338] The server sends the generated response message to the user's terminal. The input is the generated response message, and the output is the response message displayed on the user's terminal. Specifically, the message "The mobile phone you are looking for is in stock." is displayed in the chat window of the user's terminal.

[0339] Step 7:

[0340] The user requests further information and enters an additional inquiry, then presses the send button on the device. This triggers the process to start again from step 1. The input is the user's additional inquiry message, and the output is the additional response message.

[0341] Step 8:

[0342] When a user enters feedback on an answer and presses the submit button, it is sent to the server. The input is the user's feedback message, and the output is the feedback information stored in the database. Specifically, feedback such as "The answer was helpful" or "I would like more detailed information" is stored in the database.

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

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

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

[0346] [Second Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0359] System Overview

[0360] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[0361] System Configuration

[0362] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[0363] Server: Receives a query message and analyzes it using a natural language processing engine. Furthermore, it searches for and retrieves relevant information from the database based on the analysis results, generates a response, and sends it to the user's terminal.

[0364] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[0365] Program processing

[0366] 1. Receiving user inquiries

[0367] When a user types a question into the chat window on their device and presses the send button, an inquiry message is generated. This message is then sent to the server via the internet.

[0368] 2. Receiving and analyzing inquiries

[0369] The server passes the received message to the natural language processing engine. The natural language processing engine extracts important keywords and user intent from the query message and returns the analysis results to the server.

[0370] 3. Searching for and obtaining related information

[0371] Based on the analysis results, the server uses appropriate keywords to search and retrieve information about relevant products and services from the database.

[0372] 4. Generating the response content

[0373] Based on the information obtained, the server generates an answer suitable for the user's inquiry. The generated answer is presented in a format that is easy for the user to understand.

[0374] 5. Submitting and displaying responses

[0375] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[0376] 6. Handling additional inquiries

[0377] If the user requests further information and enters additional questions, the server receives the message again, repeats the process described above, and generates and sends a new answer.

[0378] 7. Gathering Feedback

[0379] When users provide feedback on an answer, their ratings and comments are received by the server and stored appropriately. This feedback information is used to improve the accuracy of answers and enhance the overall system.

[0380] Specific example

[0381] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server then retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services offer advanced security features and are available under the following pricing plans..." and sends it to the user's device. The user then reviews this response in the chat window.

[0382] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently.

[0383] The following describes the processing flow.

[0384] Step 1:

[0385] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0386] Step 2:

[0387] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[0388] Step 3:

[0389] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[0390] Step 4:

[0391] The server generates a database search query using relevant keywords based on the analysis results. This query is then used to retrieve relevant information from the database.

[0392] Step 5:

[0393] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[0394] Step 6:

[0395] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[0396] Step 7:

[0397] The server generates a response message and sends it to the user's terminal.

[0398] Step 8:

[0399] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[0400] Step 9:

[0401] If the user enters and submits an additional question, the server will receive the message again.

[0402] Step 10:

[0403] The server uses the NLP engine again to analyze the message, retrieves new information from the database, and generates a new response.

[0404] Step 11:

[0405] The server regenerates the answer and sends it to the user's terminal for the user to confirm again.

[0406] Step 12:

[0407] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. This information is used to improve the system.

[0408] (Example 1)

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

[0410] Traditional chatbot systems were inadequate in responding to user inquiries. Furthermore, the accuracy of their inquiry analysis and the suitability of their answers were low, resulting in low user satisfaction. Additionally, the lack of a system for effectively collecting and utilizing user feedback led to delays in system improvements.

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

[0412] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for retrieving relevant information from a data storage device based on the analysis results, means for organizing the retrieved information and generating a response for the user, means for sending and displaying the generated response to the user terminal, and means for collecting and storing feedback provided by the user. This enables a quick and appropriate response to user inquiries and allows for continuous improvement of the system based on feedback.

[0413] A "user terminal" is a device that includes input devices used by the user and is used for sending and receiving messages.

[0414] An "inquiry message" is a message that a user enters and sends in written form, expressing questions or requests regarding a service or product.

[0415] A "natural language processing engine" is software or a system that analyzes received text data to extract the intent and keywords of the text.

[0416] "Intent and keyword analysis" is the process of using a natural language processing engine to extract important elements from text data and identify user intent and keywords of interest.

[0417] A "data storage device" refers to a database or storage medium that stores, searches for, and retrieves information required by a system.

[0418] "Searching for and retrieving relevant information" is the process of finding and retrieving appropriate information from data storage devices based on analyzed keywords and intents.

[0419] "Response generation" is the act of creating a user-friendly and meaningful response based on acquired information.

[0420] "Feedback collection and storage" is the process of receiving ratings and comments provided by users and storing them in a specific location within the system.

[0421] "Display" refers to the act of showing the generated response on the user's device screen and presenting it to the user visually.

[0422] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[0423] User terminal

[0424] User terminals include devices such as computers, smartphones, and tablets. The user terminal provides a chat window where users can enter inquiry messages in text format. When a user enters an inquiry message and presses the send button, the message is sent to the server via the internet.

[0425] server

[0426] The server passes the inquiry message received from the user's terminal to a natural language processing engine for analysis. Specifically, it uses a natural language processing engine such as the Google Cloud Natural Language API to extract the message's intent and keywords. Based on the extracted results, the server searches the database using appropriate keywords to obtain information about related products and services. SQL queries (e.g., MySQL, PostgreSQL) can be used for this purpose.

[0427] Based on the information obtained, the server generates the most suitable answer to the user's inquiry. Here, an answer template engine (e.g., Thymeleaf, Handlebars) is used to create an answer in a format that is easy for the user to understand. The generated answer is sent to the user's device and displayed in the chat window.

[0428] database

[0429] The database stores detailed information about various products and services offered by the company. The database provides and returns the necessary information to the server in response to search requests from the server.

[0430] Specific example

[0431] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services have advanced security features and are available with the following pricing plans..." and sends it to the user's terminal. The user then reviews this response in the chat window.

[0432] Example of a prompt

[0433] As an example of a prompt for a generative AI model, you can learn about the details of the analysis process by inputting a sentence such as, "Please tell me the details of the process of passing user inquiry messages to a natural language processing engine and extracting keywords and user intent."

[0434] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. Furthermore, it includes a mechanism for collecting user feedback and using it to improve the system, enabling continuous system enhancement.

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

[0436] Step 1:

[0437] The user enters an inquiry message into the chat window on their device and presses the send button. The entered message might be, for example, "Please tell me more about the cloud services your company provides." This input message is sent to the server in JSON format. Here, the input is the user's question text, and the output is the inquiry message in JSON format.

[0438] Step 2:

[0439] The server receives the inquiry message. It extracts text from the received JSON-formatted message and passes it to a natural language processing engine (e.g., Google Cloud Natural Language API). The input is the inquiry message (in JSON format), and the output is the analysis result (including keywords and intent). Specifically, the message is sent to the API to analyze keywords such as "cloud service" and "learn more," as well as the user's intent.

[0440] Step 3:

[0441] The server generates a database query based on the analysis results. For example, using MySQL, it creates a query "SELECT FROM Products WHERE Category='Cloud Services'". The input is the analyzed keywords and intent, and the output is the query string. The server sends this query to the database.

[0442] Step 4:

[0443] The server receives information retrieved from the database. The database returns information such as details and pricing plans for the relevant cloud service. The input is a query string, and the output is the retrieved data (e.g., detailed information about the cloud service).

[0444] Step 5:

[0445] The server generates answers to user questions based on the information it has acquired. Using a template engine such as Thymeleaf, it creates specific answers such as, "Our cloud service features advanced security and is available with the following pricing plans..." The input is the acquired data, and the output is the generated answer text.

[0446] Step 6:

[0447] The server sends the generated response to the user's terminal. The response is again sent in JSON format, stored in the "Response Message" field. The input is the generated response text, and the output is a response message in JSON format.

[0448] Step 7:

[0449] The user views the response in the chat window on their device. For example, a response such as "Our cloud service features advanced security and is available with the following pricing plans..." might be displayed. The input is a response message in JSON format, and the output is the text displayed to the user.

[0450] Step 8:

[0451] The user enters additional questions seeking further information and presses the submit button again. For this new inquiry, the server repeats steps 1 through 7 above. Similarly, the input is a new inquiry message, and the output is the corresponding new answer.

[0452] Step 9:

[0453] The user enters the feedback they want to provide and presses the submit button. For example, they might submit feedback such as "This answer was helpful." The server saves the received feedback to its database. The input is the feedback message, and the output is the feedback information stored in the database.

[0454] By following these steps, the system can respond quickly and appropriately to user inquiries and undergo continuous improvement.

[0455] (Application Example 1)

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

[0457] Conventional AI chatbot systems have made it difficult for users to instantly obtain detailed information about a wide variety of products and services. Furthermore, in virtual stores, users have limited means of obtaining real-time information about products and services, resulting in an unimproved user experience. This invention aims to solve these problems and enable users to obtain product information more intuitively and effectively, thereby assisting them in making purchasing decisions.

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

[0459] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results, means for organizing the obtained information and generating an answer for the user, means for sending the generated answer to the user terminal, means for the user to inquire about product information in a chat-based manner in a virtual store, means for the user terminal to be compatible with smartphones, smart glasses, and head-mounted displays, and means for visually presenting the generated answer to the user within the virtual store. As a result, the user can not only obtain necessary product information in real time, but also consider and purchase products with a sense of presence within the virtual store.

[0460] A "user terminal" refers to a device used by a user, such as a computer, smartphone, smart glasses, or head-mounted display.

[0461] "Means for receiving inquiry messages" refers to a function that allows a server to receive messages sent by a user through their device.

[0462] A "natural language processing engine" is software or hardware that analyzes and understands intent and keywords from received messages.

[0463] "Methods for searching and retrieving data from a database" refers to a function that searches a database containing relevant information based on the analysis results and retrieves the necessary data.

[0464] "Means of generating responses for users" refers to a function that creates responses tailored to user inquiries based on acquired information.

[0465] "Means for sending the generated response to the user terminal" refers to a function that transfers the response generated on the server to the user terminal and displays it.

[0466] A "virtual store" is a store virtually constructed on the internet, where users can access it via electronic devices and purchase goods and services.

[0467] A "chat-based inquiry method" is a function that provides an interface where users can request questions and information in text format, and then respond to them based on that.

[0468] "Visual presentation methods" refer to functions that display generated answers or information on a screen in a format that is easy for the user to understand.

[0469] This invention relates to an AI chatbot system for users to inquire about product information in a virtual store via chat. The system comprises a user terminal, a server, and a database.

[0470] System Configuration

[0471] User device: A device used by the user, such as a smartphone, smart glasses, or head-mounted display. Applications installed on these devices provide a chat window, allowing the user to enter inquiry messages in text format.

[0472] Server: Receives a query message and parses it using a natural language processing engine (e.g., spaCy). Then, based on the parsing results, it searches and retrieves relevant information from the database, generates a response, and sends it to the user's terminal. The server is built as a web application using Flask.

[0473] Database: Contains detailed information about products and services. SQLAlchemy is used to communicate with the database and retrieve the necessary information.

[0474] Comprehensive program processing

[0475] The server receives inquiry messages sent from the user's terminal. The received messages are passed to a natural language processing engine (spaCy), where intent and keywords are analyzed. Based on the analysis results, the server searches the database for relevant information, organizes the retrieved information, and generates a response. The generated response is sent to the user's terminal and visually presented within the virtual store.

[0476] Specific example

[0477] For example, if a user asks, "Can you recommend a video camera?", the server uses a natural language processing engine to extract keywords such as "recommended" and "video camera." The server then retrieves detailed information about video cameras from its database and generates a response such as, "Our recommended video camera is capable of high-quality recording and has the following features..." The user can then view this response in the chat window.

[0478] Example of a prompt

[0479] "Could you recommend a video camera?"

[0480] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. To provide a user-friendly and convenient virtual store experience, it supports a variety of devices, including smartphones, smart glasses, and head-mounted displays.

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

[0482] Step 1:

[0483] The user enters an inquiry message into the chat window from their device (smartphone, smart glasses, head-mounted display) and presses the send button to generate the inquiry message. The input is the user's inquiry message, and the output is the transmission of this message to the server.

[0484] Step 2:

[0485] The server passes the query message received from the terminal to a natural language processing engine (spaCy) for message analysis. The input is the received query message, and the output is the analyzed intent and keywords. The server uses the natural language processing engine to extract important keywords and user intent from the message.

[0486] Step 3:

[0487] The server retrieves relevant information from a database (using SQLAlchemy) based on the analysis results. The input is the analyzed keywords, and the output is the relevant information retrieved from the database. The server generates appropriate SQL queries to search for the necessary data from the database.

[0488] Step 4:

[0489] The server generates appropriate answers to user inquiries based on the information it retrieves. The input is relevant information retrieved from the database, and the output is the answer to the user. The server organizes the retrieved information and creates answers in an easy-to-understand format.

[0490] Step 5:

[0491] The server sends the generated response to the user's terminal. Simultaneously, it uses a generation AI model to verify the quality of the response. The input is the generated response, and the output is the response sent to the user's terminal. The server packages the generated response and sends it to the terminal.

[0492] Step 6:

[0493] If the user submits a further query, the server receives the message again, re-parses it, and generates a new response. The input is the new query message, and the output is the newly generated response. The server repeats the same process to respond to the user's further inquiries.

[0494] Step 7:

[0495] This system collects and stores user feedback. The input is user feedback, and the output is feedback data stored in a database. The server receives user feedback messages and saves their contents to the database.

[0496] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. The processing performed at each step improves the user experience and enables the provision of immersive product information within the virtual store.

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

[0498] System Overview

[0499] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[0500] System Configuration

[0501] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[0502] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it uses an emotion engine to recognize the user's emotions, retrieves relevant information from the database based on the results, generates a response, and sends it to the user's terminal.

[0503] Emotion Engine: This engine analyzes the emotions behind user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more polite response.

[0504] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[0505] Program processing

[0506] 1. Receiving user inquiries

[0507] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0508] 2. Receiving and analyzing inquiries

[0509] The server passes the received message to a natural language processing engine (NLP engine). The NLP engine analyzes the message to identify important keywords and the user's intent, and returns the results to the server.

[0510] 3. Emotion recognition by an emotion engine

[0511] The server passes the message to the emotion engine along with the analysis results from the NLP engine. The emotion engine identifies the user's emotions from the message, determining, for example, joy, anger, sadness, surprise, etc.

[0512] 4. Searching for and obtaining related information

[0513] Based on the analysis results and emotion recognition results, the server uses appropriate keywords to search for and retrieve relevant information from the database.

[0514] 5. Generating the response content

[0515] Based on the information it acquires, the server generates a response that reflects the emotion engine's recognition results. For example, if the user expresses dissatisfaction, it generates a response that includes a more detailed and polite explanation.

[0516] 6. Submitting and displaying responses

[0517] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[0518] 7. Handling additional inquiries

[0519] If the user requests further information and enters additional questions, the server will receive the message again. Processing after the re-reception will then be repeated according to the steps described above.

[0520] 8. Gathering feedback

[0521] Users enter and submit feedback on the answers. The server receives the feedback and stores it in a database. This feedback information is used to improve the system and increase its accuracy.

[0522] Specific example

[0523] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses an NLP engine to extract keywords such as "cloud services" and "more details," and then uses an emotion engine to determine the user's emotions. If the emotion engine detects that the user is slightly irritated, the server will generate a more polite and detailed response based on information retrieved from the database.

[0524] Specifically, the system generates a response along the lines of, "Our cloud service features advanced security capabilities and is available under the following pricing plans. We can also explain the detailed features and case studies, so please let us know if you have any questions." This response is then sent to the user's device. The user can then view this response in the chat window and ask additional questions or provide feedback.

[0525] In this way, the system can provide optimal answers that take user emotions into account, thereby improving the user experience.

[0526] The following describes the processing flow.

[0527] Step 1:

[0528] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0529] Step 2:

[0530] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[0531] Step 3:

[0532] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[0533] Step 4:

[0534] Based on the analysis results, the server generates a database search query using relevant keywords, and then uses this query to search for and retrieve relevant information from the database.

[0535] Step 5:

[0536] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[0537] Step 6:

[0538] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[0539] Step 7:

[0540] Before the server sends the generated response, it passes that response to an emotion engine to recognize the user's emotions.

[0541] Step 8:

[0542] The server's sentiment engine considers the user's emotions in response to a reply and adjusts the tone and content of the reply as needed. For example, if the user expresses dissatisfaction, the response will be adjusted to be more polite and detailed.

[0543] Step 9:

[0544] The server sends the final, adjusted response message to the user's terminal.

[0545] Step 10:

[0546] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[0547] Step 11:

[0548] If the user enters and submits additional questions, the server will receive the query message again, re-parse it, and retrieve the relevant information again.

[0549] Step 12:

[0550] The server regenerates the response and sends it to the user's terminal for the user to review again. This process is repeated until the user is satisfied.

[0551] Step 13:

[0552] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. The feedback information is used to improve the system and enhance the accuracy of the answers.

[0553] (Example 2)

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

[0555] In modern society, users are required to quickly and accurately obtain information about the diverse products and services offered by companies. However, conventional systems have struggled to appropriately respond to user inquiries and provide answers that take user emotions into consideration. As a result, user satisfaction can decline, and companies' ability to respond effectively is put to the test. In response to this, there is a need for a system that accurately grasps user intentions and emotions and provides high-quality answers based on that understanding.

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

[0557] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for recognizing the user's emotions using an emotion engine based on the analysis results, means for retrieving relevant information from a database based on the emotion recognition results and analysis results, means for organizing the retrieved information and generating a response that takes the user's emotions into consideration, and means for transmitting the generated response to the user terminal. This makes it possible to accurately understand the user's intent and emotions and provide a quick and appropriate response.

[0558] A "user terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that provides a chat window for entering and sending questions.

[0559] A "server" is a computer system that processes inquiry messages received from user terminals, generates responses, and sends them back to the user terminals.

[0560] An "inquiry message" refers to the questions and information that a user types and sends into the chat window.

[0561] A "natural language processing engine" is software used to analyze important keywords and user intent from inquiry messages, and in some cases, it may also use machine learning models.

[0562] "Intent" refers to the content of the user's questions or requests included in the inquiry message, and is used for interpreting them.

[0563] A "keyword" refers to a word or phrase containing important information within an inquiry message.

[0564] An "emotion engine" is software that analyzes emotions from user inquiry messages and recognizes feelings such as joy, anger, sadness, and surprise.

[0565] "Emotion recognition results" refer to data indicating the user's emotional state, obtained as a result of analysis by the emotion engine.

[0566] A "database" is a place where detailed information about various products and services offered by a company is stored, and it is searchable and retrievable.

[0567] "Answer generation" is the process of constructing an answer to a user's question based on acquired information and sentiment recognition results.

[0568] "Feedback" refers to evaluations and opinions on answers provided by users, and is information used to improve the system and enhance its accuracy.

[0569] "Message re-analysis" is the process of passing the user's additional inquiry back to the natural language processing engine for analysis of intent and keywords.

[0570] "Re-emotion recognition" is the process of passing additional user inquiries back to the emotion engine and re-analyzing the user's emotions.

[0571] Modes for carrying out the invention

[0572] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[0573] System Configuration

[0574] User device: A device used by the user, such as a computer, smartphone, or tablet, that provides a chat window and allows the user to enter inquiry messages in text format. For example, a user might use a smartphone app to type "Please tell me more about your cloud service" and press the send button.

[0575] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it recognizes the user's emotions using an emotion engine, retrieves relevant information from a database based on the results, generates a response, and sends it to the user's terminal. Specifically, Google's TensorFlow and OpenAI's GPT models are used as natural language processing engines, and Hugging Face's Transformers library is used as the emotion engine.

[0576] Emotion Engine: This engine analyzes the emotions in user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more detailed and polite response. Based on the results of the NLP engine, this engine identifies emotions such as joy, anger, sadness, and surprise.

[0577] Database: This database stores detailed information about various products and services offered by a company. It is used to search for and retrieve necessary information. Examples of databases include MySQL and PostgreSQL.

[0578] Specific examples and prompt statements

[0579] The following scenario is a possible example of how this system operates:

[0580] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server will process it as follows:

[0581] 1. Receive the user's message and save it to the log as follows: "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[0582] 2. The message is passed to a natural language processing engine, which extracts keywords such as "cloud service" and "details."

[0583] 3. Pass a message to the emotion engine and recognize that "the user is a little frustrated."

[0584] 4. Search the database using the specified keywords and retrieve information on "Cloud Service Overview," "Pricing Plans," and "Case Studies."

[0585] 5. Taking user sentiment into consideration, generate a polite response such as, "Our cloud service features advanced security functions and is available under the following pricing plans. We can also explain the detailed features and implementation examples, so please let us know if you have any questions."

[0586] 6. Send the generated response to the user's device and display it in the chat window.

[0587] An example of a prompt statement is as follows:

[0588] A user has inquired, "Please tell me more about your cloud services." The user is a little frustrated. Please generate a polite response to this inquiry.

[0589] In this way, the system aims to improve the user experience by accurately understanding and quickly and appropriately processing the user's intentions and emotions.

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

[0591] Step 1:

[0592] The user enters an inquiry message into the chat window on their device and presses the send button. This generates the inquiry message, which is then sent to the server via the internet. The input is the user's question (e.g., "Please tell me more about your cloud services"), and the output is this message sent to the server. Specifically, this process involves the user entering the question and pressing the send button on a smartphone app.

[0593] Step 2:

[0594] The server appropriately identifies and logs inquiry messages received from users. The input is the message sent from the user's terminal, and the output is the saved log entry. Specifically, it logs the message in the format "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[0595] Step 3:

[0596] The server passes the received message to a natural language processing engine (NLP engine) for analysis of intent and keywords. The input is a stored query message, and the output includes the analyzed intent and keywords (e.g., "cloud service," "details"). Specifically, the NLP engine (e.g., Google's TensorFlow model) is used to analyze the message and extract keywords and intent.

[0597] Step 4:

[0598] The server passes the analysis results from the NLP engine to the emotion engine to recognize the user's emotions. Inputs include the analyzed intent and keywords, as well as the original message, while output includes the recognized emotion (e.g., "The user is a little irritated"). Specifically, the emotion is analyzed using an emotion engine (e.g., the Hugging Face Transformers library).

[0599] Step 5:

[0600] The server retrieves relevant information from the database based on the analysis results and sentiment recognition results. Inputs include intent, keywords, and user sentiment, while output includes necessary relevant information (e.g., "Cloud Service Overview," "Pricing Plans," "Case Studies"). Specifically, it generates appropriate SQL queries to retrieve information from the database (e.g., MySQL, PostgreSQL).

[0601] Step 6:

[0602] The server generates responses that take the user's emotions into account based on the information it acquires. Inputs include information retrieved from a database and the user's emotion recognition results, while output includes the generated response (for example, "Our cloud service features advanced security functions and is available under the following pricing plans. We will also explain the detailed features and implementation examples, so please let us know if you have any questions."). Specifically, it constructs the response by adjusting the tone and content using a text generation algorithm.

[0603] Step 7:

[0604] The server sends the generated response to the user's terminal. The input is the generated response, and the output includes the response that will be displayed on the user's terminal. Specifically, it sends a data packet to display the response message in the chat window.

[0605] Step 8:

[0606] If the user requests further information and enters additional questions, the server will receive the message again. The input will be the user's additional questions, and the output will be the message that was received again. Specifically, this involves typing and sending the question again in the chat window.

[0607] Step 9:

[0608] The server re-analyzes the received message according to the steps described above, performing sentiment recognition and response generation. The input is the re-received query message, and the output includes the newly generated response. Specifically, the operation involves re-analysis and re-sentiment recognition to generate a new response.

[0609] Step 10:

[0610] The user inputs and submits their feedback. The server receives this feedback and saves it to a database. The input is the user's feedback, and the output includes the saved feedback data. Specifically, the process involves the user entering feedback in a chat window, the server receiving it, and recording it in the database.

[0611] (Application Example 2)

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

[0613] Current customer service in physical stores heavily relies on the individual staff's abilities, making 24-hour service difficult. In particular, in situations requiring flexible and courteous service tailored to customer emotions, the quality of service can vary significantly. Furthermore, the time required to check product information and inventory can lower customer satisfaction. Additionally, effective collection of customer feedback and its use in future service improvements is insufficient.

[0614] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine and analyzing the intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results and the emotion recognition results from the emotion engine, means for organizing the obtained information and generating a response in a tone and content appropriate to the user's emotions, means for sending the generated response to the user terminal, and means for providing product information and inventory status in response to the user's inquiry and responding in a tone appropriate to their emotions. This enables customers to inquire about product information and inventory status even outside of the store's business hours, and allows for flexible and courteous responses that are appropriate to the customer's emotions. Furthermore, the service can be improved based on the collected feedback.

[0615] A "user terminal" refers to an electronic device used to send inquiry messages. Examples include smartphones, tablets, and computers.

[0616] "Means for passing messages to a natural language processing engine and analyzing intent and keywords" refers to a computer program or function that analyzes received inquiry messages to understand their content and the user's intent. This allows for the extraction of important information from the message, which can then be used for subsequent processing.

[0617] "Means for searching and retrieving relevant information from a database based on analysis results and emotion recognition results from an emotion engine" refers to a method or function for searching and retrieving appropriate information from a database based on the user's inquiry content and emotional state. By utilizing analysis results and emotion recognition results, more appropriate information is provided.

[0618] An "emotion engine" refers to a program or system that analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[0619] A "database" refers to an information aggregation device or system used to store detailed information about various products and services offered by a company. It allows for efficient searching and retrieval of necessary information.

[0620] "Means of organizing acquired information and generating responses in a tone and content appropriate to the user's emotions" refers to a method or program for constructing responses that are appropriate to the user's emotional state based on the relevant information acquired. By responding in a tone appropriate to the user's emotions, customer satisfaction can be increased.

[0621] "Means for sending generated responses to the user's terminal" refers to a method or system for transmitting compiled responses to the user's device. This allows the user to receive information in real time.

[0622] "Means of providing product information and inventory status in response to inquiries, and responding in a tone that matches the user's emotions" refers to a function or means of presenting specific product information and inventory status based on the user's inquiry, and responding in a manner that takes the user's emotions into consideration.

[0623] This invention is a chatbot system for streamlining customer service in physical stores and improving customer satisfaction. The system includes a user terminal, a server, a database, a natural language processing engine, and an emotion engine.

[0624] System Configuration

[0625] User terminal: This is the device used by the user to input and send inquiry messages. Smartphones, tablets, and computers are commonly used as user terminals. It displays a chat window and provides an interface for the user to input messages.

[0626] Server: This is the central device that processes inquiry messages received from user terminals. Received messages are first passed to a natural language processing engine, where intent and keywords are analyzed. Based on the analysis results and the emotion recognition results from the emotion engine, relevant information is searched and retrieved from the database. The retrieved information is organized, a response is generated with a tone and content appropriate to the user's emotions, and sent to the user terminal.

[0627] Database: An information aggregation device that stores detailed information about various products and services offered by a company. Servers search for and retrieve the necessary information from this database.

[0628] Natural Language Processing Engine: A computer program that analyzes user inquiry messages and extracts intent and keywords. Implemented using Python or other programming languages, it flexibly interprets the content of messages.

[0629] Emotion Engine: This program analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[0630] Program execution steps

[0631] 1. Receiving the inquiry message: The user sends an inquiry message from their device, and the server receives it.

[0632] 2. Natural Language Processing: Received messages are passed to a natural language processing engine, where intent and keywords are analyzed. For example, keywords such as "check stock availability" and "product details" are extracted.

[0633] 3. Emotion Recognition: Simultaneously, the message is passed to the emotion engine, which recognizes the user's emotional state. For example, "anger," "joy," and "excitement" are determined.

[0634] 4. Information Retrieval and Acquisition: Based on the analysis results and emotion recognition results, relevant information is retrieved from the database.

[0635] 5. Response Generation: Based on the information obtained, responses are generated with a tone and content that matches the user's emotions. For example, if the user is irritated, detailed information will be provided using polite language.

[0636] 6. Submitting the response: The generated response is sent to the user's device, and the user checks it in the chat window.

[0637] Specific example

[0638] For example, if a user asks, "Do you have this mobile phone in stock?", the server receives this message. The natural language processing engine extracts the keywords "mobile phone" and "stock," and the sentiment engine recognizes that the user is frustrated. The server searches its database for and retrieves the mobile phone's stock information. Based on the retrieved information, a polite and specific response, "We have the mobile phone you are looking for in stock. We will provide you with more detailed information, so please let us know if you have any questions," is generated and sent to the user's device.

[0639] Example of a prompt:

[0640] User: Do you have this cell phone in stock?

[0641] Emotion engine: Recognizes that the user is irritated.

[0642] Generated AI model prompt: The user is frustrated; please provide more information about the availability of this mobile phone.

[0643] In this way, the system can take user emotions into consideration when responding, thereby improving customer satisfaction.

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

[0645] Step 1:

[0646] The user enters an inquiry message from their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet. The input is the user's inquiry message, and the output is the transmission of the inquiry message to the server.

[0647] Step 2:

[0648] The server receives inquiry messages from the user's terminal. The received messages are passed directly to the natural language processing engine for intent and keyword analysis. The input is the user's inquiry message, and the output is the analyzed intent and keywords. Specifically, keywords such as "mobile phone," "inventory," and "confirmation" are extracted.

[0649] Step 3:

[0650] The server passes the analysis results to the emotion engine, which then recognizes the user's emotional state. The input is the analyzed inquiry message, and the output is the recognized emotional state. Specifically, the user might be recognized as "frustrated" or "happy."

[0651] Step 4:

[0652] The server searches and retrieves relevant information from the database using appropriate keywords based on the analysis results and sentiment recognition results. The input is the analysis results and sentiment recognition results, and the output is the retrieved relevant information (for example, mobile phone inventory information). Specifically, the database is searched using the keywords "mobile phone" and "inventory," and the inventory status is retrieved.

[0653] Step 5:

[0654] The server organizes the information it has acquired and generates a response with a tone and content that matches the user's emotions. The input is the acquired relevant information and the result of recognizing the user's emotions, and the output is the generated response message. Specifically, based on inventory information, a message such as "The mobile phone you are looking for is in stock. We will provide you with more detailed information, so please let us know if you have any questions." is generated.

[0655] Step 6:

[0656] The server sends the generated response message to the user's terminal. The input is the generated response message, and the output is the response message displayed on the user's terminal. Specifically, the message "The mobile phone you are looking for is in stock." is displayed in the chat window of the user's terminal.

[0657] Step 7:

[0658] The user requests further information and enters an additional inquiry, then presses the send button on the device. This triggers the process to start again from step 1. The input is the user's additional inquiry message, and the output is the additional response message.

[0659] Step 8:

[0660] When a user enters feedback on an answer and presses the submit button, it is sent to the server. The input is the user's feedback message, and the output is the feedback information stored in the database. Specifically, feedback such as "The answer was helpful" or "I would like more detailed information" is stored in the database.

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

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

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

[0664] [Third Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0677] System Overview

[0678] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[0679] System Configuration

[0680] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[0681] Server: Receives a query message and analyzes it using a natural language processing engine. Furthermore, it searches for and retrieves relevant information from the database based on the analysis results, generates a response, and sends it to the user's terminal.

[0682] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[0683] Program processing

[0684] 1. Receiving user inquiries

[0685] When a user types a question into the chat window on their device and presses the send button, an inquiry message is generated. This message is then sent to the server via the internet.

[0686] 2. Receiving and analyzing inquiries

[0687] The server passes the received message to the natural language processing engine. The natural language processing engine extracts important keywords and user intent from the query message and returns the analysis results to the server.

[0688] 3. Searching for and obtaining related information

[0689] Based on the analysis results, the server uses appropriate keywords to search and retrieve information about relevant products and services from the database.

[0690] 4. Generating the response content

[0691] Based on the information obtained, the server generates an answer suitable for the user's inquiry. The generated answer is presented in a format that is easy for the user to understand.

[0692] 5. Submitting and displaying responses

[0693] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[0694] 6. Handling additional inquiries

[0695] If the user requests further information and enters additional questions, the server receives the message again, repeats the process described above, and generates and sends a new answer.

[0696] 7. Gathering Feedback

[0697] When users provide feedback on an answer, their ratings and comments are received by the server and stored appropriately. This feedback information is used to improve the accuracy of answers and enhance the overall system.

[0698] Specific example

[0699] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server then retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services offer advanced security features and are available under the following pricing plans..." and sends it to the user's device. The user then reviews this response in the chat window.

[0700] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently.

[0701] The following describes the processing flow.

[0702] Step 1:

[0703] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0704] Step 2:

[0705] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[0706] Step 3:

[0707] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[0708] Step 4:

[0709] The server generates a database search query using relevant keywords based on the analysis results. This query is then used to retrieve relevant information from the database.

[0710] Step 5:

[0711] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[0712] Step 6:

[0713] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[0714] Step 7:

[0715] The server generates a response message and sends it to the user's terminal.

[0716] Step 8:

[0717] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[0718] Step 9:

[0719] If the user enters and submits an additional question, the server will receive the message again.

[0720] Step 10:

[0721] The server uses the NLP engine again to analyze the message, retrieves new information from the database, and generates a new response.

[0722] Step 11:

[0723] The server regenerates the answer and sends it to the user's terminal for the user to confirm again.

[0724] Step 12:

[0725] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. This information is used to improve the system.

[0726] (Example 1)

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

[0728] Traditional chatbot systems were inadequate in responding to user inquiries. Furthermore, the accuracy of their inquiry analysis and the suitability of their answers were low, resulting in low user satisfaction. Additionally, the lack of a system for effectively collecting and utilizing user feedback led to delays in system improvements.

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

[0730] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for retrieving relevant information from a data storage device based on the analysis results, means for organizing the retrieved information and generating a response for the user, means for sending and displaying the generated response to the user terminal, and means for collecting and storing feedback provided by the user. This enables a quick and appropriate response to user inquiries and allows for continuous improvement of the system based on feedback.

[0731] A "user terminal" is a device that includes input devices used by the user and is used for sending and receiving messages.

[0732] An "inquiry message" is a message that a user enters and sends in written form, expressing questions or requests regarding a service or product.

[0733] A "natural language processing engine" is software or a system that analyzes received text data to extract the intent and keywords of the text.

[0734] "Intent and keyword analysis" is the process of using a natural language processing engine to extract important elements from text data and identify user intent and keywords of interest.

[0735] A "data storage device" refers to a database or storage medium that stores, searches for, and retrieves information required by a system.

[0736] "Searching for and retrieving relevant information" is the process of finding and retrieving appropriate information from data storage devices based on analyzed keywords and intents.

[0737] "Response generation" is the act of creating a user-friendly and meaningful response based on acquired information.

[0738] "Feedback collection and storage" is the process of receiving ratings and comments provided by users and storing them in a specific location within the system.

[0739] "Display" refers to the act of showing the generated response on the user's device screen and presenting it to the user visually.

[0740] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[0741] User terminal

[0742] User terminals include devices such as computers, smartphones, and tablets. The user terminal provides a chat window where users can enter inquiry messages in text format. When a user enters an inquiry message and presses the send button, the message is sent to the server via the internet.

[0743] server

[0744] The server passes the inquiry message received from the user's terminal to a natural language processing engine for analysis. Specifically, it uses a natural language processing engine such as the Google Cloud Natural Language API to extract the message's intent and keywords. Based on the extracted results, the server searches the database using appropriate keywords to obtain information about related products and services. SQL queries (e.g., MySQL, PostgreSQL) can be used for this purpose.

[0745] Based on the information obtained, the server generates the most suitable answer to the user's inquiry. Here, an answer template engine (e.g., Thymeleaf, Handlebars) is used to create an answer in a format that is easy for the user to understand. The generated answer is sent to the user's device and displayed in the chat window.

[0746] database

[0747] The database stores detailed information about various products and services offered by the company. The database provides and returns the necessary information to the server in response to search requests from the server.

[0748] Specific example

[0749] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services have advanced security features and are available with the following pricing plans..." and sends it to the user's terminal. The user then reviews this response in the chat window.

[0750] Example of a prompt

[0751] As an example of a prompt for a generative AI model, you can learn about the details of the analysis process by inputting a sentence such as, "Please tell me the details of the process of passing user inquiry messages to a natural language processing engine and extracting keywords and user intent."

[0752] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. Furthermore, it includes a mechanism for collecting user feedback and using it to improve the system, enabling continuous system enhancement.

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

[0754] Step 1:

[0755] The user enters an inquiry message into the chat window on their device and presses the send button. The entered message might be, for example, "Please tell me more about the cloud services your company provides." This input message is sent to the server in JSON format. Here, the input is the user's question text, and the output is the inquiry message in JSON format.

[0756] Step 2:

[0757] The server receives the inquiry message. It extracts text from the received JSON-formatted message and passes it to a natural language processing engine (e.g., Google Cloud Natural Language API). The input is the inquiry message (in JSON format), and the output is the analysis result (including keywords and intent). Specifically, the message is sent to the API to analyze keywords such as "cloud service" and "learn more," as well as the user's intent.

[0758] Step 3:

[0759] The server generates a database query based on the analysis results. For example, using MySQL, it creates a query "SELECT FROM Products WHERE Category='Cloud Services'". The input is the analyzed keywords and intent, and the output is the query string. The server sends this query to the database.

[0760] Step 4:

[0761] The server receives information retrieved from the database. The database returns information such as details and pricing plans for the relevant cloud service. The input is a query string, and the output is the retrieved data (e.g., detailed information about the cloud service).

[0762] Step 5:

[0763] The server generates answers to user questions based on the information it has acquired. Using a template engine such as Thymeleaf, it creates specific answers such as, "Our cloud service features advanced security and is available with the following pricing plans..." The input is the acquired data, and the output is the generated answer text.

[0764] Step 6:

[0765] The server sends the generated response to the user's terminal. The response is again sent in JSON format, stored in the "Response Message" field. The input is the generated response text, and the output is a response message in JSON format.

[0766] Step 7:

[0767] The user views the response in the chat window on their device. For example, a response such as "Our cloud service features advanced security and is available with the following pricing plans..." might be displayed. The input is a response message in JSON format, and the output is the text displayed to the user.

[0768] Step 8:

[0769] The user enters additional questions seeking further information and presses the submit button again. For this new inquiry, the server repeats steps 1 through 7 above. Similarly, the input is a new inquiry message, and the output is the corresponding new answer.

[0770] Step 9:

[0771] The user enters the feedback they want to provide and presses the submit button. For example, they might submit feedback such as "This answer was helpful." The server saves the received feedback to its database. The input is the feedback message, and the output is the feedback information stored in the database.

[0772] By following these steps, the system can respond quickly and appropriately to user inquiries and undergo continuous improvement.

[0773] (Application Example 1)

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

[0775] Conventional AI chatbot systems have made it difficult for users to instantly obtain detailed information about a wide variety of products and services. Furthermore, in virtual stores, users have limited means of obtaining real-time information about products and services, resulting in an unimproved user experience. This invention aims to solve these problems and enable users to obtain product information more intuitively and effectively, thereby assisting them in making purchasing decisions.

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

[0777] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results, means for organizing the obtained information and generating an answer for the user, means for sending the generated answer to the user terminal, means for the user to inquire about product information in a chat-based manner in a virtual store, means for the user terminal to be compatible with smartphones, smart glasses, and head-mounted displays, and means for visually presenting the generated answer to the user within the virtual store. As a result, the user can not only obtain necessary product information in real time, but also consider and purchase products with a sense of presence within the virtual store.

[0778] A "user terminal" refers to a device used by a user, such as a computer, smartphone, smart glasses, or head-mounted display.

[0779] "Means for receiving inquiry messages" refers to a function that allows a server to receive messages sent by a user through their device.

[0780] A "natural language processing engine" is software or hardware that analyzes and understands intent and keywords from received messages.

[0781] "Methods for searching and retrieving data from a database" refers to a function that searches a database containing relevant information based on the analysis results and retrieves the necessary data.

[0782] "Means of generating responses for users" refers to a function that creates responses tailored to user inquiries based on acquired information.

[0783] "Means for sending the generated response to the user terminal" refers to a function that transfers the response generated on the server to the user terminal and displays it.

[0784] A "virtual store" is a store virtually constructed on the internet, where users can access it via electronic devices and purchase goods and services.

[0785] A "chat-based inquiry method" is a function that provides an interface where users can request questions and information in text format, and then respond to them based on that.

[0786] "Visual presentation methods" refer to functions that display generated answers or information on a screen in a format that is easy for the user to understand.

[0787] This invention relates to an AI chatbot system for users to inquire about product information in a virtual store via chat. The system comprises a user terminal, a server, and a database.

[0788] System Configuration

[0789] User device: A device used by the user, such as a smartphone, smart glasses, or head-mounted display. Applications installed on these devices provide a chat window, allowing the user to enter inquiry messages in text format.

[0790] Server: Receives a query message and parses it using a natural language processing engine (e.g., spaCy). Then, based on the parsing results, it searches and retrieves relevant information from the database, generates a response, and sends it to the user's terminal. The server is built as a web application using Flask.

[0791] Database: Contains detailed information about products and services. SQLAlchemy is used to communicate with the database and retrieve the necessary information.

[0792] Comprehensive program processing

[0793] The server receives inquiry messages sent from the user's terminal. The received messages are passed to a natural language processing engine (spaCy), where intent and keywords are analyzed. Based on the analysis results, the server searches the database for relevant information, organizes the retrieved information, and generates a response. The generated response is sent to the user's terminal and visually presented within the virtual store.

[0794] Specific example

[0795] For example, if a user asks, "Can you recommend a video camera?", the server uses a natural language processing engine to extract keywords such as "recommended" and "video camera." The server then retrieves detailed information about video cameras from its database and generates a response such as, "Our recommended video camera is capable of high-quality recording and has the following features..." The user can then view this response in the chat window.

[0796] Example of a prompt

[0797] "Could you recommend a video camera?"

[0798] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. To provide a user-friendly and convenient virtual store experience, it supports a variety of devices, including smartphones, smart glasses, and head-mounted displays.

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

[0800] Step 1:

[0801] The user enters an inquiry message into the chat window from their device (smartphone, smart glasses, head-mounted display) and presses the send button to generate the inquiry message. The input is the user's inquiry message, and the output is the transmission of this message to the server.

[0802] Step 2:

[0803] The server passes the query message received from the terminal to a natural language processing engine (spaCy) for message analysis. The input is the received query message, and the output is the analyzed intent and keywords. The server uses the natural language processing engine to extract important keywords and user intent from the message.

[0804] Step 3:

[0805] The server retrieves relevant information from a database (using SQLAlchemy) based on the analysis results. The input is the analyzed keywords, and the output is the relevant information retrieved from the database. The server generates appropriate SQL queries to search for the necessary data from the database.

[0806] Step 4:

[0807] The server generates appropriate answers to user inquiries based on the information it retrieves. The input is relevant information retrieved from the database, and the output is the answer to the user. The server organizes the retrieved information and creates answers in an easy-to-understand format.

[0808] Step 5:

[0809] The server sends the generated response to the user's terminal. Simultaneously, it uses a generation AI model to verify the quality of the response. The input is the generated response, and the output is the response sent to the user's terminal. The server packages the generated response and sends it to the terminal.

[0810] Step 6:

[0811] If the user submits a further query, the server receives the message again, re-parses it, and generates a new response. The input is the new query message, and the output is the newly generated response. The server repeats the same process to respond to the user's further inquiries.

[0812] Step 7:

[0813] This system collects and stores user feedback. The input is user feedback, and the output is feedback data stored in a database. The server receives user feedback messages and saves their contents to the database.

[0814] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. The processing performed at each step improves the user experience and enables the provision of immersive product information within the virtual store.

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

[0816] System Overview

[0817] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[0818] System Configuration

[0819] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[0820] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it uses an emotion engine to recognize the user's emotions, retrieves relevant information from the database based on the results, generates a response, and sends it to the user's terminal.

[0821] Emotion Engine: This engine analyzes the emotions behind user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more polite response.

[0822] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[0823] Program processing

[0824] 1. Receiving user inquiries

[0825] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0826] 2. Receiving and analyzing inquiries

[0827] The server passes the received message to a natural language processing engine (NLP engine). The NLP engine analyzes the message to identify important keywords and the user's intent, and returns the results to the server.

[0828] 3. Emotion recognition by an emotion engine

[0829] The server passes the message to the emotion engine along with the analysis results from the NLP engine. The emotion engine identifies the user's emotions from the message, determining, for example, joy, anger, sadness, surprise, etc.

[0830] 4. Searching for and obtaining related information

[0831] Based on the analysis results and emotion recognition results, the server uses appropriate keywords to search for and retrieve relevant information from the database.

[0832] 5. Generating the response content

[0833] Based on the information it acquires, the server generates a response that reflects the emotion engine's recognition results. For example, if the user expresses dissatisfaction, it generates a response that includes a more detailed and polite explanation.

[0834] 6. Submitting and displaying responses

[0835] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[0836] 7. Handling additional inquiries

[0837] If the user requests further information and enters additional questions, the server will receive the message again. Processing after the re-reception will then be repeated according to the steps described above.

[0838] 8. Gathering feedback

[0839] Users enter and submit feedback on the answers. The server receives the feedback and stores it in a database. This feedback information is used to improve the system and increase its accuracy.

[0840] Specific example

[0841] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses an NLP engine to extract keywords such as "cloud services" and "more details," and then uses an emotion engine to determine the user's emotions. If the emotion engine detects that the user is slightly irritated, the server will generate a more polite and detailed response based on information retrieved from the database.

[0842] Specifically, the system generates a response along the lines of, "Our cloud service features advanced security capabilities and is available under the following pricing plans. We can also explain the detailed features and case studies, so please let us know if you have any questions." This response is then sent to the user's device. The user can then view this response in the chat window and ask additional questions or provide feedback.

[0843] In this way, the system can provide optimal answers that take user emotions into account, thereby improving the user experience.

[0844] The following describes the processing flow.

[0845] Step 1:

[0846] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[0847] Step 2:

[0848] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[0849] Step 3:

[0850] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[0851] Step 4:

[0852] Based on the analysis results, the server generates a database search query using relevant keywords, and then uses this query to search for and retrieve relevant information from the database.

[0853] Step 5:

[0854] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[0855] Step 6:

[0856] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[0857] Step 7:

[0858] Before the server sends the generated response, it passes that response to an emotion engine to recognize the user's emotions.

[0859] Step 8:

[0860] The server's sentiment engine considers the user's emotions in response to a reply and adjusts the tone and content of the reply as needed. For example, if the user expresses dissatisfaction, the response will be adjusted to be more polite and detailed.

[0861] Step 9:

[0862] The server sends the final, adjusted response message to the user's terminal.

[0863] Step 10:

[0864] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[0865] Step 11:

[0866] If the user enters and submits additional questions, the server will receive the query message again, re-parse it, and retrieve the relevant information again.

[0867] Step 12:

[0868] The server regenerates the response and sends it to the user's terminal for the user to review again. This process is repeated until the user is satisfied.

[0869] Step 13:

[0870] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. The feedback information is used to improve the system and enhance the accuracy of the answers.

[0871] (Example 2)

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

[0873] In modern society, users are required to quickly and accurately obtain information about the diverse products and services offered by companies. However, conventional systems have struggled to appropriately respond to user inquiries and provide answers that take user emotions into consideration. As a result, user satisfaction can decline, and companies' ability to respond effectively is put to the test. In response to this, there is a need for a system that accurately grasps user intentions and emotions and provides high-quality answers based on that understanding.

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

[0875] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for recognizing the user's emotions using an emotion engine based on the analysis results, means for retrieving relevant information from a database based on the emotion recognition results and analysis results, means for organizing the retrieved information and generating a response that takes the user's emotions into consideration, and means for transmitting the generated response to the user terminal. This makes it possible to accurately understand the user's intent and emotions and provide a quick and appropriate response.

[0876] A "user terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that provides a chat window for entering and sending questions.

[0877] A "server" is a computer system that processes inquiry messages received from user terminals, generates responses, and sends them back to the user terminals.

[0878] An "inquiry message" refers to the questions and information that a user types and sends into the chat window.

[0879] A "natural language processing engine" is software used to analyze important keywords and user intent from inquiry messages, and in some cases, it may also use machine learning models.

[0880] "Intent" refers to the content of the user's questions or requests included in the inquiry message, and is used for interpreting them.

[0881] A "keyword" refers to a word or phrase containing important information within an inquiry message.

[0882] An "emotion engine" is software that analyzes emotions from user inquiry messages and recognizes feelings such as joy, anger, sadness, and surprise.

[0883] "Emotion recognition results" refer to data indicating the user's emotional state, obtained as a result of analysis by the emotion engine.

[0884] A "database" is a place where detailed information about various products and services offered by a company is stored, and it is searchable and retrievable.

[0885] "Answer generation" is the process of constructing an answer to a user's question based on acquired information and sentiment recognition results.

[0886] "Feedback" refers to evaluations and opinions on answers provided by users, and is information used to improve the system and enhance its accuracy.

[0887] "Message re-analysis" is the process of passing the user's additional inquiry back to the natural language processing engine for analysis of intent and keywords.

[0888] "Re-emotion recognition" is the process of passing additional user inquiries back to the emotion engine and re-analyzing the user's emotions.

[0889] Modes for carrying out the invention

[0890] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[0891] System Configuration

[0892] User device: A device used by the user, such as a computer, smartphone, or tablet, that provides a chat window and allows the user to enter inquiry messages in text format. For example, a user might use a smartphone app to type "Please tell me more about your cloud service" and press the send button.

[0893] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it recognizes the user's emotions using an emotion engine, retrieves relevant information from a database based on the results, generates a response, and sends it to the user's terminal. Specifically, Google's TensorFlow and OpenAI's GPT models are used as natural language processing engines, and Hugging Face's Transformers library is used as the emotion engine.

[0894] Emotion Engine: This engine analyzes the emotions in user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more detailed and polite response. Based on the results of the NLP engine, this engine identifies emotions such as joy, anger, sadness, and surprise.

[0895] Database: This database stores detailed information about various products and services offered by a company. It is used to search for and retrieve necessary information. Examples of databases include MySQL and PostgreSQL.

[0896] Specific examples and prompt statements

[0897] The following scenario is a possible example of how this system operates:

[0898] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server will process it as follows:

[0899] 1. Receive the user's message and save it to the log as follows: "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[0900] 2. The message is passed to a natural language processing engine, which extracts keywords such as "cloud service" and "details."

[0901] 3. Pass a message to the emotion engine and recognize that "the user is a little frustrated."

[0902] 4. Search the database using the specified keywords and retrieve information on "Cloud Service Overview," "Pricing Plans," and "Case Studies."

[0903] 5. Taking user sentiment into consideration, generate a polite response such as, "Our cloud service features advanced security functions and is available under the following pricing plans. We can also explain the detailed features and implementation examples, so please let us know if you have any questions."

[0904] 6. Send the generated response to the user's device and display it in the chat window.

[0905] An example of a prompt statement is as follows:

[0906] A user has inquired, "Please tell me more about your cloud services." The user is a little frustrated. Please generate a polite response to this inquiry.

[0907] In this way, the system aims to improve the user experience by accurately understanding and quickly and appropriately processing the user's intentions and emotions.

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

[0909] Step 1:

[0910] The user enters an inquiry message into the chat window on their device and presses the send button. This generates the inquiry message, which is then sent to the server via the internet. The input is the user's question (e.g., "Please tell me more about your cloud services"), and the output is this message sent to the server. Specifically, this process involves the user entering the question and pressing the send button on a smartphone app.

[0911] Step 2:

[0912] The server appropriately identifies and logs inquiry messages received from users. The input is the message sent from the user's terminal, and the output is the saved log entry. Specifically, it logs the message in the format "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[0913] Step 3:

[0914] The server passes the received message to a natural language processing engine (NLP engine) for analysis of intent and keywords. The input is a stored query message, and the output includes the analyzed intent and keywords (e.g., "cloud service," "details"). Specifically, the NLP engine (e.g., Google's TensorFlow model) is used to analyze the message and extract keywords and intent.

[0915] Step 4:

[0916] The server passes the analysis results from the NLP engine to the emotion engine to recognize the user's emotions. Inputs include the analyzed intent and keywords, as well as the original message, while output includes the recognized emotion (e.g., "The user is a little irritated"). Specifically, the emotion is analyzed using an emotion engine (e.g., the Hugging Face Transformers library).

[0917] Step 5:

[0918] The server retrieves relevant information from the database based on the analysis results and sentiment recognition results. Inputs include intent, keywords, and user sentiment, while output includes necessary relevant information (e.g., "Cloud Service Overview," "Pricing Plans," "Case Studies"). Specifically, it generates appropriate SQL queries to retrieve information from the database (e.g., MySQL, PostgreSQL).

[0919] Step 6:

[0920] The server generates responses that take the user's emotions into account based on the information it acquires. Inputs include information retrieved from a database and the user's emotion recognition results, while output includes the generated response (for example, "Our cloud service features advanced security functions and is available under the following pricing plans. We will also explain the detailed features and implementation examples, so please let us know if you have any questions."). Specifically, it constructs the response by adjusting the tone and content using a text generation algorithm.

[0921] Step 7:

[0922] The server sends the generated response to the user's terminal. The input is the generated response, and the output includes the response that will be displayed on the user's terminal. Specifically, it sends a data packet to display the response message in the chat window.

[0923] Step 8:

[0924] If the user requests further information and enters additional questions, the server will receive the message again. The input will be the user's additional questions, and the output will be the message that was received again. Specifically, this involves typing and sending the question again in the chat window.

[0925] Step 9:

[0926] The server re-analyzes the received message according to the steps described above, performing sentiment recognition and response generation. The input is the re-received query message, and the output includes the newly generated response. Specifically, the operation involves re-analysis and re-sentiment recognition to generate a new response.

[0927] Step 10:

[0928] The user inputs and submits their feedback. The server receives this feedback and saves it to a database. The input is the user's feedback, and the output includes the saved feedback data. Specifically, the process involves the user entering feedback in a chat window, the server receiving it, and recording it in the database.

[0929] (Application Example 2)

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

[0931] Current customer service in physical stores heavily relies on the individual staff's abilities, making 24-hour service difficult. In particular, in situations requiring flexible and courteous service tailored to customer emotions, the quality of service can vary significantly. Furthermore, the time required to check product information and inventory can lower customer satisfaction. Additionally, effective collection of customer feedback and its use in future service improvements is insufficient.

[0932] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine and analyzing the intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results and the emotion recognition results from the emotion engine, means for organizing the obtained information and generating a response in a tone and content appropriate to the user's emotions, means for sending the generated response to the user terminal, and means for providing product information and inventory status in response to the user's inquiry and responding in a tone appropriate to their emotions. This enables customers to inquire about product information and inventory status even outside of the store's business hours, and allows for flexible and courteous responses that are appropriate to the customer's emotions. Furthermore, the service can be improved based on the collected feedback.

[0933] A "user terminal" refers to an electronic device used to send inquiry messages. Examples include smartphones, tablets, and computers.

[0934] "Means for passing messages to a natural language processing engine and analyzing intent and keywords" refers to a computer program or function that analyzes received inquiry messages to understand their content and the user's intent. This allows for the extraction of important information from the message, which can then be used for subsequent processing.

[0935] "Means for searching and retrieving relevant information from a database based on analysis results and emotion recognition results from an emotion engine" refers to a method or function for searching and retrieving appropriate information from a database based on the user's inquiry content and emotional state. By utilizing analysis results and emotion recognition results, more appropriate information is provided.

[0936] An "emotion engine" refers to a program or system that analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[0937] A "database" refers to an information aggregation device or system used to store detailed information about various products and services offered by a company. It allows for efficient searching and retrieval of necessary information.

[0938] "Means of organizing acquired information and generating responses in a tone and content appropriate to the user's emotions" refers to a method or program for constructing responses that are appropriate to the user's emotional state based on the relevant information acquired. By responding in a tone appropriate to the user's emotions, customer satisfaction can be increased.

[0939] "Means for sending generated responses to the user's terminal" refers to a method or system for transmitting compiled responses to the user's device. This allows the user to receive information in real time.

[0940] "Means of providing product information and inventory status in response to inquiries, and responding in a tone that matches the user's emotions" refers to a function or means of presenting specific product information and inventory status based on the user's inquiry, and responding in a manner that takes the user's emotions into consideration.

[0941] This invention is a chatbot system for streamlining customer service in physical stores and improving customer satisfaction. The system includes a user terminal, a server, a database, a natural language processing engine, and an emotion engine.

[0942] System Configuration

[0943] User terminal: This is the device used by the user to input and send inquiry messages. Smartphones, tablets, and computers are commonly used as user terminals. It displays a chat window and provides an interface for the user to input messages.

[0944] Server: This is the central device that processes inquiry messages received from user terminals. Received messages are first passed to a natural language processing engine, where intent and keywords are analyzed. Based on the analysis results and the emotion recognition results from the emotion engine, relevant information is searched and retrieved from the database. The retrieved information is organized, a response is generated with a tone and content appropriate to the user's emotions, and sent to the user terminal.

[0945] Database: An information aggregation device that stores detailed information about various products and services offered by a company. Servers search for and retrieve the necessary information from this database.

[0946] Natural Language Processing Engine: A computer program that analyzes user inquiry messages and extracts intent and keywords. Implemented using Python or other programming languages, it flexibly interprets the content of messages.

[0947] Emotion Engine: This program analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[0948] Program execution steps

[0949] 1. Receiving the inquiry message: The user sends an inquiry message from their device, and the server receives it.

[0950] 2. Natural Language Processing: Received messages are passed to a natural language processing engine, where intent and keywords are analyzed. For example, keywords such as "check stock availability" and "product details" are extracted.

[0951] 3. Emotion Recognition: Simultaneously, the message is passed to the emotion engine, which recognizes the user's emotional state. For example, "anger," "joy," and "excitement" are determined.

[0952] 4. Information Retrieval and Acquisition: Based on the analysis results and emotion recognition results, relevant information is retrieved from the database.

[0953] 5. Response Generation: Based on the information obtained, responses are generated with a tone and content that matches the user's emotions. For example, if the user is irritated, detailed information will be provided using polite language.

[0954] 6. Submitting the response: The generated response is sent to the user's device, and the user checks it in the chat window.

[0955] Specific example

[0956] For example, if a user asks, "Do you have this mobile phone in stock?", the server receives this message. The natural language processing engine extracts the keywords "mobile phone" and "stock," and the sentiment engine recognizes that the user is frustrated. The server searches its database for and retrieves the mobile phone's stock information. Based on the retrieved information, a polite and specific response, "We have the mobile phone you are looking for in stock. We will provide you with more detailed information, so please let us know if you have any questions," is generated and sent to the user's device.

[0957] Example of a prompt:

[0958] User: Do you have this cell phone in stock?

[0959] Emotion engine: Recognizes that the user is irritated.

[0960] Generated AI model prompt: The user is frustrated; please provide more information about the availability of this mobile phone.

[0961] In this way, the system can take user emotions into consideration when responding, thereby improving customer satisfaction.

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

[0963] Step 1:

[0964] The user enters an inquiry message from their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet. The input is the user's inquiry message, and the output is the transmission of the inquiry message to the server.

[0965] Step 2:

[0966] The server receives inquiry messages from the user's terminal. The received messages are passed directly to the natural language processing engine for intent and keyword analysis. The input is the user's inquiry message, and the output is the analyzed intent and keywords. Specifically, keywords such as "mobile phone," "inventory," and "confirmation" are extracted.

[0967] Step 3:

[0968] The server passes the analysis results to the emotion engine, which then recognizes the user's emotional state. The input is the analyzed inquiry message, and the output is the recognized emotional state. Specifically, the user might be recognized as "frustrated" or "happy."

[0969] Step 4:

[0970] The server searches and retrieves relevant information from the database using appropriate keywords based on the analysis results and sentiment recognition results. The input is the analysis results and sentiment recognition results, and the output is the retrieved relevant information (for example, mobile phone inventory information). Specifically, the database is searched using the keywords "mobile phone" and "inventory," and the inventory status is retrieved.

[0971] Step 5:

[0972] The server organizes the information it has acquired and generates a response with a tone and content that matches the user's emotions. The input is the acquired relevant information and the result of recognizing the user's emotions, and the output is the generated response message. Specifically, based on inventory information, a message such as "The mobile phone you are looking for is in stock. We will provide you with more detailed information, so please let us know if you have any questions." is generated.

[0973] Step 6:

[0974] The server sends the generated response message to the user's terminal. The input is the generated response message, and the output is the response message displayed on the user's terminal. Specifically, the message "The mobile phone you are looking for is in stock." is displayed in the chat window of the user's terminal.

[0975] Step 7:

[0976] The user requests further information and enters an additional inquiry, then presses the send button on the device. This triggers the process to start again from step 1. The input is the user's additional inquiry message, and the output is the additional response message.

[0977] Step 8:

[0978] When a user enters feedback on an answer and presses the submit button, it is sent to the server. The input is the user's feedback message, and the output is the feedback information stored in the database. Specifically, feedback such as "The answer was helpful" or "I would like more detailed information" is stored in the database.

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

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

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

[0982] [Fourth Embodiment]

[0983] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[0996] System Overview

[0997] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[0998] System Configuration

[0999] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[1000] Server: Receives a query message and analyzes it using a natural language processing engine. Furthermore, it searches for and retrieves relevant information from the database based on the analysis results, generates a response, and sends it to the user's terminal.

[1001] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[1002] Program processing

[1003] 1. Receiving user inquiries

[1004] When a user types a question into the chat window on their device and presses the send button, an inquiry message is generated. This message is then sent to the server via the internet.

[1005] 2. Receiving and analyzing inquiries

[1006] The server passes the received message to the natural language processing engine. The natural language processing engine extracts important keywords and user intent from the query message and returns the analysis results to the server.

[1007] 3. Searching for and obtaining related information

[1008] Based on the analysis results, the server uses appropriate keywords to search and retrieve information about relevant products and services from the database.

[1009] 4. Generating the response content

[1010] Based on the information obtained, the server generates an answer suitable for the user's inquiry. The generated answer is presented in a format that is easy for the user to understand.

[1011] 5. Submitting and displaying responses

[1012] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[1013] 6. Handling additional inquiries

[1014] If the user requests further information and enters additional questions, the server receives the message again, repeats the process described above, and generates and sends a new answer.

[1015] 7. Gathering Feedback

[1016] When users provide feedback on an answer, their ratings and comments are received by the server and stored appropriately. This feedback information is used to improve the accuracy of answers and enhance the overall system.

[1017] Specific example

[1018] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server then retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services offer advanced security features and are available under the following pricing plans..." and sends it to the user's device. The user then reviews this response in the chat window.

[1019] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently.

[1020] The following describes the processing flow.

[1021] Step 1:

[1022] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[1023] Step 2:

[1024] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[1025] Step 3:

[1026] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[1027] Step 4:

[1028] The server generates a database search query using relevant keywords based on the analysis results. This query is then used to retrieve relevant information from the database.

[1029] Step 5:

[1030] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[1031] Step 6:

[1032] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[1033] Step 7:

[1034] The server generates a response message and sends it to the user's terminal.

[1035] Step 8:

[1036] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[1037] Step 9:

[1038] If the user enters and submits an additional question, the server will receive the message again.

[1039] Step 10:

[1040] The server uses the NLP engine again to analyze the message, retrieves new information from the database, and generates a new response.

[1041] Step 11:

[1042] The server regenerates the answer and sends it to the user's terminal for the user to confirm again.

[1043] Step 12:

[1044] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. This information is used to improve the system.

[1045] (Example 1)

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

[1047] Traditional chatbot systems were inadequate in responding to user inquiries. Furthermore, the accuracy of their inquiry analysis and the suitability of their answers were low, resulting in low user satisfaction. Additionally, the lack of a system for effectively collecting and utilizing user feedback led to delays in system improvements.

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

[1049] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for retrieving relevant information from a data storage device based on the analysis results, means for organizing the retrieved information and generating a response for the user, means for sending and displaying the generated response to the user terminal, and means for collecting and storing feedback provided by the user. This enables a quick and appropriate response to user inquiries and allows for continuous improvement of the system based on feedback.

[1050] A "user terminal" is a device that includes input devices used by the user and is used for sending and receiving messages.

[1051] An "inquiry message" is a message that a user enters and sends in written form, expressing questions or requests regarding a service or product.

[1052] A "natural language processing engine" is software or a system that analyzes received text data to extract the intent and keywords of the text.

[1053] "Intent and keyword analysis" is the process of using a natural language processing engine to extract important elements from text data and identify user intent and keywords of interest.

[1054] A "data storage device" refers to a database or storage medium that stores, searches for, and retrieves information required by a system.

[1055] "Searching for and retrieving relevant information" is the process of finding and retrieving appropriate information from data storage devices based on analyzed keywords and intents.

[1056] "Response generation" is the act of creating a user-friendly and meaningful response based on acquired information.

[1057] "Feedback collection and storage" is the process of receiving ratings and comments provided by users and storing them in a specific location within the system.

[1058] "Display" refers to the act of showing the generated response on the user's device screen and presenting it to the user visually.

[1059] This invention relates to an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system consists of a user terminal, a server, and a database.

[1060] User terminal

[1061] User terminals include devices such as computers, smartphones, and tablets. The user terminal provides a chat window where users can enter inquiry messages in text format. When a user enters an inquiry message and presses the send button, the message is sent to the server via the internet.

[1062] server

[1063] The server passes the inquiry message received from the user's terminal to a natural language processing engine for analysis. Specifically, it uses a natural language processing engine such as the Google Cloud Natural Language API to extract the message's intent and keywords. Based on the extracted results, the server searches the database using appropriate keywords to obtain information about related products and services. SQL queries (e.g., MySQL, PostgreSQL) can be used for this purpose.

[1064] Based on the information obtained, the server generates the most suitable answer to the user's inquiry. Here, an answer template engine (e.g., Thymeleaf, Handlebars) is used to create an answer in a format that is easy for the user to understand. The generated answer is sent to the user's device and displayed in the chat window.

[1065] database

[1066] The database stores detailed information about various products and services offered by the company. The database provides and returns the necessary information to the server in response to search requests from the server.

[1067] Specific example

[1068] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses a natural language processing engine to extract keywords such as "cloud services" and "more details." The server retrieves detailed information about the cloud services from its database and generates a response such as, "Our cloud services have advanced security features and are available with the following pricing plans..." and sends it to the user's terminal. The user then reviews this response in the chat window.

[1069] Example of a prompt

[1070] As an example of a prompt for a generative AI model, you can learn about the details of the analysis process by inputting a sentence such as, "Please tell me the details of the process of passing user inquiry messages to a natural language processing engine and extracting keywords and user intent."

[1071] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. Furthermore, it includes a mechanism for collecting user feedback and using it to improve the system, enabling continuous system enhancement.

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

[1073] Step 1:

[1074] The user enters an inquiry message into the chat window on their device and presses the send button. The entered message might be, for example, "Please tell me more about the cloud services your company provides." This input message is sent to the server in JSON format. Here, the input is the user's question text, and the output is the inquiry message in JSON format.

[1075] Step 2:

[1076] The server receives the inquiry message. It extracts text from the received JSON-formatted message and passes it to a natural language processing engine (e.g., Google Cloud Natural Language API). The input is the inquiry message (in JSON format), and the output is the analysis result (including keywords and intent). Specifically, the message is sent to the API to analyze keywords such as "cloud service" and "learn more," as well as the user's intent.

[1077] Step 3:

[1078] The server generates a database query based on the analysis results. For example, using MySQL, it creates a query "SELECT FROM Products WHERE Category='Cloud Services'". The input is the analyzed keywords and intent, and the output is the query string. The server sends this query to the database.

[1079] Step 4:

[1080] The server receives information retrieved from the database. The database returns information such as details and pricing plans for the relevant cloud service. The input is a query string, and the output is the retrieved data (e.g., detailed information about the cloud service).

[1081] Step 5:

[1082] The server generates answers to user questions based on the information it has acquired. Using a template engine such as Thymeleaf, it creates specific answers such as, "Our cloud service features advanced security and is available with the following pricing plans..." The input is the acquired data, and the output is the generated answer text.

[1083] Step 6:

[1084] The server sends the generated response to the user's terminal. The response is again sent in JSON format, stored in the "Response Message" field. The input is the generated response text, and the output is a response message in JSON format.

[1085] Step 7:

[1086] The user views the response in the chat window on their device. For example, a response such as "Our cloud service features advanced security and is available with the following pricing plans..." might be displayed. The input is a response message in JSON format, and the output is the text displayed to the user.

[1087] Step 8:

[1088] The user enters additional questions seeking further information and presses the submit button again. For this new inquiry, the server repeats steps 1 through 7 above. Similarly, the input is a new inquiry message, and the output is the corresponding new answer.

[1089] Step 9:

[1090] The user enters the feedback they want to provide and presses the submit button. For example, they might submit feedback such as "This answer was helpful." The server saves the received feedback to its database. The input is the feedback message, and the output is the feedback information stored in the database.

[1091] By following these steps, the system can respond quickly and appropriately to user inquiries and undergo continuous improvement.

[1092] (Application Example 1)

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

[1094] Conventional AI chatbot systems have made it difficult for users to instantly obtain detailed information about a wide variety of products and services. Furthermore, in virtual stores, users have limited means of obtaining real-time information about products and services, resulting in an unimproved user experience. This invention aims to solve these problems and enable users to obtain product information more intuitively and effectively, thereby assisting them in making purchasing decisions.

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

[1096] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results, means for organizing the obtained information and generating an answer for the user, means for sending the generated answer to the user terminal, means for the user to inquire about product information in a chat-based manner in a virtual store, means for the user terminal to be compatible with smartphones, smart glasses, and head-mounted displays, and means for visually presenting the generated answer to the user within the virtual store. As a result, the user can not only obtain necessary product information in real time, but also consider and purchase products with a sense of presence within the virtual store.

[1097] A "user terminal" refers to a device used by a user, such as a computer, smartphone, smart glasses, or head-mounted display.

[1098] "Means for receiving inquiry messages" refers to a function that allows a server to receive messages sent by a user through their device.

[1099] A "natural language processing engine" is software or hardware that analyzes and understands intent and keywords from received messages.

[1100] "Methods for searching and retrieving data from a database" refers to a function that searches a database containing relevant information based on the analysis results and retrieves the necessary data.

[1101] "Means of generating responses for users" refers to a function that creates responses tailored to user inquiries based on acquired information.

[1102] "Means for sending the generated response to the user terminal" refers to a function that transfers the response generated on the server to the user terminal and displays it.

[1103] A "virtual store" is a store virtually constructed on the internet, where users can access it via electronic devices and purchase goods and services.

[1104] A "chat-based inquiry method" is a function that provides an interface where users can request questions and information in text format, and then respond to them based on that.

[1105] "Visual presentation methods" refer to functions that display generated answers or information on a screen in a format that is easy for the user to understand.

[1106] This invention relates to an AI chatbot system for users to inquire about product information in a virtual store via chat. The system comprises a user terminal, a server, and a database.

[1107] System Configuration

[1108] User device: A device used by the user, such as a smartphone, smart glasses, or head-mounted display. Applications installed on these devices provide a chat window, allowing the user to enter inquiry messages in text format.

[1109] Server: Receives a query message and parses it using a natural language processing engine (e.g., spaCy). Then, based on the parsing results, it searches and retrieves relevant information from the database, generates a response, and sends it to the user's terminal. The server is built as a web application using Flask.

[1110] Database: Contains detailed information about products and services. SQLAlchemy is used to communicate with the database and retrieve the necessary information.

[1111] Comprehensive program processing

[1112] The server receives inquiry messages sent from the user's terminal. The received messages are passed to a natural language processing engine (spaCy), where intent and keywords are analyzed. Based on the analysis results, the server searches the database for relevant information, organizes the retrieved information, and generates a response. The generated response is sent to the user's terminal and visually presented within the virtual store.

[1113] Specific example

[1114] For example, if a user asks, "Can you recommend a video camera?", the server uses a natural language processing engine to extract keywords such as "recommended" and "video camera." The server then retrieves detailed information about video cameras from its database and generates a response such as, "Our recommended video camera is capable of high-quality recording and has the following features..." The user can then view this response in the chat window.

[1115] Example of a prompt

[1116] "Could you recommend a video camera?"

[1117] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. To provide a user-friendly and convenient virtual store experience, it supports a variety of devices, including smartphones, smart glasses, and head-mounted displays.

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

[1119] Step 1:

[1120] The user enters an inquiry message into the chat window from their device (smartphone, smart glasses, head-mounted display) and presses the send button to generate the inquiry message. The input is the user's inquiry message, and the output is the transmission of this message to the server.

[1121] Step 2:

[1122] The server passes the query message received from the terminal to a natural language processing engine (spaCy) for message analysis. The input is the received query message, and the output is the analyzed intent and keywords. The server uses the natural language processing engine to extract important keywords and user intent from the message.

[1123] Step 3:

[1124] The server retrieves relevant information from a database (using SQLAlchemy) based on the analysis results. The input is the analyzed keywords, and the output is the relevant information retrieved from the database. The server generates appropriate SQL queries to search for the necessary data from the database.

[1125] Step 4:

[1126] The server generates appropriate answers to user inquiries based on the information it retrieves. The input is relevant information retrieved from the database, and the output is the answer to the user. The server organizes the retrieved information and creates answers in an easy-to-understand format.

[1127] Step 5:

[1128] The server sends the generated response to the user's terminal. Simultaneously, it uses a generation AI model to verify the quality of the response. The input is the generated response, and the output is the response sent to the user's terminal. The server packages the generated response and sends it to the terminal.

[1129] Step 6:

[1130] If the user submits a further query, the server receives the message again, re-parses it, and generates a new response. The input is the new query message, and the output is the newly generated response. The server repeats the same process to respond to the user's further inquiries.

[1131] Step 7:

[1132] This system collects and stores user feedback. The input is user feedback, and the output is feedback data stored in a database. The server receives user feedback messages and saves their contents to the database.

[1133] In this way, the system can respond to user inquiries quickly and accurately, and provide information efficiently. The processing performed at each step improves the user experience and enables the provision of immersive product information within the virtual store.

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

[1135] System Overview

[1136] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[1137] System Configuration

[1138] User terminal: A device used by the user, such as a computer, smartphone, or tablet. It provides a chat window where the user can enter text-based inquiry messages.

[1139] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it uses an emotion engine to recognize the user's emotions, retrieves relevant information from the database based on the results, generates a response, and sends it to the user's terminal.

[1140] Emotion Engine: This engine analyzes the emotions behind user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more polite response.

[1141] Database: Contains detailed information about various products and services offered by a company. Used to search for and retrieve necessary information.

[1142] Program processing

[1143] 1. Receiving user inquiries

[1144] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[1145] 2. Receiving and analyzing inquiries

[1146] The server passes the received message to a natural language processing engine (NLP engine). The NLP engine analyzes the message to identify important keywords and the user's intent, and returns the results to the server.

[1147] 3. Emotion recognition by an emotion engine

[1148] The server passes the message to the emotion engine along with the analysis results from the NLP engine. The emotion engine identifies the user's emotions from the message, determining, for example, joy, anger, sadness, surprise, etc.

[1149] 4. Searching for and obtaining related information

[1150] Based on the analysis results and emotion recognition results, the server uses appropriate keywords to search for and retrieve relevant information from the database.

[1151] 5. Generating the response content

[1152] Based on the information it acquires, the server generates a response that reflects the emotion engine's recognition results. For example, if the user expresses dissatisfaction, it generates a response that includes a more detailed and polite explanation.

[1153] 6. Submitting and displaying responses

[1154] The server sends the generated response to the user's device. The response is displayed in the chat window on the user's device, and the user confirms it.

[1155] 7. Handling additional inquiries

[1156] If the user requests further information and enters additional questions, the server will receive the message again. Processing after the re-reception will then be repeated according to the steps described above.

[1157] 8. Gathering feedback

[1158] Users enter and submit feedback on the answers. The server receives the feedback and stores it in a database. This feedback information is used to improve the system and increase its accuracy.

[1159] Specific example

[1160] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server uses an NLP engine to extract keywords such as "cloud services" and "more details," and then uses an emotion engine to determine the user's emotions. If the emotion engine detects that the user is slightly irritated, the server will generate a more polite and detailed response based on information retrieved from the database.

[1161] Specifically, the system generates a response along the lines of, "Our cloud service features advanced security capabilities and is available under the following pricing plans. We can also explain the detailed features and case studies, so please let us know if you have any questions." This response is then sent to the user's device. The user can then view this response in the chat window and ask additional questions or provide feedback.

[1162] In this way, the system can provide optimal answers that take user emotions into account, thereby improving the user experience.

[1163] The following describes the processing flow.

[1164] Step 1:

[1165] The user types their question into the chat window on their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet.

[1166] Step 2:

[1167] The server checks the received query message and passes the message content to the natural language processing engine (NLP engine).

[1168] Step 3:

[1169] The server's NLP engine analyzes the received message, extracts sentence structure such as subject, verb, and object, and analyzes keywords and the user's intent (purpose). The results are then returned to the server.

[1170] Step 4:

[1171] Based on the analysis results, the server generates a database search query using relevant keywords, and then uses this query to search for and retrieve relevant information from the database.

[1172] Step 5:

[1173] The server retrieves the results of a database search and uses that information to construct the most appropriate response to the user's inquiry.

[1174] Step 6:

[1175] The server takes the generated response, formats it in natural language that is easy for the user to understand, and generates the final response message.

[1176] Step 7:

[1177] Before the server sends the generated response, it passes that response to an emotion engine to recognize the user's emotions.

[1178] Step 8:

[1179] The server's sentiment engine considers the user's emotions in response to a reply and adjusts the tone and content of the reply as needed. For example, if the user expresses dissatisfaction, the response will be adjusted to be more polite and detailed.

[1180] Step 9:

[1181] The server sends the final, adjusted response message to the user's terminal.

[1182] Step 10:

[1183] The response message received on the user's device is displayed in the chat window. The user reviews the provided response and asks additional questions if necessary.

[1184] Step 11:

[1185] If the user enters and submits additional questions, the server will receive the query message again, re-parse it, and retrieve the relevant information again.

[1186] Step 12:

[1187] The server regenerates the response and sends it to the user's terminal for the user to review again. This process is repeated until the user is satisfied.

[1188] Step 13:

[1189] Users enter and submit feedback on the provided answers. The server receives the feedback and stores it in a database. The feedback information is used to improve the system and enhance the accuracy of the answers.

[1190] (Example 2)

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

[1192] In modern society, users are required to quickly and accurately obtain information about the diverse products and services offered by companies. However, conventional systems have struggled to appropriately respond to user inquiries and provide answers that take user emotions into consideration. As a result, user satisfaction can decline, and companies' ability to respond effectively is put to the test. In response to this, there is a need for a system that accurately grasps user intentions and emotions and provides high-quality answers based on that understanding.

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

[1194] In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine for analyzing intent and keywords, means for recognizing the user's emotions using an emotion engine based on the analysis results, means for retrieving relevant information from a database based on the emotion recognition results and analysis results, means for organizing the retrieved information and generating a response that takes the user's emotions into consideration, and means for transmitting the generated response to the user terminal. This makes it possible to accurately understand the user's intent and emotions and provide a quick and appropriate response.

[1195] A "user terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that provides a chat window for entering and sending questions.

[1196] A "server" is a computer system that processes inquiry messages received from user terminals, generates responses, and sends them back to the user terminals.

[1197] An "inquiry message" refers to the questions and information that a user types and sends into the chat window.

[1198] A "natural language processing engine" is software used to analyze important keywords and user intent from inquiry messages, and in some cases, it may also use machine learning models.

[1199] "Intent" refers to the content of the user's questions or requests included in the inquiry message, and is used for interpreting them.

[1200] A "keyword" refers to a word or phrase containing important information within an inquiry message.

[1201] An "emotion engine" is software that analyzes emotions from user inquiry messages and recognizes feelings such as joy, anger, sadness, and surprise.

[1202] "Emotion recognition results" refer to data indicating the user's emotional state, obtained as a result of analysis by the emotion engine.

[1203] A "database" is a place where detailed information about various products and services offered by a company is stored, and it is searchable and retrievable.

[1204] "Answer generation" is the process of constructing an answer to a user's question based on acquired information and sentiment recognition results.

[1205] "Feedback" refers to evaluations and opinions on answers provided by users, and is information used to improve the system and enhance its accuracy.

[1206] "Message re-analysis" is the process of passing the user's additional inquiry back to the natural language processing engine for analysis of intent and keywords.

[1207] "Re-emotion recognition" is the process of passing additional user inquiries back to the emotion engine and re-analyzing the user's emotions.

[1208] Modes for carrying out the invention

[1209] This invention provides an AI chatbot system that allows users to easily inquire about a wide variety of products and services offered by companies via chat, 24 hours a day, 365 days a year, at any time. The system includes a user terminal, a server, and a database, and also includes an emotion engine that recognizes the user's emotions and adjusts its responses accordingly.

[1210] System Configuration

[1211] User device: A device used by the user, such as a computer, smartphone, or tablet, that provides a chat window and allows the user to enter inquiry messages in text format. For example, a user might use a smartphone app to type "Please tell me more about your cloud service" and press the send button.

[1212] Server: Receives inquiry messages and analyzes them using a natural language processing engine. Furthermore, it recognizes the user's emotions using an emotion engine, retrieves relevant information from a database based on the results, generates a response, and sends it to the user's terminal. Specifically, Google's TensorFlow and OpenAI's GPT models are used as natural language processing engines, and Hugging Face's Transformers library is used as the emotion engine.

[1213] Emotion Engine: This engine analyzes the emotions in user messages and adjusts the tone and content of responses accordingly. For example, if a user expresses dissatisfaction, it generates a more detailed and polite response. Based on the results of the NLP engine, this engine identifies emotions such as joy, anger, sadness, and surprise.

[1214] Database: This database stores detailed information about various products and services offered by a company. It is used to search for and retrieve necessary information. Examples of databases include MySQL and PostgreSQL.

[1215] Specific examples and prompt statements

[1216] The following scenario is a possible example of how this system operates:

[1217] For example, if a user asks, "Please tell me more about the cloud services your company provides," the server will process it as follows:

[1218] 1. Receive the user's message and save it to the log as follows: "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[1219] 2. The message is passed to a natural language processing engine, which extracts keywords such as "cloud service" and "details."

[1220] 3. Pass a message to the emotion engine and recognize that "the user is a little frustrated."

[1221] 4. Search the database using the specified keywords and retrieve information on "Cloud Service Overview," "Pricing Plans," and "Case Studies."

[1222] 5. Taking user sentiment into consideration, generate a polite response such as, "Our cloud service features advanced security functions and is available under the following pricing plans. We can also explain the detailed features and implementation examples, so please let us know if you have any questions."

[1223] 6. Send the generated response to the user's device and display it in the chat window.

[1224] An example of a prompt statement is as follows:

[1225] A user has inquired, "Please tell me more about your cloud services." The user is a little frustrated. Please generate a polite response to this inquiry.

[1226] In this way, the system aims to improve the user experience by accurately understanding and quickly and appropriately processing the user's intentions and emotions.

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

[1228] Step 1:

[1229] The user enters an inquiry message into the chat window on their device and presses the send button. This generates the inquiry message, which is then sent to the server via the internet. The input is the user's question (e.g., "Please tell me more about your cloud services"), and the output is this message sent to the server. Specifically, this process involves the user entering the question and pressing the send button on a smartphone app.

[1230] Step 2:

[1231] The server appropriately identifies and logs inquiry messages received from users. The input is the message sent from the user's terminal, and the output is the saved log entry. Specifically, it logs the message in the format "October 10, 2023, 3:30 PM: Please tell me more about cloud services."

[1232] Step 3:

[1233] The server passes the received message to a natural language processing engine (NLP engine) for analysis of intent and keywords. The input is a stored query message, and the output includes the analyzed intent and keywords (e.g., "cloud service," "details"). Specifically, the NLP engine (e.g., Google's TensorFlow model) is used to analyze the message and extract keywords and intent.

[1234] Step 4:

[1235] The server passes the analysis results from the NLP engine to the emotion engine to recognize the user's emotions. Inputs include the analyzed intent and keywords, as well as the original message, while output includes the recognized emotion (e.g., "The user is a little irritated"). Specifically, the emotion is analyzed using an emotion engine (e.g., the Hugging Face Transformers library).

[1236] Step 5:

[1237] The server retrieves relevant information from the database based on the analysis results and sentiment recognition results. Inputs include intent, keywords, and user sentiment, while output includes necessary relevant information (e.g., "Cloud Service Overview," "Pricing Plans," "Case Studies"). Specifically, it generates appropriate SQL queries to retrieve information from the database (e.g., MySQL, PostgreSQL).

[1238] Step 6:

[1239] The server generates responses that take the user's emotions into account based on the information it acquires. Inputs include information retrieved from a database and the user's emotion recognition results, while output includes the generated response (for example, "Our cloud service features advanced security functions and is available under the following pricing plans. We will also explain the detailed features and implementation examples, so please let us know if you have any questions."). Specifically, it constructs the response by adjusting the tone and content using a text generation algorithm.

[1240] Step 7:

[1241] The server sends the generated response to the user's terminal. The input is the generated response, and the output includes the response that will be displayed on the user's terminal. Specifically, it sends a data packet to display the response message in the chat window.

[1242] Step 8:

[1243] If the user requests further information and enters additional questions, the server will receive the message again. The input will be the user's additional questions, and the output will be the message that was received again. Specifically, this involves typing and sending the question again in the chat window.

[1244] Step 9:

[1245] The server re-analyzes the received message according to the steps described above, performing sentiment recognition and response generation. The input is the re-received query message, and the output includes the newly generated response. Specifically, the operation involves re-analysis and re-sentiment recognition to generate a new response.

[1246] Step 10:

[1247] The user inputs and submits their feedback. The server receives this feedback and saves it to a database. The input is the user's feedback, and the output includes the saved feedback data. Specifically, the process involves the user entering feedback in a chat window, the server receiving it, and recording it in the database.

[1248] (Application Example 2)

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

[1250] Current customer service in physical stores heavily relies on the individual staff's abilities, making 24-hour service difficult. In particular, in situations requiring flexible and courteous service tailored to customer emotions, the quality of service can vary significantly. Furthermore, the time required to check product information and inventory can lower customer satisfaction. Additionally, effective collection of customer feedback and its use in future service improvements is insufficient.

[1251] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for receiving inquiry messages from a user terminal, means for passing the received messages to a natural language processing engine and analyzing the intent and keywords, means for searching and obtaining relevant information from a database based on the analysis results and the emotion recognition results from the emotion engine, means for organizing the obtained information and generating a response in a tone and content appropriate to the user's emotions, means for sending the generated response to the user terminal, and means for providing product information and inventory status in response to the user's inquiry and responding in a tone appropriate to their emotions. This enables customers to inquire about product information and inventory status even outside of the store's business hours, and allows for flexible and courteous responses that are appropriate to the customer's emotions. Furthermore, the service can be improved based on the collected feedback.

[1252] A "user terminal" refers to an electronic device used to send inquiry messages. Examples include smartphones, tablets, and computers.

[1253] "Means for passing messages to a natural language processing engine and analyzing intent and keywords" refers to a computer program or function that analyzes received inquiry messages to understand their content and the user's intent. This allows for the extraction of important information from the message, which can then be used for subsequent processing.

[1254] "Means for searching and retrieving relevant information from a database based on analysis results and emotion recognition results from an emotion engine" refers to a method or function for searching and retrieving appropriate information from a database based on the user's inquiry content and emotional state. By utilizing analysis results and emotion recognition results, more appropriate information is provided.

[1255] An "emotion engine" refers to a program or system that analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[1256] A "database" refers to an information aggregation device or system used to store detailed information about various products and services offered by a company. It allows for efficient searching and retrieval of necessary information.

[1257] "Means of organizing acquired information and generating responses in a tone and content appropriate to the user's emotions" refers to a method or program for constructing responses that are appropriate to the user's emotional state based on the relevant information acquired. By responding in a tone appropriate to the user's emotions, customer satisfaction can be increased.

[1258] "Means for sending generated responses to the user's terminal" refers to a method or system for transmitting compiled responses to the user's device. This allows the user to receive information in real time.

[1259] "Means of providing product information and inventory status in response to inquiries, and responding in a tone that matches the user's emotions" refers to a function or means of presenting specific product information and inventory status based on the user's inquiry, and responding in a manner that takes the user's emotions into consideration.

[1260] This invention is a chatbot system for streamlining customer service in physical stores and improving customer satisfaction. The system includes a user terminal, a server, a database, a natural language processing engine, and an emotion engine.

[1261] System Configuration

[1262] User terminal: This is the device used by the user to input and send inquiry messages. Smartphones, tablets, and computers are commonly used as user terminals. It displays a chat window and provides an interface for the user to input messages.

[1263] Server: This is the central device that processes inquiry messages received from user terminals. Received messages are first passed to a natural language processing engine, where intent and keywords are analyzed. Based on the analysis results and the emotion recognition results from the emotion engine, relevant information is searched and retrieved from the database. The retrieved information is organized, a response is generated with a tone and content appropriate to the user's emotions, and sent to the user terminal.

[1264] Database: An information aggregation device that stores detailed information about various products and services offered by a company. Servers search for and retrieve the necessary information from this database.

[1265] Natural Language Processing Engine: A computer program that analyzes user inquiry messages and extracts intent and keywords. Implemented using Python or other programming languages, it flexibly interprets the content of messages.

[1266] Emotion Engine: This program analyzes and recognizes emotions from user inquiry messages. This enables responses tailored to the user's emotional state.

[1267] Program execution steps

[1268] 1. Receiving the inquiry message: The user sends an inquiry message from their device, and the server receives it.

[1269] 2. Natural Language Processing: Received messages are passed to a natural language processing engine, where intent and keywords are analyzed. For example, keywords such as "check stock availability" and "product details" are extracted.

[1270] 3. Emotion Recognition: Simultaneously, the message is passed to the emotion engine, which recognizes the user's emotional state. For example, "anger," "joy," and "excitement" are determined.

[1271] 4. Information Retrieval and Acquisition: Based on the analysis results and emotion recognition results, relevant information is retrieved from the database.

[1272] 5. Response Generation: Based on the information obtained, responses are generated with a tone and content that matches the user's emotions. For example, if the user is irritated, detailed information will be provided using polite language.

[1273] 6. Submitting the response: The generated response is sent to the user's device, and the user checks it in the chat window.

[1274] Specific example

[1275] For example, if a user asks, "Do you have this mobile phone in stock?", the server receives this message. The natural language processing engine extracts the keywords "mobile phone" and "stock," and the sentiment engine recognizes that the user is frustrated. The server searches its database for and retrieves the mobile phone's stock information. Based on the retrieved information, a polite and specific response, "We have the mobile phone you are looking for in stock. We will provide you with more detailed information, so please let us know if you have any questions," is generated and sent to the user's device.

[1276] Example of a prompt:

[1277] User: Do you have this cell phone in stock?

[1278] Emotion engine: Recognizes that the user is irritated.

[1279] Generated AI model prompt: The user is frustrated; please provide more information about the availability of this mobile phone.

[1280] In this way, the system can take user emotions into consideration when responding, thereby improving customer satisfaction.

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

[1282] Step 1:

[1283] The user enters an inquiry message from their device and presses the send button. This generates an inquiry message, which is then sent to the server via the internet. The input is the user's inquiry message, and the output is the transmission of the inquiry message to the server.

[1284] Step 2:

[1285] The server receives inquiry messages from the user's terminal. The received messages are passed directly to the natural language processing engine for intent and keyword analysis. The input is the user's inquiry message, and the output is the analyzed intent and keywords. Specifically, keywords such as "mobile phone," "inventory," and "confirmation" are extracted.

[1286] Step 3:

[1287] The server passes the analysis results to the emotion engine, which then recognizes the user's emotional state. The input is the analyzed inquiry message, and the output is the recognized emotional state. Specifically, the user might be recognized as "frustrated" or "happy."

[1288] Step 4:

[1289] The server searches and retrieves relevant information from the database using appropriate keywords based on the analysis results and sentiment recognition results. The input is the analysis results and sentiment recognition results, and the output is the retrieved relevant information (for example, mobile phone inventory information). Specifically, the database is searched using the keywords "mobile phone" and "inventory," and the inventory status is retrieved.

[1290] Step 5:

[1291] The server organizes the information it has acquired and generates a response with a tone and content that matches the user's emotions. The input is the acquired relevant information and the result of recognizing the user's emotions, and the output is the generated response message. Specifically, based on inventory information, a message such as "The mobile phone you are looking for is in stock. We will provide you with more detailed information, so please let us know if you have any questions." is generated.

[1292] Step 6:

[1293] The server sends the generated response message to the user's terminal. The input is the generated response message, and the output is the response message displayed on the user's terminal. Specifically, the message "The mobile phone you are looking for is in stock." is displayed in the chat window of the user's terminal.

[1294] Step 7:

[1295] The user requests further information and enters an additional inquiry, then presses the send button on the device. This triggers the process to start again from step 1. The input is the user's additional inquiry message, and the output is the additional response message.

[1296] Step 8:

[1297] When a user enters feedback on an answer and presses the submit button, it is sent to the server. The input is the user's feedback message, and the output is the feedback information stored in the database. Specifically, feedback such as "The answer was helpful" or "I would like more detailed information" is stored in the database.

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

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

[1300] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1318] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.

[1319] The following is further disclosed regarding the embodiments described above.

[1320] (Claim 1)

[1321] A means of receiving inquiry messages from the user's terminal,

[1322] The means for passing the received message to a natural language processing engine and analyzing its intent and keywords,

[1323] Based on the aforementioned analysis results, a means for searching and obtaining relevant information from a database,

[1324] A means of organizing the acquired information and generating answers for the user,

[1325] A system including means for transmitting the generated response to the user terminal.

[1326] (Claim 2)

[1327] The system according to claim 1, further comprising means for receiving additional inquiries from the user again, and for re-analyzing and generating new responses.

[1328] (Claim 3)

[1329] The system according to claim 1, further comprising means for collecting and storing user-provided feedback.

[1330] "Example 1"

[1331] (Claim 1)

[1332] A means of receiving inquiry messages from the user's terminal,

[1333] The means for passing the received message to a natural language processing engine and analyzing its intent and keywords,

[1334] Based on the aforementioned analysis results, means for searching and obtaining relevant information from a data storage device,

[1335] A means of organizing the acquired information and generating answers for the user,

[1336] A means for transmitting and displaying the generated response on the user terminal,

[1337] A means of collecting and storing user feedback,

[1338] A system that includes this.

[1339] (Claim 2)

[1340] The system according to claim 1, further comprising means for receiving additional inquiries from the user again, and for re-analyzing and generating new responses.

[1341] (Claim 3)

[1342] The system according to claim 1, further comprising means for using feedback information to improve response accuracy and the overall system.

[1343] "Application Example 1"

[1344] (Claim 1)

[1345] A means of receiving inquiry messages from the user's terminal,

[1346] The means for passing the received message to a natural language processing engine and analyzing its intent and keywords,

[1347] Based on the aforementioned analysis results, a means for searching and obtaining relevant information from a database,

[1348] A means of organizing the acquired information and generating answers for the user,

[1349] Means for transmitting the generated response to the user terminal,

[1350] A means for users to inquire about product information in a virtual store via chat,

[1351] The aforementioned user terminal includes means for supporting smartphones, smart glasses, and head-mounted displays,

[1352] A system that includes means for visually presenting generated responses to users within a virtual store.

[1353] (Claim 2)

[1354] The system according to claim 1, further comprising means for receiving additional inquiries from the user again, and for re-analyzing and generating new responses.

[1355] (Claim 3)

[1356] The system according to claim 1, further comprising means for collecting and storing user-provided feedback.

[1357] "Example 2 of combining an emotion engine"

[1358] (Claim 1)

[1359] A means of receiving inquiry messages from the user's terminal,

[1360] The means for passing the received message to a natural language processing engine and analyzing its intent and keywords,

[1361] Based on the aforementioned analysis results, a means for recognizing the user's emotions using an emotion engine,

[1362] A means for searching and obtaining relevant information from a database based on the aforementioned emotion recognition results and analysis results,

[1363] A means of organizing the acquired information and generating responses that take into account the user's emotions,

[1364] A system including means for transmitting the generated response to the user terminal.

[1365] (Claim 2)

[1366] The system according to claim 1, further comprising means for receiving additional inquiries from the user again, performing re-analysis and re-evaluation of sentiment, and generating a new response in accordance with the above means.

[1367] (Claim 3)

[1368] The system according to claim 1, further comprising means for collecting and storing user-provided feedback.

[1369] "Application example 2 when combining with an emotional engine"

[1370] (Claim 1)

[1371] A means of receiving inquiry messages from the user's terminal,

[1372] The means for passing the received message to a natural language processing engine and analyzing its intent and keywords,

[1373] A means for searching and obtaining relevant information from a database based on the aforementioned analysis results and the emotion recognition results from the emotion engine,

[1374] A means of organizing the acquired information and generating responses with a tone and content that matches the user's emotions,

[1375] Means for transmitting the generated response to the user terminal,

[1376] A means of providing product information and inventory status in response to user inquiries, and responding in a tone that matches their emotions,

[1377] A system that includes this.

[1378] (Claim 2)

[1379] The system according to claim 1, which receives additional inquiries from the user again, performs re-analysis and generates new answers.

[1380] (Claim 3)

[1381] The system according to claim 1, which collects and stores user-provided feedback. [Explanation of Symbols]

[1382] 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 inquiry messages from the user's terminal, The means for passing the received message to a natural language processing engine and analyzing its intent and keywords, Based on the aforementioned analysis results, a means for searching and obtaining relevant information from a database, A means of organizing the acquired information and generating answers for the user, A system including means for transmitting the generated response to the user terminal.

2. The system according to claim 1, further comprising means for receiving additional inquiries from the user again, re-analyzing them, and generating new responses.

3. The system according to claim 1, further comprising means for collecting and storing user-provided feedback.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A