System
The system addresses the issue of ambiguous user inputs in conversational AI by analyzing, revising, and generating precise responses, improving user experience and efficiency.
Patent Information
- Application Number
- JP2024118208
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-02-04
AI Technical Summary
Conversational AI systems often provide inaccurate responses due to ambiguous user questions or instructions, leading to a poor user experience and reduced communication efficiency.
A system that includes means for receiving user inputs, analyzing them for ambiguity, revising unclear parts, utilizing a generative AI model to generate appropriate responses, and sending these responses back to the user, thereby ensuring clarity and accuracy.
The system effectively resolves ambiguities in user queries, providing timely and accurate responses, enhancing user experience and communication efficiency.
Smart Images

Figure 2026017426000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] When using modern conversational AI systems, many users frequently input ambiguous questions or complex instructions, resulting in answers that differ from the intended answer. This results in a poor user experience and reduces communication efficiency. The present invention aims to solve these problems and provide a system that enables smoother and more accurate conversations. [Means for solving the problem]
[0005] The present invention provides a system including means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising an ambiguous portion of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, and means for sending the generated response to the user, thereby making it possible to resolve any ambiguity in the user's question or instruction and quickly provide an appropriate response.
[0006] A "user" is a person who uses an interactive AI system to input questions or instructions.
[0007] A "question" is a sentence or phrase that a user enters to a conversational AI system to request information.
[0008] A "command" is a sentence or phrase that a user inputs to a conversational AI system to request a specific operation or action.
[0009] The "receiving means" is a mechanism by which the system receives questions or instructions entered by the user.
[0010] "Means for analysis" refers to the system's ability to understand the content of the question or instruction it receives and analyze its intent and meaning.
[0011] "Proofreading means" is a function that complements or corrects ambiguous or incomplete parts of the user's questions or instructions based on the analysis results.
[0012] A "generative AI model" refers to an algorithm or mechanism that uses natural language processing to generate appropriate responses to input text.
[0013] "Means for sending" refers to the mechanism by which the generated response is provided and displayed to the user.
[0014] The "system" refers to the comprehensive interactive AI system itself, which includes these means. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0036] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. Below, we will explain the program's processing in natural language, and also provide specific examples.
[0037] System Overview
[0038] User Input Processing
[0039] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[0040] Sending Input
[0041] The terminal sends this question to the server.
[0042] Question and instruction analysis
[0043] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[0044] Proofreading questions and instructions
[0045] The server then proofreads the user's input based on the analysis results. If any ambiguous or incomplete parts are identified, the server will complete or correct them. For example, if the question is "What time is the next meeting?", the server will complete the expression "next meeting" with a specific date and time.
[0046] Leveraging generative AI models
[0047] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[0048] Sending a Response
[0049] The server sends the generated response to the terminal.
[0050] What the user sees
[0051] The terminal receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM."
[0052] Specific examples
[0053] A user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question and determines that the specific date of "next Friday" is ambiguous. The server then corrects the question by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates the response, "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[0054] The above is an embodiment of the present invention. This system makes it possible to resolve ambiguity in questions and instructions from users and to smoothly advance dialogue.
[0055] The processing flow will be explained below.
[0056] Step 1:
[0057] The user enters a question or instruction into the terminal.
[0058] Specific action: The user types "What time is the next meeting?" through the device interface.
[0059] Step 2:
[0060] The terminal sends the user's input to the server.
[0061] Specific operation: The terminal generates an HTTP request and sends the user's question data to the server.
[0062] Step 3:
[0063] The server receives and parses the user's input.
[0064] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse that "next meeting" is a question about a specific date and time.
[0065] Step 4:
[0066] The server then calibrates the questions and instructions based on the analysis results.
[0067] Concrete action: The server concretely converts the vague phrase "next meeting" into "tomorrow's meeting" and corrects it into a complete question.
[0068] Step 5:
[0069] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[0070] Specific operation: The server inputs a calibrated question to the generative AI model: "What time is the meeting tomorrow?" and receives the model's response: "Tomorrow at 2 p.m."
[0071] Step 6:
[0072] The server sends the generated response to the terminal.
[0073] Specific operation: The server forms an HTTP response including the generated response and sends it to the terminal.
[0074] Step 7:
[0075] The terminal receives the response from the server and displays it to the user.
[0076] Specific operation: The device receives the HTTP response and displays "The next meeting is tomorrow at 2 p.m." on the user interface.
[0077] The above are the specific processing steps of the system that receives a user's question and generates and provides an appropriate response.
[0078] Example 1
[0079] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0080] Conventional conversational AI systems have had the problem of failing to provide appropriate proofreading or responses when the user's questions or instructions are ambiguous. It is particularly difficult to accurately understand the user's intent and provide an appropriate response when the question concerns a specific date, time, or event. Furthermore, even when generating responses using a generative AI model, prompts are often generated manually, which is inefficient. The present invention aims to solve these problems and provide more accurate and faster responses to user questions and instructions.
[0081] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0082] In this invention, the server includes means for receiving a question or instruction entered by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, and means for the generative AI model to generate an optimal response using a prompt sentence. This makes it possible to automatically complete specific date and time or event information in response to ambiguous questions or instructions entered by the user, and to quickly provide more accurate responses.
[0083] "User" refers to a person who uses the system to input questions or instructions.
[0084] "Terminal" refers to a device used by a user to input questions or instructions and send them to a server.
[0085] "Server" refers to a computer system that receives user questions and instructions sent from a terminal, analyzes them, corrects them, and generates responses.
[0086] "Question or instruction" refers to an inquiry or instruction in natural language format that a user inputs into a terminal.
[0087] "Analysis" refers to the process of using natural language processing technology to understand the meaning and intent of received questions or instructions.
[0088] "Proofreading" refers to the process of correcting or completing ambiguous or incomplete parts of a user's questions or instructions based on the analysis results.
[0089] A "generative AI model" refers to an artificial intelligence model that generates the most appropriate response based on a user's questions or instructions.
[0090] A "prompt sentence" refers to a text sentence that is given as input to a generative AI model.
[0091] "Response" refers to the reply generated by the generative AI model based on the user's questions and instructions.
[0092] "Natural language processing library" refers to a software tool or framework for parsing, understanding, and generating natural language.
[0093] "Specific date and time or event information" refers to information related to a date, time, or event included in a user's question or instruction.
[0094] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. This system consists of a user, a terminal, and a server.
[0095] System configuration
[0096] User Input Processing
[0097] The user inputs a question or instruction into the terminal. At this time, the user inputs the question using natural language. For example, the user inputs the question, "What time is the next meeting?"
[0098] Sending Input
[0099] The device sends the question entered by the user to the server. In this process, the device sends an HTTP request to the server over the Internet.
[0100] Question and instruction analysis
[0101] The server analyzes the question received from the device. The server uses a natural language processing library (e.g., Spacy or NLTK) to perform grammatical and semantic analysis to understand the meaning and intent of the question.
[0102] Proofreading questions and instructions
[0103] Based on the analysis results, the server completes or corrects any ambiguous or incomplete parts of the user's question. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[0104] Leveraging generative AI models
[0105] The server passes the calibrated questions to a generative AI model (e.g., GPT-4 or BERT) to generate an optimal response. The generative AI model uses natural language processing techniques to generate an appropriate answer to the user's question. For example, it generates a response such as, "The next meeting is tomorrow at 2 p.m."
[0106] Sending a Response
[0107] The server sends the response obtained from the generative AI model to the device. Specifically, the server returns the generated response as an HTTP response.
[0108] What the user sees
[0109] The terminal displays the received response to the user, for example, the text "The next meeting is tomorrow at 2 PM" on the terminal's display.
[0110] Specific examples
[0111] As a concrete example, consider the case where a user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question, determines that the specific date of "next Friday" is ambiguous, and corrects it by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates a response such as "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[0112] Prompt Sentence Examples
[0113] The following are examples of prompt sentences that can be input to a generative AI model:
[0114] 1. To generate a specific response regarding the task's schedule:
[0115] I received the question "What are your plans for next Friday?". Since the date is ambiguous, I revised it to "What are your plans for October 13, 2023?". Please generate an appropriate response to this.
[0116] 2. To generate answers for everyday questions:
[0117] You receive the question "What time is the next meeting?". After analyzing the expression "next meeting," you determine that it is tomorrow at 2 PM. Use this information to generate an appropriate response.
[0118] These examples and prompts enable the system of the present invention to resolve user questions and instructions in a timely and accurate manner.
[0119] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0120] Program processing flow
[0121] Step 1:
[0122] The user inputs a question or instruction into the terminal. For example, "What time is the next meeting?" and clicks the "Send" button. This input is done in natural language by the user.
[0123] Step 2:
[0124] The device sends the question entered by the user to the server. In this process, the device formats the question entered as an HTTP request and sends it to the server's URL. The input is the user's question, and the output is the request to the server.
[0125] Step 3:
[0126] The server receives the question sent from the device and starts analyzing the question using an NLP library. Specifically, it performs grammatical analysis and semantic analysis using libraries such as Spacy and NLTK. The input is the question sent from the device, and the output is the analysis result.
[0127] Step 4:
[0128] The server corrects ambiguous or incomplete parts based on the analysis results. Specifically, it identifies the ambiguous part "next meeting" and complements it with "tomorrow at 2 p.m." by referring to the user's calendar information. The input is the analysis results, and the output is the corrected question.
[0129] Step 5:
[0130] The server passes the calibrated question to the generative AI model as a prompt. The generative AI model used here is GPT-4 or BERT. The input is the calibrated question, and the output is the generative AI model's response using the prompt.
[0131] Step 6:
[0132] The generative AI model generates the optimal response based on the prompt. For example, it generates the response, "The next meeting is tomorrow at 2 p.m." The input is the prompt, and the output is the generated response.
[0133] Step 7:
[0134] The server sends the generated response to the terminal. Specifically, the server returns the generated response to the terminal as an HTTP response. The input is the generated response, and the output is the response to the terminal.
[0135] Step 8:
[0136] The terminal displays the response it receives to the user. Specifically, it displays the text "The next meeting is tomorrow at 2 PM" on the terminal's display. The input is the response from the server, and the output is the text displayed to the user.
[0137] (Application example 1)
[0138] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0139] Conventional conversational AI systems were able to generate appropriate answers to user questions and instructions, but they lacked specific support such as product suggestions and related product lists within a virtual store. This made it difficult for users to quickly and appropriately find the products they were looking for. In particular, they were unable to adequately process ambiguous questions and instructions, which resulted in a poor user experience.
[0140] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0141] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for transmitting the generated response to the user, means for making product suggestions to the user in real time, and means for listing related products based on the product suggestions. This enables the user to quickly and appropriately find products in a virtual store, and improves the accuracy of product suggestions, thereby improving the quality of the user experience.
[0142] "Means for receiving user-entered questions or instructions" refers to the functionality of the device or software that receives text or voice-entered questions or instructions entered by the user through the device.
[0143] The "means for analyzing the received question or instruction" refers to a process or algorithm that uses natural language processing technology to analyze the meaning and intent of the received question or instruction and extract corresponding information.
[0144] "Means for proofreading ambiguous parts of questions or instructions" refers to a function that accurately and clearly corrects and completes ambiguous expressions or incomplete information based on the analysis results.
[0145] "Means utilizing generative AI models to generate appropriate responses to calibrated questions or instructions" refers to the process of using advanced generative AI models to generate optimal answers based on calibrated questions or instructions.
[0146] The "means for transmitting the generated response to the user" refers to a communication means or software function that transmits the generated response to the user's terminal so that the user can receive it.
[0147] "Means for making product suggestions to users in real time" is a function that instantly recommends highly related products and coordinations to the products that the user is viewing in the virtual store.
[0148] The "means for listing related products based on product suggestions" is a function that compiles other products and accessories related to the recommended product in a list format and presents it to the user.
[0149] System Overview
[0150] This invention is a system that uses a conversational AI system to analyze and correct user questions and instructions, and then generate and send appropriate responses. Specifically, we will explain the implementation of a shopping assistant in a virtual store as an example.
[0151] Hardware and software used
[0152] Hardware:
[0153] Smart glasses (AR devices)
[0154] software:
[0155] Python
[0156] transformers library
[0157] GPT-3 model
[0158] Program processing
[0159] User Input Processing
[0160] First, the user inputs a question or instruction through the smart glasses, such as "What jacket goes with my black shoes?", and the smart glasses send this input to the server.
[0161] Question and instruction analysis
[0162] The server analyzes the received question using natural language processing libraries (transformers libraries). This analysis involves a process to understand the meaning and intent of the user's question. Specifically, it identifies which product the question is about.
[0163] Proofreading questions and instructions
[0164] Based on the analysis results, the server corrects ambiguous parts of questions and instructions. For example, for the question "What jacket goes with black shoes?", it corrects the ambiguous parts and clarifies the question.
[0165] Leveraging generative AI models
[0166] The calibrated questions are passed to a generative AI model (GPT-3), which generates appropriate responses to the revised questions. For example, a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket."
[0167] Sending a Response
[0168] The generated response is sent from the server to the smart glasses, which display the response to the user.
[0169] Adding specific examples
[0170] Specific examples
[0171] A user types into the smart glasses, "What jacket goes with black shoes?" This input is sent to the server, which analyzes the question and corrects any ambiguities. As a result, the generative AI model generates a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket." This response is sent to the smart glasses and displayed to the user.
[0172] Prompt Sentence Examples
[0173] User: "What jacket goes with black shoes?"
[0174] AI model: "Recommended jackets are monochrome check jackets, leather jackets, and black blazer jackets."
[0175] As described above, this system enables users to efficiently find products in a virtual store, improving their shopping experience.
[0176] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0177] Step 1:
[0178] A user inputs a question or instruction through the smart glasses. For example, the user inputs "What jacket goes with these black shoes?" by voice or text. The input question or instruction is captured by the smart glasses' internal processing unit.
[0179] input:
[0180] A user question or instruction ("What jacket goes with my black shoes?")
[0181] output:
[0182] Text data of a question or instruction
[0183] Specific behavior:
[0184] Smart glasses convert voice input into text
[0185] Passing text data to the processing unit
[0186] Step 2:
[0187] The device sends the received text data of questions or instructions to the server. The communication module of the smart glasses uses a protocol (e.g., HTTP or WebSocket) to send the data to the server.
[0188] input:
[0189] Text data of a question or instruction
[0190] output:
[0191] Data transmission status to the server
[0192] Specific behavior:
[0193] The communication module in the smart glasses sends text data of questions and instructions to the server.
[0194] Step 3:
[0195] The server analyzes the text data of the questions and instructions it receives. This analysis is performed using a natural language processing (NLP) library (the transformers library). During the analysis process, the meaning and intent of the question are extracted.
[0196] input:
[0197] Text data of questions or instructions sent to the server
[0198] output:
[0199] Analysis results (meaning and intent of the question)
[0200] Specific behavior:
[0201] The server passes the text data to a natural language processing library and obtains the analysis results.
[0202] Step 4:
[0203] Based on the analysis results, the server proofreads any ambiguous parts of the question or instruction, identifying parts that need to be completed or corrected and converting them into clear questions or instructions.
[0204] input:
[0205] Analysis results (meaning and intent of the question)
[0206] output:
[0207] Proofread questions or instructions
[0208] Specific behavior:
[0209] The server automatically completes ambiguous parts based on the analysis results and generates proofread text.
[0210] Step 5:
[0211] The calibrated questions or instructions are passed to a generative AI model (GPT-3) to generate an appropriate response. The generative AI model takes the calibrated text as input and generates the optimal answer.
[0212] input:
[0213] Proofread questions or instructions
[0214] output:
[0215] Generated response text
[0216] Specific behavior:
[0217] The server inputs the proofread text into the GPT-3 model and retrieves the generated response text.
[0218] Step 6:
[0219] The generated response is sent from the server to the smart glasses and displayed to the user, with the response text being displayed on the display of the smart glasses.
[0220] input:
[0221] Generated response text
[0222] output:
[0223] Response text displayed on smart glasses
[0224] Specific behavior:
[0225] The server sends the generated response text to the smart glasses.
[0226] The smart glasses receive the response text and display it on the display.
[0227] Through each of the above steps, the user is efficiently supported in shopping within the virtual store.
[0228] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0229] This invention is a system that provides a more natural conversational experience by combining a system that analyzes and corrects questions and instructions entered by the user using a conversational AI system and generates appropriate responses, with an emotion engine that recognizes the user's emotions.
[0230] System Overview
[0231] User Input Processing
[0232] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[0233] Sending Input
[0234] The terminal sends this question to the server.
[0235] Question and instruction analysis
[0236] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[0237] Emotion recognition with emotion engine
[0238] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine utilizes text analysis techniques to identify the user's emotions (e.g., joy, anger, anxiety, etc.).
[0239] Proofreading questions and instructions
[0240] The server then proofreads the user's input based on the analysis results. If any ambiguities or incomplete parts are identified, the server completes or corrects them. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[0241] Leveraging generative AI models
[0242] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[0243] Regulating responses based on emotions
[0244] The server tailors the response based on the emotion recognized by the emotion engine. For example, if the user is feeling anxious, the server adds an additional message to the response such as "Are you OK? We're here to help if you need it."
[0245] Sending a Response
[0246] The server sends the generated response to the terminal.
[0247] What the user sees
[0248] The device receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM. Is that OK? I'm here to help if you need it."
[0249] Specific examples
[0250] The user types "I'm worried about when to hold an important meeting" into their device. The device sends this question to the server. The server analyzes the question and determines that "important meeting" is a reference to a specific date and time. The emotion engine also detects the emotion "worried" from the user's input. The server then corrects the input "worried about when to hold an important meeting" to "What day should I schedule the important meeting?" The corrected question is passed to the generative AI model, which generates the response "Next Tuesday would be a good time for the important meeting." The server then adds the message "Don't worry" to the response based on the emotion "worried" recognized by the emotion engine. Finally, the server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry" to the device, which displays it to the user.
[0251] The above is the specific process of the system that analyzes and calibrates the user's questions and instructions, adjusts based on emotions, and generates an appropriate response.
[0252] The processing flow will be explained below.
[0253] Step 1:
[0254] The user enters a question or instruction into the terminal.
[0255] What happens: A user uses the device interface to type, "What time is the next meeting?"
[0256] Step 2:
[0257] The terminal sends the user's input to the server.
[0258] Specific operation: The device generates an HTTP request and sends a payload containing the user's question data to the server.
[0259] Step 3:
[0260] The server receives and parses the user's input.
[0261] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse the text and understand that "next meeting" is a question about a specific date and time.
[0262] Step 4:
[0263] The server uses an emotion engine to recognize emotions from the user's input.
[0264] Specific operation: The server launches the emotion engine and uses text analysis technology to detect the user's emotion (e.g., neutral, interested) from the question "What time is the next meeting?"
[0265] Step 5:
[0266] The server then calibrates the questions and instructions based on the analysis results.
[0267] Concrete action: The server determines that the phrase "meeting" is ambiguous and concretely reifies the expression "next meeting" to "tomorrow's meeting," thereby completing the missing information.
[0268] Step 6:
[0269] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[0270] Specific operation: The server inputs the proofread question "What time is the meeting tomorrow?" into the generative AI model and generates the response "Tomorrow at 2 p.m."
[0271] Step 7:
[0272] The server tailors the response based on the emotions recognized by the emotion engine.
[0273] Specific behavior: The server adds an additional message corresponding to the recognized emotion to the generated response. For example, "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m."
[0274] Step 8:
[0275] The server sends the generated response to the terminal.
[0276] Specific operation: The server formats the generated response data as an HTTP response and sends it to the terminal.
[0277] Step 9:
[0278] The terminal receives the response from the server and displays it to the user.
[0279] Specific operation: The device receives the HTTP response and displays "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m." on the user interface.
[0280] In this way, a system is realized that takes the user's emotions into consideration while revising questions and instructions, and generating and providing appropriate responses.
[0281] Example 2
[0282] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0283] Conventional conversational AI systems have had difficulty accurately understanding the content of questions and instructions entered by users and generating appropriate responses. In particular, they have been unable to provide a natural and effective conversational experience due to the lack of response adjustment based on ambiguous questions and instructions and the user's emotions. Furthermore, there were few systems with the ability to recognize emotions and reflect them in responses, which resulted in a decline in the quality of communication with users.
[0284] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0285] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for utilizing an emotion engine for recognizing the user's emotion from the input data, and means for adjusting the response based on the emotion recognized by the emotion engine. This makes it possible to accurately understand the user's question or instruction and generate an appropriate response based on the emotion.
[0286] A "user" is someone who inputs questions or instructions into the system and receives a response accordingly.
[0287] "Question or instruction" refers to text data that indicates information that the user wants the system to confirm or an action that the user wants the system to perform.
[0288] "Server" refers to a computer system that receives questions or instructions entered by a user and has the functions of analyzing, calibrating, generating responses, and transmitting responses.
[0289] "Means for receiving" refers to the function by which the server obtains questions and instructions entered by the user.
[0290] "Means of analysis" refers to the ability to utilize natural language processing technology to understand the content of received questions or instructions and identify their meaning and intent.
[0291] "Means for proofreading" refers to the function of completing or correcting ambiguous or incomplete parts of questions or instructions based on the analysis results.
[0292] "Generative AI model" refers to an artificial intelligence model that generates appropriate responses to calibrated questions or instructions.
[0293] "Means of utilization" refers to the process of using a generative AI model to generate appropriate responses to user questions or instructions.
[0294] The "means for sending" refers to a function for sending the generated response from the server to the terminal.
[0295] An "emotion engine" refers to a program that recognizes and analyzes a user's emotions from input data.
[0296] "Means for adjusting" refers to the function of appropriately changing the response based on the emotion recognized by the emotion engine.
[0297] This invention relates to a conversational AI system that analyzes and corrects user-input questions and instructions, generates appropriate responses, and provides a more natural and effective conversation experience by incorporating an emotion engine that recognizes the user's emotions and adjusts responses accordingly.
[0298] The system consists of the following main hardware and software components: a terminal, a server, a natural language processing library, a generative AI model, and an emotion engine. Here we explain in detail how each component works.
[0299] Terminal
[0300] Users access the system using a terminal to input questions or instructions. The terminal accepts input using a keyboard and microphone and sends the input data to the server. The terminal runs in the form of a web browser or a dedicated application.
[0301] server
[0302] The server is the central component that processes data received from the devices. It uses various software technologies, including:
[0303] Natural language processing libraries: Libraries such as "SpaCy" and "NLTK" are used for natural language processing. Using these libraries, the server analyzes the user's input and understands its meaning and intent.
[0304] Emotion engine: The emotion engine uses IBM Watson Natural Language Understanding, Microsoft Azure Text Analytics, etc. The server uses this to recognize and analyze emotions from user input.
[0305] Generative AI model: To generate responses, a generative AI model such as OpenAI GPT-3 is used. The model generates an appropriate response based on the user's input.
[0306] Specific examples
[0307] For example:
[0308] 1. User input: The user types into the terminal, "I'm worried about when to schedule an important meeting."
[0309] 2. Send data: The device sends this question to the server.
[0310] 3. Analysis and emotion recognition: The server analyzes the question and determines that "important meeting" is a specific date and time. The emotion engine also detects the emotion "worry" from the user's input.
[0311] 4. Proofreading: The server proofreads the input "I'm worried about when to schedule an important meeting." to "What day should I schedule an important meeting?"
[0312] 5. Response generation: The calibrated question is passed to a generative AI model, which generates a response such as, "Next Tuesday would be a good time for that important meeting."
[0313] 6. Emotion adjustment: Based on the emotion "worry" recognized by the emotion engine, the server adds the message "Don't worry" to the response.
[0314] 7. Send and display response: The server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry." to the terminal, which displays it to the user.
[0315] Prompt Sentence Examples
[0316] Prompt statement:
[0317] "I'm worried about when to hold an important meeting."
[0318] Expected response:
[0319] "The important meeting will be held next Tuesday. Don't worry."
[0320] This system is capable of accurately understanding the user's questions and instructions and generating emotive responses based on them, providing a new approach to providing users with a natural and effective dialogue experience.
[0321] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0322] Step 1: Getting User Input
[0323] The user inputs a question or instruction into the device. The input text is "I'm worried about when to schedule an important meeting." The device stores this input as internal data.
[0324] Specific behavior: The user uses the keyboard to enter text into the terminal and presses the Enter key to send it.
[0325] Input: User text input: "I'm worried about when to schedule an important meeting."
[0326] Output: Text data stored in the device's internal memory
[0327] Step 2: Sending User Input
[0328] The terminal sends the user's input to the server. The terminal sends the input data to the server as an HTTP request.
[0329] What happens: An application installed on a device uses an HTTP POST request to send user-entered data to a server's API endpoint.
[0330] Input: Text data stored in the device's internal memory: "I'm worried about when to have an important meeting."
[0331] Output: HTTP request data sent to the server
[0332] Step 3: Parse the question / instruction
[0333] The server analyzes the input data received. It uses a natural language processing library (e.g., SpaCy or NLTK) to perform syntactic and semantic analysis of the input.
[0334] What happens next: The server uses a natural language processing library to analyze the grammatical structure and meaning of the text data. In this step, it identifies that "important meeting" is a question about a date and time.
[0335] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[0336] Data processing: Syntactic analysis, semantic analysis
[0337] Output: Semantic analysis results (question intent and content)
[0338] Step 4: Recognize emotions
[0339] The server uses an emotion engine to recognize emotions from user input, which uses text analysis technologies such as IBM Watson Natural Language Understanding.
[0340] Specific operation: The server uses an emotion engine to analyze the text data and identify the user's emotion (worry, joy, anger, etc.). In this case, it detects the emotion "worry."
[0341] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[0342] Data processing: Sentiment analysis
[0343] Output: Sentiment analysis result (worry)
[0344] Step 5: Proofread the questions and instructions
[0345] The server proofreads the user's input based on the analysis results, completing and correcting ambiguous or incomplete expressions.
[0346] Specific operation: The server uses natural language processing technology to proofread the input "I'm worried about when to schedule an important meeting" to "What day should I schedule an important meeting?"
[0347] Input: Semantic analysis results, sentiment analysis results
[0348] Data processing: Expression completion, disambiguation
[0349] Output: Proofread question "What day should I schedule my important meeting?"
[0350] Step 6: Generative AI model generates a response
[0351] The server passes the calibrated questions to a generative AI model, which uses OpenAI GPT-3, to generate appropriate responses.
[0352] What it does: The server inputs the calibrated question into the generative AI model, which then generates a response like, "Next Tuesday would be a good time for that important meeting."
[0353] Input: Proofread question "What day should I schedule my important meeting?"
[0354] Data Calculation: Response Generation
[0355] Output: Response "Next Tuesday would be a good time for this important meeting."
[0356] Step 7: Emotional Regulation of Responses
[0357] The server tailors the response based on the emotions recognized by the emotion engine: if the user is worried, it adds a reassuring message;
[0358] Specific Action: The server appends the message "Don't worry" to the generated response.
[0359] Input: Response "Next Tuesday would be a good time for this important meeting.", Sentiment analysis result (worry)
[0360] Data processing: response adjustment
[0361] Output: Tailored response "Next Tuesday would be a good time for the important meeting. Don't worry."
[0362] Step 8: Sending a Response
[0363] The server sends the generated response to the terminal. The data sent is the adjusted response.
[0364] Specific operation: The server sends the response data to the terminal as an HTTP response.
[0365] Input: Tailored response "Next Tuesday is a good time for the important meeting. Don't worry."
[0366] Output: HTTP response data sent to the device
[0367] Step 9: Display to the User
[0368] The terminal receives the response and displays it to the user in a format that is easy for the user to understand.
[0369] Specific behavior: The terminal application displays the received response in a UI element such as a chat window.
[0370] Input: HTTP response data
[0371] Output: The response shown to the user: "Next Tuesday is a good time for that important meeting. Don't worry."
[0372] (Application example 2)
[0373] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0374] Conventional conversational AI systems generate appropriate responses to user questions and instructions, but do not provide responses that take the user's emotions into consideration. As a result, in situations where the user is feeling anxious or worried, appropriate support may not be provided, potentially resulting in a decrease in user satisfaction. Furthermore, in physical stores, customers are required to respond quickly and accurately to the various questions and emotions they have in the store, but conventional systems have not been able to meet this need. The present invention aims to solve these problems and provide a system that provides a more natural and emotion-sensitive conversational experience.
[0375] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for analyzing the user's emotions, means for adjusting the response based on the emotions, and means including a terminal for displaying the response in a physical store. This makes it possible to provide an interactive experience that takes user emotions into consideration and improve customer satisfaction in physical stores.
[0376] A "user" is a person using a terminal to input questions or instructions using the system.
[0377] The "means for receiving questions or instructions" is a system component that has the function of transmitting questions or instructions entered by the user into the terminal to the server.
[0378] The "means for analyzing questions or instructions" is a component of the system that uses natural language processing technology to analyze received questions or instructions and identify their meaning and intent.
[0379] The "means for proofreading ambiguous parts" is a component of the system that supplements and clarifies unclear parts of the user's questions or instructions based on the analysis results.
[0380] A "generative AI model" is an artificial intelligence model that uses natural language processing technology to generate appropriate responses to user questions and instructions.
[0381] A "means for sending the generated response to the user" is a system component that has the function of sending the response generated by the generative AI model to the user's device.
[0382] A "means for analyzing emotions" is a component of the system that analyzes the text content from a user's input and identifies the user's emotions.
[0383] The "means for adjusting a response based on emotion" is a component of the system that appropriately adjusts the generated response depending on the identified emotion of the user.
[0384] A "terminal" is a device that allows a user to input questions or instructions and receive responses, and specifically refers to a smartphone, tablet, computer, etc.
[0385] A "brick and mortar store" is a physical location for offering goods and services, where customers make offers and purchases in person.
[0386] The system of the present invention analyzes questions and instructions entered by users into a terminal and generates responses based on their emotions, thereby improving customer satisfaction in physical stores. Specific embodiments of the system are described in detail below.
[0387] 1. System hardware configuration
[0388] The system is implemented primarily using the following hardware:
[0389] User device: smartphone, tablet, or computer
[0390] Server: A central processing unit that analyzes questions and instructions, recognizes emotions, and generates and coordinates responses.
[0391] 2. System Software Configuration
[0392] The system utilizes the following software libraries and frameworks:
[0393] Natural Language Processing (NLP) libraries, such as the Transformes library
[0394] Emotion Recognition Engine: Sentiment Analysis Model
[0395] Web frameworks: Flask, etc.
[0396] 3. Data Processing and Calculations
[0397] Asking questions / receiving instructions
[0398] The user inputs a question or instruction into the terminal. For example, the user inputs, "I'm worried because I don't know how to use this hair dryer."
[0399] Sending data
[0400] The device sends the user's input to the server, which then analyzes the received data.
[0401] Emotion Analysis
[0402] The server analyzes the received input data using an emotion recognition engine, which identifies the user's emotions (e.g., worry, anxiety).
[0403] Parsing and proofreading questions / instructions
[0404] The server uses natural language processing libraries to parse the questions and instructions entered by the user, and as a result, proofreads and clarifies any ambiguities or incompleteness.
[0405] Generating a response
[0406] Calibrated questions or instructions are passed to the generative AI model to generate an appropriate response, such as "Here's how to use this hair dryer."
[0407] Regulating responses based on emotions
[0408] Based on the generated response, the response is adjusted based on the results of emotion recognition. In the example above, since the user has the emotion "worried," a reassuring message such as "Don't worry, we will provide you with the information you requested immediately" is added to the response.
[0409] Sending and Displaying Responses
[0410] The final generated response is sent to the user terminal and displayed to the user.
[0411] Specific examples
[0412] When a user inputs a question such as "I'm having trouble setting up this camera. How can I make it easier to use?", the server analyzes the question and the emotion engine detects "anxiety." The server proofreads the question, and the generative AI model generates specific setup steps as an answer. It also adds a message based on the emotion, saying "Don't worry, it's very easy to set up." The final response is "Follow these steps to set up your camera. Don't worry, it's very easy to set up," which is displayed to the user.
[0413] Prompt Sentence Examples
[0414] User Question: "I'm worried because I don't know how to use this dryer."
[0415] Example answer:
[0416] "Here's how to use this dryer. Don't worry, we'll get back to you with the information you need."
[0417] This will reduce the anxiety and worry that users may feel in physical stores and make it possible to provide quick and appropriate support.
[0418] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0419] Step 1:
[0420] The user inputs questions or instructions into the device. The input is saved as text data on the device. Example: "I'm worried because I don't know how to use this hair dryer."
[0421] Step 2:
[0422] The device sends the entered text data to the server, and the server receives the received text data via a waiting API.
[0423] Step 3:
[0424] The server analyzes the received text data using a natural language processing (NLP) library (for example, the Transformers library). As a result of the analysis, it extracts the meaning and intent of the questions and instructions contained in the text data. The input is the text data, and the output is the analysis result.
[0425] Step 4:
[0426] The server completes or corrects ambiguous parts of the text data based on the analysis results. For example, if the expression "I'm worried" is included, it is interpreted as "I'm worried about how to use it" and completed as a specific question. The input is the analysis results, and the output is the corrected question text.
[0427] Step 5:
[0428] The server passes the proofread question text to an emotion recognition engine (e.g., Sentiment Analysis model) to analyze the user's emotions. The emotion recognition engine takes text data as input and generates emotion labels (e.g., anxiety, worry) as output. The input is the proofread question text, and the output is the emotion labels.
[0429] Step 6:
[0430] The server passes the sentiment label and the proofread question text to a generative AI model (such as GPT) to generate an appropriate response. The generative AI model receives text data as input and outputs a specific answer to the user's question. The input is the proofread question text and sentiment label, and the output is the generated response text.
[0431] Step 7:
[0432] The server adjusts the generated response text. If the emotion label is a negative emotion such as "worried," the server adds an additional reassuring message to the generated response. The input is the generated response text and the emotion label, and the output is the adjusted response text.
[0433] Step 8:
[0434] The server sends the adjusted response text to the terminal. The terminal displays the received response text to the user. The input is the adjusted response text, and the output is the response message displayed to the user.
[0435] Through these steps, it is possible to provide a natural conversational experience that takes into account emotions in response to user questions and instructions. For example, if a user inputs, "I'm having trouble setting up this camera. How can I make it easier to use?", the system first analyzes the question, then identifies the emotion "anxiety," generates an appropriate response, and displays it with a reassuring message: "Don't worry, setting up is very easy."
[0436] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0437] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0438] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0439] [Second embodiment]
[0440] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0441] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0442] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0443] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0444] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0445] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0446] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0447] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0448] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0449] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0450] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0451] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0452] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. Below, we will explain the program's processing in natural language, and also provide specific examples.
[0453] System Overview
[0454] User Input Processing
[0455] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[0456] Sending Input
[0457] The terminal sends this question to the server.
[0458] Question and instruction analysis
[0459] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[0460] Proofreading questions and instructions
[0461] The server then proofreads the user's input based on the analysis results. If any ambiguous or incomplete parts are identified, the server will complete or correct them. For example, if the question is "What time is the next meeting?", the server will complete the expression "next meeting" with a specific date and time.
[0462] Leveraging generative AI models
[0463] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[0464] Sending a Response
[0465] The server sends the generated response to the terminal.
[0466] What the user sees
[0467] The terminal receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM."
[0468] Specific examples
[0469] A user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question and determines that the specific date of "next Friday" is ambiguous. The server then corrects the question by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates the response, "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[0470] The above is an embodiment of the present invention. This system makes it possible to resolve ambiguity in questions and instructions from users and to smoothly advance dialogue.
[0471] The processing flow will be explained below.
[0472] Step 1:
[0473] The user enters a question or instruction into the terminal.
[0474] Specific action: The user types "What time is the next meeting?" through the device interface.
[0475] Step 2:
[0476] The terminal sends the user's input to the server.
[0477] Specific operation: The terminal generates an HTTP request and sends the user's question data to the server.
[0478] Step 3:
[0479] The server receives and parses the user's input.
[0480] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse that "next meeting" is a question about a specific date and time.
[0481] Step 4:
[0482] The server then calibrates the questions and instructions based on the analysis results.
[0483] Concrete action: The server concretely converts the vague phrase "next meeting" into "tomorrow's meeting" and corrects it into a complete question.
[0484] Step 5:
[0485] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[0486] Specific operation: The server inputs a calibrated question to the generative AI model: "What time is the meeting tomorrow?" and receives the model's response: "Tomorrow at 2 p.m."
[0487] Step 6:
[0488] The server sends the generated response to the terminal.
[0489] Specific operation: The server forms an HTTP response including the generated response and sends it to the terminal.
[0490] Step 7:
[0491] The terminal receives the response from the server and displays it to the user.
[0492] Specific operation: The device receives the HTTP response and displays "The next meeting is tomorrow at 2 p.m." on the user interface.
[0493] The above are the specific processing steps of the system that receives a user's question and generates and provides an appropriate response.
[0494] Example 1
[0495] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0496] Conventional conversational AI systems have had the problem of failing to provide appropriate proofreading or responses when the user's questions or instructions are ambiguous. It is particularly difficult to accurately understand the user's intent and provide an appropriate response when the question concerns a specific date, time, or event. Furthermore, even when generating responses using a generative AI model, prompts are often generated manually, which is inefficient. The present invention aims to solve these problems and provide more accurate and faster responses to user questions and instructions.
[0497] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0498] In this invention, the server includes means for receiving a question or instruction entered by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, and means for the generative AI model to generate an optimal response using a prompt sentence. This makes it possible to automatically complete specific date and time or event information in response to ambiguous questions or instructions entered by the user, and to quickly provide more accurate responses.
[0499] "User" refers to a person who uses the system to input questions or instructions.
[0500] "Terminal" refers to a device used by a user to input questions or instructions and send them to a server.
[0501] "Server" refers to a computer system that receives user questions and instructions sent from a terminal, analyzes them, corrects them, and generates responses.
[0502] "Question or instruction" refers to an inquiry or instruction in natural language format that a user inputs into a terminal.
[0503] "Analysis" refers to the process of using natural language processing technology to understand the meaning and intent of received questions or instructions.
[0504] "Proofreading" refers to the process of correcting or completing ambiguous or incomplete parts of a user's questions or instructions based on the analysis results.
[0505] A "generative AI model" refers to an artificial intelligence model that generates the most appropriate response based on a user's questions or instructions.
[0506] A "prompt sentence" refers to a text sentence that is given as input to a generative AI model.
[0507] "Response" refers to the reply generated by the generative AI model based on the user's questions and instructions.
[0508] "Natural language processing library" refers to a software tool or framework for parsing, understanding, and generating natural language.
[0509] "Specific date and time or event information" refers to information related to a date, time, or event included in a user's question or instruction.
[0510] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. This system consists of a user, a terminal, and a server.
[0511] System configuration
[0512] User Input Processing
[0513] The user inputs a question or instruction into the terminal. At this time, the user inputs the question using natural language. For example, the user inputs the question, "What time is the next meeting?"
[0514] Sending Input
[0515] The device sends the question entered by the user to the server. In this process, the device sends an HTTP request to the server over the Internet.
[0516] Question and instruction analysis
[0517] The server analyzes the question received from the device. The server uses a natural language processing library (e.g., Spacy or NLTK) to perform grammatical and semantic analysis to understand the meaning and intent of the question.
[0518] Proofreading questions and instructions
[0519] Based on the analysis results, the server completes or corrects any ambiguous or incomplete parts of the user's question. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[0520] Leveraging generative AI models
[0521] The server passes the calibrated questions to a generative AI model (e.g., GPT-4 or BERT) to generate an optimal response. The generative AI model uses natural language processing techniques to generate an appropriate answer to the user's question. For example, it generates a response such as, "The next meeting is tomorrow at 2 p.m."
[0522] Sending a Response
[0523] The server sends the response obtained from the generative AI model to the device. Specifically, the server returns the generated response as an HTTP response.
[0524] What the user sees
[0525] The terminal displays the received response to the user, for example, the text "The next meeting is tomorrow at 2 PM" on the terminal's display.
[0526] Specific examples
[0527] As a concrete example, consider the case where a user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question, determines that the specific date of "next Friday" is ambiguous, and corrects it by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates a response such as "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[0528] Prompt Sentence Examples
[0529] The following are examples of prompt sentences that can be input to a generative AI model:
[0530] 1. To generate a specific response regarding the task's schedule:
[0531] I received the question "What are your plans for next Friday?". Since the date is ambiguous, I revised it to "What are your plans for October 13, 2023?". Please generate an appropriate response to this.
[0532] 2. To generate answers for everyday questions:
[0533] You receive the question "What time is the next meeting?". After analyzing the expression "next meeting," you determine that it is tomorrow at 2 PM. Use this information to generate an appropriate response.
[0534] These examples and prompts enable the system of the present invention to resolve user questions and instructions in a timely and accurate manner.
[0535] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0536] Program processing flow
[0537] Step 1:
[0538] The user inputs a question or instruction into the terminal. For example, "What time is the next meeting?" and clicks the "Send" button. This input is done in natural language by the user.
[0539] Step 2:
[0540] The device sends the question entered by the user to the server. In this process, the device formats the question entered as an HTTP request and sends it to the server's URL. The input is the user's question, and the output is the request to the server.
[0541] Step 3:
[0542] The server receives the question sent from the device and starts analyzing the question using an NLP library. Specifically, it performs grammatical analysis and semantic analysis using libraries such as Spacy and NLTK. The input is the question sent from the device, and the output is the analysis result.
[0543] Step 4:
[0544] The server corrects ambiguous or incomplete parts based on the analysis results. Specifically, it identifies the ambiguous part "next meeting" and complements it with "tomorrow at 2 p.m." by referring to the user's calendar information. The input is the analysis results, and the output is the corrected question.
[0545] Step 5:
[0546] The server passes the calibrated question to the generative AI model as a prompt. The generative AI model used here is GPT-4 or BERT. The input is the calibrated question, and the output is the generative AI model's response using the prompt.
[0547] Step 6:
[0548] The generative AI model generates the optimal response based on the prompt. For example, it generates the response, "The next meeting is tomorrow at 2 p.m." The input is the prompt, and the output is the generated response.
[0549] Step 7:
[0550] The server sends the generated response to the terminal. Specifically, the server returns the generated response to the terminal as an HTTP response. The input is the generated response, and the output is the response to the terminal.
[0551] Step 8:
[0552] The terminal displays the response it receives to the user. Specifically, it displays the text "The next meeting is tomorrow at 2 PM" on the terminal's display. The input is the response from the server, and the output is the text displayed to the user.
[0553] (Application example 1)
[0554] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0555] Conventional conversational AI systems were able to generate appropriate answers to user questions and instructions, but they lacked specific support such as product suggestions and related product lists within a virtual store. This made it difficult for users to quickly and appropriately find the products they were looking for. In particular, they were unable to adequately process ambiguous questions and instructions, which resulted in a poor user experience.
[0556] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0557] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for transmitting the generated response to the user, means for making product suggestions to the user in real time, and means for listing related products based on the product suggestions. This enables the user to quickly and appropriately find products in a virtual store, and improves the accuracy of product suggestions, thereby improving the quality of the user experience.
[0558] "Means for receiving user-entered questions or instructions" refers to the functionality of the device or software that receives text or voice-entered questions or instructions entered by the user through the device.
[0559] The "means for analyzing the received question or instruction" refers to a process or algorithm that uses natural language processing technology to analyze the meaning and intent of the received question or instruction and extract corresponding information.
[0560] "Means for proofreading ambiguous parts of questions or instructions" refers to a function that accurately and clearly corrects and completes ambiguous expressions or incomplete information based on the analysis results.
[0561] "Means utilizing generative AI models to generate appropriate responses to calibrated questions or instructions" refers to the process of using advanced generative AI models to generate optimal answers based on calibrated questions or instructions.
[0562] The "means for transmitting the generated response to the user" refers to a communication means or software function that transmits the generated response to the user's terminal so that the user can receive it.
[0563] "Means for making product suggestions to users in real time" is a function that instantly recommends highly related products and coordinations to the products that the user is viewing in the virtual store.
[0564] The "means for listing related products based on product suggestions" is a function that compiles other products and accessories related to the recommended product in a list format and presents it to the user.
[0565] System Overview
[0566] This invention is a system that uses a conversational AI system to analyze and correct user questions and instructions, and then generate and send appropriate responses. Specifically, we will explain the implementation of a shopping assistant in a virtual store as an example.
[0567] Hardware and software used
[0568] Hardware:
[0569] Smart glasses (AR devices)
[0570] software:
[0571] Python
[0572] transformers library
[0573] GPT-3 model
[0574] Program processing
[0575] User Input Processing
[0576] First, the user inputs a question or instruction through the smart glasses, such as "What jacket goes with my black shoes?", and the smart glasses send this input to the server.
[0577] Question and instruction analysis
[0578] The server analyzes the received question using natural language processing libraries (transformers libraries). This analysis involves a process to understand the meaning and intent of the user's question. Specifically, it identifies which product the question is about.
[0579] Proofreading questions and instructions
[0580] Based on the analysis results, the server corrects ambiguous parts of questions and instructions. For example, for the question "What jacket goes with black shoes?", it corrects the ambiguous parts and clarifies the question.
[0581] Leveraging generative AI models
[0582] The calibrated questions are passed to a generative AI model (GPT-3), which generates appropriate responses to the revised questions. For example, a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket."
[0583] Sending a Response
[0584] The generated response is sent from the server to the smart glasses, which display the response to the user.
[0585] Adding specific examples
[0586] Specific examples
[0587] A user types into the smart glasses, "What jacket goes with black shoes?" This input is sent to the server, which analyzes the question and corrects any ambiguities. As a result, the generative AI model generates a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket." This response is sent to the smart glasses and displayed to the user.
[0588] Prompt Sentence Examples
[0589] User: "What jacket goes with black shoes?"
[0590] AI model: "Recommended jackets are monochrome check jackets, leather jackets, and black blazer jackets."
[0591] As described above, this system enables users to efficiently find products in a virtual store, improving their shopping experience.
[0592] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0593] Step 1:
[0594] A user inputs a question or instruction through the smart glasses. For example, the user inputs "What jacket goes with these black shoes?" by voice or text. The input question or instruction is captured by the smart glasses' internal processing unit.
[0595] input:
[0596] A user question or instruction ("What jacket goes with my black shoes?")
[0597] output:
[0598] Text data of a question or instruction
[0599] Specific behavior:
[0600] Smart glasses convert voice input into text
[0601] Passing text data to the processing unit
[0602] Step 2:
[0603] The device sends the received text data of questions or instructions to the server. The communication module of the smart glasses uses a protocol (e.g., HTTP or WebSocket) to send the data to the server.
[0604] input:
[0605] Text data of a question or instruction
[0606] output:
[0607] Data transmission status to the server
[0608] Specific behavior:
[0609] The communication module in the smart glasses sends text data of questions and instructions to the server.
[0610] Step 3:
[0611] The server analyzes the text data of the questions and instructions it receives. This analysis is performed using a natural language processing (NLP) library (the transformers library). During the analysis process, the meaning and intent of the question are extracted.
[0612] input:
[0613] Text data of questions or instructions sent to the server
[0614] output:
[0615] Analysis results (meaning and intent of the question)
[0616] Specific behavior:
[0617] The server passes the text data to a natural language processing library and obtains the analysis results.
[0618] Step 4:
[0619] Based on the analysis results, the server proofreads any ambiguous parts of the question or instruction, identifying parts that need to be completed or corrected and converting them into clear questions or instructions.
[0620] input:
[0621] Analysis results (meaning and intent of the question)
[0622] output:
[0623] Proofread questions or instructions
[0624] Specific behavior:
[0625] The server automatically completes ambiguous parts based on the analysis results and generates proofread text.
[0626] Step 5:
[0627] The calibrated questions or instructions are passed to a generative AI model (GPT-3) to generate an appropriate response. The generative AI model takes the calibrated text as input and generates the optimal answer.
[0628] input:
[0629] Proofread questions or instructions
[0630] output:
[0631] Generated response text
[0632] Specific behavior:
[0633] The server inputs the proofread text into the GPT-3 model and retrieves the generated response text.
[0634] Step 6:
[0635] The generated response is sent from the server to the smart glasses and displayed to the user, with the response text being displayed on the display of the smart glasses.
[0636] input:
[0637] Generated response text
[0638] output:
[0639] Response text displayed on smart glasses
[0640] Specific behavior:
[0641] The server sends the generated response text to the smart glasses.
[0642] The smart glasses receive the response text and display it on the display.
[0643] Through each of the above steps, the user is efficiently supported in shopping within the virtual store.
[0644] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0645] This invention is a system that provides a more natural conversational experience by combining a system that analyzes and corrects questions and instructions entered by the user using a conversational AI system and generates appropriate responses, with an emotion engine that recognizes the user's emotions.
[0646] System Overview
[0647] User Input Processing
[0648] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[0649] Sending Input
[0650] The terminal sends this question to the server.
[0651] Question and instruction analysis
[0652] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[0653] Emotion recognition with emotion engine
[0654] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine utilizes text analysis techniques to identify the user's emotions (e.g., joy, anger, anxiety, etc.).
[0655] Proofreading questions and instructions
[0656] The server then proofreads the user's input based on the analysis results. If any ambiguities or incomplete parts are identified, the server completes or corrects them. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[0657] Leveraging generative AI models
[0658] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[0659] Regulating responses based on emotions
[0660] The server tailors the response based on the emotion recognized by the emotion engine. For example, if the user is feeling anxious, the server adds an additional message to the response such as "Are you OK? We're here to help if you need it."
[0661] Sending a Response
[0662] The server sends the generated response to the terminal.
[0663] What the user sees
[0664] The device receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM. Is that OK? I'm here to help if you need it."
[0665] Specific examples
[0666] The user types "I'm worried about when to hold an important meeting" into their device. The device sends this question to the server. The server analyzes the question and determines that "important meeting" is a reference to a specific date and time. The emotion engine also detects the emotion "worried" from the user's input. The server then corrects the input "worried about when to hold an important meeting" to "What day should I schedule the important meeting?" The corrected question is passed to the generative AI model, which generates the response "Next Tuesday would be a good time for the important meeting." The server then adds the message "Don't worry" to the response based on the emotion "worried" recognized by the emotion engine. Finally, the server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry" to the device, which displays it to the user.
[0667] The above is the specific process of the system that analyzes and calibrates the user's questions and instructions, adjusts based on emotions, and generates an appropriate response.
[0668] The processing flow will be explained below.
[0669] Step 1:
[0670] The user enters a question or instruction into the terminal.
[0671] What happens: A user uses the device interface to type, "What time is the next meeting?"
[0672] Step 2:
[0673] The terminal sends the user's input to the server.
[0674] Specific operation: The device generates an HTTP request and sends a payload containing the user's question data to the server.
[0675] Step 3:
[0676] The server receives and parses the user's input.
[0677] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse the text and understand that "next meeting" is a question about a specific date and time.
[0678] Step 4:
[0679] The server uses an emotion engine to recognize emotions from the user's input.
[0680] Specific operation: The server launches the emotion engine and uses text analysis technology to detect the user's emotion (e.g., neutral, interested) from the question "What time is the next meeting?"
[0681] Step 5:
[0682] The server then calibrates the questions and instructions based on the analysis results.
[0683] Concrete action: The server determines that the phrase "meeting" is ambiguous and concretely reifies the expression "next meeting" to "tomorrow's meeting," thereby completing the missing information.
[0684] Step 6:
[0685] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[0686] Specific operation: The server inputs the proofread question "What time is the meeting tomorrow?" into the generative AI model and generates the response "Tomorrow at 2 p.m."
[0687] Step 7:
[0688] The server tailors the response based on the emotions recognized by the emotion engine.
[0689] Specific behavior: The server adds an additional message corresponding to the recognized emotion to the generated response. For example, "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m."
[0690] Step 8:
[0691] The server sends the generated response to the terminal.
[0692] Specific operation: The server formats the generated response data as an HTTP response and sends it to the terminal.
[0693] Step 9:
[0694] The terminal receives the response from the server and displays it to the user.
[0695] Specific operation: The device receives the HTTP response and displays "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m." on the user interface.
[0696] In this way, a system is realized that takes the user's emotions into consideration while revising questions and instructions, and generating and providing appropriate responses.
[0697] Example 2
[0698] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0699] Conventional conversational AI systems have had difficulty accurately understanding the content of questions and instructions entered by users and generating appropriate responses. In particular, they have been unable to provide a natural and effective conversational experience due to the lack of response adjustment based on ambiguous questions and instructions and the user's emotions. Furthermore, there were few systems with the ability to recognize emotions and reflect them in responses, which resulted in a decline in the quality of communication with users.
[0700] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0701] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for utilizing an emotion engine for recognizing the user's emotion from the input data, and means for adjusting the response based on the emotion recognized by the emotion engine. This makes it possible to accurately understand the user's question or instruction and generate an appropriate response based on the emotion.
[0702] A "user" is someone who inputs questions or instructions into the system and receives a response accordingly.
[0703] "Question or instruction" refers to text data that indicates information that the user wants the system to confirm or an action that the user wants the system to perform.
[0704] "Server" refers to a computer system that receives questions or instructions entered by a user and has the functions of analyzing, calibrating, generating responses, and transmitting responses.
[0705] "Means for receiving" refers to the function by which the server obtains questions and instructions entered by the user.
[0706] "Means of analysis" refers to the ability to utilize natural language processing technology to understand the content of received questions or instructions and identify their meaning and intent.
[0707] "Means for proofreading" refers to the function of completing or correcting ambiguous or incomplete parts of questions or instructions based on the analysis results.
[0708] "Generative AI model" refers to an artificial intelligence model that generates appropriate responses to calibrated questions or instructions.
[0709] "Means of utilization" refers to the process of using a generative AI model to generate appropriate responses to user questions or instructions.
[0710] The "means for sending" refers to a function for sending the generated response from the server to the terminal.
[0711] An "emotion engine" refers to a program that recognizes and analyzes a user's emotions from input data.
[0712] "Means for adjusting" refers to the function of appropriately changing the response based on the emotion recognized by the emotion engine.
[0713] This invention relates to a conversational AI system that analyzes and corrects user-input questions and instructions, generates appropriate responses, and provides a more natural and effective conversation experience by incorporating an emotion engine that recognizes the user's emotions and adjusts responses accordingly.
[0714] The system consists of the following main hardware and software components: a terminal, a server, a natural language processing library, a generative AI model, and an emotion engine. Here we explain in detail how each component works.
[0715] Terminal
[0716] Users access the system using a terminal to input questions or instructions. The terminal accepts input using a keyboard and microphone and sends the input data to the server. The terminal runs in the form of a web browser or a dedicated application.
[0717] server
[0718] The server is the central component that processes data received from the devices. It uses various software technologies, including:
[0719] Natural language processing libraries: Libraries such as "SpaCy" and "NLTK" are used for natural language processing. Using these libraries, the server analyzes the user's input and understands its meaning and intent.
[0720] Emotion engine: The emotion engine uses IBM Watson Natural Language Understanding, Microsoft Azure Text Analytics, etc. The server uses this to recognize and analyze emotions from user input.
[0721] Generative AI model: To generate responses, a generative AI model such as OpenAI GPT-3 is used. The model generates an appropriate response based on the user's input.
[0722] Specific examples
[0723] For example:
[0724] 1. User input: The user types into the terminal, "I'm worried about when to schedule an important meeting."
[0725] 2. Send data: The device sends this question to the server.
[0726] 3. Analysis and emotion recognition: The server analyzes the question and determines that "important meeting" is a specific date and time. The emotion engine also detects the emotion "worry" from the user's input.
[0727] 4. Proofreading: The server proofreads the input "I'm worried about when to schedule an important meeting." to "What day should I schedule an important meeting?"
[0728] 5. Response generation: The calibrated question is passed to a generative AI model, which generates a response such as, "Next Tuesday would be a good time for that important meeting."
[0729] 6. Emotion adjustment: Based on the emotion "worry" recognized by the emotion engine, the server adds the message "Don't worry" to the response.
[0730] 7. Send and display response: The server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry." to the terminal, which displays it to the user.
[0731] Prompt Sentence Examples
[0732] Prompt statement:
[0733] "I'm worried about when to hold an important meeting."
[0734] Expected response:
[0735] "The important meeting will be held next Tuesday. Don't worry."
[0736] This system is capable of accurately understanding the user's questions and instructions and generating emotive responses based on them, providing a new approach to providing users with a natural and effective dialogue experience.
[0737] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0738] Step 1: Getting User Input
[0739] The user inputs a question or instruction into the device. The input text is "I'm worried about when to schedule an important meeting." The device stores this input as internal data.
[0740] Specific behavior: The user uses the keyboard to enter text into the terminal and presses the Enter key to send it.
[0741] Input: User text input: "I'm worried about when to schedule an important meeting."
[0742] Output: Text data stored in the device's internal memory
[0743] Step 2: Sending User Input
[0744] The terminal sends the user's input to the server. The terminal sends the input data to the server as an HTTP request.
[0745] What happens: An application installed on a device uses an HTTP POST request to send user-entered data to a server's API endpoint.
[0746] Input: Text data stored in the device's internal memory: "I'm worried about when to have an important meeting."
[0747] Output: HTTP request data sent to the server
[0748] Step 3: Parse the question / instruction
[0749] The server analyzes the input data received. It uses a natural language processing library (e.g., SpaCy or NLTK) to perform syntactic and semantic analysis of the input.
[0750] What happens next: The server uses a natural language processing library to analyze the grammatical structure and meaning of the text data. In this step, it identifies that "important meeting" is a question about a date and time.
[0751] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[0752] Data processing: Syntactic analysis, semantic analysis
[0753] Output: Semantic analysis results (question intent and content)
[0754] Step 4: Recognize emotions
[0755] The server uses an emotion engine to recognize emotions from user input, which uses text analysis technologies such as IBM Watson Natural Language Understanding.
[0756] Specific operation: The server uses an emotion engine to analyze the text data and identify the user's emotion (worry, joy, anger, etc.). In this case, it detects the emotion "worry."
[0757] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[0758] Data processing: Sentiment analysis
[0759] Output: Sentiment analysis result (worry)
[0760] Step 5: Proofread the questions and instructions
[0761] The server proofreads the user's input based on the analysis results, completing and correcting ambiguous or incomplete expressions.
[0762] Specific operation: The server uses natural language processing technology to proofread the input "I'm worried about when to schedule an important meeting" to "What day should I schedule an important meeting?"
[0763] Input: Semantic analysis results, sentiment analysis results
[0764] Data processing: Expression completion, disambiguation
[0765] Output: Proofread question "What day should I schedule my important meeting?"
[0766] Step 6: Generative AI model generates a response
[0767] The server passes the calibrated questions to a generative AI model, which uses OpenAI GPT-3, to generate appropriate responses.
[0768] What it does: The server inputs the calibrated question into the generative AI model, which then generates a response like, "Next Tuesday would be a good time for that important meeting."
[0769] Input: Proofread question "What day should I schedule my important meeting?"
[0770] Data Calculation: Response Generation
[0771] Output: Response "Next Tuesday would be a good time for this important meeting."
[0772] Step 7: Emotional Regulation of Responses
[0773] The server tailors the response based on the emotions recognized by the emotion engine: if the user is worried, it adds a reassuring message;
[0774] Specific Action: The server appends the message "Don't worry" to the generated response.
[0775] Input: Response "Next Tuesday would be a good time for this important meeting.", Sentiment analysis result (worry)
[0776] Data processing: response adjustment
[0777] Output: Tailored response "Next Tuesday would be a good time for the important meeting. Don't worry."
[0778] Step 8: Sending a Response
[0779] The server sends the generated response to the terminal. The data sent is the adjusted response.
[0780] Specific operation: The server sends the response data to the terminal as an HTTP response.
[0781] Input: Tailored response "Next Tuesday is a good time for the important meeting. Don't worry."
[0782] Output: HTTP response data sent to the device
[0783] Step 9: Display to the User
[0784] The terminal receives the response and displays it to the user in a format that is easy for the user to understand.
[0785] Specific behavior: The terminal application displays the received response in a UI element such as a chat window.
[0786] Input: HTTP response data
[0787] Output: The response shown to the user: "Next Tuesday is a good time for that important meeting. Don't worry."
[0788] (Application example 2)
[0789] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0790] Conventional conversational AI systems generate appropriate responses to user questions and instructions, but do not provide responses that take the user's emotions into consideration. As a result, in situations where the user is feeling anxious or worried, appropriate support may not be provided, potentially resulting in a decrease in user satisfaction. Furthermore, in physical stores, customers are required to respond quickly and accurately to the various questions and emotions they have in the store, but conventional systems have not been able to meet this need. The present invention aims to solve these problems and provide a system that provides a more natural and emotion-sensitive conversational experience.
[0791] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for analyzing the user's emotions, means for adjusting the response based on the emotions, and means including a terminal for displaying the response in a physical store. This makes it possible to provide an interactive experience that takes user emotions into consideration and improve customer satisfaction in physical stores.
[0792] A "user" is a person using a terminal to input questions or instructions using the system.
[0793] The "means for receiving questions or instructions" is a system component that has the function of transmitting questions or instructions entered by the user into the terminal to the server.
[0794] The "means for analyzing questions or instructions" is a component of the system that uses natural language processing technology to analyze received questions or instructions and identify their meaning and intent.
[0795] The "means for proofreading ambiguous parts" is a component of the system that supplements and clarifies unclear parts of the user's questions or instructions based on the analysis results.
[0796] A "generative AI model" is an artificial intelligence model that uses natural language processing technology to generate appropriate responses to user questions and instructions.
[0797] A "means for sending the generated response to the user" is a system component that has the function of sending the response generated by the generative AI model to the user's device.
[0798] A "means for analyzing emotions" is a component of the system that analyzes the text content from a user's input and identifies the user's emotions.
[0799] The "means for adjusting a response based on emotion" is a component of the system that appropriately adjusts the generated response depending on the identified emotion of the user.
[0800] A "terminal" is a device that allows a user to input questions or instructions and receive responses, and specifically refers to a smartphone, tablet, computer, etc.
[0801] A "brick and mortar store" is a physical location for offering goods and services, where customers make offers and purchases in person.
[0802] The system of the present invention analyzes questions and instructions entered by users into a terminal and generates responses based on their emotions, thereby improving customer satisfaction in physical stores. Specific embodiments of the system are described in detail below.
[0803] 1. System hardware configuration
[0804] The system is implemented primarily using the following hardware:
[0805] User device: smartphone, tablet, or computer
[0806] Server: A central processing unit that analyzes questions and instructions, recognizes emotions, and generates and coordinates responses.
[0807] 2. System Software Configuration
[0808] The system utilizes the following software libraries and frameworks:
[0809] Natural Language Processing (NLP) libraries, such as the Transformes library
[0810] Emotion Recognition Engine: Sentiment Analysis Model
[0811] Web frameworks: Flask, etc.
[0812] 3. Data Processing and Calculations
[0813] Asking questions / receiving instructions
[0814] The user inputs a question or instruction into the terminal. For example, the user inputs, "I'm worried because I don't know how to use this hair dryer."
[0815] Sending data
[0816] The device sends the user's input to the server, which then analyzes the received data.
[0817] Emotion Analysis
[0818] The server analyzes the received input data using an emotion recognition engine, which identifies the user's emotions (e.g., worry, anxiety).
[0819] Parsing and proofreading questions / instructions
[0820] The server uses natural language processing libraries to parse the questions and instructions entered by the user, and as a result, proofreads and clarifies any ambiguities or incompleteness.
[0821] Generating a response
[0822] Calibrated questions or instructions are passed to the generative AI model to generate an appropriate response, such as "Here's how to use this hair dryer."
[0823] Regulating responses based on emotions
[0824] Based on the generated response, the response is adjusted based on the results of emotion recognition. In the example above, since the user has the emotion "worried," a reassuring message such as "Don't worry, we will provide you with the information you requested immediately" is added to the response.
[0825] Sending and Displaying Responses
[0826] The final generated response is sent to the user terminal and displayed to the user.
[0827] Specific examples
[0828] When a user inputs a question such as "I'm having trouble setting up this camera. How can I make it easier to use?", the server analyzes the question and the emotion engine detects "anxiety." The server proofreads the question, and the generative AI model generates specific setup steps as an answer. It also adds a message based on the emotion, saying "Don't worry, it's very easy to set up." The final response is "Follow these steps to set up your camera. Don't worry, it's very easy to set up," which is displayed to the user.
[0829] Prompt Sentence Examples
[0830] User Question: "I'm worried because I don't know how to use this dryer."
[0831] Example answer:
[0832] "Here's how to use this dryer. Don't worry, we'll get back to you with the information you need."
[0833] This will reduce the anxiety and worry that users may feel in physical stores and make it possible to provide quick and appropriate support.
[0834] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0835] Step 1:
[0836] The user inputs questions or instructions into the device. The input is saved as text data on the device. Example: "I'm worried because I don't know how to use this hair dryer."
[0837] Step 2:
[0838] The device sends the entered text data to the server, and the server receives the received text data via a waiting API.
[0839] Step 3:
[0840] The server analyzes the received text data using a natural language processing (NLP) library (for example, the Transformers library). As a result of the analysis, it extracts the meaning and intent of the questions and instructions contained in the text data. The input is the text data, and the output is the analysis result.
[0841] Step 4:
[0842] The server completes or corrects ambiguous parts of the text data based on the analysis results. For example, if the expression "I'm worried" is included, it is interpreted as "I'm worried about how to use it" and completed as a specific question. The input is the analysis results, and the output is the corrected question text.
[0843] Step 5:
[0844] The server passes the proofread question text to an emotion recognition engine (e.g., Sentiment Analysis model) to analyze the user's emotions. The emotion recognition engine takes text data as input and generates emotion labels (e.g., anxiety, worry) as output. The input is the proofread question text, and the output is the emotion labels.
[0845] Step 6:
[0846] The server passes the sentiment label and the proofread question text to a generative AI model (such as GPT) to generate an appropriate response. The generative AI model receives text data as input and outputs a specific answer to the user's question. The input is the proofread question text and sentiment label, and the output is the generated response text.
[0847] Step 7:
[0848] The server adjusts the generated response text. If the emotion label is a negative emotion such as "worried," the server adds an additional reassuring message to the generated response. The input is the generated response text and the emotion label, and the output is the adjusted response text.
[0849] Step 8:
[0850] The server sends the adjusted response text to the terminal. The terminal displays the received response text to the user. The input is the adjusted response text, and the output is the response message displayed to the user.
[0851] Through these steps, it is possible to provide a natural conversational experience that takes into account emotions in response to user questions and instructions. For example, if a user inputs, "I'm having trouble setting up this camera. How can I make it easier to use?", the system first analyzes the question, then identifies the emotion "anxiety," generates an appropriate response, and displays it with a reassuring message: "Don't worry, setting up is very easy."
[0852] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0853] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0854] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0855] [Third embodiment]
[0856] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0857] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0858] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0859] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0860] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0861] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0862] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0863] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0864] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0865] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0866] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0867] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0868] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. Below, we will explain the program's processing in natural language, and also provide specific examples.
[0869] System Overview
[0870] User Input Processing
[0871] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[0872] Sending Input
[0873] The terminal sends this question to the server.
[0874] Question and instruction analysis
[0875] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[0876] Proofreading questions and instructions
[0877] The server then proofreads the user's input based on the analysis results. If any ambiguous or incomplete parts are identified, the server will complete or correct them. For example, if the question is "What time is the next meeting?", the server will complete the expression "next meeting" with a specific date and time.
[0878] Leveraging generative AI models
[0879] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[0880] Sending a Response
[0881] The server sends the generated response to the terminal.
[0882] What the user sees
[0883] The terminal receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM."
[0884] Specific examples
[0885] A user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question and determines that the specific date of "next Friday" is ambiguous. The server then corrects the question by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates the response, "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[0886] The above is an embodiment of the present invention. This system makes it possible to resolve ambiguity in questions and instructions from users and to smoothly advance dialogue.
[0887] The processing flow will be explained below.
[0888] Step 1:
[0889] The user enters a question or instruction into the terminal.
[0890] Specific action: The user types "What time is the next meeting?" through the device interface.
[0891] Step 2:
[0892] The terminal sends the user's input to the server.
[0893] Specific operation: The terminal generates an HTTP request and sends the user's question data to the server.
[0894] Step 3:
[0895] The server receives and parses the user's input.
[0896] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse that "next meeting" is a question about a specific date and time.
[0897] Step 4:
[0898] The server then calibrates the questions and instructions based on the analysis results.
[0899] Concrete action: The server concretely converts the vague phrase "next meeting" into "tomorrow's meeting" and corrects it into a complete question.
[0900] Step 5:
[0901] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[0902] Specific operation: The server inputs a calibrated question to the generative AI model: "What time is the meeting tomorrow?" and receives the model's response: "Tomorrow at 2 p.m."
[0903] Step 6:
[0904] The server sends the generated response to the terminal.
[0905] Specific operation: The server forms an HTTP response including the generated response and sends it to the terminal.
[0906] Step 7:
[0907] The terminal receives the response from the server and displays it to the user.
[0908] Specific operation: The device receives the HTTP response and displays "The next meeting is tomorrow at 2 p.m." on the user interface.
[0909] The above are the specific processing steps of the system that receives a user's question and generates and provides an appropriate response.
[0910] Example 1
[0911] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0912] Conventional conversational AI systems have had the problem of failing to provide appropriate proofreading or responses when the user's questions or instructions are ambiguous. It is particularly difficult to accurately understand the user's intent and provide an appropriate response when the question concerns a specific date, time, or event. Furthermore, even when generating responses using a generative AI model, prompts are often generated manually, which is inefficient. The present invention aims to solve these problems and provide more accurate and faster responses to user questions and instructions.
[0913] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0914] In this invention, the server includes means for receiving a question or instruction entered by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, and means for the generative AI model to generate an optimal response using a prompt sentence. This makes it possible to automatically complete specific date and time or event information in response to ambiguous questions or instructions entered by the user, and to quickly provide more accurate responses.
[0915] "User" refers to a person who uses the system to input questions or instructions.
[0916] "Terminal" refers to a device used by a user to input questions or instructions and send them to a server.
[0917] "Server" refers to a computer system that receives user questions and instructions sent from a terminal, analyzes them, corrects them, and generates responses.
[0918] "Question or instruction" refers to an inquiry or instruction in natural language format that a user inputs into a terminal.
[0919] "Analysis" refers to the process of using natural language processing technology to understand the meaning and intent of received questions or instructions.
[0920] "Proofreading" refers to the process of correcting or completing ambiguous or incomplete parts of a user's questions or instructions based on the analysis results.
[0921] A "generative AI model" refers to an artificial intelligence model that generates the most appropriate response based on a user's questions or instructions.
[0922] A "prompt sentence" refers to a text sentence that is given as input to a generative AI model.
[0923] "Response" refers to the reply generated by the generative AI model based on the user's questions and instructions.
[0924] "Natural language processing library" refers to a software tool or framework for parsing, understanding, and generating natural language.
[0925] "Specific date and time or event information" refers to information related to a date, time, or event included in a user's question or instruction.
[0926] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. This system consists of a user, a terminal, and a server.
[0927] System configuration
[0928] User Input Processing
[0929] The user inputs a question or instruction into the terminal. At this time, the user inputs the question using natural language. For example, the user inputs the question, "What time is the next meeting?"
[0930] Sending Input
[0931] The device sends the question entered by the user to the server. In this process, the device sends an HTTP request to the server over the Internet.
[0932] Question and instruction analysis
[0933] The server analyzes the question received from the device. The server uses a natural language processing library (e.g., Spacy or NLTK) to perform grammatical and semantic analysis to understand the meaning and intent of the question.
[0934] Proofreading questions and instructions
[0935] Based on the analysis results, the server completes or corrects any ambiguous or incomplete parts of the user's question. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[0936] Leveraging generative AI models
[0937] The server passes the calibrated questions to a generative AI model (e.g., GPT-4 or BERT) to generate an optimal response. The generative AI model uses natural language processing techniques to generate an appropriate answer to the user's question. For example, it generates a response such as, "The next meeting is tomorrow at 2 p.m."
[0938] Sending a Response
[0939] The server sends the response obtained from the generative AI model to the device. Specifically, the server returns the generated response as an HTTP response.
[0940] What the user sees
[0941] The terminal displays the received response to the user, for example, the text "The next meeting is tomorrow at 2 PM" on the terminal's display.
[0942] Specific examples
[0943] As a concrete example, consider the case where a user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question, determines that the specific date of "next Friday" is ambiguous, and corrects it by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates a response such as "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[0944] Prompt Sentence Examples
[0945] The following are examples of prompt sentences that can be input to a generative AI model:
[0946] 1. To generate a specific response regarding the task's schedule:
[0947] I received the question "What are your plans for next Friday?". Since the date is ambiguous, I revised it to "What are your plans for October 13, 2023?". Please generate an appropriate response to this.
[0948] 2. To generate answers for everyday questions:
[0949] You receive the question "What time is the next meeting?". After analyzing the expression "next meeting," you determine that it is tomorrow at 2 PM. Use this information to generate an appropriate response.
[0950] These examples and prompts enable the system of the present invention to resolve user questions and instructions in a timely and accurate manner.
[0951] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0952] Program processing flow
[0953] Step 1:
[0954] The user inputs a question or instruction into the terminal. For example, "What time is the next meeting?" and clicks the "Send" button. This input is done in natural language by the user.
[0955] Step 2:
[0956] The device sends the question entered by the user to the server. In this process, the device formats the question entered as an HTTP request and sends it to the server's URL. The input is the user's question, and the output is the request to the server.
[0957] Step 3:
[0958] The server receives the question sent from the device and starts analyzing the question using an NLP library. Specifically, it performs grammatical analysis and semantic analysis using libraries such as Spacy and NLTK. The input is the question sent from the device, and the output is the analysis result.
[0959] Step 4:
[0960] The server corrects ambiguous or incomplete parts based on the analysis results. Specifically, it identifies the ambiguous part "next meeting" and complements it with "tomorrow at 2 p.m." by referring to the user's calendar information. The input is the analysis results, and the output is the corrected question.
[0961] Step 5:
[0962] The server passes the calibrated question to the generative AI model as a prompt. The generative AI model used here is GPT-4 or BERT. The input is the calibrated question, and the output is the generative AI model's response using the prompt.
[0963] Step 6:
[0964] The generative AI model generates the optimal response based on the prompt. For example, it generates the response, "The next meeting is tomorrow at 2 p.m." The input is the prompt, and the output is the generated response.
[0965] Step 7:
[0966] The server sends the generated response to the terminal. Specifically, the server returns the generated response to the terminal as an HTTP response. The input is the generated response, and the output is the response to the terminal.
[0967] Step 8:
[0968] The terminal displays the response it receives to the user. Specifically, it displays the text "The next meeting is tomorrow at 2 PM" on the terminal's display. The input is the response from the server, and the output is the text displayed to the user.
[0969] (Application example 1)
[0970] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0971] Conventional conversational AI systems were able to generate appropriate answers to user questions and instructions, but they lacked specific support such as product suggestions and related product lists within a virtual store. This made it difficult for users to quickly and appropriately find the products they were looking for. In particular, they were unable to adequately process ambiguous questions and instructions, which resulted in a poor user experience.
[0972] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0973] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for transmitting the generated response to the user, means for making product suggestions to the user in real time, and means for listing related products based on the product suggestions. This enables the user to quickly and appropriately find products in a virtual store, and improves the accuracy of product suggestions, thereby improving the quality of the user experience.
[0974] "Means for receiving user-entered questions or instructions" refers to the functionality of the device or software that receives text or voice-entered questions or instructions entered by the user through the device.
[0975] The "means for analyzing the received question or instruction" refers to a process or algorithm that uses natural language processing technology to analyze the meaning and intent of the received question or instruction and extract corresponding information.
[0976] "Means for proofreading ambiguous parts of questions or instructions" refers to a function that accurately and clearly corrects and completes ambiguous expressions or incomplete information based on the analysis results.
[0977] "Means utilizing generative AI models to generate appropriate responses to calibrated questions or instructions" refers to the process of using advanced generative AI models to generate optimal answers based on calibrated questions or instructions.
[0978] The "means for transmitting the generated response to the user" refers to a communication means or software function that transmits the generated response to the user's terminal so that the user can receive it.
[0979] "Means for making product suggestions to users in real time" is a function that instantly recommends highly related products and coordinations to the products that the user is viewing in the virtual store.
[0980] The "means for listing related products based on product suggestions" is a function that compiles other products and accessories related to the recommended product in a list format and presents it to the user.
[0981] System Overview
[0982] This invention is a system that uses a conversational AI system to analyze and correct user questions and instructions, and then generate and send appropriate responses. Specifically, we will explain the implementation of a shopping assistant in a virtual store as an example.
[0983] Hardware and software used
[0984] Hardware:
[0985] Smart glasses (AR devices)
[0986] software:
[0987] Python
[0988] transformers library
[0989] GPT-3 model
[0990] Program processing
[0991] User Input Processing
[0992] First, the user inputs a question or instruction through the smart glasses, such as "What jacket goes with my black shoes?", and the smart glasses send this input to the server.
[0993] Question and instruction analysis
[0994] The server analyzes the received question using natural language processing libraries (transformers libraries). This analysis involves a process to understand the meaning and intent of the user's question. Specifically, it identifies which product the question is about.
[0995] Proofreading questions and instructions
[0996] Based on the analysis results, the server corrects ambiguous parts of questions and instructions. For example, for the question "What jacket goes with black shoes?", it corrects the ambiguous parts and clarifies the question.
[0997] Leveraging generative AI models
[0998] The calibrated questions are passed to a generative AI model (GPT-3), which generates appropriate responses to the revised questions. For example, a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket."
[0999] Sending a Response
[1000] The generated response is sent from the server to the smart glasses, which display the response to the user.
[1001] Adding specific examples
[1002] Specific examples
[1003] A user types into the smart glasses, "What jacket goes with black shoes?" This input is sent to the server, which analyzes the question and corrects any ambiguities. As a result, the generative AI model generates a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket." This response is sent to the smart glasses and displayed to the user.
[1004] Prompt Sentence Examples
[1005] User: "What jacket goes with black shoes?"
[1006] AI model: "Recommended jackets are monochrome check jackets, leather jackets, and black blazer jackets."
[1007] As described above, this system enables users to efficiently find products in a virtual store, improving their shopping experience.
[1008] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1009] Step 1:
[1010] A user inputs a question or instruction through the smart glasses. For example, the user inputs "What jacket goes with these black shoes?" by voice or text. The input question or instruction is captured by the smart glasses' internal processing unit.
[1011] input:
[1012] A user question or instruction ("What jacket goes with my black shoes?")
[1013] output:
[1014] Text data of a question or instruction
[1015] Specific behavior:
[1016] Smart glasses convert voice input into text
[1017] Passing text data to the processing unit
[1018] Step 2:
[1019] The device sends the received text data of questions or instructions to the server. The communication module of the smart glasses uses a protocol (e.g., HTTP or WebSocket) to send the data to the server.
[1020] input:
[1021] Text data of a question or instruction
[1022] output:
[1023] Data transmission status to the server
[1024] Specific behavior:
[1025] The communication module in the smart glasses sends text data of questions and instructions to the server.
[1026] Step 3:
[1027] The server analyzes the text data of the questions and instructions it receives. This analysis is performed using a natural language processing (NLP) library (the transformers library). During the analysis process, the meaning and intent of the question are extracted.
[1028] input:
[1029] Text data of questions or instructions sent to the server
[1030] output:
[1031] Analysis results (meaning and intent of the question)
[1032] Specific behavior:
[1033] The server passes the text data to a natural language processing library and obtains the analysis results.
[1034] Step 4:
[1035] Based on the analysis results, the server proofreads any ambiguous parts of the question or instruction, identifying parts that need to be completed or corrected and converting them into clear questions or instructions.
[1036] input:
[1037] Analysis results (meaning and intent of the question)
[1038] output:
[1039] Proofread questions or instructions
[1040] Specific behavior:
[1041] The server automatically completes ambiguous parts based on the analysis results and generates proofread text.
[1042] Step 5:
[1043] The calibrated questions or instructions are passed to a generative AI model (GPT-3) to generate an appropriate response. The generative AI model takes the calibrated text as input and generates the optimal answer.
[1044] input:
[1045] Proofread questions or instructions
[1046] output:
[1047] Generated response text
[1048] Specific behavior:
[1049] The server inputs the proofread text into the GPT-3 model and retrieves the generated response text.
[1050] Step 6:
[1051] The generated response is sent from the server to the smart glasses and displayed to the user, with the response text being displayed on the display of the smart glasses.
[1052] input:
[1053] Generated response text
[1054] output:
[1055] Response text displayed on smart glasses
[1056] Specific behavior:
[1057] The server sends the generated response text to the smart glasses.
[1058] The smart glasses receive the response text and display it on the display.
[1059] Through each of the above steps, the user is efficiently supported in shopping within the virtual store.
[1060] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1061] This invention is a system that provides a more natural conversational experience by combining a system that analyzes and corrects questions and instructions entered by the user using a conversational AI system and generates appropriate responses, with an emotion engine that recognizes the user's emotions.
[1062] System Overview
[1063] User Input Processing
[1064] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[1065] Sending Input
[1066] The terminal sends this question to the server.
[1067] Question and instruction analysis
[1068] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[1069] Emotion recognition with emotion engine
[1070] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine utilizes text analysis techniques to identify the user's emotions (e.g., joy, anger, anxiety, etc.).
[1071] Proofreading questions and instructions
[1072] The server then proofreads the user's input based on the analysis results. If any ambiguities or incomplete parts are identified, the server completes or corrects them. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[1073] Leveraging generative AI models
[1074] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[1075] Regulating responses based on emotions
[1076] The server tailors the response based on the emotion recognized by the emotion engine. For example, if the user is feeling anxious, the server adds an additional message to the response such as "Are you OK? We're here to help if you need it."
[1077] Sending a Response
[1078] The server sends the generated response to the terminal.
[1079] What the user sees
[1080] The device receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM. Is that OK? I'm here to help if you need it."
[1081] Specific examples
[1082] The user types "I'm worried about when to hold an important meeting" into their device. The device sends this question to the server. The server analyzes the question and determines that "important meeting" is a reference to a specific date and time. The emotion engine also detects the emotion "worried" from the user's input. The server then corrects the input "worried about when to hold an important meeting" to "What day should I schedule the important meeting?" The corrected question is passed to the generative AI model, which generates the response "Next Tuesday would be a good time for the important meeting." The server then adds the message "Don't worry" to the response based on the emotion "worried" recognized by the emotion engine. Finally, the server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry" to the device, which displays it to the user.
[1083] The above is the specific process of the system that analyzes and calibrates the user's questions and instructions, adjusts based on emotions, and generates an appropriate response.
[1084] The processing flow will be explained below.
[1085] Step 1:
[1086] The user enters a question or instruction into the terminal.
[1087] What happens: A user uses the device interface to type, "What time is the next meeting?"
[1088] Step 2:
[1089] The terminal sends the user's input to the server.
[1090] Specific operation: The device generates an HTTP request and sends a payload containing the user's question data to the server.
[1091] Step 3:
[1092] The server receives and parses the user's input.
[1093] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse the text and understand that "next meeting" is a question about a specific date and time.
[1094] Step 4:
[1095] The server uses an emotion engine to recognize emotions from the user's input.
[1096] Specific operation: The server launches the emotion engine and uses text analysis technology to detect the user's emotion (e.g., neutral, interested) from the question "What time is the next meeting?"
[1097] Step 5:
[1098] The server then calibrates the questions and instructions based on the analysis results.
[1099] Concrete action: The server determines that the phrase "meeting" is ambiguous and concretely reifies the expression "next meeting" to "tomorrow's meeting," thereby completing the missing information.
[1100] Step 6:
[1101] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[1102] Specific operation: The server inputs the proofread question "What time is the meeting tomorrow?" into the generative AI model and generates the response "Tomorrow at 2 p.m."
[1103] Step 7:
[1104] The server tailors the response based on the emotions recognized by the emotion engine.
[1105] Specific behavior: The server adds an additional message corresponding to the recognized emotion to the generated response. For example, "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m."
[1106] Step 8:
[1107] The server sends the generated response to the terminal.
[1108] Specific operation: The server formats the generated response data as an HTTP response and sends it to the terminal.
[1109] Step 9:
[1110] The terminal receives the response from the server and displays it to the user.
[1111] Specific operation: The device receives the HTTP response and displays "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m." on the user interface.
[1112] In this way, a system is realized that takes the user's emotions into consideration while revising questions and instructions, and generating and providing appropriate responses.
[1113] Example 2
[1114] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1115] Conventional conversational AI systems have had difficulty accurately understanding the content of questions and instructions entered by users and generating appropriate responses. In particular, they have been unable to provide a natural and effective conversational experience due to the lack of response adjustment based on ambiguous questions and instructions and the user's emotions. Furthermore, there were few systems with the ability to recognize emotions and reflect them in responses, which resulted in a decline in the quality of communication with users.
[1116] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1117] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for utilizing an emotion engine for recognizing the user's emotion from the input data, and means for adjusting the response based on the emotion recognized by the emotion engine. This makes it possible to accurately understand the user's question or instruction and generate an appropriate response based on the emotion.
[1118] A "user" is someone who inputs questions or instructions into the system and receives a response accordingly.
[1119] "Question or instruction" refers to text data that indicates information that the user wants the system to confirm or an action that the user wants the system to perform.
[1120] "Server" refers to a computer system that receives questions or instructions entered by a user and has the functions of analyzing, calibrating, generating responses, and transmitting responses.
[1121] "Means for receiving" refers to the function by which the server obtains questions and instructions entered by the user.
[1122] "Means of analysis" refers to the ability to utilize natural language processing technology to understand the content of received questions or instructions and identify their meaning and intent.
[1123] "Means for proofreading" refers to the function of completing or correcting ambiguous or incomplete parts of questions or instructions based on the analysis results.
[1124] "Generative AI model" refers to an artificial intelligence model that generates appropriate responses to calibrated questions or instructions.
[1125] "Means of utilization" refers to the process of using a generative AI model to generate appropriate responses to user questions or instructions.
[1126] The "means for sending" refers to a function for sending the generated response from the server to the terminal.
[1127] An "emotion engine" refers to a program that recognizes and analyzes a user's emotions from input data.
[1128] "Means for adjusting" refers to the function of appropriately changing the response based on the emotion recognized by the emotion engine.
[1129] This invention relates to a conversational AI system that analyzes and corrects user-input questions and instructions, generates appropriate responses, and provides a more natural and effective conversation experience by incorporating an emotion engine that recognizes the user's emotions and adjusts responses accordingly.
[1130] The system consists of the following main hardware and software components: a terminal, a server, a natural language processing library, a generative AI model, and an emotion engine. Here we explain in detail how each component works.
[1131] Terminal
[1132] Users access the system using a terminal to input questions or instructions. The terminal accepts input using a keyboard and microphone and sends the input data to the server. The terminal runs in the form of a web browser or a dedicated application.
[1133] server
[1134] The server is the central component that processes data received from the devices. It uses various software technologies, including:
[1135] Natural language processing libraries: Libraries such as "SpaCy" and "NLTK" are used for natural language processing. Using these libraries, the server analyzes the user's input and understands its meaning and intent.
[1136] Emotion engine: The emotion engine uses IBM Watson Natural Language Understanding, Microsoft Azure Text Analytics, etc. The server uses this to recognize and analyze emotions from user input.
[1137] Generative AI model: To generate responses, a generative AI model such as OpenAI GPT-3 is used. The model generates an appropriate response based on the user's input.
[1138] Specific examples
[1139] For example:
[1140] 1. User input: The user types into the terminal, "I'm worried about when to schedule an important meeting."
[1141] 2. Send data: The device sends this question to the server.
[1142] 3. Analysis and emotion recognition: The server analyzes the question and determines that "important meeting" is a specific date and time. The emotion engine also detects the emotion "worry" from the user's input.
[1143] 4. Proofreading: The server proofreads the input "I'm worried about when to schedule an important meeting." to "What day should I schedule an important meeting?"
[1144] 5. Response generation: The calibrated question is passed to a generative AI model, which generates a response such as, "Next Tuesday would be a good time for that important meeting."
[1145] 6. Emotion adjustment: Based on the emotion "worry" recognized by the emotion engine, the server adds the message "Don't worry" to the response.
[1146] 7. Send and display response: The server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry." to the terminal, which displays it to the user.
[1147] Prompt Sentence Examples
[1148] Prompt statement:
[1149] "I'm worried about when to hold an important meeting."
[1150] Expected response:
[1151] "The important meeting will be held next Tuesday. Don't worry."
[1152] This system is capable of accurately understanding the user's questions and instructions and generating emotive responses based on them, providing a new approach to providing users with a natural and effective dialogue experience.
[1153] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1154] Step 1: Getting User Input
[1155] The user inputs a question or instruction into the device. The input text is "I'm worried about when to schedule an important meeting." The device stores this input as internal data.
[1156] Specific behavior: The user uses the keyboard to enter text into the terminal and presses the Enter key to send it.
[1157] Input: User text input: "I'm worried about when to schedule an important meeting."
[1158] Output: Text data stored in the device's internal memory
[1159] Step 2: Sending User Input
[1160] The terminal sends the user's input to the server. The terminal sends the input data to the server as an HTTP request.
[1161] What happens: An application installed on a device uses an HTTP POST request to send user-entered data to a server's API endpoint.
[1162] Input: Text data stored in the device's internal memory: "I'm worried about when to have an important meeting."
[1163] Output: HTTP request data sent to the server
[1164] Step 3: Parse the question / instruction
[1165] The server analyzes the input data received. It uses a natural language processing library (e.g., SpaCy or NLTK) to perform syntactic and semantic analysis of the input.
[1166] What happens next: The server uses a natural language processing library to analyze the grammatical structure and meaning of the text data. In this step, it identifies that "important meeting" is a question about a date and time.
[1167] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[1168] Data processing: Syntactic analysis, semantic analysis
[1169] Output: Semantic analysis results (question intent and content)
[1170] Step 4: Recognize emotions
[1171] The server uses an emotion engine to recognize emotions from user input, which uses text analysis technologies such as IBM Watson Natural Language Understanding.
[1172] Specific operation: The server uses an emotion engine to analyze the text data and identify the user's emotion (worry, joy, anger, etc.). In this case, it detects the emotion "worry."
[1173] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[1174] Data processing: Sentiment analysis
[1175] Output: Sentiment analysis result (worry)
[1176] Step 5: Proofread the questions and instructions
[1177] The server proofreads the user's input based on the analysis results, completing and correcting ambiguous or incomplete expressions.
[1178] Specific operation: The server uses natural language processing technology to proofread the input "I'm worried about when to schedule an important meeting" to "What day should I schedule an important meeting?"
[1179] Input: Semantic analysis results, sentiment analysis results
[1180] Data processing: Expression completion, disambiguation
[1181] Output: Proofread question "What day should I schedule my important meeting?"
[1182] Step 6: Generative AI model generates a response
[1183] The server passes the calibrated questions to a generative AI model, which uses OpenAI GPT-3, to generate appropriate responses.
[1184] What it does: The server inputs the calibrated question into the generative AI model, which then generates a response like, "Next Tuesday would be a good time for that important meeting."
[1185] Input: Proofread question "What day should I schedule my important meeting?"
[1186] Data Calculation: Response Generation
[1187] Output: Response "Next Tuesday would be a good time for this important meeting."
[1188] Step 7: Emotional Regulation of Responses
[1189] The server tailors the response based on the emotions recognized by the emotion engine: if the user is worried, it adds a reassuring message;
[1190] Specific Action: The server appends the message "Don't worry" to the generated response.
[1191] Input: Response "Next Tuesday would be a good time for this important meeting.", Sentiment analysis result (worry)
[1192] Data processing: response adjustment
[1193] Output: Tailored response "Next Tuesday would be a good time for the important meeting. Don't worry."
[1194] Step 8: Sending a Response
[1195] The server sends the generated response to the terminal. The data sent is the adjusted response.
[1196] Specific operation: The server sends the response data to the terminal as an HTTP response.
[1197] Input: Tailored response "Next Tuesday is a good time for the important meeting. Don't worry."
[1198] Output: HTTP response data sent to the device
[1199] Step 9: Display to the User
[1200] The terminal receives the response and displays it to the user in a format that is easy for the user to understand.
[1201] Specific behavior: The terminal application displays the received response in a UI element such as a chat window.
[1202] Input: HTTP response data
[1203] Output: The response shown to the user: "Next Tuesday is a good time for that important meeting. Don't worry."
[1204] (Application example 2)
[1205] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1206] Conventional conversational AI systems generate appropriate responses to user questions and instructions, but do not provide responses that take the user's emotions into consideration. As a result, in situations where the user is feeling anxious or worried, appropriate support may not be provided, potentially resulting in a decrease in user satisfaction. Furthermore, in physical stores, customers are required to respond quickly and accurately to the various questions and emotions they have in the store, but conventional systems have not been able to meet this need. The present invention aims to solve these problems and provide a system that provides a more natural and emotion-sensitive conversational experience.
[1207] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for analyzing the user's emotions, means for adjusting the response based on the emotions, and means including a terminal for displaying the response in a physical store. This makes it possible to provide an interactive experience that takes user emotions into consideration and improve customer satisfaction in physical stores.
[1208] A "user" is a person using a terminal to input questions or instructions using the system.
[1209] The "means for receiving questions or instructions" is a system component that has the function of transmitting questions or instructions entered by the user into the terminal to the server.
[1210] The "means for analyzing questions or instructions" is a component of the system that uses natural language processing technology to analyze received questions or instructions and identify their meaning and intent.
[1211] The "means for proofreading ambiguous parts" is a component of the system that supplements and clarifies unclear parts of the user's questions or instructions based on the analysis results.
[1212] A "generative AI model" is an artificial intelligence model that uses natural language processing technology to generate appropriate responses to user questions and instructions.
[1213] A "means for sending the generated response to the user" is a system component that has the function of sending the response generated by the generative AI model to the user's device.
[1214] A "means for analyzing emotions" is a component of the system that analyzes the text content from a user's input and identifies the user's emotions.
[1215] The "means for adjusting a response based on emotion" is a component of the system that appropriately adjusts the generated response depending on the identified emotion of the user.
[1216] A "terminal" is a device that allows a user to input questions or instructions and receive responses, and specifically refers to a smartphone, tablet, computer, etc.
[1217] A "brick and mortar store" is a physical location for offering goods and services, where customers make offers and purchases in person.
[1218] The system of the present invention analyzes questions and instructions entered by users into a terminal and generates responses based on their emotions, thereby improving customer satisfaction in physical stores. Specific embodiments of the system are described in detail below.
[1219] 1. System hardware configuration
[1220] The system is implemented primarily using the following hardware:
[1221] User device: smartphone, tablet, or computer
[1222] Server: A central processing unit that analyzes questions and instructions, recognizes emotions, and generates and coordinates responses.
[1223] 2. System Software Configuration
[1224] The system utilizes the following software libraries and frameworks:
[1225] Natural Language Processing (NLP) libraries, such as the Transformes library
[1226] Emotion Recognition Engine: Sentiment Analysis Model
[1227] Web frameworks: Flask, etc.
[1228] 3. Data Processing and Calculations
[1229] Asking questions / receiving instructions
[1230] The user inputs a question or instruction into the terminal. For example, the user inputs, "I'm worried because I don't know how to use this hair dryer."
[1231] Sending data
[1232] The device sends the user's input to the server, which then analyzes the received data.
[1233] Emotion Analysis
[1234] The server analyzes the received input data using an emotion recognition engine, which identifies the user's emotions (e.g., worry, anxiety).
[1235] Parsing and proofreading questions / instructions
[1236] The server uses natural language processing libraries to parse the questions and instructions entered by the user, and as a result, proofreads and clarifies any ambiguities or incompleteness.
[1237] Generating a response
[1238] Calibrated questions or instructions are passed to the generative AI model to generate an appropriate response, such as "Here's how to use this hair dryer."
[1239] Regulating responses based on emotions
[1240] Based on the generated response, the response is adjusted based on the results of emotion recognition. In the example above, since the user has the emotion "worried," a reassuring message such as "Don't worry, we will provide you with the information you requested immediately" is added to the response.
[1241] Sending and Displaying Responses
[1242] The final generated response is sent to the user terminal and displayed to the user.
[1243] Specific examples
[1244] When a user inputs a question such as "I'm having trouble setting up this camera. How can I make it easier to use?", the server analyzes the question and the emotion engine detects "anxiety." The server proofreads the question, and the generative AI model generates specific setup steps as an answer. It also adds a message based on the emotion, saying "Don't worry, it's very easy to set up." The final response is "Follow these steps to set up your camera. Don't worry, it's very easy to set up," which is displayed to the user.
[1245] Prompt Sentence Examples
[1246] User Question: "I'm worried because I don't know how to use this dryer."
[1247] Example answer:
[1248] "Here's how to use this dryer. Don't worry, we'll get back to you with the information you need."
[1249] This will reduce the anxiety and worry that users may feel in physical stores and make it possible to provide quick and appropriate support.
[1250] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1251] Step 1:
[1252] The user inputs questions or instructions into the device. The input is saved as text data on the device. Example: "I'm worried because I don't know how to use this hair dryer."
[1253] Step 2:
[1254] The device sends the entered text data to the server, and the server receives the received text data via a waiting API.
[1255] Step 3:
[1256] The server analyzes the received text data using a natural language processing (NLP) library (for example, the Transformers library). As a result of the analysis, it extracts the meaning and intent of the questions and instructions contained in the text data. The input is the text data, and the output is the analysis result.
[1257] Step 4:
[1258] The server completes or corrects ambiguous parts of the text data based on the analysis results. For example, if the expression "I'm worried" is included, it is interpreted as "I'm worried about how to use it" and completed as a specific question. The input is the analysis results, and the output is the corrected question text.
[1259] Step 5:
[1260] The server passes the proofread question text to an emotion recognition engine (e.g., Sentiment Analysis model) to analyze the user's emotions. The emotion recognition engine takes text data as input and generates emotion labels (e.g., anxiety, worry) as output. The input is the proofread question text, and the output is the emotion labels.
[1261] Step 6:
[1262] The server passes the sentiment label and the proofread question text to a generative AI model (such as GPT) to generate an appropriate response. The generative AI model receives text data as input and outputs a specific answer to the user's question. The input is the proofread question text and sentiment label, and the output is the generated response text.
[1263] Step 7:
[1264] The server adjusts the generated response text. If the emotion label is a negative emotion such as "worried," the server adds an additional reassuring message to the generated response. The input is the generated response text and the emotion label, and the output is the adjusted response text.
[1265] Step 8:
[1266] The server sends the adjusted response text to the terminal. The terminal displays the received response text to the user. The input is the adjusted response text, and the output is the response message displayed to the user.
[1267] Through these steps, it is possible to provide a natural conversational experience that takes into account emotions in response to user questions and instructions. For example, if a user inputs, "I'm having trouble setting up this camera. How can I make it easier to use?", the system first analyzes the question, then identifies the emotion "anxiety," generates an appropriate response, and displays it with a reassuring message: "Don't worry, setting up is very easy."
[1268] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1269] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1270] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1271] [Fourth embodiment]
[1272] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1273] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1274] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1275] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1276] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1277] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1278] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1279] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1280] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1281] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1282] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1283] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1284] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1285] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. Below, we will explain the program's processing in natural language, and also provide specific examples.
[1286] System Overview
[1287] User Input Processing
[1288] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[1289] Sending Input
[1290] The terminal sends this question to the server.
[1291] Question and instruction analysis
[1292] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[1293] Proofreading questions and instructions
[1294] The server then proofreads the user's input based on the analysis results. If any ambiguous or incomplete parts are identified, the server will complete or correct them. For example, if the question is "What time is the next meeting?", the server will complete the expression "next meeting" with a specific date and time.
[1295] Leveraging generative AI models
[1296] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[1297] Sending a Response
[1298] The server sends the generated response to the terminal.
[1299] What the user sees
[1300] The terminal receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM."
[1301] Specific examples
[1302] A user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question and determines that the specific date of "next Friday" is ambiguous. The server then corrects the question by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates the response, "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[1303] The above is an embodiment of the present invention. This system makes it possible to resolve ambiguity in questions and instructions from users and to smoothly advance dialogue.
[1304] The processing flow will be explained below.
[1305] Step 1:
[1306] The user enters a question or instruction into the terminal.
[1307] Specific action: The user types "What time is the next meeting?" through the device interface.
[1308] Step 2:
[1309] The terminal sends the user's input to the server.
[1310] Specific operation: The terminal generates an HTTP request and sends the user's question data to the server.
[1311] Step 3:
[1312] The server receives and parses the user's input.
[1313] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse that "next meeting" is a question about a specific date and time.
[1314] Step 4:
[1315] The server then calibrates the questions and instructions based on the analysis results.
[1316] Concrete action: The server concretely converts the vague phrase "next meeting" into "tomorrow's meeting" and corrects it into a complete question.
[1317] Step 5:
[1318] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[1319] Specific operation: The server inputs a calibrated question to the generative AI model: "What time is the meeting tomorrow?" and receives the model's response: "Tomorrow at 2 p.m."
[1320] Step 6:
[1321] The server sends the generated response to the terminal.
[1322] Specific operation: The server forms an HTTP response including the generated response and sends it to the terminal.
[1323] Step 7:
[1324] The terminal receives the response from the server and displays it to the user.
[1325] Specific operation: The device receives the HTTP response and displays "The next meeting is tomorrow at 2 p.m." on the user interface.
[1326] The above are the specific processing steps of the system that receives a user's question and generates and provides an appropriate response.
[1327] Example 1
[1328] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1329] Conventional conversational AI systems have had the problem of failing to provide appropriate proofreading or responses when the user's questions or instructions are ambiguous. It is particularly difficult to accurately understand the user's intent and provide an appropriate response when the question concerns a specific date, time, or event. Furthermore, even when generating responses using a generative AI model, prompts are often generated manually, which is inefficient. The present invention aims to solve these problems and provide more accurate and faster responses to user questions and instructions.
[1330] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1331] In this invention, the server includes means for receiving a question or instruction entered by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, and means for the generative AI model to generate an optimal response using a prompt sentence. This makes it possible to automatically complete specific date and time or event information in response to ambiguous questions or instructions entered by the user, and to quickly provide more accurate responses.
[1332] "User" refers to a person who uses the system to input questions or instructions.
[1333] "Terminal" refers to a device used by a user to input questions or instructions and send them to a server.
[1334] "Server" refers to a computer system that receives user questions and instructions sent from a terminal, analyzes them, corrects them, and generates responses.
[1335] "Question or instruction" refers to an inquiry or instruction in natural language format that a user inputs into a terminal.
[1336] "Analysis" refers to the process of using natural language processing technology to understand the meaning and intent of received questions or instructions.
[1337] "Proofreading" refers to the process of correcting or completing ambiguous or incomplete parts of a user's questions or instructions based on the analysis results.
[1338] A "generative AI model" refers to an artificial intelligence model that generates the most appropriate response based on a user's questions or instructions.
[1339] A "prompt sentence" refers to a text sentence that is given as input to a generative AI model.
[1340] "Response" refers to the reply generated by the generative AI model based on the user's questions and instructions.
[1341] "Natural language processing library" refers to a software tool or framework for parsing, understanding, and generating natural language.
[1342] "Specific date and time or event information" refers to information related to a date, time, or event included in a user's question or instruction.
[1343] This invention is a system that analyzes and corrects questions and instructions entered by a user using a dialogue AI system, and generates and transmits appropriate responses. This system consists of a user, a terminal, and a server.
[1344] System configuration
[1345] User Input Processing
[1346] The user inputs a question or instruction into the terminal. At this time, the user inputs the question using natural language. For example, the user inputs the question, "What time is the next meeting?"
[1347] Sending Input
[1348] The device sends the question entered by the user to the server. In this process, the device sends an HTTP request to the server over the Internet.
[1349] Question and instruction analysis
[1350] The server analyzes the question received from the device. The server uses a natural language processing library (e.g., Spacy or NLTK) to perform grammatical and semantic analysis to understand the meaning and intent of the question.
[1351] Proofreading questions and instructions
[1352] Based on the analysis results, the server completes or corrects any ambiguous or incomplete parts of the user's question. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[1353] Leveraging generative AI models
[1354] The server passes the calibrated questions to a generative AI model (e.g., GPT-4 or BERT) to generate an optimal response. The generative AI model uses natural language processing techniques to generate an appropriate answer to the user's question. For example, it generates a response such as, "The next meeting is tomorrow at 2 p.m."
[1355] Sending a Response
[1356] The server sends the response obtained from the generative AI model to the device. Specifically, the server returns the generated response as an HTTP response.
[1357] What the user sees
[1358] The terminal displays the received response to the user, for example, the text "The next meeting is tomorrow at 2 PM" on the terminal's display.
[1359] Specific examples
[1360] As a concrete example, consider the case where a user types "What are your plans for next Friday?" into a device. The device sends this question to a server. The server analyzes the question, determines that the specific date of "next Friday" is ambiguous, and corrects it by adding a specific date and time (e.g., October 13, 2023). The corrected question, "What are your plans for October 13, 2023?" is passed to a generative AI model, which generates a response such as "I have a meeting from 2:00 PM to 3:00 PM on October 13, 2023." The server then sends this response to the device, which displays it to the user.
[1361] Prompt Sentence Examples
[1362] The following are examples of prompt sentences that can be input to a generative AI model:
[1363] 1. To generate a specific response regarding the task's schedule:
[1364] I received the question "What are your plans for next Friday?". Since the date is ambiguous, I revised it to "What are your plans for October 13, 2023?". Please generate an appropriate response to this.
[1365] 2. To generate answers for everyday questions:
[1366] You receive the question "What time is the next meeting?". After analyzing the expression "next meeting," you determine that it is tomorrow at 2 PM. Use this information to generate an appropriate response.
[1367] These examples and prompts enable the system of the present invention to resolve user questions and instructions in a timely and accurate manner.
[1368] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1369] Program processing flow
[1370] Step 1:
[1371] The user inputs a question or instruction into the terminal. For example, "What time is the next meeting?" and clicks the "Send" button. This input is done in natural language by the user.
[1372] Step 2:
[1373] The device sends the question entered by the user to the server. In this process, the device formats the question entered as an HTTP request and sends it to the server's URL. The input is the user's question, and the output is the request to the server.
[1374] Step 3:
[1375] The server receives the question sent from the device and starts analyzing the question using an NLP library. Specifically, it performs grammatical analysis and semantic analysis using libraries such as Spacy and NLTK. The input is the question sent from the device, and the output is the analysis result.
[1376] Step 4:
[1377] The server corrects ambiguous or incomplete parts based on the analysis results. Specifically, it identifies the ambiguous part "next meeting" and complements it with "tomorrow at 2 p.m." by referring to the user's calendar information. The input is the analysis results, and the output is the corrected question.
[1378] Step 5:
[1379] The server passes the calibrated question to the generative AI model as a prompt. The generative AI model used here is GPT-4 or BERT. The input is the calibrated question, and the output is the generative AI model's response using the prompt.
[1380] Step 6:
[1381] The generative AI model generates the optimal response based on the prompt. For example, it generates the response, "The next meeting is tomorrow at 2 p.m." The input is the prompt, and the output is the generated response.
[1382] Step 7:
[1383] The server sends the generated response to the terminal. Specifically, the server returns the generated response to the terminal as an HTTP response. The input is the generated response, and the output is the response to the terminal.
[1384] Step 8:
[1385] The terminal displays the response it receives to the user. Specifically, it displays the text "The next meeting is tomorrow at 2 PM" on the terminal's display. The input is the response from the server, and the output is the text displayed to the user.
[1386] (Application example 1)
[1387] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1388] Conventional conversational AI systems were able to generate appropriate answers to user questions and instructions, but they lacked specific support such as product suggestions and related product lists within a virtual store. This made it difficult for users to quickly and appropriately find the products they were looking for. In particular, they were unable to adequately process ambiguous questions and instructions, which resulted in a poor user experience.
[1389] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1390] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for transmitting the generated response to the user, means for making product suggestions to the user in real time, and means for listing related products based on the product suggestions. This enables the user to quickly and appropriately find products in a virtual store, and improves the accuracy of product suggestions, thereby improving the quality of the user experience.
[1391] "Means for receiving user-entered questions or instructions" refers to the functionality of the device or software that receives text or voice-entered questions or instructions entered by the user through the device.
[1392] The "means for analyzing the received question or instruction" refers to a process or algorithm that uses natural language processing technology to analyze the meaning and intent of the received question or instruction and extract corresponding information.
[1393] "Means for proofreading ambiguous parts of questions or instructions" refers to a function that accurately and clearly corrects and completes ambiguous expressions or incomplete information based on the analysis results.
[1394] "Means utilizing generative AI models to generate appropriate responses to calibrated questions or instructions" refers to the process of using advanced generative AI models to generate optimal answers based on calibrated questions or instructions.
[1395] The "means for transmitting the generated response to the user" refers to a communication means or software function that transmits the generated response to the user's terminal so that the user can receive it.
[1396] "Means for making product suggestions to users in real time" is a function that instantly recommends highly related products and coordinations to the products that the user is viewing in the virtual store.
[1397] The "means for listing related products based on product suggestions" is a function that compiles other products and accessories related to the recommended product in a list format and presents it to the user.
[1398] System Overview
[1399] This invention is a system that uses a conversational AI system to analyze and correct user questions and instructions, and then generate and send appropriate responses. Specifically, we will explain the implementation of a shopping assistant in a virtual store as an example.
[1400] Hardware and software used
[1401] Hardware:
[1402] Smart glasses (AR devices)
[1403] software:
[1404] Python
[1405] transformers library
[1406] GPT-3 model
[1407] Program processing
[1408] User Input Processing
[1409] First, the user inputs a question or instruction through the smart glasses, such as "What jacket goes with my black shoes?", and the smart glasses send this input to the server.
[1410] Question and instruction analysis
[1411] The server analyzes the received question using natural language processing libraries (transformers libraries). This analysis involves a process to understand the meaning and intent of the user's question. Specifically, it identifies which product the question is about.
[1412] Proofreading questions and instructions
[1413] Based on the analysis results, the server corrects ambiguous parts of questions and instructions. For example, for the question "What jacket goes with black shoes?", it corrects the ambiguous parts and clarifies the question.
[1414] Leveraging generative AI models
[1415] The calibrated questions are passed to a generative AI model (GPT-3), which generates appropriate responses to the revised questions. For example, a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket."
[1416] Sending a Response
[1417] The generated response is sent from the server to the smart glasses, which display the response to the user.
[1418] Adding specific examples
[1419] Specific examples
[1420] A user types into the smart glasses, "What jacket goes with black shoes?" This input is sent to the server, which analyzes the question and corrects any ambiguities. As a result, the generative AI model generates a response such as, "Recommended jackets are a monotone check jacket, a leather jacket, and a black blazer jacket." This response is sent to the smart glasses and displayed to the user.
[1421] Prompt Sentence Examples
[1422] User: "What jacket goes with black shoes?"
[1423] AI model: "Recommended jackets are monochrome check jackets, leather jackets, and black blazer jackets."
[1424] As described above, this system enables users to efficiently find products in a virtual store, improving their shopping experience.
[1425] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1426] Step 1:
[1427] A user inputs a question or instruction through the smart glasses. For example, the user inputs "What jacket goes with these black shoes?" by voice or text. The input question or instruction is captured by the smart glasses' internal processing unit.
[1428] input:
[1429] A user question or instruction ("What jacket goes with my black shoes?")
[1430] output:
[1431] Text data of a question or instruction
[1432] Specific behavior:
[1433] Smart glasses convert voice input into text
[1434] Passing text data to the processing unit
[1435] Step 2:
[1436] The device sends the received text data of questions or instructions to the server. The communication module of the smart glasses uses a protocol (e.g., HTTP or WebSocket) to send the data to the server.
[1437] input:
[1438] Text data of a question or instruction
[1439] output:
[1440] Data transmission status to the server
[1441] Specific behavior:
[1442] The communication module in the smart glasses sends text data of questions and instructions to the server.
[1443] Step 3:
[1444] The server analyzes the text data of the questions and instructions it receives. This analysis is performed using a natural language processing (NLP) library (the transformers library). During the analysis process, the meaning and intent of the question are extracted.
[1445] input:
[1446] Text data of questions or instructions sent to the server
[1447] output:
[1448] Analysis results (meaning and intent of the question)
[1449] Specific behavior:
[1450] The server passes the text data to a natural language processing library and obtains the analysis results.
[1451] Step 4:
[1452] Based on the analysis results, the server proofreads any ambiguous parts of the question or instruction, identifying parts that need to be completed or corrected and converting them into clear questions or instructions.
[1453] input:
[1454] Analysis results (meaning and intent of the question)
[1455] output:
[1456] Proofread questions or instructions
[1457] Specific behavior:
[1458] The server automatically completes ambiguous parts based on the analysis results and generates proofread text.
[1459] Step 5:
[1460] The calibrated questions or instructions are passed to a generative AI model (GPT-3) to generate an appropriate response. The generative AI model takes the calibrated text as input and generates the optimal answer.
[1461] input:
[1462] Proofread questions or instructions
[1463] output:
[1464] Generated response text
[1465] Specific behavior:
[1466] The server inputs the proofread text into the GPT-3 model and retrieves the generated response text.
[1467] Step 6:
[1468] The generated response is sent from the server to the smart glasses and displayed to the user, with the response text being displayed on the display of the smart glasses.
[1469] input:
[1470] Generated response text
[1471] output:
[1472] Response text displayed on smart glasses
[1473] Specific behavior:
[1474] The server sends the generated response text to the smart glasses.
[1475] The smart glasses receive the response text and display it on the display.
[1476] Through each of the above steps, the user is efficiently supported in shopping within the virtual store.
[1477] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1478] This invention is a system that provides a more natural conversational experience by combining a system that analyzes and corrects questions and instructions entered by the user using a conversational AI system and generates appropriate responses, with an emotion engine that recognizes the user's emotions.
[1479] System Overview
[1480] User Input Processing
[1481] The user types a question or instruction into the device, for example, "What time is the next meeting?"
[1482] Sending Input
[1483] The terminal sends this question to the server.
[1484] Question and instruction analysis
[1485] The server parses the received question, which involves using natural language processing (NLP) libraries to detect the meaning and intent of the question, for example, to see if "next meeting" is a question about a specific date and time.
[1486] Emotion recognition with emotion engine
[1487] The server uses an emotion engine to recognize emotions from the user's input. The emotion engine utilizes text analysis techniques to identify the user's emotions (e.g., joy, anger, anxiety, etc.).
[1488] Proofreading questions and instructions
[1489] The server then proofreads the user's input based on the analysis results. If any ambiguities or incomplete parts are identified, the server completes or corrects them. For example, if the question is "What time is the next meeting?", the server completes the expression "next meeting" with a specific date and time.
[1490] Leveraging generative AI models
[1491] The server passes the calibrated question to the generative AI model, which then generates an appropriate response. The generative AI model then uses natural language processing techniques to generate the most appropriate answer to the user's question. For example, it generates a response like, "The next meeting is tomorrow at 2 p.m."
[1492] Regulating responses based on emotions
[1493] The server tailors the response based on the emotion recognized by the emotion engine. For example, if the user is feeling anxious, the server adds an additional message to the response such as "Are you OK? We're here to help if you need it."
[1494] Sending a Response
[1495] The server sends the generated response to the terminal.
[1496] What the user sees
[1497] The device receives the response and displays it to the user, for example, "The next meeting is tomorrow at 2 PM. Is that OK? I'm here to help if you need it."
[1498] Specific examples
[1499] The user types "I'm worried about when to hold an important meeting" into their device. The device sends this question to the server. The server analyzes the question and determines that "important meeting" is a reference to a specific date and time. The emotion engine also detects the emotion "worried" from the user's input. The server then corrects the input "worried about when to hold an important meeting" to "What day should I schedule the important meeting?" The corrected question is passed to the generative AI model, which generates the response "Next Tuesday would be a good time for the important meeting." The server then adds the message "Don't worry" to the response based on the emotion "worried" recognized by the emotion engine. Finally, the server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry" to the device, which displays it to the user.
[1500] The above is the specific process of the system that analyzes and calibrates the user's questions and instructions, adjusts based on emotions, and generates an appropriate response.
[1501] The processing flow will be explained below.
[1502] Step 1:
[1503] The user enters a question or instruction into the terminal.
[1504] What happens: A user uses the device interface to type, "What time is the next meeting?"
[1505] Step 2:
[1506] The terminal sends the user's input to the server.
[1507] Specific operation: The device generates an HTTP request and sends a payload containing the user's question data to the server.
[1508] Step 3:
[1509] The server receives and parses the user's input.
[1510] What happens: The server receives the HTTP request and uses a natural language processing (NLP) library to parse the text and understand that "next meeting" is a question about a specific date and time.
[1511] Step 4:
[1512] The server uses an emotion engine to recognize emotions from the user's input.
[1513] Specific operation: The server launches the emotion engine and uses text analysis technology to detect the user's emotion (e.g., neutral, interested) from the question "What time is the next meeting?"
[1514] Step 5:
[1515] The server then calibrates the questions and instructions based on the analysis results.
[1516] Concrete action: The server determines that the phrase "meeting" is ambiguous and concretely reifies the expression "next meeting" to "tomorrow's meeting," thereby completing the missing information.
[1517] Step 6:
[1518] The server passes the calibrated questions to a generative AI model, which generates an appropriate response.
[1519] Specific operation: The server inputs the proofread question "What time is the meeting tomorrow?" into the generative AI model and generates the response "Tomorrow at 2 p.m."
[1520] Step 7:
[1521] The server tailors the response based on the emotions recognized by the emotion engine.
[1522] Specific behavior: The server adds an additional message corresponding to the recognized emotion to the generated response. For example, "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m."
[1523] Step 8:
[1524] The server sends the generated response to the terminal.
[1525] Specific operation: The server formats the generated response data as an HTTP response and sends it to the terminal.
[1526] Step 9:
[1527] The terminal receives the response from the server and displays it to the user.
[1528] Specific operation: The device receives the HTTP response and displays "Thank you for your question. I know you're busy tomorrow, but I have a meeting at 2 p.m." on the user interface.
[1529] In this way, a system is realized that takes the user's emotions into consideration while revising questions and instructions, and generating and providing appropriate responses.
[1530] Example 2
[1531] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1532] Conventional conversational AI systems have had difficulty accurately understanding the content of questions and instructions entered by users and generating appropriate responses. In particular, they have been unable to provide a natural and effective conversational experience due to the lack of response adjustment based on ambiguous questions and instructions and the user's emotions. Furthermore, there were few systems with the ability to recognize emotions and reflect them in responses, which resulted in a decline in the quality of communication with users.
[1533] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1534] In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis result, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for utilizing an emotion engine for recognizing the user's emotion from the input data, and means for adjusting the response based on the emotion recognized by the emotion engine. This makes it possible to accurately understand the user's question or instruction and generate an appropriate response based on the emotion.
[1535] A "user" is someone who inputs questions or instructions into the system and receives a response accordingly.
[1536] "Question or instruction" refers to text data that indicates information that the user wants the system to confirm or an action that the user wants the system to perform.
[1537] "Server" refers to a computer system that receives questions or instructions entered by a user and has the functions of analyzing, calibrating, generating responses, and transmitting responses.
[1538] "Means for receiving" refers to the function by which the server obtains questions and instructions entered by the user.
[1539] "Means of analysis" refers to the ability to utilize natural language processing technology to understand the content of received questions or instructions and identify their meaning and intent.
[1540] "Means for proofreading" refers to the function of completing or correcting ambiguous or incomplete parts of questions or instructions based on the analysis results.
[1541] "Generative AI model" refers to an artificial intelligence model that generates appropriate responses to calibrated questions or instructions.
[1542] "Means of utilization" refers to the process of using a generative AI model to generate appropriate responses to user questions or instructions.
[1543] The "means for sending" refers to a function for sending the generated response from the server to the terminal.
[1544] An "emotion engine" refers to a program that recognizes and analyzes a user's emotions from input data.
[1545] "Means for adjusting" refers to the function of appropriately changing the response based on the emotion recognized by the emotion engine.
[1546] This invention relates to a conversational AI system that analyzes and corrects user-input questions and instructions, generates appropriate responses, and provides a more natural and effective conversation experience by incorporating an emotion engine that recognizes the user's emotions and adjusts responses accordingly.
[1547] The system consists of the following main hardware and software components: a terminal, a server, a natural language processing library, a generative AI model, and an emotion engine. Here we explain in detail how each component works.
[1548] Terminal
[1549] Users access the system using a terminal to input questions or instructions. The terminal accepts input using a keyboard and microphone and sends the input data to the server. The terminal runs in the form of a web browser or a dedicated application.
[1550] server
[1551] The server is the central component that processes data received from the devices. It uses various software technologies, including:
[1552] Natural language processing libraries: Libraries such as "SpaCy" and "NLTK" are used for natural language processing. Using these libraries, the server analyzes the user's input and understands its meaning and intent.
[1553] Emotion engine: The emotion engine uses IBM Watson Natural Language Understanding, Microsoft Azure Text Analytics, etc. The server uses this to recognize and analyze emotions from user input.
[1554] Generative AI model: To generate responses, a generative AI model such as OpenAI GPT-3 is used. The model generates an appropriate response based on the user's input.
[1555] Specific examples
[1556] For example:
[1557] 1. User input: The user types into the terminal, "I'm worried about when to schedule an important meeting."
[1558] 2. Send data: The device sends this question to the server.
[1559] 3. Analysis and emotion recognition: The server analyzes the question and determines that "important meeting" is a specific date and time. The emotion engine also detects the emotion "worry" from the user's input.
[1560] 4. Proofreading: The server proofreads the input "I'm worried about when to schedule an important meeting." to "What day should I schedule an important meeting?"
[1561] 5. Response generation: The calibrated question is passed to a generative AI model, which generates a response such as, "Next Tuesday would be a good time for that important meeting."
[1562] 6. Emotion adjustment: Based on the emotion "worry" recognized by the emotion engine, the server adds the message "Don't worry" to the response.
[1563] 7. Send and display response: The server sends the generated response "Next Tuesday would be a good time for the important meeting. Don't worry." to the terminal, which displays it to the user.
[1564] Prompt Sentence Examples
[1565] Prompt statement:
[1566] "I'm worried about when to hold an important meeting."
[1567] Expected response:
[1568] "The important meeting will be held next Tuesday. Don't worry."
[1569] This system is capable of accurately understanding the user's questions and instructions and generating emotive responses based on them, providing a new approach to providing users with a natural and effective dialogue experience.
[1570] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1571] Step 1: Getting User Input
[1572] The user inputs a question or instruction into the device. The input text is "I'm worried about when to schedule an important meeting." The device stores this input as internal data.
[1573] Specific behavior: The user uses the keyboard to enter text into the terminal and presses the Enter key to send it.
[1574] Input: User text input: "I'm worried about when to schedule an important meeting."
[1575] Output: Text data stored in the device's internal memory
[1576] Step 2: Sending User Input
[1577] The terminal sends the user's input to the server. The terminal sends the input data to the server as an HTTP request.
[1578] What happens: An application installed on a device uses an HTTP POST request to send user-entered data to a server's API endpoint.
[1579] Input: Text data stored in the device's internal memory: "I'm worried about when to have an important meeting."
[1580] Output: HTTP request data sent to the server
[1581] Step 3: Parse the question / instruction
[1582] The server analyzes the input data received. It uses a natural language processing library (e.g., SpaCy or NLTK) to perform syntactic and semantic analysis of the input.
[1583] What happens next: The server uses a natural language processing library to analyze the grammatical structure and meaning of the text data. In this step, it identifies that "important meeting" is a question about a date and time.
[1584] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[1585] Data processing: Syntactic analysis, semantic analysis
[1586] Output: Semantic analysis results (question intent and content)
[1587] Step 4: Recognize emotions
[1588] The server uses an emotion engine to recognize emotions from user input, which uses text analysis technologies such as IBM Watson Natural Language Understanding.
[1589] Specific operation: The server uses an emotion engine to analyze the text data and identify the user's emotion (worry, joy, anger, etc.). In this case, it detects the emotion "worry."
[1590] Input: Text data sent to the server: "I'm worried about when to schedule an important meeting."
[1591] Data processing: Sentiment analysis
[1592] Output: Sentiment analysis result (worry)
[1593] Step 5: Proofread the questions and instructions
[1594] The server proofreads the user's input based on the analysis results, completing and correcting ambiguous or incomplete expressions.
[1595] Specific operation: The server uses natural language processing technology to proofread the input "I'm worried about when to schedule an important meeting" to "What day should I schedule an important meeting?"
[1596] Input: Semantic analysis results, sentiment analysis results
[1597] Data processing: Expression completion, disambiguation
[1598] Output: Proofread question "What day should I schedule my important meeting?"
[1599] Step 6: Generative AI model generates a response
[1600] The server passes the calibrated questions to a generative AI model, which uses OpenAI GPT-3, to generate appropriate responses.
[1601] What it does: The server inputs the calibrated question into the generative AI model, which then generates a response like, "Next Tuesday would be a good time for that important meeting."
[1602] Input: Proofread question "What day should I schedule my important meeting?"
[1603] Data Calculation: Response Generation
[1604] Output: Response "Next Tuesday would be a good time for this important meeting."
[1605] Step 7: Emotional Regulation of Responses
[1606] The server tailors the response based on the emotions recognized by the emotion engine: if the user is worried, it adds a reassuring message;
[1607] Specific Action: The server appends the message "Don't worry" to the generated response.
[1608] Input: Response "Next Tuesday would be a good time for this important meeting.", Sentiment analysis result (worry)
[1609] Data processing: response adjustment
[1610] Output: Tailored response "Next Tuesday would be a good time for the important meeting. Don't worry."
[1611] Step 8: Sending a Response
[1612] The server sends the generated response to the terminal. The data sent is the adjusted response.
[1613] Specific operation: The server sends the response data to the terminal as an HTTP response.
[1614] Input: Tailored response "Next Tuesday is a good time for the important meeting. Don't worry."
[1615] Output: HTTP response data sent to the device
[1616] Step 9: Display to the User
[1617] The terminal receives the response and displays it to the user in a format that is easy for the user to understand.
[1618] Specific behavior: The terminal application displays the received response in a UI element such as a chat window.
[1619] Input: HTTP response data
[1620] Output: The response shown to the user: "Next Tuesday is a good time for that important meeting. Don't worry."
[1621] (Application example 2)
[1622] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1623] Conventional conversational AI systems generate appropriate responses to user questions and instructions, but do not provide responses that take the user's emotions into consideration. As a result, in situations where the user is feeling anxious or worried, appropriate support may not be provided, potentially resulting in a decrease in user satisfaction. Furthermore, in physical stores, customers are required to respond quickly and accurately to the various questions and emotions they have in the store, but conventional systems have not been able to meet this need. The present invention aims to solve these problems and provide a system that provides a more natural and emotion-sensitive conversational experience.
[1624] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving a question or instruction input by a user, means for analyzing the received question or instruction, means for revising ambiguous parts of the question or instruction based on the analysis results, means for utilizing a generative AI model for generating a response appropriate to the revisited question or instruction, means for sending the generated response to the user, means for analyzing the user's emotions, means for adjusting the response based on the emotions, and means including a terminal for displaying the response in a physical store. This makes it possible to provide an interactive experience that takes user emotions into consideration and improve customer satisfaction in physical stores.
[1625] A "user" is a person using a terminal to input questions or instructions using the system.
[1626] The "means for receiving questions or instructions" is a system component that has the function of transmitting questions or instructions entered by the user into the terminal to the server.
[1627] The "means for analyzing questions or instructions" is a component of the system that uses natural language processing technology to analyze received questions or instructions and identify their meaning and intent.
[1628] The "means for proofreading ambiguous parts" is a component of the system that supplements and clarifies unclear parts of the user's questions or instructions based on the analysis results.
[1629] A "generative AI model" is an artificial intelligence model that uses natural language processing technology to generate appropriate responses to user questions and instructions.
[1630] A "means for sending the generated response to the user" is a system component that has the function of sending the response generated by the generative AI model to the user's device.
[1631] A "means for analyzing emotions" is a component of the system that analyzes the text content from a user's input and identifies the user's emotions.
[1632] The "means for adjusting a response based on emotion" is a component of the system that appropriately adjusts the generated response depending on the identified emotion of the user.
[1633] A "terminal" is a device that allows a user to input questions or instructions and receive responses, and specifically refers to a smartphone, tablet, computer, etc.
[1634] A "brick and mortar store" is a physical location for offering goods and services, where customers make offers and purchases in person.
[1635] The system of the present invention analyzes questions and instructions entered by users into a terminal and generates responses based on their emotions, thereby improving customer satisfaction in physical stores. Specific embodiments of the system are described in detail below.
[1636] 1. System hardware configuration
[1637] The system is implemented primarily using the following hardware:
[1638] User device: smartphone, tablet, or computer
[1639] Server: A central processing unit that analyzes questions and instructions, recognizes emotions, and generates and coordinates responses.
[1640] 2. System Software Configuration
[1641] The system utilizes the following software libraries and frameworks:
[1642] Natural Language Processing (NLP) libraries, such as the Transformes library
[1643] Emotion Recognition Engine: Sentiment Analysis Model
[1644] Web frameworks: Flask, etc.
[1645] 3. Data Processing and Calculations
[1646] Asking questions / receiving instructions
[1647] The user inputs a question or instruction into the terminal. For example, the user inputs, "I'm worried because I don't know how to use this hair dryer."
[1648] Sending data
[1649] The device sends the user's input to the server, which then analyzes the received data.
[1650] Emotion Analysis
[1651] The server analyzes the received input data using an emotion recognition engine, which identifies the user's emotions (e.g., worry, anxiety).
[1652] Parsing and proofreading questions / instructions
[1653] The server uses natural language processing libraries to parse the questions and instructions entered by the user, and as a result, proofreads and clarifies any ambiguities or incompleteness.
[1654] Generating a response
[1655] Calibrated questions or instructions are passed to the generative AI model to generate an appropriate response, such as "Here's how to use this hair dryer."
[1656] Regulating responses based on emotions
[1657] Based on the generated response, the response is adjusted based on the results of emotion recognition. In the example above, since the user has the emotion "worried," a reassuring message such as "Don't worry, we will provide you with the information you requested immediately" is added to the response.
[1658] Sending and Displaying Responses
[1659] The final generated response is sent to the user terminal and displayed to the user.
[1660] Specific examples
[1661] When a user inputs a question such as "I'm having trouble setting up this camera. How can I make it easier to use?", the server analyzes the question and the emotion engine detects "anxiety." The server proofreads the question, and the generative AI model generates specific setup steps as an answer. It also adds a message based on the emotion, saying "Don't worry, it's very easy to set up." The final response is "Follow these steps to set up your camera. Don't worry, it's very easy to set up," which is displayed to the user.
[1662] Prompt Sentence Examples
[1663] User Question: "I'm worried because I don't know how to use this dryer."
[1664] Example answer:
[1665] "Here's how to use this dryer. Don't worry, we'll get back to you with the information you need."
[1666] This will reduce the anxiety and worry that users may feel in physical stores and make it possible to provide quick and appropriate support.
[1667] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1668] Step 1:
[1669] The user inputs questions or instructions into the device. The input is saved as text data on the device. Example: "I'm worried because I don't know how to use this hair dryer."
[1670] Step 2:
[1671] The device sends the entered text data to the server, and the server receives the received text data via a waiting API.
[1672] Step 3:
[1673] The server analyzes the received text data using a natural language processing (NLP) library (for example, the Transformers library). As a result of the analysis, it extracts the meaning and intent of the questions and instructions contained in the text data. The input is the text data, and the output is the analysis result.
[1674] Step 4:
[1675] The server completes or corrects ambiguous parts of the text data based on the analysis results. For example, if the expression "I'm worried" is included, it is interpreted as "I'm worried about how to use it" and completed as a specific question. The input is the analysis results, and the output is the corrected question text.
[1676] Step 5:
[1677] The server passes the proofread question text to an emotion recognition engine (e.g., Sentiment Analysis model) to analyze the user's emotions. The emotion recognition engine takes text data as input and generates emotion labels (e.g., anxiety, worry) as output. The input is the proofread question text, and the output is the emotion labels.
[1678] Step 6:
[1679] The server passes the sentiment label and the proofread question text to a generative AI model (such as GPT) to generate an appropriate response. The generative AI model receives text data as input and outputs a specific answer to the user's question. The input is the proofread question text and sentiment label, and the output is the generated response text.
[1680] Step 7:
[1681] The server adjusts the generated response text. If the emotion label is a negative emotion such as "worried," the server adds an additional reassuring message to the generated response. The input is the generated response text and the emotion label, and the output is the adjusted response text.
[1682] Step 8:
[1683] The server sends the adjusted response text to the terminal. The terminal displays the received response text to the user. The input is the adjusted response text, and the output is the response message displayed to the user.
[1684] Through these steps, it is possible to provide a natural conversational experience that takes into account emotions in response to user questions and instructions. For example, if a user inputs, "I'm having trouble setting up this camera. How can I make it easier to use?", the system first analyzes the question, then identifies the emotion "anxiety," generates an appropriate response, and displays it with a reassuring message: "Don't worry, setting up is very easy."
[1685] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1686] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1687] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1688] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1689] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1690] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1691] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1692] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1693] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1694] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1695] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1696] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1697] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1698] 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.
[1699] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1700] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1701] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1702] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1703] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1704] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1705] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1706] The following is further disclosed regarding the above embodiment.
[1707] (Claim 1)
[1708] means for receiving user-entered questions or instructions;
[1709] a means for analyzing received questions or instructions;
[1710] a means for correcting ambiguities in the question or instruction based on the analysis results;
[1711] a means for utilizing a generative AI model to generate appropriate responses for the calibrated questions or prompts;
[1712] means for transmitting the generated response to a user;
[1713] A system including:
[1714] (Claim 2)
[1715] 10. The system of claim 1, wherein the means for correcting the question or instruction automatically completes specific date and time or event information.
[1716] (Claim 3)
[1717] 10. The system of claim 1, wherein the generative AI model generates the response using a process that includes a natural language processing library.
[1718] "Example 1"
[1719] (Claim 1)
[1720] means for receiving user-entered questions or instructions;
[1721] a means for analyzing received questions or instructions;
[1722] a means for correcting ambiguities in the question or instruction based on the analysis results;
[1723] a means for utilizing a generative AI model to generate appropriate responses for the calibrated questions or prompts;
[1724] means for transmitting the generated response to a user;
[1725] A means by which the generative AI model uses the prompt sentence to generate an optimal response; and
[1726] A system including:
[1727] (Claim 2)
[1728] 10. The system of claim 1, wherein the means for correcting the question or instruction automatically completes specific date and time or event information.
[1729] (Claim 3)
[1730] 10. The system of claim 1, wherein the generative AI model generates the response using a process that includes a natural language processing library.
[1731] "Application Example 1"
[1732] (Claim 1)
[1733] means for receiving user-entered questions or instructions;
[1734] a means for analyzing received questions or instructions;
[1735] a means for correcting ambiguities in the question or instruction based on the analysis results;
[1736] a means for utilizing a generative AI model to generate appropriate responses for the calibrated questions or prompts;
[1737] means for transmitting the generated response to a user;
[1738] A means for making product suggestions to users in real time;
[1739] A means for listing related products based on product suggestions;
[1740] A system including:
[1741] (Claim 2)
[1742] 10. The system of claim 1, wherein the means for correcting the question or instruction automatically completes specific date and time or event information.
[1743] (Claim 3)
[1744] 10. The system of claim 1, wherein the generative AI model generates the response using a process that includes a natural language processing library.
[1745] "Example 2: Combining Emotion Engines"
[1746] (Claim 1)
[1747] means for receiving user-entered questions or instructions;
[1748] a means for analyzing received questions or instructions;
[1749] a means for correcting ambiguities in the question or instruction based on the analysis results;
[1750] a means for utilizing a generative AI model to generate appropriate responses for the calibrated questions or prompts;
[1751] means for transmitting the generated response to a user;
[1752] A means for utilizing an emotion engine that recognizes user emotions from input data;
[1753] means for adjusting a response based on the emotion recognized by the emotion engine;
[1754] A system including:
[1755] (Claim 2)
[1756] 10. The system of claim 1, wherein the means for correcting the question or instruction automatically completes specific date and time or event information.
[1757] (Claim 3)
[1758] 10. The system of claim 1, wherein the generative AI model generates the response using a process that includes a natural language processing library.
[1759] "Application example 2 when combining emotion engines"
[1760] (Claim 1)
[1761] means for receiving user-entered questions or instructions;
[1762] a means for analyzing received questions or instructions;
[1763] a means for correcting ambiguities in the question or instruction based on the analysis results;
[1764] a means for utilizing a generative AI model to generate appropriate responses for the calibrated questions or prompts;
[1765] means for transmitting the generated response to a user;
[1766] means for analyzing user emotions;
[1767] a means for adjusting responses based on emotion;
[1768] a means including a terminal for displaying the response at a physical store;
[1769] A system including:
[1770] (Claim 2)
[1771] 10. The system of claim 1, wherein the means for correcting the question or instruction automatically completes specific date and time or event information.
[1772] (Claim 3)
[1773] 10. The system of claim 1, wherein the generative AI model generates the response using a process that includes a natural language processing library. [Explanation of symbols]
[1774] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for receiving user-entered questions or instructions; a means for analyzing received questions or instructions; a means for correcting ambiguities in the question or instruction based on the analysis results; a means for utilizing a generative AI model to generate appropriate responses for the calibrated questions or prompts; means for transmitting the generated response to a user; A system including:
2. 10. The system of claim 1, wherein the means for correcting the question or instruction automatically completes specific date and time or event information.
3. 10. The system of claim 1, wherein the generative AI model generates the response using a process that includes a natural language processing library.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A