system
The system addresses the challenge of maintaining natural dialogue in chat systems by analyzing user input for emotions and topics, generating contextually appropriate responses, and adjusting them, resulting in improved user satisfaction and chat continuity.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Conventional chat systems struggle to maintain natural dialogue and generate appropriate responses that correspond to specific emotions or topics, leading to reduced user satisfaction and chat continuity.
A system that receives text data from users, analyzes it for emotions and topics using natural language processing, generates response candidates, evaluates their harmony with the chat context, and adjusts them as necessary to provide appropriate and natural responses.
Enhances user satisfaction and chat continuity by providing natural and engaging conversations through context-aware response generation and adjustment.
Smart Images

Figure 2026041482000001_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] Conventional chat systems have difficulty maintaining natural dialogue between users while also enhancing conversations. Furthermore, they lack the ability to generate appropriate responses that correspond to specific emotions or topics, which can lead to unnatural conversations. This leads to issues such as reduced user satisfaction and reduced chat continuity. [Means for solving the problem]
[0005] To solve these problems, the present invention provides the following means. First, a means for receiving text data from a user is provided, and a means for analyzing the received text data to identify emotions and topics is provided. Next, a means for generating response candidates based on the identified emotions and topics is provided. Thereafter, a means for evaluating whether the generated response candidates are in harmony with the chat context and for adjusting them as necessary is provided. Finally, a system including a means for sending the adjusted response candidates to the user makes it possible to automatically and dynamically liven up user conversations.
[0006] "User" refers to an individual or group who uses the system to chat.
[0007] "Text data" refers to character information that a user inputs and sends.
[0008] "Means for receiving" refers to the function by which the server obtains the text data sent by the user.
[0009] "Means for analyzing" refers to the function of identifying emotions and topics from received text data using natural language processing technology.
[0010] "Emotion" refers to the user's psychological state or mood extracted from text data.
[0011] "Topic" refers to a subject or topic extracted based on the content of text data.
[0012] "Candidate replies" refer to multiple replies that are generated based on the analyzed sentiment and topic.
[0013] "Means for generating" refers to functionality for generating response candidates based on identified sentiments and topics.
[0014] "Means for evaluating consistency" refers to a function for determining whether the generated response candidates are consistent with the overall context of the chat.
[0015] "Adjustment" refers to the ability to change the content and tone of potential responses as needed.
[0016] "Means for sending" refers to the functionality for sending a tailored response to a user.
[0017] "System" refers to a collective term for a series of devices or software in which the above-mentioned means operate in cooperation with each other. [Brief explanation of the drawings]
[0018] [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 illustrating 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
[0019] 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.
[0020] First, the terms used in the following description will be explained.
[0021] 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).
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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."
[0026] [First embodiment]
[0027] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0028] 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.
[0029] 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).
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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."
[0039] The system of the present invention includes a series of programs for naturally enhancing user conversation through chat. The processing of the programs will be specifically explained below. A concrete example will be used to show how users, terminals, and servers are involved.
[0040] 1. Handling User Input
[0041] A conversation begins when a user enters text into the chat screen and presses the send button. For example, a user might enter, "The weather is nice today." The user's input is immediately captured by the device and sent to the server.
[0042] 2. Text Data Analysis
[0043] The server analyzes the received text data using natural language processing (NLP) technology to identify the sentiment and topic of the text data. For example, if the text says "The weather is nice today," the topic is analyzed as "weather" and the sentiment is "positive."
[0044] 3. Generating response candidates
[0045] Based on the analysis results, the server generates an appropriate response candidate. Multiple response candidates are prepared, and the most appropriate one is selected. For example, the server might generate a response such as, "That's true! It would be nice to go for a walk outside on a day like this."
[0046] 4. Adjusting the response
[0047] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them as necessary. For example, it may change the wording of the response depending on the context of the conversation. If the user is joking, it may make the response more lighthearted.
[0048] 5. Sending the Response
[0049] Once the adjusted response is confirmed, the server sends it to the device, which then displays the received response on the chat screen. Thus, the user can see the response, "That's true! It would be nice to go for a walk outside on a day like this."
[0050] Specific examples
[0051] Example 1: Small talk scenario
[0052] User: "The weather is nice today."
[0053] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[0054] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[0055] Server: Evaluates the response for contextual fit and checks for consistency.
[0056] Server: Sends the response to the device.
[0057] Terminal: displays the response to the user.
[0058] Example 2: Question scenario
[0059] User: "Are there any recent movies you'd recommend?"
[0060] Server: Recognizes the text data as a topic called "movie recommendations."
[0061] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[0062] Server: Evaluate the response to see if it fits the context, and if so, accept it.
[0063] Server: Sends the response to the device.
[0064] Terminal: displays the response to the user.
[0065] In this way, the system of the present invention makes the user's chat experience natural and exciting, resulting in increased user satisfaction and improved chat continuity.
[0066] The processing flow will be explained below.
[0067] Step 1:
[0068] The user types a message on the chat screen and presses the send button. For example, the user types, "The weather is nice today."
[0069] Step 2:
[0070] The terminal acquires the input text data and transmits it to the server.
[0071] Step 3:
[0072] The server receives the text data sent by the user.
[0073] Step 4:
[0074] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[0075] Tokenization: Splitting text into words.
[0076] Stopword removal: Remove non-essential words such as common conjunctions.
[0077] Topic extraction: Identifying key keywords and phrases (e.g., "weather").
[0078] Sentiment analysis: Scoring the sentiment in text as positive, negative, or neutral (e.g., "positive").
[0079] Step 5:
[0080] The server generates response candidates based on the analysis results (topic "weather" and emotion "positive"). Specifically, it performs the following process.
[0081] Response template selection: Choose from multiple templates to suit your needs.
[0082] Context generation: Creating a specific response based on the analysis results (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[0083] Step 6:
[0084] The server evaluates whether the generated response candidates are in sync with the chat context. Specifically, it checks the following:
[0085] Conversation flow: Check the previous conversation and overall tone.
[0086] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[0087] Step 7:
[0088] The server adjusts the generated response candidates by:
[0089] Adjust endings: Change to a lighter tone or more empathetic expressions.
[0090] Response scoring: Score the adjusted responses and select the best one.
[0091] Step 8:
[0092] The server finalizes the tailored response and sends it to the user's terminal.
[0093] Step 9:
[0094] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[0095] Example 1
[0096] 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."
[0097] Conventional chat systems face the challenge of generating appropriate and natural responses to text messages entered by users. They are particularly required to provide appropriate responses based on emotions and topics to ensure the conversation continues smoothly. Furthermore, they lack the ability to evaluate whether the generated responses fit the context and adjust them as necessary, which can result in an unnatural user experience.
[0098] 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.
[0099] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data using natural language processing technology to identify emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user. This makes it possible to provide appropriate and natural responses to text messages entered by the user, ensuring a smooth dialogue. Furthermore, by evaluating whether the generated responses fit the context and adjusting them appropriately, a more natural and smooth user experience can be achieved.
[0100] "Text data" refers to text information that a user inputs into a chat system.
[0101] "Natural language processing technology" is a set of technologies that computers use to understand, analyze, and generate human language.
[0102] "Emotion" refers to the emotional state included in the user's input, and is classified into categories such as positive and negative.
[0103] A "topic" refers to a subject or range of subjects mentioned in the text data entered by the user.
[0104] "Candidate replies" are multiple possible replies that the server generates in response to a user's input.
[0105] "Context" refers to the context and situation of the conversation before and after a chat, and is the information needed to choose an appropriate response.
[0106] "Tuning" refers to modifying generated response candidates to fit the context.
[0107] A "generative AI model" is an artificial intelligence algorithm or learning model that generates appropriate responses to user input.
[0108] An "algorithm" refers to a set of procedural or computational rules for accomplishing a particular task.
[0109] The system of the present invention allows users to have natural and engaging conversations through chat. The program of this system functions effectively through cooperation between users, terminals, and a server. Specific embodiments for implementing this system are described below.
[0110] Hardware and Software Use
[0111] The servers use cloud servers or data center systems with high-performance processing capabilities. Libraries such as "SpaCy" and "Google (registered trademark) Natural Language API" are used on the servers to implement natural language processing technology. In addition, generative AI models (e.g., large-scale language models such as GPT-3 (registered trademark)) are used to generate responses.
[0112] A device is a PC, smartphone, tablet, or other device used by a user. The device has the function of acquiring input from the user, sending it to a server, and receiving and displaying responses from the server. A web browser or mobile app runs on the device.
[0113] A user is a person who interacts with a system and enjoys the interaction through inputs and responses.
[0114] Procedures for implementing an invention
[0115] 1. Obtaining user input: A conversation begins when a user enters text into the chat screen on their device and presses the send button. For example, the user enters "The weather is nice today." The device immediately obtains this text data and sends it to the server.
[0116] 2. Receiving and analyzing text data: The server receives the text data sent from the device. The received data is analyzed using natural language processing technology to identify the sentiment and topic of the text. For example, if the text says "The weather is nice today," the topic is identified as "weather" and the sentiment as "positive."
[0117] 3. Response candidate generation: Based on the analysis results, the server uses a generative AI model to generate appropriate response candidates. Multiple response candidates are generated, and the most appropriate response is selected from them. For example, the response generated might be, "That's true! It would be nice to take a walk outside on a day like this."
[0118] 4. Response Adjustment: The server evaluates the generated response candidates for their suitability to the context and adjusts them as necessary. It may modify the response based on the context of the conversation and the user's writing style. For example, if the user is being joking, it may change the tone of the response to be more lighthearted.
[0119] 5. Sending and displaying the response: The final response is sent from the server to the device, which displays the received response on the chat screen for the user to review.
[0120] Specific examples
[0121] Example 1: Small talk scenario
[0122] User: "The weather is nice today."
[0123] Terminal: Send this text data to the server.
[0124] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[0125] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[0126] Server: Evaluates the response for its suitability for the context and adapts as necessary.
[0127] Server: Sends a confirmed response to the terminal.
[0128] Terminal: Displays the received response to the user.
[0129] Example 2: Question scenario
[0130] User: "Are there any recent movies you'd recommend?"
[0131] Terminal: Send this text data to the server.
[0132] Server: Recognizes the text data as a topic called "movie recommendations."
[0133] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[0134] Server: Evaluates the response for contextual fit and, if appropriate, matches it.
[0135] Server: Sends the response to the device.
[0136] Terminal: Displays the received response to the user.
[0137] In this way, the system of the present invention makes the user's chat experience natural and engaging, resulting in increased user satisfaction and improved chat retention.
[0138] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0139] Step 1:
[0140] Getting User Input
[0141] The user enters text into the chat screen on the device and presses the send button.
[0142] Input: Text data entered by the user (e.g., "The weather is nice today")
[0143] Specific operation: The terminal acquires the text data entered by the user and sends it to the server using an HTTP request.
[0144] Output: Text data sent to the server
[0145] Step 2:
[0146] Receiving and analyzing text data
[0147] The server receives the text data sent from the terminal.
[0148] Input: Text data received from the device
[0149] Specific operation: The server analyzes the received text data using natural language processing technology (e.g., "SpaCy" or "Google Natural Language API") to identify sentiment and topics.
[0150] Output: Identified sentiment (e.g., "positive") and topic (e.g., "weather")
[0151] Step 3:
[0152] Generate candidate responses
[0153] Based on the analysis results, the server generates appropriate response candidates using a generative AI model (e.g., GPT-3).
[0154] Input: Identified sentiment and topic
[0155] Specific operation: The server inputs the analysis results into a generative AI model to generate multiple response candidates, from which the optimal response is selected.
[0156] Output: Generated response candidates (e.g., "That's true! It would be nice to go for a walk outside on a day like this.")
[0157] Step 4:
[0158] Response adjustment
[0159] The server evaluates the generated candidate responses for suitability to the context and adjusts them as necessary.
[0160] Input: Generated response candidates and the surrounding conversation history
[0161] What it does: The server reviews the conversation history and evaluates whether the response fits the context, adjusting the tone and content of the response as needed.
[0162] Output: Adjusted response candidates
[0163] Step 5:
[0164] Sending and Displaying Responses
[0165] The server transmits the adjusted response candidates to the terminal, which displays them on the chat screen.
[0166] Input: Adjusted response candidates
[0167] Specific operation: The server uses HTTP response to send the adjusted response to the device, and the device displays the received response on the chat screen.
[0168] Output: The response shown to the user (e.g., "You're right! It would be nice to go for a walk outside on a day like this.")
[0169] (Application example 1)
[0170] 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."
[0171] Conventional chat systems can return simple responses to user input, but have difficulty recommending appropriate content based on the emotions and interests of individual users. Furthermore, the responses generated may not be appropriate for the context, resulting in reduced user satisfaction. The present invention aims to provide a system that improves users' chat experiences and efficiently recommends movies and TV shows in content distribution services.
[0172] 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.
[0173] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data and identifying emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user and recommending movies or TV dramas. This enables appropriate content recommendations based on the user's emotions and interests, improving the user's chat experience and satisfaction.
[0174] "User" refers to a person who utilizes the system to input text data and receive responses.
[0175] "Text data" refers to character string information entered by the user.
[0176] "Means for receiving" refers to a function for inputting text data sent from a user into the server.
[0177] "Means for analyzing" refers to a function for understanding the content of received text data and processing it to identify sentiment and topics.
[0178] "Emotion" refers to the user's emotional state extracted from text data.
[0179] "Topic" refers to the subject or interest expressed in a user's text data.
[0180] "Means for generating candidate responses" refers to the ability to create appropriate replies based on the sentiment and topics identified by the analysis.
[0181] "Means for evaluating suitability" refers to a function that checks whether the generated response candidates are appropriate for the chat context.
[0182] "Means for adjusting" refers to the function of correcting the generated response candidates to suit the context if they are inappropriate.
[0183] The "means for transmitting" refers to a function for transmitting the adjusted response candidates back to the user's terminal.
[0184] "Means for recommending movies and TV shows" refers to a function that selects and recommends appropriate movies and TV shows based on the user's emotions and topics.
[0185] "Natural language processing technology" refers to a technical method for understanding and analyzing human language.
[0186] A "generative AI model" refers to a model that uses artificial intelligence to generate appropriate responses from text data.
[0187] A "prompt" refers to a series of instructions that are input to a generative AI model.
[0188] The system of the present invention receives and analyzes text data from a user, and generates, adjusts, and provides a response to recommend content such as movies and dramas. Specific embodiments of the system are described below.
[0189] The system consists of terminals such as smartphones and smart glasses, a server, and a network that connects them.
[0190] 1. Hardware and Software Configuration
[0191] Devices: Smartphones, smart glasses
[0192] Software: Chat interface (e.g. React Native)
[0193] Server: A high-performance computer
[0194] Software: Natural language processing libraries (e.g., spaCy, BERT), generative AI models (e.g., OpenAI® GPT-3), response tuning algorithms (e.g., implemented in Python)
[0195] 2. System operation explanation
[0196] The server receives text data entered by the user in real time and analyzes it to identify sentiment and topics. It then uses a generative AI model to generate potential responses based on the identified sentiment and topics. It then evaluates whether the generated responses fit the chat context and adjusts them as necessary. Finally, it sends the adjusted responses to the user's device.
[0197] 3. Specific Examples
[0198] User: "Tell me some good movies recently."
[0199] Server: Analyzes the received text data and identifies the topic "movie recommendations" and the sentiment "interesting."
[0200] Server: Uses a generative AI model (e.g., GPT-3) to generate a response such as, "Recently, people have been saying that 'Interstellar' is interesting. Its visual effects are particularly impressive."
[0201] Server: Evaluate whether the response fits the context of the chat and adjust as needed.
[0202] Server: Sends the adjusted response to the user's device.
[0203] User: Receives the response, "Everyone's been saying Interstellar is great these days. The visual effects are particularly impressive."
[0204] 4. Examples of prompts
[0205] User input: "Tell me some good movies recently"
[0206] AI model prompt:
[0207] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[0208] User Question: Tell me some interesting movies recently
[0209] Emotion: Interesting
[0210] Topic: Movie Recommendations
[0211] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[0212] This system improves the chat experience by allowing users to receive appropriate movie and TV show recommendations based on their emotions and topics. Example prompts demonstrate how the generative AI model works and generates appropriate responses. This process improves user satisfaction and experience.
[0213] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0214] Step 1:
[0215] A user inputs and sends text data to a chat interface using a smartphone or smart glasses. The input text data includes a user question, such as "Tell me about some interesting movies recently." After the text data is acquired by the device, it is immediately sent to the server.
[0216] Step 2:
[0217] The server receives the text data. It uses a natural language processing library (e.g., spaCy, BERT) to analyze the received data. During the analysis process, the server identifies trending topics and user sentiment from the content of the text data. Specifically, it analyzes the input text data "Tell me about some interesting movies recently" and extracts the topic "recommended movies" and the sentiment "interesting" as data.
[0218] Step 3:
[0219] The server uses the identified topic and emotion information to input a prompt sentence into a generative AI model (e.g., GPT-3) to generate response candidates. The prompt sentence is input as follows:
[0220] User input: "Tell me some good movies recently"
[0221] AI model prompt:
[0222] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[0223] User Question: Tell me some interesting movies recently
[0224] Emotion: Interesting
[0225] Topic: Movie Recommendations
[0226] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[0227] By inputting this prompt into a generative AI model, appropriate response candidates are generated.
[0228] Step 4:
[0229] The generative AI model returns potential responses to the server, which evaluates them to see if they fit the context of the chat. Using a response-adjustment algorithm (e.g., a custom script), the server adjusts the response as needed. For example, if the phrase "The visual effects are particularly impressive" is inappropriate, it might be replaced with a different phrase.
[0230] Step 5:
[0231] The server then finalizes the adjusted response and sends it to the user's device. The adjusted response is then displayed on the chat screen of the user's smartphone or smart glasses. For example, a message like "People are saying that 'Interstellar' is interesting these days. The visual effects are particularly impressive."
[0232] Step 6:
[0233] The user checks the server's response through the chat screen on their device and then engages in the next conversation. This repetition improves the user's chat experience and allows them to receive appropriate content recommendations.
[0234] 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.
[0235] The system of the present invention is a chat system incorporating an emotion engine that recognizes user emotions, and includes a series of programs for naturally enhancing user conversations. The program processing is explained in detail below. Using concrete examples, we will show how users, terminals, and servers are involved.
[0236] Program processing details
[0237] 1. Handling User Input
[0238] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well recently." The user's message is immediately captured by the device and sent to the server.
[0239] 2. Text Data Analysis
[0240] The server analyzes the received text data. This analysis includes an emotion engine that uses natural language processing (NLP) techniques to identify the emotion and topic of the text data. For example, if the input is "Work hasn't been going well lately," the topic will be analyzed as "work" and the emotion as "negative."
[0241] 3. Generating response candidates
[0242] Based on the analysis results, the server generates appropriate candidate responses. The emotion engine provides guidance in generating responses depending on the identified emotion. For example, the response generated might be, "That's tough. Is there anything I can help you with?"
[0243] 4. Adjusting the response
[0244] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them if necessary. The emotion engine also participates in this evaluation process, tracking changes in the user's emotions and adjusting responses appropriately. For example, if the user is gradually becoming calmer, the response may be adjusted to be a bit more lighthearted.
[0245] 5. Sending the Response
[0246] Once the adjusted response is confirmed, the server sends the response to the terminal, which displays the received response on the chat screen, allowing the user to confirm the adjusted response and engage in further dialogue.
[0247] Specific examples
[0248] Example 1: Negative emotions
[0249] User: "Work hasn't been going well lately."
[0250] Server: Recognizes the text data as a topic called "work" and identifies "negative" sentiment.
[0251] Server: Generate a response of "That's a shame. Is there anything I can help you with?"
[0252] Server: Evaluates the response for contextual fit and checks for consistency.
[0253] Server: Sends the response to the device.
[0254] Terminal: displays the response to the user.
[0255] Example 2: Positive emotions
[0256] User: "It's a really great day today."
[0257] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[0258] Server: Generate a response of "That's true! Did you have any fun?"
[0259] Server: Evaluates the response for contextual fit and checks for consistency.
[0260] Server: Sends the response to the device.
[0261] Terminal: displays the response to the user.
[0262] In this way, the system of the present invention incorporating an emotion engine analyzes the user's emotions in real time and generates and adjusts appropriate responses, making the chat experience more natural and exciting, thereby increasing user satisfaction and improving chat continuity.
[0263] The processing flow will be explained below.
[0264] Step 1:
[0265] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well lately."
[0266] Step 2:
[0267] The terminal acquires the text data entered by the user and transmits it to the server.
[0268] Step 3:
[0269] The server receives the text data sent by the user.
[0270] Step 4:
[0271] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[0272] Tokenization: Splitting text into words.
[0273] Stopword removal: Remove unimportant words such as common conjunctions.
[0274] Topic extraction: Identifying key keywords and phrases (e.g., "job").
[0275] Step 5:
[0276] The server uses an emotion engine to analyze the emotions in the text data. Specifically, it performs the following processes:
[0277] Sentiment scoring: Calculating a positive, negative, or neutral score based on the context of the text (e.g., "negative").
[0278] Step 6:
[0279] The server generates response candidates based on the analysis results (topic "work" and emotion "negative"). Specifically, it performs the following process.
[0280] Select a response template: Choose from multiple templates.
[0281] Response generation: Create a specific response based on the analysis results (e.g., "That's tough. Is there anything I can help you with?").
[0282] Step 7:
[0283] The server evaluates whether the generated response candidates are in harmony with the chat context. Specifically, it performs the following process.
[0284] Check the flow of the conversation: Check the previous conversation and the overall tone.
[0285] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[0286] Step 8:
[0287] The server adjusts the generated response candidates by:
[0288] Adjust endings: Change to a lighter tone or more empathetic expressions.
[0289] Response scoring: Score the adjusted responses and select the best one.
[0290] Step 9:
[0291] The server finalizes the tailored response and sends it to the user's terminal.
[0292] Step 10:
[0293] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "That's tough. Is there anything I can help you with?").
[0294] Example 2
[0295] 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."
[0296] In conventional chat systems, it was difficult to accurately recognize users' emotions and generate appropriate responses based on them. As a result, the dialogue with users felt unnatural, which led to lower satisfaction. Furthermore, responses often did not match the user's context or emotions, further reducing the quality of communication.
[0297] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a means for receiving text data from a user, a means for analyzing the received text data using natural language processing technology and identifying emotions and topics, a means for generating reply candidates using a generative AI model based on the identified emotions and topics, a means for evaluating whether the generated reply candidates are in harmony with the chat context and adjusting them as necessary, and a means for sending the adjusted reply candidates to the user. This enables the generation of natural responses that match the user's emotions and context. Furthermore, the use of an emotion engine can track changes in the user's emotions and provide optimal responses, thereby improving user satisfaction and the quality of the chat experience.
[0298] A "user" is an end user who uses the chat system to input text data and engage in conversation.
[0299] "Text data" refers to character information that a user inputs and sends on the chat screen.
[0300] "Natural language processing technology" is a technology for processing human language using computers, enabling text analysis, understanding meaning, and identifying emotions.
[0301] "Emotion" refers to the emotional state contained in the text data entered by the user, and is classified into categories such as positive, negative, and neutral.
[0302] A "topic" refers to the main topic or theme of a user's text data.
[0303] A "generative AI model" is an artificial intelligence model that generates an appropriate response based on an input prompt sentence.
[0304] A "prompt sentence" is an input sentence given to a generative AI model, and is text that contains instructions for generating a response.
[0305] "Response candidates" refer to multiple reply options that the generative AI model generates in response to the user's text data.
[0306] An "emotion engine" is a program or system that analyzes the emotions in text data and generates and adjusts responses based on the results.
[0307] "Context" indicates the circumstances under which a particular statement was made in a series of user interactions, and refers to the context for understanding its meaning.
[0308] "Harmony" means that the generated response matches the user's context and emotions, and is consistent enough to form a natural dialogue.
[0309] "Sending" refers to the act of the server communicating the generated and tailored response to the user's terminal.
[0310] A "terminal" is a device through which a user accesses the chat system and engages in conversation.
[0311] The system of the present invention is a chat system that recognizes the user's emotions and generates and adjusts appropriate responses. Specific embodiments for implementing this system will be described below.
[0312] System Generation
[0313] The system includes the following main components:
[0314] 1. User Device
[0315] 2. Network
[0316] 3. Server
[0317] 4. Emotion Engine
[0318] 5. Generative AI Models
[0319] User terminal
[0320] A user terminal is a device that allows a user to input and send text data. Terminals include PCs, smartphones, tablets, etc. When a user inputs a message on the chat screen and presses the send button, the data is immediately retrieved by the terminal and sent to the server.
[0321] server
[0322] The server plays a central role in processing the text data received from the user. The server does the following:
[0323] 1. Receiving text data
[0324] 2. Data analysis using an emotion engine
[0325] 3. Generating response candidates using a generative AI model
[0326] 4. Adjust response suggestions
[0327] 5. Sending the Response
[0328] Emotion Engine
[0329] The emotion engine analyzes incoming text data to identify user sentiment and topics. Specifically, it uses technologies such as Google Cloud's natural language processing API to analyze input text.
[0330] Generative AI Models
[0331] A generative AI model is an artificial intelligence model that generates appropriate response candidates based on analysis results. Specifically, it uses models such as OpenAI's GPT-3 to input a prompt and generate response candidates.
[0332] Example of operation
[0333] Example 1: Negative emotions
[0334] User: "Work hasn't been going well lately."
[0335] Server: Uses a sentiment engine to recognize text data as a topic called "work" and identify "negative" sentiment.
[0336] Server: Sends a prompt to the generative AI model to generate a response such as, "That's tough. Is there anything I can help you with?"
[0337] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[0338] Server: Sends the response to the device.
[0339] Terminal: displays the response to the user.
[0340] Example 2: Positive emotions
[0341] User: "It's a really great day today."
[0342] Server: Uses an emotion engine to recognize text data as a topic called "everyday" and identify "positive" emotions.
[0343] Server: Sends a prompt to the generative AI model to generate a response: "That's true! Did you do something fun?"
[0344] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[0345] Server: Sends the response to the device.
[0346] Terminal: displays the response to the user.
[0347] Prompt Sentence Examples
[0348] If the user enters "Work hasn't been going well lately," the server sends the following prompt to the generative AI model:
[0349] "A user types, 'Work hasn't been going well lately.' Generate an appropriate response."
[0350] Also, if the user types, "It's a really nice day today," the server will send the following prompt to the generative AI model:
[0351] "The user types, 'What a beautiful day today.' Generate an appropriate response."
[0352] In this way, the system of the present invention analyzes user emotions in real time and generates and adjusts natural and appropriate responses to improve the chat experience. Furthermore, by combining the emotion engine with a generative AI model, it is possible to increase user satisfaction.
[0353] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0354] Step 1:
[0355] The user enters text data into the chat screen and presses the send button. The device captures this input in real time. An example input is "Work hasn't been going well recently." The input data is converted to JSON format by the device and sent to the server as an HTTP request.
[0356] Input: User-entered text data (e.g., "Work hasn't been going well lately.")
[0357] Output: JSON format text data sent from the terminal to the server
[0358] Step 2:
[0359] The server analyzes the received JSON-formatted text data. Specifically, it uses natural language processing (NLP) technology and an emotion engine (e.g., a cloud-based API) to analyze the user's text data and identify emotions and topics. By calling functions such as "sentiment analysis" and "topic extraction," the server extracts the topic "work," which has "negative emotions."
[0360] Input: JSON format text data received from the terminal
[0361] Output: Sentiment and topic data after analysis (e.g., Sentiment: "Negative", Topic: "Work")
[0362] Step 3:
[0363] Based on the analysis results, the server uses a generative AI model (e.g., GPT-3) to generate appropriate response candidates. This is done by inputting a prompt sentence into the generative AI model. The generative AI model returns an appropriate response candidate based on the provided prompt sentence. For example, "That's tough. Is there anything I can help you with?" is generated.
[0364] Input: Prompt sentence based on the analysis result (e.g., "The user entered, 'Work hasn't been going well recently.' Please generate an appropriate response.")
[0365] Output: Possible responses from the generative AI model (e.g., "That's tough. Is there anything I can help you with?")
[0366] Step 4:
[0367] The server evaluates the generated response candidates and adjusts them as needed, again using the emotion engine to ensure the response matches the user's sentiment and context. For example, if a positive change is observed in the series of interactions after the user sent the text, the server may adjust the tone of the response by slightly lighter.
[0368] Input: Response candidates from a generative AI model
[0369] Output: The optimal response that matches the context and emotion (e.g., "That's tough. It's important to take a break.")
[0370] Step 5:
[0371] Once the adjusted response is confirmed, the server sends the response to the device, which then displays the received response on the chat screen, allowing the user to confirm the adjusted response and continue the conversation.
[0372] Input: Optimal response after tuning
[0373] Output: The response displayed on the terminal (e.g., "That's tough. It's important to take a break.")
[0374] (Application example 2)
[0375] 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."
[0376] In modern brick-and-mortar stores, it is necessary to quickly respond appropriately to customers' emotions. However, conventional customer service systems have difficulty recognizing customers' emotions in real time and suggesting appropriate responses based on those emotions. Furthermore, there is a lack of a method to instantly convert a customer's voice input into text data, analyze that data, and generate appropriate responses. This leads to issues such as inconsistent customer service quality.
[0377] 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 text data from a user, means for analyzing the received text data and identifying emotions and topics, and means for generating response candidates based on the identified emotions and topics. This makes it possible to capture a customer's voice and convert it into text data in real time, analyze the converted text data, and generate and adjust appropriate responses.
[0378] The "means for receiving text data from a user" refers to a device or software function for capturing text data entered by a user and incorporating it into the system.
[0379] The "means for analyzing received text data and identifying emotions and topics" refers to the function of a device or software that uses an emotion engine or natural language processing technology to identify emotions and topics in received text data.
[0380] The "means for generating candidate responses based on the identified emotions and topics" refers to the functionality of a device or software for generating appropriate responses according to the analysis results of emotions and topics.
[0381] "Means for evaluating whether generated response candidates are in harmony with the chat context and adjusting them as necessary" refers to the function of a device or software for evaluating whether generated responses are appropriate for the development of the chat and adjusting them as appropriate.
[0382] The "means for sending adjusted response candidates to a user" refers to the functionality of a device or software for ultimately sending adjusted responses to a user.
[0383] The "means for capturing customer speech and converting it into text data in real time" refers to a device or software function for capturing customer speech as audio and converting it into text data.
[0384] "Means for transmitting and analyzing the converted text data and generating and adjusting an appropriate response" refers to the functionality of the device or software for transmitting the text data converted from speech to a server, analyzing it, and generating and adjusting an appropriate response.
[0385] The "means for displaying the adjusted response on a display device" refers to a function of a device or software for displaying the adjusted response on a display or the like so that the user can confirm it.
[0386] The system of this invention is an "emotion-aware customer service assistant" that recognizes customer emotions in real time and provides appropriate responses to improve the customer service experience in brick-and-mortar stores. This system enables users (store clerks) to wear smart glasses or a head-mounted display and provide appropriate customer service through dialogue with customers.
[0387] System configuration:
[0388] 1. Voice Capture and Recognition
[0389] Hardware: Smart glasses (with built-in microphone)
[0390] Software: Google Cloud Speech-to-Text API
[0391] Processing: User (customer) speech is captured as audio and converted into text data in real time. For example, if a customer says, "I'm not satisfied with the service I received yesterday," this speech is immediately converted into text data and entered into the system.
[0392] 2. Sending and analyzing text data
[0393] Hardware: Server
[0394] Software: Hugging Face Transformers (NLP model)
[0395] Processing: The captured text data is sent to a server, where natural language processing techniques are used to identify sentiment and topics. For example, the text data "I'm not satisfied with the service yesterday" is parsed into the topic "service" and the sentiment "negative."
[0396] 3. Generating response candidates
[0397] Hardware: Server
[0398] Software: OpenAI GPT-3 (generative AI model)
[0399] Processing: Based on the identified sentiment and topic, generate appropriate response candidates, for example, "Sorry, could you tell me what you were dissatisfied with?"
[0400] Example prompts to input to a generative AI model:
[0401] "Sentiment: Negative Topic: Service Generate candidate responses."
[0402] 4. Adjusting and Evaluating Responses
[0403] Hardware: Server
[0404] Software: Emotion Engine
[0405] Processing: Evaluate whether the generated response candidates fit the context of the chat and adjust them as needed. For example, if the customer starts to calm down, the next response will be adjusted to be more light-hearted.
[0406] 5. Sending and Displaying Responses
[0407] Hardware: Smart glasses
[0408] Software: Display Interface
[0409] Processing: The adjusted response is displayed on the smart glasses display, and the user (store clerk) takes appropriate action based on it.
[0410] Examples:
[0411] In the case of negative emotions
[0412] User (customer): "I'm not satisfied with the service I received yesterday."
[0413] Server: Recognizes text data as a topic called "service" and identifies "negative" sentiment.
[0414] Server: Generates a response that says, "Sorry. Can you tell me what you weren't happy with?"
[0415] Server: Evaluates the response for contextual fit and checks for consistency.
[0416] Server: Sends the response to the smart glasses.
[0417] Terminal (smart glasses): Displays the response to the user (store clerk).
[0418] In the case of positive emotions
[0419] User (customer): "I was very satisfied today."
[0420] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[0421] Server: Generate a response like "Thank you so much! Can you tell me what exactly you liked?"
[0422] Server: Evaluates the response for contextual fit and checks for consistency.
[0423] Server: Sends the response to the smart glasses.
[0424] Terminal (smart glasses): Displays the response to the user (store clerk).
[0425] In this way, the system of the present invention analyzes customer emotions in real time in physical stores and generates and adjusts appropriate responses to improve the customer experience.
[0426] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0427] Step 1:
[0428] The user (customer) speaks. The microphone in the smart glasses captures this voice. The voice is acquired as analog voice data.
[0429] Input: Customer's speech (voice data)
[0430] Output: Captured analog audio data
[0431] How it works: The microphone in the smart glasses captures what the customer says.
[0432] Step 2:
[0433] The device (smart glasses) uses the Google Cloud Speech-to-Text API to convert captured voice data into text data in real time.
[0434] Input: Captured analog audio data
[0435] Output: Text data
[0436] How it works: Converts audio data into text using the Google Cloud Speech-to-Text API.
[0437] Step 3:
[0438] The terminal (smart glasses) sends the converted text data to the server.
[0439] Input: Text data
[0440] Output: Text data sent to the server
[0441] How it works: The smart glasses send text data to the server via an HTTP request.
[0442] Step 4:
[0443] The server analyzes the received text data and uses Hugging Face Transformers to identify emotions and topics.
[0444] Input: Text data
[0445] Output: Sentiment and topic analysis results
[0446] How it works: Analyzes text data using Hugging Face Transformers to identify emotions and topics.
[0447] Step 5:
[0448] The server generates appropriate response candidates using OpenAI GPT-3 based on the identified sentiment and topic.
[0449] Input: Sentiment and topic analysis results
[0450] Output: Response candidates
[0451] How it works: Enter a prompt into OpenAI GPT-3 and generate potential responses.
[0452] example:
[0453] Prompt: "Sentiment: Negative Topic: Service Please generate a potential response."
[0454] Step 6:
[0455] The server evaluates whether the generated response candidates are in tune with the chat context and adjusts them as needed using an emotion engine.
[0456] Input: Response candidate
[0457] Output: Adjusted response candidates
[0458] How it works: Evaluate generated response candidates for fit to the context and adjust them to be harmonious.
[0459] Step 7:
[0460] The server sends the adjusted candidate responses to the smart glasses.
[0461] Input: Adjusted response candidates
[0462] Output: Possible responses sent to the terminal
[0463] How it works: The refined response candidates are sent in an HTTP request to the smart glasses.
[0464] Step 8:
[0465] The terminal (smart glasses) displays the received response on the user's (store clerk's) display.
[0466] Input: Adjusted response candidates sent by the server
[0467] Output: Display on the screen
[0468] How it works: The smart glasses display displays tailored response candidates.
[0469] 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.
[0470] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (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.
[0471] 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.
[0472] [Second embodiment]
[0473] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0474] 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.
[0475] 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).
[0476] 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.
[0477] 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.
[0478] 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).
[0479] 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.
[0480] 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.
[0481] 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.
[0482] 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.
[0483] 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.
[0484] 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."
[0485] The system of the present invention includes a series of programs for naturally enhancing user conversation through chat. The processing of the programs will be specifically explained below. A concrete example will be used to show how users, terminals, and servers are involved.
[0486] 1. Handling User Input
[0487] A conversation begins when a user enters text into the chat screen and presses the send button. For example, a user might enter, "The weather is nice today." The user's input is immediately captured by the device and sent to the server.
[0488] 2. Text Data Analysis
[0489] The server analyzes the received text data using natural language processing (NLP) technology to identify the sentiment and topic of the text data. For example, if the text says "The weather is nice today," the topic is analyzed as "weather" and the sentiment is "positive."
[0490] 3. Generating response candidates
[0491] Based on the analysis results, the server generates an appropriate response candidate. Multiple response candidates are prepared, and the most appropriate one is selected. For example, the server might generate a response such as, "That's true! It would be nice to go for a walk outside on a day like this."
[0492] 4. Adjusting the response
[0493] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them as necessary. For example, it may change the wording of the response depending on the context of the conversation. If the user is joking, it may make the response more lighthearted.
[0494] 5. Sending the Response
[0495] Once the adjusted response is confirmed, the server sends it to the device, which then displays the received response on the chat screen. Thus, the user can see the response, "That's true! It would be nice to go for a walk outside on a day like this."
[0496] Specific examples
[0497] Example 1: Small talk scenario
[0498] User: "The weather is nice today."
[0499] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[0500] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[0501] Server: Evaluates the response for contextual fit and checks for consistency.
[0502] Server: Sends the response to the device.
[0503] Terminal: displays the response to the user.
[0504] Example 2: Question scenario
[0505] User: "Are there any recent movies you'd recommend?"
[0506] Server: Recognizes the text data as a topic called "movie recommendations."
[0507] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[0508] Server: Evaluate the response to see if it fits the context, and if so, accept it.
[0509] Server: Sends the response to the device.
[0510] Terminal: displays the response to the user.
[0511] In this way, the system of the present invention makes the user's chat experience natural and exciting, resulting in increased user satisfaction and improved chat continuity.
[0512] The processing flow will be explained below.
[0513] Step 1:
[0514] The user types a message on the chat screen and presses the send button. For example, the user types, "The weather is nice today."
[0515] Step 2:
[0516] The terminal acquires the input text data and transmits it to the server.
[0517] Step 3:
[0518] The server receives the text data sent by the user.
[0519] Step 4:
[0520] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[0521] Tokenization: Splitting text into words.
[0522] Stopword removal: Remove non-essential words such as common conjunctions.
[0523] Topic extraction: Identifying key keywords and phrases (e.g., "weather").
[0524] Sentiment analysis: Scoring the sentiment in text as positive, negative, or neutral (e.g., "positive").
[0525] Step 5:
[0526] The server generates response candidates based on the analysis results (topic "weather" and emotion "positive"). Specifically, it performs the following process.
[0527] Response template selection: Choose from multiple templates to suit your needs.
[0528] Context generation: Creating a specific response based on the analysis results (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[0529] Step 6:
[0530] The server evaluates whether the generated response candidates are in sync with the chat context. Specifically, it checks the following:
[0531] Conversation flow: Check the previous conversation and overall tone.
[0532] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[0533] Step 7:
[0534] The server adjusts the generated response candidates by:
[0535] Adjust endings: Change to a lighter tone or more empathetic expressions.
[0536] Response scoring: Score the adjusted responses and select the best one.
[0537] Step 8:
[0538] The server finalizes the tailored response and sends it to the user's terminal.
[0539] Step 9:
[0540] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[0541] Example 1
[0542] 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."
[0543] Conventional chat systems face the challenge of generating appropriate and natural responses to text messages entered by users. They are particularly required to provide appropriate responses based on emotions and topics to ensure the conversation continues smoothly. Furthermore, they lack the ability to evaluate whether the generated responses fit the context and adjust them as necessary, which can result in an unnatural user experience.
[0544] 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.
[0545] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data using natural language processing technology to identify emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user. This makes it possible to provide appropriate and natural responses to text messages entered by the user, ensuring a smooth dialogue. Furthermore, by evaluating whether the generated responses fit the context and adjusting them appropriately, a more natural and smooth user experience can be achieved.
[0546] "Text data" refers to text information that a user inputs into a chat system.
[0547] "Natural language processing technology" is a set of technologies that computers use to understand, analyze, and generate human language.
[0548] "Emotion" refers to the emotional state included in the user's input, and is classified into categories such as positive and negative.
[0549] A "topic" refers to a subject or range of subjects mentioned in the text data entered by the user.
[0550] "Candidate replies" are multiple possible replies that the server generates in response to a user's input.
[0551] "Context" refers to the context and situation of the conversation before and after a chat, and is the information needed to choose an appropriate response.
[0552] "Tuning" refers to modifying generated response candidates to fit the context.
[0553] A "generative AI model" is an artificial intelligence algorithm or learning model that generates appropriate responses to user input.
[0554] An "algorithm" refers to a set of procedural or computational rules for accomplishing a particular task.
[0555] The system of the present invention allows users to have natural and engaging conversations through chat. The program of this system functions effectively through cooperation between users, terminals, and a server. Specific embodiments for implementing this system are described below.
[0556] Hardware and Software Use
[0557] The servers use cloud servers or data center systems with high-performance processing capabilities. Libraries such as "SpaCy" and "Google Natural Language API" are used to implement natural language processing technology on the servers. Generative AI models (e.g., large-scale language models such as GPT-3) are also used to generate responses.
[0558] A device is a PC, smartphone, tablet, or other device used by a user. The device has the function of acquiring input from the user, sending it to a server, and receiving and displaying responses from the server. A web browser or mobile app runs on the device.
[0559] A user is a person who interacts with a system and enjoys the interaction through inputs and responses.
[0560] Procedures for implementing an invention
[0561] 1. Obtaining user input: A conversation begins when a user enters text into the chat screen on their device and presses the send button. For example, the user enters "The weather is nice today." The device immediately obtains this text data and sends it to the server.
[0562] 2. Receiving and analyzing text data: The server receives the text data sent from the device. The received data is analyzed using natural language processing technology to identify the sentiment and topic of the text. For example, if the text says "The weather is nice today," the topic is identified as "weather" and the sentiment as "positive."
[0563] 3. Response candidate generation: Based on the analysis results, the server uses a generative AI model to generate appropriate response candidates. Multiple response candidates are generated, and the most appropriate response is selected from them. For example, the response generated might be, "That's true! It would be nice to take a walk outside on a day like this."
[0564] 4. Response Adjustment: The server evaluates the generated response candidates for their suitability to the context and adjusts them as necessary. It may modify the response based on the context of the conversation and the user's writing style. For example, if the user is being joking, it may change the tone of the response to be more lighthearted.
[0565] 5. Sending and displaying the response: The final response is sent from the server to the device, which displays the received response on the chat screen for the user to review.
[0566] Specific examples
[0567] Example 1: Small talk scenario
[0568] User: "The weather is nice today."
[0569] Terminal: Send this text data to the server.
[0570] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[0571] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[0572] Server: Evaluates the response for its suitability for the context and adapts as necessary.
[0573] Server: Sends a confirmed response to the terminal.
[0574] Terminal: Displays the received response to the user.
[0575] Example 2: Question scenario
[0576] User: "Are there any recent movies you'd recommend?"
[0577] Terminal: Send this text data to the server.
[0578] Server: Recognizes the text data as a topic called "movie recommendations."
[0579] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[0580] Server: Evaluates the response for contextual fit and, if appropriate, matches it.
[0581] Server: Sends the response to the device.
[0582] Terminal: Displays the received response to the user.
[0583] In this way, the system of the present invention makes the user's chat experience natural and engaging, resulting in increased user satisfaction and improved chat retention.
[0584] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0585] Step 1:
[0586] Getting User Input
[0587] The user enters text into the chat screen on the device and presses the send button.
[0588] Input: Text data entered by the user (e.g., "The weather is nice today")
[0589] Specific operation: The terminal acquires the text data entered by the user and sends it to the server using an HTTP request.
[0590] Output: Text data sent to the server
[0591] Step 2:
[0592] Receiving and analyzing text data
[0593] The server receives the text data sent from the terminal.
[0594] Input: Text data received from the device
[0595] Specific operation: The server analyzes the received text data using natural language processing technology (e.g., "SpaCy" or "Google Natural Language API") to identify sentiment and topics.
[0596] Output: Identified sentiment (e.g., "positive") and topic (e.g., "weather")
[0597] Step 3:
[0598] Generate candidate responses
[0599] Based on the analysis results, the server generates appropriate response candidates using a generative AI model (e.g., GPT-3).
[0600] Input: Identified sentiment and topic
[0601] Specific operation: The server inputs the analysis results into a generative AI model to generate multiple response candidates, from which the optimal response is selected.
[0602] Output: Generated response candidates (e.g., "That's true! It would be nice to go for a walk outside on a day like this.")
[0603] Step 4:
[0604] Response adjustment
[0605] The server evaluates the generated candidate responses for suitability to the context and adjusts them as necessary.
[0606] Input: Generated response candidates and the surrounding conversation history
[0607] What it does: The server reviews the conversation history and evaluates whether the response fits the context, adjusting the tone and content of the response as needed.
[0608] Output: Adjusted response candidates
[0609] Step 5:
[0610] Sending and Displaying Responses
[0611] The server transmits the adjusted response candidates to the terminal, which displays them on the chat screen.
[0612] Input: Adjusted response candidates
[0613] Specific operation: The server uses HTTP response to send the adjusted response to the device, and the device displays the received response on the chat screen.
[0614] Output: The response shown to the user (e.g., "You're right! It would be nice to go for a walk outside on a day like this.")
[0615] (Application example 1)
[0616] 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."
[0617] Conventional chat systems can return simple responses to user input, but have difficulty recommending appropriate content based on the emotions and interests of individual users. Furthermore, the responses generated may not be appropriate for the context, resulting in reduced user satisfaction. The present invention aims to provide a system that improves users' chat experiences and efficiently recommends movies and TV shows in content distribution services.
[0618] 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.
[0619] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data and identifying emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user and recommending movies or TV dramas. This enables appropriate content recommendations based on the user's emotions and interests, improving the user's chat experience and satisfaction.
[0620] "User" refers to a person who utilizes the system to input text data and receive responses.
[0621] "Text data" refers to character string information entered by the user.
[0622] "Means for receiving" refers to a function for inputting text data sent from a user into the server.
[0623] "Means for analyzing" refers to a function for understanding the content of received text data and processing it to identify sentiment and topics.
[0624] "Emotion" refers to the user's emotional state extracted from text data.
[0625] "Topic" refers to the subject or interest expressed in a user's text data.
[0626] "Means for generating candidate responses" refers to the ability to create appropriate replies based on the sentiment and topics identified by the analysis.
[0627] "Means for evaluating suitability" refers to a function that checks whether the generated response candidates are appropriate for the chat context.
[0628] "Means for adjusting" refers to the function of correcting the generated response candidates to suit the context if they are inappropriate.
[0629] The "means for transmitting" refers to a function for transmitting the adjusted response candidates back to the user's terminal.
[0630] "Means for recommending movies and TV shows" refers to a function that selects and recommends appropriate movies and TV shows based on the user's emotions and topics.
[0631] "Natural language processing technology" refers to a technical method for understanding and analyzing human language.
[0632] A "generative AI model" refers to a model that uses artificial intelligence to generate appropriate responses from text data.
[0633] A "prompt" refers to a series of instructions that are input to a generative AI model.
[0634] The system of the present invention receives and analyzes text data from a user, and generates, adjusts, and provides a response to recommend content such as movies and dramas. Specific embodiments of the system are described below.
[0635] The system consists of terminals such as smartphones and smart glasses, a server, and a network that connects them.
[0636] 1. Hardware and Software Configuration
[0637] Devices: Smartphones, smart glasses
[0638] Software: Chat interface (e.g. React Native)
[0639] Server: A high-performance computer
[0640] Software: Natural language processing libraries (e.g., spaCy, BERT), generative AI models (e.g., OpenAI GPT-3), response tuning algorithms (e.g., implemented in Python)
[0641] 2. System operation explanation
[0642] The server receives text data entered by the user in real time and analyzes it to identify sentiment and topics. It then uses a generative AI model to generate potential responses based on the identified sentiment and topics. It then evaluates whether the generated responses fit the chat context and adjusts them as necessary. Finally, it sends the adjusted responses to the user's device.
[0643] 3. Specific Examples
[0644] User: "Tell me some good movies recently."
[0645] Server: Analyzes the received text data and identifies the topic "movie recommendations" and the sentiment "interesting."
[0646] Server: Uses a generative AI model (e.g., GPT-3) to generate a response such as, "Recently, people have been saying that 'Interstellar' is interesting. Its visual effects are particularly impressive."
[0647] Server: Evaluate whether the response fits the context of the chat and adjust as needed.
[0648] Server: Sends the adjusted response to the user's device.
[0649] User: Receives the response, "Everyone's been saying Interstellar is great these days. The visual effects are particularly impressive."
[0650] 4. Examples of prompts
[0651] User input: "Tell me some good movies recently"
[0652] AI model prompt:
[0653] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[0654] User Question: Tell me some interesting movies recently
[0655] Emotion: Interesting
[0656] Topic: Movie Recommendations
[0657] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[0658] This system improves the chat experience by allowing users to receive appropriate movie and TV show recommendations based on their emotions and topics. Example prompts demonstrate how the generative AI model works and generates appropriate responses. This process improves user satisfaction and experience.
[0659] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0660] Step 1:
[0661] A user inputs and sends text data to a chat interface using a smartphone or smart glasses. The input text data includes a user question, such as "Tell me about some interesting movies recently." After the text data is acquired by the device, it is immediately sent to the server.
[0662] Step 2:
[0663] The server receives the text data. It uses a natural language processing library (e.g., spaCy, BERT) to analyze the received data. During the analysis process, the server identifies trending topics and user sentiment from the content of the text data. Specifically, it analyzes the input text data "Tell me about some interesting movies recently" and extracts the topic "recommended movies" and the sentiment "interesting" as data.
[0664] Step 3:
[0665] The server uses the identified topic and emotion information to input a prompt sentence into a generative AI model (e.g., GPT-3) to generate response candidates. The prompt sentence is input as follows:
[0666] User input: "Tell me some good movies recently"
[0667] AI model prompt:
[0668] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[0669] User Question: Tell me some interesting movies recently
[0670] Emotion: Interesting
[0671] Topic: Movie Recommendations
[0672] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[0673] By inputting this prompt into a generative AI model, appropriate response candidates are generated.
[0674] Step 4:
[0675] The generative AI model returns potential responses to the server, which evaluates them to see if they fit the context of the chat. Using a response-adjustment algorithm (e.g., a custom script), the server adjusts the response as needed. For example, if the phrase "The visual effects are particularly impressive" is inappropriate, it might be replaced with a different phrase.
[0676] Step 5:
[0677] The server then finalizes the adjusted response and sends it to the user's device. The adjusted response is then displayed on the chat screen of the user's smartphone or smart glasses. For example, a message like "People are saying that 'Interstellar' is interesting these days. The visual effects are particularly impressive."
[0678] Step 6:
[0679] The user checks the server's response through the chat screen on their device and then engages in the next conversation. This repetition improves the user's chat experience and allows them to receive appropriate content recommendations.
[0680] 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.
[0681] The system of the present invention is a chat system incorporating an emotion engine that recognizes user emotions, and includes a series of programs for naturally enhancing user conversations. The program processing is explained in detail below. Using concrete examples, we will show how users, terminals, and servers are involved.
[0682] Program processing details
[0683] 1. Handling User Input
[0684] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well recently." The user's message is immediately captured by the device and sent to the server.
[0685] 2. Text Data Analysis
[0686] The server analyzes the received text data. This analysis includes an emotion engine that uses natural language processing (NLP) techniques to identify the emotion and topic of the text data. For example, if the input is "Work hasn't been going well lately," the topic will be analyzed as "work" and the emotion as "negative."
[0687] 3. Generating response candidates
[0688] Based on the analysis results, the server generates appropriate candidate responses. The emotion engine provides guidance in generating responses depending on the identified emotion. For example, the response generated might be, "That's tough. Is there anything I can help you with?"
[0689] 4. Adjusting the response
[0690] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them if necessary. The emotion engine also participates in this evaluation process, tracking changes in the user's emotions and adjusting responses appropriately. For example, if the user is gradually becoming calmer, the response may be adjusted to be a bit more lighthearted.
[0691] 5. Sending the Response
[0692] Once the adjusted response is confirmed, the server sends the response to the terminal, which displays the received response on the chat screen, allowing the user to confirm the adjusted response and engage in further dialogue.
[0693] Specific examples
[0694] Example 1: Negative emotions
[0695] User: "Work hasn't been going well lately."
[0696] Server: Recognizes the text data as a topic called "work" and identifies "negative" sentiment.
[0697] Server: Generate a response of "That's a shame. Is there anything I can help you with?"
[0698] Server: Evaluates the response for contextual fit and checks for consistency.
[0699] Server: Sends the response to the device.
[0700] Terminal: displays the response to the user.
[0701] Example 2: Positive emotions
[0702] User: "It's a really great day today."
[0703] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[0704] Server: Generate a response of "That's true! Did you have any fun?"
[0705] Server: Evaluates the response for contextual fit and checks for consistency.
[0706] Server: Sends the response to the device.
[0707] Terminal: displays the response to the user.
[0708] In this way, the system of the present invention incorporating an emotion engine analyzes the user's emotions in real time and generates and adjusts appropriate responses, making the chat experience more natural and exciting, thereby increasing user satisfaction and improving chat continuity.
[0709] The processing flow will be explained below.
[0710] Step 1:
[0711] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well lately."
[0712] Step 2:
[0713] The terminal acquires the text data entered by the user and transmits it to the server.
[0714] Step 3:
[0715] The server receives the text data sent by the user.
[0716] Step 4:
[0717] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[0718] Tokenization: Splitting text into words.
[0719] Stopword removal: Remove unimportant words such as common conjunctions.
[0720] Topic extraction: Identifying key keywords and phrases (e.g., "job").
[0721] Step 5:
[0722] The server uses an emotion engine to analyze the emotions in the text data. Specifically, it performs the following processes:
[0723] Sentiment scoring: Calculating a positive, negative, or neutral score based on the context of the text (e.g., "negative").
[0724] Step 6:
[0725] The server generates response candidates based on the analysis results (topic "work" and emotion "negative"). Specifically, it performs the following process.
[0726] Select a response template: Choose from multiple templates.
[0727] Response generation: Create a specific response based on the analysis results (e.g., "That's tough. Is there anything I can help you with?").
[0728] Step 7:
[0729] The server evaluates whether the generated response candidates are in harmony with the chat context. Specifically, it performs the following process.
[0730] Check the flow of the conversation: Check the previous conversation and the overall tone.
[0731] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[0732] Step 8:
[0733] The server adjusts the generated response candidates by:
[0734] Adjust endings: Change to a lighter tone or more empathetic expressions.
[0735] Response scoring: Score the adjusted responses and select the best one.
[0736] Step 9:
[0737] The server finalizes the tailored response and sends it to the user's terminal.
[0738] Step 10:
[0739] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "That's tough. Is there anything I can help you with?").
[0740] Example 2
[0741] 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."
[0742] In conventional chat systems, it was difficult to accurately recognize users' emotions and generate appropriate responses based on them. As a result, the dialogue with users felt unnatural, which led to lower satisfaction. Furthermore, responses often did not match the user's context or emotions, further reducing the quality of communication.
[0743] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a means for receiving text data from a user, a means for analyzing the received text data using natural language processing technology and identifying emotions and topics, a means for generating reply candidates using a generative AI model based on the identified emotions and topics, a means for evaluating whether the generated reply candidates are in harmony with the chat context and adjusting them as necessary, and a means for sending the adjusted reply candidates to the user. This enables the generation of natural responses that match the user's emotions and context. Furthermore, the use of an emotion engine can track changes in the user's emotions and provide optimal responses, thereby improving user satisfaction and the quality of the chat experience.
[0744] A "user" is an end user who uses the chat system to input text data and engage in conversation.
[0745] "Text data" refers to character information that a user inputs and sends on the chat screen.
[0746] "Natural language processing technology" is a technology for processing human language using computers, enabling text analysis, understanding meaning, and identifying emotions.
[0747] "Emotion" refers to the emotional state contained in the text data entered by the user, and is classified into categories such as positive, negative, and neutral.
[0748] A "topic" refers to the main topic or theme of a user's text data.
[0749] A "generative AI model" is an artificial intelligence model that generates an appropriate response based on an input prompt sentence.
[0750] A "prompt sentence" is an input sentence given to a generative AI model, and is text that contains instructions for generating a response.
[0751] "Response candidates" refer to multiple reply options that the generative AI model generates in response to the user's text data.
[0752] An "emotion engine" is a program or system that analyzes the emotions in text data and generates and adjusts responses based on the results.
[0753] "Context" indicates the circumstances under which a particular statement was made in a series of user interactions, and refers to the context for understanding its meaning.
[0754] "Harmony" means that the generated response matches the user's context and emotions, and is consistent enough to form a natural dialogue.
[0755] "Sending" refers to the act of the server communicating the generated and tailored response to the user's terminal.
[0756] A "terminal" is a device through which a user accesses the chat system and engages in conversation.
[0757] The system of the present invention is a chat system that recognizes the user's emotions and generates and adjusts appropriate responses. Specific embodiments for implementing this system will be described below.
[0758] System Generation
[0759] The system includes the following main components:
[0760] 1. User Device
[0761] 2. Network
[0762] 3. Server
[0763] 4. Emotion Engine
[0764] 5. Generative AI Models
[0765] User terminal
[0766] A user terminal is a device that allows a user to input and send text data. Terminals include PCs, smartphones, tablets, etc. When a user inputs a message on the chat screen and presses the send button, the data is immediately retrieved by the terminal and sent to the server.
[0767] server
[0768] The server plays a central role in processing the text data received from the user. The server does the following:
[0769] 1. Receiving text data
[0770] 2. Data analysis using an emotion engine
[0771] 3. Generating response candidates using a generative AI model
[0772] 4. Adjust response suggestions
[0773] 5. Sending the Response
[0774] Emotion Engine
[0775] The emotion engine analyzes incoming text data to identify user sentiment and topics. Specifically, it uses technologies such as Google Cloud's natural language processing API to analyze input text.
[0776] Generative AI Models
[0777] A generative AI model is an artificial intelligence model that generates appropriate response candidates based on analysis results. Specifically, it uses models such as OpenAI's GPT-3 to input a prompt and generate response candidates.
[0778] Example of operation
[0779] Example 1: Negative emotions
[0780] User: "Work hasn't been going well lately."
[0781] Server: Uses a sentiment engine to recognize text data as a topic called "work" and identify "negative" sentiment.
[0782] Server: Sends a prompt to the generative AI model to generate a response such as, "That's tough. Is there anything I can help you with?"
[0783] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[0784] Server: Sends the response to the device.
[0785] Terminal: displays the response to the user.
[0786] Example 2: Positive emotions
[0787] User: "It's a really great day today."
[0788] Server: Uses an emotion engine to recognize text data as a topic called "everyday" and identify "positive" emotions.
[0789] Server: Sends a prompt to the generative AI model to generate a response: "That's true! Did you do something fun?"
[0790] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[0791] Server: Sends the response to the device.
[0792] Terminal: displays the response to the user.
[0793] Prompt Sentence Examples
[0794] If the user enters "Work hasn't been going well lately," the server sends the following prompt to the generative AI model:
[0795] "A user types, 'Work hasn't been going well lately.' Generate an appropriate response."
[0796] Also, if the user types, "It's a really nice day today," the server will send the following prompt to the generative AI model:
[0797] "The user types, 'What a beautiful day today.' Generate an appropriate response."
[0798] In this way, the system of the present invention analyzes user emotions in real time and generates and adjusts natural and appropriate responses to improve the chat experience. Furthermore, by combining the emotion engine with a generative AI model, it is possible to increase user satisfaction.
[0799] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0800] Step 1:
[0801] The user enters text data into the chat screen and presses the send button. The device captures this input in real time. An example input is "Work hasn't been going well recently." The input data is converted to JSON format by the device and sent to the server as an HTTP request.
[0802] Input: User-entered text data (e.g., "Work hasn't been going well lately.")
[0803] Output: JSON format text data sent from the terminal to the server
[0804] Step 2:
[0805] The server analyzes the received JSON-formatted text data. Specifically, it uses natural language processing (NLP) technology and an emotion engine (e.g., a cloud-based API) to analyze the user's text data and identify emotions and topics. By calling functions such as "sentiment analysis" and "topic extraction," the server extracts the topic "work," which has "negative emotions."
[0806] Input: JSON format text data received from the terminal
[0807] Output: Sentiment and topic data after analysis (e.g., Sentiment: "Negative", Topic: "Work")
[0808] Step 3:
[0809] Based on the analysis results, the server uses a generative AI model (e.g., GPT-3) to generate appropriate response candidates. This is done by inputting a prompt sentence into the generative AI model. The generative AI model returns an appropriate response candidate based on the provided prompt sentence. For example, "That's tough. Is there anything I can help you with?" is generated.
[0810] Input: Prompt sentence based on the analysis result (e.g., "The user entered, 'Work hasn't been going well recently.' Please generate an appropriate response.")
[0811] Output: Possible responses from the generative AI model (e.g., "That's tough. Is there anything I can help you with?")
[0812] Step 4:
[0813] The server evaluates the generated response candidates and adjusts them as needed, again using the emotion engine to ensure the response matches the user's sentiment and context. For example, if a positive change is observed in the series of interactions after the user sent the text, the server may adjust the tone of the response by slightly lighter.
[0814] Input: Response candidates from a generative AI model
[0815] Output: The optimal response that matches the context and emotion (e.g., "That's tough. It's important to take a break.")
[0816] Step 5:
[0817] Once the adjusted response is confirmed, the server sends the response to the device, which then displays the received response on the chat screen, allowing the user to confirm the adjusted response and continue the conversation.
[0818] Input: Optimal response after tuning
[0819] Output: The response displayed on the terminal (e.g., "That's tough. It's important to take a break.")
[0820] (Application example 2)
[0821] 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."
[0822] In modern brick-and-mortar stores, it is necessary to quickly respond appropriately to customers' emotions. However, conventional customer service systems have difficulty recognizing customers' emotions in real time and suggesting appropriate responses based on those emotions. Furthermore, there is a lack of a method to instantly convert a customer's voice input into text data, analyze that data, and generate appropriate responses. This leads to issues such as inconsistent customer service quality.
[0823] 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 text data from a user, means for analyzing the received text data and identifying emotions and topics, and means for generating response candidates based on the identified emotions and topics. This makes it possible to capture a customer's voice and convert it into text data in real time, analyze the converted text data, and generate and adjust appropriate responses.
[0824] The "means for receiving text data from a user" refers to a device or software function for capturing text data entered by a user and incorporating it into the system.
[0825] The "means for analyzing received text data and identifying emotions and topics" refers to the function of a device or software that uses an emotion engine or natural language processing technology to identify emotions and topics in received text data.
[0826] The "means for generating candidate responses based on the identified emotions and topics" refers to the functionality of a device or software for generating appropriate responses according to the analysis results of emotions and topics.
[0827] "Means for evaluating whether generated response candidates are in harmony with the chat context and adjusting them as necessary" refers to the function of a device or software for evaluating whether generated responses are appropriate for the development of the chat and adjusting them as appropriate.
[0828] The "means for sending adjusted response candidates to a user" refers to the functionality of a device or software for ultimately sending adjusted responses to a user.
[0829] The "means for capturing customer speech and converting it into text data in real time" refers to a device or software function for capturing customer speech as audio and converting it into text data.
[0830] "Means for transmitting and analyzing the converted text data and generating and adjusting an appropriate response" refers to the functionality of the device or software for transmitting the text data converted from speech to a server, analyzing it, and generating and adjusting an appropriate response.
[0831] The "means for displaying the adjusted response on a display device" refers to a function of a device or software for displaying the adjusted response on a display or the like so that the user can confirm it.
[0832] The system of this invention is an "emotion-aware customer service assistant" that recognizes customer emotions in real time and provides appropriate responses to improve the customer service experience in brick-and-mortar stores. This system enables users (store clerks) to wear smart glasses or a head-mounted display and provide appropriate customer service through dialogue with customers.
[0833] System configuration:
[0834] 1. Voice Capture and Recognition
[0835] Hardware: Smart glasses (with built-in microphone)
[0836] Software: Google Cloud Speech-to-Text API
[0837] Processing: User (customer) speech is captured as audio and converted into text data in real time. For example, if a customer says, "I'm not satisfied with the service I received yesterday," this speech is immediately converted into text data and entered into the system.
[0838] 2. Sending and analyzing text data
[0839] Hardware: Server
[0840] Software: Hugging Face Transformers (NLP model)
[0841] Processing: The captured text data is sent to a server, where natural language processing techniques are used to identify sentiment and topics. For example, the text data "I'm not satisfied with the service yesterday" is parsed into the topic "service" and the sentiment "negative."
[0842] 3. Generating response candidates
[0843] Hardware: Server
[0844] Software: OpenAI GPT-3 (generative AI model)
[0845] Processing: Based on the identified sentiment and topic, generate appropriate response candidates, for example, "Sorry, could you tell me what you were dissatisfied with?"
[0846] Example prompts to input to a generative AI model:
[0847] "Sentiment: Negative Topic: Service Generate candidate responses."
[0848] 4. Adjusting and Evaluating Responses
[0849] Hardware: Server
[0850] Software: Emotion Engine
[0851] Processing: Evaluate whether the generated response candidates fit the context of the chat and adjust them as needed. For example, if the customer starts to calm down, the next response will be adjusted to be more light-hearted.
[0852] 5. Sending and Displaying Responses
[0853] Hardware: Smart glasses
[0854] Software: Display Interface
[0855] Processing: The adjusted response is displayed on the smart glasses display, and the user (store clerk) takes appropriate action based on it.
[0856] Examples:
[0857] In the case of negative emotions
[0858] User (customer): "I'm not satisfied with the service I received yesterday."
[0859] Server: Recognizes text data as a topic called "service" and identifies "negative" sentiment.
[0860] Server: Generates a response that says, "Sorry. Can you tell me what you weren't happy with?"
[0861] Server: Evaluates the response for contextual fit and checks for consistency.
[0862] Server: Sends the response to the smart glasses.
[0863] Terminal (smart glasses): Displays the response to the user (store clerk).
[0864] In the case of positive emotions
[0865] User (customer): "I was very satisfied today."
[0866] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[0867] Server: Generate a response like "Thank you so much! Can you tell me what exactly you liked?"
[0868] Server: Evaluates the response for contextual fit and checks for consistency.
[0869] Server: Sends the response to the smart glasses.
[0870] Terminal (smart glasses): Displays the response to the user (store clerk).
[0871] In this way, the system of the present invention analyzes customer emotions in real time in physical stores and generates and adjusts appropriate responses to improve the customer experience.
[0872] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0873] Step 1:
[0874] The user (customer) speaks. The microphone in the smart glasses captures this voice. The voice is acquired as analog voice data.
[0875] Input: Customer's speech (voice data)
[0876] Output: Captured analog audio data
[0877] How it works: The microphone in the smart glasses captures what the customer says.
[0878] Step 2:
[0879] The device (smart glasses) uses the Google Cloud Speech-to-Text API to convert captured voice data into text data in real time.
[0880] Input: Captured analog audio data
[0881] Output: Text data
[0882] How it works: Converts audio data into text using the Google Cloud Speech-to-Text API.
[0883] Step 3:
[0884] The terminal (smart glasses) sends the converted text data to the server.
[0885] Input: Text data
[0886] Output: Text data sent to the server
[0887] How it works: The smart glasses send text data to the server via an HTTP request.
[0888] Step 4:
[0889] The server analyzes the received text data and uses Hugging Face Transformers to identify emotions and topics.
[0890] Input: Text data
[0891] Output: Sentiment and topic analysis results
[0892] How it works: Analyzes text data using Hugging Face Transformers to identify emotions and topics.
[0893] Step 5:
[0894] The server generates appropriate response candidates using OpenAI GPT-3 based on the identified sentiment and topic.
[0895] Input: Sentiment and topic analysis results
[0896] Output: Response candidates
[0897] How it works: Enter a prompt into OpenAI GPT-3 and generate potential responses.
[0898] example:
[0899] Prompt: "Sentiment: Negative Topic: Service Please generate a potential response."
[0900] Step 6:
[0901] The server evaluates whether the generated response candidates are in tune with the chat context and adjusts them as needed using an emotion engine.
[0902] Input: Response candidate
[0903] Output: Adjusted response candidates
[0904] How it works: Evaluate generated response candidates for fit to the context and adjust them to be harmonious.
[0905] Step 7:
[0906] The server sends the adjusted candidate responses to the smart glasses.
[0907] Input: Adjusted response candidates
[0908] Output: Possible responses sent to the terminal
[0909] How it works: The refined response candidates are sent in an HTTP request to the smart glasses.
[0910] Step 8:
[0911] The terminal (smart glasses) displays the received response on the user's (store clerk's) display.
[0912] Input: Adjusted response candidates sent by the server
[0913] Output: Display on the screen
[0914] How it works: The smart glasses display displays tailored response candidates.
[0915] 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.
[0916] 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.
[0917] 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.
[0918] [Third embodiment]
[0919] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0920] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0921] 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).
[0922] 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.
[0923] 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.
[0924] 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).
[0925] 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.
[0926] 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.
[0927] 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.
[0928] 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.
[0929] 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.
[0930] 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."
[0931] The system of the present invention includes a series of programs for naturally enhancing user conversation through chat. The processing of the programs will be specifically explained below. A concrete example will be used to show how users, terminals, and servers are involved.
[0932] 1. Handling User Input
[0933] A conversation begins when a user enters text into the chat screen and presses the send button. For example, a user might enter, "The weather is nice today." The user's input is immediately captured by the device and sent to the server.
[0934] 2. Text Data Analysis
[0935] The server analyzes the received text data using natural language processing (NLP) technology to identify the sentiment and topic of the text data. For example, if the text says "The weather is nice today," the topic is analyzed as "weather" and the sentiment is "positive."
[0936] 3. Generating response candidates
[0937] Based on the analysis results, the server generates an appropriate response candidate. Multiple response candidates are prepared, and the most appropriate one is selected. For example, the server might generate a response such as, "That's true! It would be nice to go for a walk outside on a day like this."
[0938] 4. Adjusting the response
[0939] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them as necessary. For example, it may change the wording of the response depending on the context of the conversation. If the user is joking, it may make the response more lighthearted.
[0940] 5. Sending the Response
[0941] Once the adjusted response is confirmed, the server sends it to the device, which then displays the received response on the chat screen. Thus, the user can see the response, "That's true! It would be nice to go for a walk outside on a day like this."
[0942] Specific examples
[0943] Example 1: Small talk scenario
[0944] User: "The weather is nice today."
[0945] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[0946] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[0947] Server: Evaluates the response for contextual fit and checks for consistency.
[0948] Server: Sends the response to the device.
[0949] Terminal: displays the response to the user.
[0950] Example 2: Question scenario
[0951] User: "Are there any recent movies you'd recommend?"
[0952] Server: Recognizes the text data as a topic called "movie recommendations."
[0953] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[0954] Server: Evaluate the response to see if it fits the context, and if so, accept it.
[0955] Server: Sends the response to the device.
[0956] Terminal: displays the response to the user.
[0957] In this way, the system of the present invention makes the user's chat experience natural and exciting, resulting in increased user satisfaction and improved chat continuity.
[0958] The processing flow will be explained below.
[0959] Step 1:
[0960] The user types a message on the chat screen and presses the send button. For example, the user types, "The weather is nice today."
[0961] Step 2:
[0962] The terminal acquires the input text data and transmits it to the server.
[0963] Step 3:
[0964] The server receives the text data sent by the user.
[0965] Step 4:
[0966] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[0967] Tokenization: Splitting text into words.
[0968] Stopword removal: Remove non-essential words such as common conjunctions.
[0969] Topic extraction: Identifying key keywords and phrases (e.g., "weather").
[0970] Sentiment analysis: Scoring the sentiment in text as positive, negative, or neutral (e.g., "positive").
[0971] Step 5:
[0972] The server generates response candidates based on the analysis results (topic "weather" and emotion "positive"). Specifically, it performs the following process.
[0973] Response template selection: Choose from multiple templates to suit your needs.
[0974] Context generation: Creating a specific response based on the analysis results (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[0975] Step 6:
[0976] The server evaluates whether the generated response candidates are in sync with the chat context. Specifically, it checks the following:
[0977] Conversation flow: Check the previous conversation and overall tone.
[0978] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[0979] Step 7:
[0980] The server adjusts the generated response candidates by:
[0981] Adjust endings: Change to a lighter tone or more empathetic expressions.
[0982] Response scoring: Score the adjusted responses and select the best one.
[0983] Step 8:
[0984] The server finalizes the tailored response and sends it to the user's terminal.
[0985] Step 9:
[0986] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[0987] Example 1
[0988] 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."
[0989] Conventional chat systems face the challenge of generating appropriate and natural responses to text messages entered by users. They are particularly required to provide appropriate responses based on emotions and topics to ensure the conversation continues smoothly. Furthermore, they lack the ability to evaluate whether the generated responses fit the context and adjust them as necessary, which can result in an unnatural user experience.
[0990] 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.
[0991] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data using natural language processing technology to identify emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user. This makes it possible to provide appropriate and natural responses to text messages entered by the user, ensuring a smooth dialogue. Furthermore, by evaluating whether the generated responses fit the context and adjusting them appropriately, a more natural and smooth user experience can be achieved.
[0992] "Text data" refers to text information that a user inputs into a chat system.
[0993] "Natural language processing technology" is a set of technologies that computers use to understand, analyze, and generate human language.
[0994] "Emotion" refers to the emotional state included in the user's input, and is classified into categories such as positive and negative.
[0995] A "topic" refers to a subject or range of subjects mentioned in the text data entered by the user.
[0996] "Candidate replies" are multiple possible replies that the server generates in response to a user's input.
[0997] "Context" refers to the context and situation of the conversation before and after a chat, and is the information needed to choose an appropriate response.
[0998] "Tuning" refers to modifying generated response candidates to fit the context.
[0999] A "generative AI model" is an artificial intelligence algorithm or learning model that generates appropriate responses to user input.
[1000] An "algorithm" refers to a set of procedural or computational rules for accomplishing a particular task.
[1001] The system of the present invention allows users to have natural and engaging conversations through chat. The program of this system functions effectively through cooperation between users, terminals, and a server. Specific embodiments for implementing this system are described below.
[1002] Hardware and Software Use
[1003] The servers use cloud servers or data center systems with high-performance processing capabilities. Libraries such as "SpaCy" and "Google Natural Language API" are used to implement natural language processing technology on the servers. Generative AI models (e.g., large-scale language models such as GPT-3) are also used to generate responses.
[1004] A device is a PC, smartphone, tablet, or other device used by a user. The device has the function of acquiring input from the user, sending it to a server, and receiving and displaying responses from the server. A web browser or mobile app runs on the device.
[1005] A user is a person who interacts with a system and enjoys the interaction through inputs and responses.
[1006] Procedures for implementing an invention
[1007] 1. Obtaining user input: A conversation begins when a user enters text into the chat screen on their device and presses the send button. For example, the user enters "The weather is nice today." The device immediately obtains this text data and sends it to the server.
[1008] 2. Receiving and analyzing text data: The server receives the text data sent from the device. The received data is analyzed using natural language processing technology to identify the sentiment and topic of the text. For example, if the text says "The weather is nice today," the topic is identified as "weather" and the sentiment as "positive."
[1009] 3. Response candidate generation: Based on the analysis results, the server uses a generative AI model to generate appropriate response candidates. Multiple response candidates are generated, and the most appropriate response is selected from them. For example, the response generated might be, "That's true! It would be nice to take a walk outside on a day like this."
[1010] 4. Response Adjustment: The server evaluates the generated response candidates for their suitability to the context and adjusts them as necessary. It may modify the response based on the context of the conversation and the user's writing style. For example, if the user is being joking, it may change the tone of the response to be more lighthearted.
[1011] 5. Sending and displaying the response: The final response is sent from the server to the device, which displays the received response on the chat screen for the user to review.
[1012] Specific examples
[1013] Example 1: Small talk scenario
[1014] User: "The weather is nice today."
[1015] Terminal: Send this text data to the server.
[1016] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[1017] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[1018] Server: Evaluates the response for its suitability for the context and adapts as necessary.
[1019] Server: Sends a confirmed response to the terminal.
[1020] Terminal: Displays the received response to the user.
[1021] Example 2: Question scenario
[1022] User: "Are there any recent movies you'd recommend?"
[1023] Terminal: Send this text data to the server.
[1024] Server: Recognizes the text data as a topic called "movie recommendations."
[1025] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[1026] Server: Evaluates the response for contextual fit and, if appropriate, matches it.
[1027] Server: Sends the response to the device.
[1028] Terminal: Displays the received response to the user.
[1029] In this way, the system of the present invention makes the user's chat experience natural and engaging, resulting in increased user satisfaction and improved chat retention.
[1030] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1031] Step 1:
[1032] Getting User Input
[1033] The user enters text into the chat screen on the device and presses the send button.
[1034] Input: Text data entered by the user (e.g., "The weather is nice today")
[1035] Specific operation: The terminal acquires the text data entered by the user and sends it to the server using an HTTP request.
[1036] Output: Text data sent to the server
[1037] Step 2:
[1038] Receiving and analyzing text data
[1039] The server receives the text data sent from the terminal.
[1040] Input: Text data received from the device
[1041] Specific operation: The server analyzes the received text data using natural language processing technology (e.g., "SpaCy" or "Google Natural Language API") to identify sentiment and topics.
[1042] Output: Identified sentiment (e.g., "positive") and topic (e.g., "weather")
[1043] Step 3:
[1044] Generate candidate responses
[1045] Based on the analysis results, the server generates appropriate response candidates using a generative AI model (e.g., GPT-3).
[1046] Input: Identified sentiment and topic
[1047] Specific operation: The server inputs the analysis results into a generative AI model to generate multiple response candidates, from which the optimal response is selected.
[1048] Output: Generated response candidates (e.g., "That's true! It would be nice to go for a walk outside on a day like this.")
[1049] Step 4:
[1050] Response adjustment
[1051] The server evaluates the generated candidate responses for suitability to the context and adjusts them as necessary.
[1052] Input: Generated response candidates and the surrounding conversation history
[1053] What it does: The server reviews the conversation history and evaluates whether the response fits the context, adjusting the tone and content of the response as needed.
[1054] Output: Adjusted response candidates
[1055] Step 5:
[1056] Sending and Displaying Responses
[1057] The server transmits the adjusted response candidates to the terminal, which displays them on the chat screen.
[1058] Input: Adjusted response candidates
[1059] Specific operation: The server uses HTTP response to send the adjusted response to the device, and the device displays the received response on the chat screen.
[1060] Output: The response shown to the user (e.g., "You're right! It would be nice to go for a walk outside on a day like this.")
[1061] (Application example 1)
[1062] 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."
[1063] Conventional chat systems can return simple responses to user input, but have difficulty recommending appropriate content based on the emotions and interests of individual users. Furthermore, the responses generated may not be appropriate for the context, resulting in reduced user satisfaction. The present invention aims to provide a system that improves users' chat experiences and efficiently recommends movies and TV shows in content distribution services.
[1064] 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.
[1065] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data and identifying emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user and recommending movies or TV dramas. This enables appropriate content recommendations based on the user's emotions and interests, improving the user's chat experience and satisfaction.
[1066] "User" refers to a person who utilizes the system to input text data and receive responses.
[1067] "Text data" refers to character string information entered by the user.
[1068] "Means for receiving" refers to a function for inputting text data sent from a user into the server.
[1069] "Means for analyzing" refers to a function for understanding the content of received text data and processing it to identify sentiment and topics.
[1070] "Emotion" refers to the user's emotional state extracted from text data.
[1071] "Topic" refers to the subject or interest expressed in a user's text data.
[1072] "Means for generating candidate responses" refers to the ability to create appropriate replies based on the sentiment and topics identified by the analysis.
[1073] "Means for evaluating suitability" refers to a function that checks whether the generated response candidates are appropriate for the chat context.
[1074] "Means for adjusting" refers to the function of correcting the generated response candidates to suit the context if they are inappropriate.
[1075] The "means for transmitting" refers to a function for transmitting the adjusted response candidates back to the user's terminal.
[1076] "Means for recommending movies and TV shows" refers to a function that selects and recommends appropriate movies and TV shows based on the user's emotions and topics.
[1077] "Natural language processing technology" refers to a technical method for understanding and analyzing human language.
[1078] A "generative AI model" refers to a model that uses artificial intelligence to generate appropriate responses from text data.
[1079] A "prompt" refers to a series of instructions that are input to a generative AI model.
[1080] The system of the present invention receives and analyzes text data from a user, and generates, adjusts, and provides a response to recommend content such as movies and dramas. Specific embodiments of the system are described below.
[1081] The system consists of terminals such as smartphones and smart glasses, a server, and a network that connects them.
[1082] 1. Hardware and Software Configuration
[1083] Devices: Smartphones, smart glasses
[1084] Software: Chat interface (e.g. React Native)
[1085] Server: A high-performance computer
[1086] Software: Natural language processing libraries (e.g., spaCy, BERT), generative AI models (e.g., OpenAI GPT-3), response tuning algorithms (e.g., implemented in Python)
[1087] 2. System operation explanation
[1088] The server receives text data entered by the user in real time and analyzes it to identify sentiment and topics. It then uses a generative AI model to generate potential responses based on the identified sentiment and topics. It then evaluates whether the generated responses fit the chat context and adjusts them as necessary. Finally, it sends the adjusted responses to the user's device.
[1089] 3. Specific Examples
[1090] User: "Tell me some good movies recently."
[1091] Server: Analyzes the received text data and identifies the topic "movie recommendations" and the sentiment "interesting."
[1092] Server: Uses a generative AI model (e.g., GPT-3) to generate a response such as, "Recently, people have been saying that 'Interstellar' is interesting. Its visual effects are particularly impressive."
[1093] Server: Evaluate whether the response fits the context of the chat and adjust as needed.
[1094] Server: Sends the adjusted response to the user's device.
[1095] User: Receives the response, "Everyone's been saying Interstellar is great these days. The visual effects are particularly impressive."
[1096] 4. Examples of prompts
[1097] User input: "Tell me some good movies recently"
[1098] AI model prompt:
[1099] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[1100] User Question: Tell me some interesting movies recently
[1101] Emotion: Interesting
[1102] Topic: Movie Recommendations
[1103] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[1104] This system improves the chat experience by allowing users to receive appropriate movie and TV show recommendations based on their emotions and topics. Example prompts demonstrate how the generative AI model works and generates appropriate responses. This process improves user satisfaction and experience.
[1105] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1106] Step 1:
[1107] A user inputs and sends text data to a chat interface using a smartphone or smart glasses. The input text data includes a user question, such as "Tell me about some interesting movies recently." After the text data is acquired by the device, it is immediately sent to the server.
[1108] Step 2:
[1109] The server receives the text data. It uses a natural language processing library (e.g., spaCy, BERT) to analyze the received data. During the analysis process, the server identifies trending topics and user sentiment from the content of the text data. Specifically, it analyzes the input text data "Tell me about some interesting movies recently" and extracts the topic "recommended movies" and the sentiment "interesting" as data.
[1110] Step 3:
[1111] The server uses the identified topic and emotion information to input a prompt sentence into a generative AI model (e.g., GPT-3) to generate response candidates. The prompt sentence is input as follows:
[1112] User input: "Tell me some good movies recently"
[1113] AI model prompt:
[1114] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[1115] User Question: Tell me some interesting movies recently
[1116] Emotion: Interesting
[1117] Topic: Movie Recommendations
[1118] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[1119] By inputting this prompt into a generative AI model, appropriate response candidates are generated.
[1120] Step 4:
[1121] The generative AI model returns potential responses to the server, which evaluates them to see if they fit the context of the chat. Using a response-adjustment algorithm (e.g., a custom script), the server adjusts the response as needed. For example, if the phrase "The visual effects are particularly impressive" is inappropriate, it might be replaced with a different phrase.
[1122] Step 5:
[1123] The server then finalizes the adjusted response and sends it to the user's device. The adjusted response is then displayed on the chat screen of the user's smartphone or smart glasses. For example, a message like "People are saying that 'Interstellar' is interesting these days. The visual effects are particularly impressive."
[1124] Step 6:
[1125] The user checks the server's response through the chat screen on their device and then engages in the next conversation. This repetition improves the user's chat experience and allows them to receive appropriate content recommendations.
[1126] 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.
[1127] The system of the present invention is a chat system incorporating an emotion engine that recognizes user emotions, and includes a series of programs for naturally enhancing user conversations. The program processing is explained in detail below. Using concrete examples, we will show how users, terminals, and servers are involved.
[1128] Program processing details
[1129] 1. Handling User Input
[1130] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well recently." The user's message is immediately captured by the device and sent to the server.
[1131] 2. Text Data Analysis
[1132] The server analyzes the received text data. This analysis includes an emotion engine that uses natural language processing (NLP) techniques to identify the emotion and topic of the text data. For example, if the input is "Work hasn't been going well lately," the topic will be analyzed as "work" and the emotion as "negative."
[1133] 3. Generating response candidates
[1134] Based on the analysis results, the server generates appropriate candidate responses. The emotion engine provides guidance in generating responses depending on the identified emotion. For example, the response generated might be, "That's tough. Is there anything I can help you with?"
[1135] 4. Adjusting the response
[1136] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them if necessary. The emotion engine also participates in this evaluation process, tracking changes in the user's emotions and adjusting responses appropriately. For example, if the user is gradually becoming calmer, the response may be adjusted to be a bit more lighthearted.
[1137] 5. Sending the Response
[1138] Once the adjusted response is confirmed, the server sends the response to the terminal, which displays the received response on the chat screen, allowing the user to confirm the adjusted response and engage in further dialogue.
[1139] Specific examples
[1140] Example 1: Negative emotions
[1141] User: "Work hasn't been going well lately."
[1142] Server: Recognizes the text data as a topic called "work" and identifies "negative" sentiment.
[1143] Server: Generate a response of "That's a shame. Is there anything I can help you with?"
[1144] Server: Evaluates the response for contextual fit and checks for consistency.
[1145] Server: Sends the response to the device.
[1146] Terminal: displays the response to the user.
[1147] Example 2: Positive emotions
[1148] User: "It's a really great day today."
[1149] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[1150] Server: Generate a response of "That's true! Did you have any fun?"
[1151] Server: Evaluates the response for contextual fit and checks for consistency.
[1152] Server: Sends the response to the device.
[1153] Terminal: displays the response to the user.
[1154] In this way, the system of the present invention incorporating an emotion engine analyzes the user's emotions in real time and generates and adjusts appropriate responses, making the chat experience more natural and exciting, thereby increasing user satisfaction and improving chat continuity.
[1155] The processing flow will be explained below.
[1156] Step 1:
[1157] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well lately."
[1158] Step 2:
[1159] The terminal acquires the text data entered by the user and transmits it to the server.
[1160] Step 3:
[1161] The server receives the text data sent by the user.
[1162] Step 4:
[1163] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[1164] Tokenization: Splitting text into words.
[1165] Stopword removal: Remove unimportant words such as common conjunctions.
[1166] Topic extraction: Identifying key keywords and phrases (e.g., "job").
[1167] Step 5:
[1168] The server uses an emotion engine to analyze the emotions in the text data. Specifically, it performs the following processes:
[1169] Sentiment scoring: Calculating a positive, negative, or neutral score based on the context of the text (e.g., "negative").
[1170] Step 6:
[1171] The server generates response candidates based on the analysis results (topic "work" and emotion "negative"). Specifically, it performs the following process.
[1172] Select a response template: Choose from multiple templates.
[1173] Response generation: Create a specific response based on the analysis results (e.g., "That's tough. Is there anything I can help you with?").
[1174] Step 7:
[1175] The server evaluates whether the generated response candidates are in harmony with the chat context. Specifically, it performs the following process.
[1176] Check the flow of the conversation: Check the previous conversation and the overall tone.
[1177] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[1178] Step 8:
[1179] The server adjusts the generated response candidates by:
[1180] Adjust endings: Change to a lighter tone or more empathetic expressions.
[1181] Response scoring: Score the adjusted responses and select the best one.
[1182] Step 9:
[1183] The server finalizes the tailored response and sends it to the user's terminal.
[1184] Step 10:
[1185] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "That's tough. Is there anything I can help you with?").
[1186] Example 2
[1187] 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."
[1188] In conventional chat systems, it was difficult to accurately recognize users' emotions and generate appropriate responses based on them. As a result, the dialogue with users felt unnatural, which led to lower satisfaction. Furthermore, responses often did not match the user's context or emotions, further reducing the quality of communication.
[1189] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a means for receiving text data from a user, a means for analyzing the received text data using natural language processing technology and identifying emotions and topics, a means for generating reply candidates using a generative AI model based on the identified emotions and topics, a means for evaluating whether the generated reply candidates are in harmony with the chat context and adjusting them as necessary, and a means for sending the adjusted reply candidates to the user. This enables the generation of natural responses that match the user's emotions and context. Furthermore, the use of an emotion engine can track changes in the user's emotions and provide optimal responses, thereby improving user satisfaction and the quality of the chat experience.
[1190] A "user" is an end user who uses the chat system to input text data and engage in conversation.
[1191] "Text data" refers to character information that a user inputs and sends on the chat screen.
[1192] "Natural language processing technology" is a technology for processing human language using computers, enabling text analysis, understanding meaning, and identifying emotions.
[1193] "Emotion" refers to the emotional state contained in the text data entered by the user, and is classified into categories such as positive, negative, and neutral.
[1194] A "topic" refers to the main topic or theme of a user's text data.
[1195] A "generative AI model" is an artificial intelligence model that generates an appropriate response based on an input prompt sentence.
[1196] A "prompt sentence" is an input sentence given to a generative AI model, and is text that contains instructions for generating a response.
[1197] "Response candidates" refer to multiple reply options that the generative AI model generates in response to the user's text data.
[1198] An "emotion engine" is a program or system that analyzes the emotions in text data and generates and adjusts responses based on the results.
[1199] "Context" indicates the circumstances under which a particular statement was made in a series of user interactions, and refers to the context for understanding its meaning.
[1200] "Harmony" means that the generated response matches the user's context and emotions, and is consistent enough to form a natural dialogue.
[1201] "Sending" refers to the act of the server communicating the generated and tailored response to the user's terminal.
[1202] A "terminal" is a device through which a user accesses the chat system and engages in conversation.
[1203] The system of the present invention is a chat system that recognizes the user's emotions and generates and adjusts appropriate responses. Specific embodiments for implementing this system will be described below.
[1204] System Generation
[1205] The system includes the following main components:
[1206] 1. User Device
[1207] 2. Network
[1208] 3. Server
[1209] 4. Emotion Engine
[1210] 5. Generative AI Models
[1211] User terminal
[1212] A user terminal is a device that allows a user to input and send text data. Terminals include PCs, smartphones, tablets, etc. When a user inputs a message on the chat screen and presses the send button, the data is immediately retrieved by the terminal and sent to the server.
[1213] server
[1214] The server plays a central role in processing the text data received from the user. The server does the following:
[1215] 1. Receiving text data
[1216] 2. Data analysis using an emotion engine
[1217] 3. Generating response candidates using a generative AI model
[1218] 4. Adjust response suggestions
[1219] 5. Sending the Response
[1220] Emotion Engine
[1221] The emotion engine analyzes incoming text data to identify user sentiment and topics. Specifically, it uses technologies such as Google Cloud's natural language processing API to analyze input text.
[1222] Generative AI Models
[1223] A generative AI model is an artificial intelligence model that generates appropriate response candidates based on analysis results. Specifically, it uses models such as OpenAI's GPT-3 to input a prompt and generate response candidates.
[1224] Example of operation
[1225] Example 1: Negative emotions
[1226] User: "Work hasn't been going well lately."
[1227] Server: Uses a sentiment engine to recognize text data as a topic called "work" and identify "negative" sentiment.
[1228] Server: Sends a prompt to the generative AI model to generate a response such as, "That's tough. Is there anything I can help you with?"
[1229] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[1230] Server: Sends the response to the device.
[1231] Terminal: displays the response to the user.
[1232] Example 2: Positive emotions
[1233] User: "It's a really great day today."
[1234] Server: Uses an emotion engine to recognize text data as a topic called "everyday" and identify "positive" emotions.
[1235] Server: Sends a prompt to the generative AI model to generate a response: "That's true! Did you do something fun?"
[1236] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[1237] Server: Sends the response to the device.
[1238] Terminal: displays the response to the user.
[1239] Prompt Sentence Examples
[1240] If the user enters "Work hasn't been going well lately," the server sends the following prompt to the generative AI model:
[1241] "A user types, 'Work hasn't been going well lately.' Generate an appropriate response."
[1242] Also, if the user types, "It's a really nice day today," the server will send the following prompt to the generative AI model:
[1243] "The user types, 'What a beautiful day today.' Generate an appropriate response."
[1244] In this way, the system of the present invention analyzes user emotions in real time and generates and adjusts natural and appropriate responses to improve the chat experience. Furthermore, by combining the emotion engine with a generative AI model, it is possible to increase user satisfaction.
[1245] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1246] Step 1:
[1247] The user enters text data into the chat screen and presses the send button. The device captures this input in real time. An example input is "Work hasn't been going well recently." The input data is converted to JSON format by the device and sent to the server as an HTTP request.
[1248] Input: User-entered text data (e.g., "Work hasn't been going well lately.")
[1249] Output: JSON format text data sent from the terminal to the server
[1250] Step 2:
[1251] The server analyzes the received JSON-formatted text data. Specifically, it uses natural language processing (NLP) technology and an emotion engine (e.g., a cloud-based API) to analyze the user's text data and identify emotions and topics. By calling functions such as "sentiment analysis" and "topic extraction," the server extracts the topic "work," which has "negative emotions."
[1252] Input: JSON format text data received from the terminal
[1253] Output: Sentiment and topic data after analysis (e.g., Sentiment: "Negative", Topic: "Work")
[1254] Step 3:
[1255] Based on the analysis results, the server uses a generative AI model (e.g., GPT-3) to generate appropriate response candidates. This is done by inputting a prompt sentence into the generative AI model. The generative AI model returns an appropriate response candidate based on the provided prompt sentence. For example, "That's tough. Is there anything I can help you with?" is generated.
[1256] Input: Prompt sentence based on the analysis result (e.g., "The user entered, 'Work hasn't been going well recently.' Please generate an appropriate response.")
[1257] Output: Possible responses from the generative AI model (e.g., "That's tough. Is there anything I can help you with?")
[1258] Step 4:
[1259] The server evaluates the generated response candidates and adjusts them as needed, again using the emotion engine to ensure the response matches the user's sentiment and context. For example, if a positive change is observed in the series of interactions after the user sent the text, the server may adjust the tone of the response by slightly lighter.
[1260] Input: Response candidates from a generative AI model
[1261] Output: The optimal response that matches the context and emotion (e.g., "That's tough. It's important to take a break.")
[1262] Step 5:
[1263] Once the adjusted response is confirmed, the server sends the response to the device, which then displays the received response on the chat screen, allowing the user to confirm the adjusted response and continue the conversation.
[1264] Input: Optimal response after tuning
[1265] Output: The response displayed on the terminal (e.g., "That's tough. It's important to take a break.")
[1266] (Application example 2)
[1267] 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."
[1268] In modern brick-and-mortar stores, it is necessary to quickly respond appropriately to customers' emotions. However, conventional customer service systems have difficulty recognizing customers' emotions in real time and suggesting appropriate responses based on those emotions. Furthermore, there is a lack of a method to instantly convert a customer's voice input into text data, analyze that data, and generate appropriate responses. This leads to issues such as inconsistent customer service quality.
[1269] 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 text data from a user, means for analyzing the received text data and identifying emotions and topics, and means for generating response candidates based on the identified emotions and topics. This makes it possible to capture a customer's voice and convert it into text data in real time, analyze the converted text data, and generate and adjust appropriate responses.
[1270] The "means for receiving text data from a user" refers to a device or software function for capturing text data entered by a user and incorporating it into the system.
[1271] The "means for analyzing received text data and identifying emotions and topics" refers to the function of a device or software that uses an emotion engine or natural language processing technology to identify emotions and topics in received text data.
[1272] The "means for generating candidate responses based on the identified emotions and topics" refers to the functionality of a device or software for generating appropriate responses according to the analysis results of emotions and topics.
[1273] "Means for evaluating whether generated response candidates are in harmony with the chat context and adjusting them as necessary" refers to the function of a device or software for evaluating whether generated responses are appropriate for the development of the chat and adjusting them as appropriate.
[1274] The "means for sending adjusted response candidates to a user" refers to the functionality of a device or software for ultimately sending adjusted responses to a user.
[1275] The "means for capturing customer speech and converting it into text data in real time" refers to a device or software function for capturing customer speech as audio and converting it into text data.
[1276] "Means for transmitting and analyzing the converted text data and generating and adjusting an appropriate response" refers to the functionality of the device or software for transmitting the text data converted from speech to a server, analyzing it, and generating and adjusting an appropriate response.
[1277] The "means for displaying the adjusted response on a display device" refers to a function of a device or software for displaying the adjusted response on a display or the like so that the user can confirm it.
[1278] The system of this invention is an "emotion-aware customer service assistant" that recognizes customer emotions in real time and provides appropriate responses to improve the customer service experience in brick-and-mortar stores. This system enables users (store clerks) to wear smart glasses or a head-mounted display and provide appropriate customer service through dialogue with customers.
[1279] System configuration:
[1280] 1. Voice Capture and Recognition
[1281] Hardware: Smart glasses (with built-in microphone)
[1282] Software: Google Cloud Speech-to-Text API
[1283] Processing: User (customer) speech is captured as audio and converted into text data in real time. For example, if a customer says, "I'm not satisfied with the service I received yesterday," this speech is immediately converted into text data and entered into the system.
[1284] 2. Sending and analyzing text data
[1285] Hardware: Server
[1286] Software: Hugging Face Transformers (NLP model)
[1287] Processing: The captured text data is sent to a server, where natural language processing techniques are used to identify sentiment and topics. For example, the text data "I'm not satisfied with the service yesterday" is parsed into the topic "service" and the sentiment "negative."
[1288] 3. Generating response candidates
[1289] Hardware: Server
[1290] Software: OpenAI GPT-3 (generative AI model)
[1291] Processing: Based on the identified sentiment and topic, generate appropriate response candidates, for example, "Sorry, could you tell me what you were dissatisfied with?"
[1292] Example prompts to input to a generative AI model:
[1293] "Sentiment: Negative Topic: Service Generate candidate responses."
[1294] 4. Adjusting and Evaluating Responses
[1295] Hardware: Server
[1296] Software: Emotion Engine
[1297] Processing: Evaluate whether the generated response candidates fit the context of the chat and adjust them as needed. For example, if the customer starts to calm down, the next response will be adjusted to be more light-hearted.
[1298] 5. Sending and Displaying Responses
[1299] Hardware: Smart glasses
[1300] Software: Display Interface
[1301] Processing: The adjusted response is displayed on the smart glasses display, and the user (store clerk) takes appropriate action based on it.
[1302] Examples:
[1303] In the case of negative emotions
[1304] User (customer): "I'm not satisfied with the service I received yesterday."
[1305] Server: Recognizes text data as a topic called "service" and identifies "negative" sentiment.
[1306] Server: Generates a response that says, "Sorry. Can you tell me what you weren't happy with?"
[1307] Server: Evaluates the response for contextual fit and checks for consistency.
[1308] Server: Sends the response to the smart glasses.
[1309] Terminal (smart glasses): Displays the response to the user (store clerk).
[1310] In the case of positive emotions
[1311] User (customer): "I was very satisfied today."
[1312] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[1313] Server: Generate a response like "Thank you so much! Can you tell me what exactly you liked?"
[1314] Server: Evaluates the response for contextual fit and checks for consistency.
[1315] Server: Sends the response to the smart glasses.
[1316] Terminal (smart glasses): Displays the response to the user (store clerk).
[1317] In this way, the system of the present invention analyzes customer emotions in real time in physical stores and generates and adjusts appropriate responses to improve the customer experience.
[1318] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1319] Step 1:
[1320] The user (customer) speaks. The microphone in the smart glasses captures this voice. The voice is acquired as analog voice data.
[1321] Input: Customer's speech (voice data)
[1322] Output: Captured analog audio data
[1323] How it works: The microphone in the smart glasses captures what the customer says.
[1324] Step 2:
[1325] The device (smart glasses) uses the Google Cloud Speech-to-Text API to convert captured voice data into text data in real time.
[1326] Input: Captured analog audio data
[1327] Output: Text data
[1328] How it works: Converts audio data into text using the Google Cloud Speech-to-Text API.
[1329] Step 3:
[1330] The terminal (smart glasses) sends the converted text data to the server.
[1331] Input: Text data
[1332] Output: Text data sent to the server
[1333] How it works: The smart glasses send text data to the server via an HTTP request.
[1334] Step 4:
[1335] The server analyzes the received text data and uses Hugging Face Transformers to identify emotions and topics.
[1336] Input: Text data
[1337] Output: Sentiment and topic analysis results
[1338] How it works: Analyzes text data using Hugging Face Transformers to identify emotions and topics.
[1339] Step 5:
[1340] The server generates appropriate response candidates using OpenAI GPT-3 based on the identified sentiment and topic.
[1341] Input: Sentiment and topic analysis results
[1342] Output: Response candidates
[1343] How it works: Enter a prompt into OpenAI GPT-3 and generate potential responses.
[1344] example:
[1345] Prompt: "Sentiment: Negative Topic: Service Please generate a potential response."
[1346] Step 6:
[1347] The server evaluates whether the generated response candidates are in tune with the chat context and adjusts them as needed using an emotion engine.
[1348] Input: Response candidate
[1349] Output: Adjusted response candidates
[1350] How it works: Evaluate generated response candidates for fit to the context and adjust them to be harmonious.
[1351] Step 7:
[1352] The server sends the adjusted candidate responses to the smart glasses.
[1353] Input: Adjusted response candidates
[1354] Output: Possible responses sent to the terminal
[1355] How it works: The refined response candidates are sent in an HTTP request to the smart glasses.
[1356] Step 8:
[1357] The terminal (smart glasses) displays the received response on the user's (store clerk's) display.
[1358] Input: Adjusted response candidates sent by the server
[1359] Output: Display on the screen
[1360] How it works: The smart glasses display displays tailored response candidates.
[1361] 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.
[1362] 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.
[1363] 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.
[1364] [Fourth embodiment]
[1365] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1366] 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.
[1367] 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).
[1368] 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.
[1369] 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.
[1370] 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).
[1371] 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.
[1372] 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.
[1373] 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.
[1374] 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.
[1375] 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.
[1376] 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.
[1377] 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."
[1378] The system of the present invention includes a series of programs for naturally enhancing user conversation through chat. The processing of the programs will be specifically explained below. A concrete example will be used to show how users, terminals, and servers are involved.
[1379] 1. Handling User Input
[1380] A conversation begins when a user enters text into the chat screen and presses the send button. For example, a user might enter, "The weather is nice today." The user's input is immediately captured by the device and sent to the server.
[1381] 2. Text Data Analysis
[1382] The server analyzes the received text data using natural language processing (NLP) technology to identify the sentiment and topic of the text data. For example, if the text says "The weather is nice today," the topic is analyzed as "weather" and the sentiment is "positive."
[1383] 3. Generating response candidates
[1384] Based on the analysis results, the server generates an appropriate response candidate. Multiple response candidates are prepared, and the most appropriate one is selected. For example, the server might generate a response such as, "That's true! It would be nice to go for a walk outside on a day like this."
[1385] 4. Adjusting the response
[1386] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them as necessary. For example, it may change the wording of the response depending on the context of the conversation. If the user is joking, it may make the response more lighthearted.
[1387] 5. Sending the Response
[1388] Once the adjusted response is confirmed, the server sends it to the device, which then displays the received response on the chat screen. Thus, the user can see the response, "That's true! It would be nice to go for a walk outside on a day like this."
[1389] Specific examples
[1390] Example 1: Small talk scenario
[1391] User: "The weather is nice today."
[1392] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[1393] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[1394] Server: Evaluates the response for contextual fit and checks for consistency.
[1395] Server: Sends the response to the device.
[1396] Terminal: displays the response to the user.
[1397] Example 2: Question scenario
[1398] User: "Are there any recent movies you'd recommend?"
[1399] Server: Recognizes the text data as a topic called "movie recommendations."
[1400] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[1401] Server: Evaluate the response to see if it fits the context, and if so, accept it.
[1402] Server: Sends the response to the device.
[1403] Terminal: displays the response to the user.
[1404] In this way, the system of the present invention makes the user's chat experience natural and exciting, resulting in increased user satisfaction and improved chat continuity.
[1405] The processing flow will be explained below.
[1406] Step 1:
[1407] The user types a message on the chat screen and presses the send button. For example, the user types, "The weather is nice today."
[1408] Step 2:
[1409] The terminal acquires the input text data and transmits it to the server.
[1410] Step 3:
[1411] The server receives the text data sent by the user.
[1412] Step 4:
[1413] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[1414] Tokenization: Splitting text into words.
[1415] Stopword removal: Remove non-essential words such as common conjunctions.
[1416] Topic extraction: Identifying key keywords and phrases (e.g., "weather").
[1417] Sentiment analysis: Scoring the sentiment in text as positive, negative, or neutral (e.g., "positive").
[1418] Step 5:
[1419] The server generates response candidates based on the analysis results (topic "weather" and emotion "positive"). Specifically, it performs the following process.
[1420] Response template selection: Choose from multiple templates to suit your needs.
[1421] Context generation: Creating a specific response based on the analysis results (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[1422] Step 6:
[1423] The server evaluates whether the generated response candidates are in sync with the chat context. Specifically, it checks the following:
[1424] Conversation flow: Check the previous conversation and overall tone.
[1425] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[1426] Step 7:
[1427] The server adjusts the generated response candidates by:
[1428] Adjust endings: Change to a lighter tone or more empathetic expressions.
[1429] Response scoring: Score the adjusted responses and select the best one.
[1430] Step 8:
[1431] The server finalizes the tailored response and sends it to the user's terminal.
[1432] Step 9:
[1433] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "You're right! It would be nice to go for a walk outside on a day like this.").
[1434] Example 1
[1435] 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."
[1436] Conventional chat systems face the challenge of generating appropriate and natural responses to text messages entered by users. They are particularly required to provide appropriate responses based on emotions and topics to ensure the conversation continues smoothly. Furthermore, they lack the ability to evaluate whether the generated responses fit the context and adjust them as necessary, which can result in an unnatural user experience.
[1437] 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.
[1438] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data using natural language processing technology to identify emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user. This makes it possible to provide appropriate and natural responses to text messages entered by the user, ensuring a smooth dialogue. Furthermore, by evaluating whether the generated responses fit the context and adjusting them appropriately, a more natural and smooth user experience can be achieved.
[1439] "Text data" refers to text information that a user inputs into a chat system.
[1440] "Natural language processing technology" is a set of technologies that computers use to understand, analyze, and generate human language.
[1441] "Emotion" refers to the emotional state included in the user's input, and is classified into categories such as positive and negative.
[1442] A "topic" refers to a subject or range of subjects mentioned in the text data entered by the user.
[1443] "Candidate replies" are multiple possible replies that the server generates in response to a user's input.
[1444] "Context" refers to the context and situation of the conversation before and after a chat, and is the information needed to choose an appropriate response.
[1445] "Tuning" refers to modifying generated response candidates to fit the context.
[1446] A "generative AI model" is an artificial intelligence algorithm or learning model that generates appropriate responses to user input.
[1447] An "algorithm" refers to a set of procedural or computational rules for accomplishing a particular task.
[1448] The system of the present invention allows users to have natural and engaging conversations through chat. The program of this system functions effectively through cooperation between users, terminals, and a server. Specific embodiments for implementing this system are described below.
[1449] Hardware and Software Use
[1450] The servers use cloud servers or data center systems with high-performance processing capabilities. Libraries such as "SpaCy" and "Google Natural Language API" are used to implement natural language processing technology on the servers. Generative AI models (e.g., large-scale language models such as GPT-3) are also used to generate responses.
[1451] A device is a PC, smartphone, tablet, or other device used by a user. The device has the function of acquiring input from the user, sending it to a server, and receiving and displaying responses from the server. A web browser or mobile app runs on the device.
[1452] A user is a person who interacts with a system and enjoys the interaction through inputs and responses.
[1453] Procedures for implementing an invention
[1454] 1. Obtaining user input: A conversation begins when a user enters text into the chat screen on their device and presses the send button. For example, the user enters "The weather is nice today." The device immediately obtains this text data and sends it to the server.
[1455] 2. Receiving and analyzing text data: The server receives the text data sent from the device. The received data is analyzed using natural language processing technology to identify the sentiment and topic of the text. For example, if the text says "The weather is nice today," the topic is identified as "weather" and the sentiment as "positive."
[1456] 3. Response candidate generation: Based on the analysis results, the server uses a generative AI model to generate appropriate response candidates. Multiple response candidates are generated, and the most appropriate response is selected from them. For example, the response generated might be, "That's true! It would be nice to take a walk outside on a day like this."
[1457] 4. Response Adjustment: The server evaluates the generated response candidates for their suitability to the context and adjusts them as necessary. It may modify the response based on the context of the conversation and the user's writing style. For example, if the user is being joking, it may change the tone of the response to be more lighthearted.
[1458] 5. Sending and displaying the response: The final response is sent from the server to the device, which displays the received response on the chat screen for the user to review.
[1459] Specific examples
[1460] Example 1: Small talk scenario
[1461] User: "The weather is nice today."
[1462] Terminal: Send this text data to the server.
[1463] Server: Recognizes the text data as a topic called "weather" and identifies "positive" sentiment.
[1464] Server: Generate a response saying, "You're right! It would be nice to go for a walk outside on a day like this."
[1465] Server: Evaluates the response for its suitability for the context and adapts as necessary.
[1466] Server: Sends a confirmed response to the terminal.
[1467] Terminal: Displays the received response to the user.
[1468] Example 2: Question scenario
[1469] User: "Are there any recent movies you'd recommend?"
[1470] Terminal: Send this text data to the server.
[1471] Server: Recognizes the text data as a topic called "movie recommendations."
[1472] Server: Generate a response like "I've heard people recently say that Inception was a good movie. It's thrilling and I recommend it."
[1473] Server: Evaluates the response for contextual fit and, if appropriate, matches it.
[1474] Server: Sends the response to the device.
[1475] Terminal: Displays the received response to the user.
[1476] In this way, the system of the present invention makes the user's chat experience natural and engaging, resulting in increased user satisfaction and improved chat retention.
[1477] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1478] Step 1:
[1479] Getting User Input
[1480] The user enters text into the chat screen on the device and presses the send button.
[1481] Input: Text data entered by the user (e.g., "The weather is nice today")
[1482] Specific operation: The terminal acquires the text data entered by the user and sends it to the server using an HTTP request.
[1483] Output: Text data sent to the server
[1484] Step 2:
[1485] Receiving and analyzing text data
[1486] The server receives the text data sent from the terminal.
[1487] Input: Text data received from the device
[1488] Specific operation: The server analyzes the received text data using natural language processing technology (e.g., "SpaCy" or "Google Natural Language API") to identify sentiment and topics.
[1489] Output: Identified sentiment (e.g., "positive") and topic (e.g., "weather")
[1490] Step 3:
[1491] Generate candidate responses
[1492] Based on the analysis results, the server generates appropriate response candidates using a generative AI model (e.g., GPT-3).
[1493] Input: Identified sentiment and topic
[1494] Specific operation: The server inputs the analysis results into a generative AI model to generate multiple response candidates, from which the optimal response is selected.
[1495] Output: Generated response candidates (e.g., "That's true! It would be nice to go for a walk outside on a day like this.")
[1496] Step 4:
[1497] Response adjustment
[1498] The server evaluates the generated candidate responses for suitability to the context and adjusts them as necessary.
[1499] Input: Generated response candidates and the surrounding conversation history
[1500] What it does: The server reviews the conversation history and evaluates whether the response fits the context, adjusting the tone and content of the response as needed.
[1501] Output: Adjusted response candidates
[1502] Step 5:
[1503] Sending and Displaying Responses
[1504] The server transmits the adjusted response candidates to the terminal, which displays them on the chat screen.
[1505] Input: Adjusted response candidates
[1506] Specific operation: The server uses HTTP response to send the adjusted response to the device, and the device displays the received response on the chat screen.
[1507] Output: The response shown to the user (e.g., "You're right! It would be nice to go for a walk outside on a day like this.")
[1508] (Application example 1)
[1509] 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."
[1510] Conventional chat systems can return simple responses to user input, but have difficulty recommending appropriate content based on the emotions and interests of individual users. Furthermore, the responses generated may not be appropriate for the context, resulting in reduced user satisfaction. The present invention aims to provide a system that improves users' chat experiences and efficiently recommends movies and TV shows in content distribution services.
[1511] 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.
[1512] In this invention, the server includes means for receiving text data from a user, means for analyzing the received text data and identifying emotions and topics, means for generating candidate responses based on the identified emotions and topics, means for evaluating whether the generated candidate responses are in harmony with the chat context and adjusting them as necessary, and means for sending the adjusted candidate responses to the user and recommending movies or TV dramas. This enables appropriate content recommendations based on the user's emotions and interests, improving the user's chat experience and satisfaction.
[1513] "User" refers to a person who utilizes the system to input text data and receive responses.
[1514] "Text data" refers to character string information entered by the user.
[1515] "Means for receiving" refers to a function for inputting text data sent from a user into the server.
[1516] "Means for analyzing" refers to a function for understanding the content of received text data and processing it to identify sentiment and topics.
[1517] "Emotion" refers to the user's emotional state extracted from text data.
[1518] "Topic" refers to the subject or interest expressed in a user's text data.
[1519] "Means for generating candidate responses" refers to the ability to create appropriate replies based on the sentiment and topics identified by the analysis.
[1520] "Means for evaluating suitability" refers to a function that checks whether the generated response candidates are appropriate for the chat context.
[1521] "Means for adjusting" refers to the function of correcting the generated response candidates to suit the context if they are inappropriate.
[1522] The "means for transmitting" refers to a function for transmitting the adjusted response candidates back to the user's terminal.
[1523] "Means for recommending movies and TV shows" refers to a function that selects and recommends appropriate movies and TV shows based on the user's emotions and topics.
[1524] "Natural language processing technology" refers to a technical method for understanding and analyzing human language.
[1525] A "generative AI model" refers to a model that uses artificial intelligence to generate appropriate responses from text data.
[1526] A "prompt" refers to a series of instructions that are input to a generative AI model.
[1527] The system of the present invention receives and analyzes text data from a user, and generates, adjusts, and provides a response to recommend content such as movies and dramas. Specific embodiments of the system are described below.
[1528] The system consists of terminals such as smartphones and smart glasses, a server, and a network that connects them.
[1529] 1. Hardware and Software Configuration
[1530] Devices: Smartphones, smart glasses
[1531] Software: Chat interface (e.g. React Native)
[1532] Server: A high-performance computer
[1533] Software: Natural language processing libraries (e.g., spaCy, BERT), generative AI models (e.g., OpenAI GPT-3), response tuning algorithms (e.g., implemented in Python)
[1534] 2. System operation explanation
[1535] The server receives text data entered by the user in real time and analyzes it to identify sentiment and topics. It then uses a generative AI model to generate potential responses based on the identified sentiment and topics. It then evaluates whether the generated responses fit the chat context and adjusts them as necessary. Finally, it sends the adjusted responses to the user's device.
[1536] 3. Specific Examples
[1537] User: "Tell me some good movies recently."
[1538] Server: Analyzes the received text data and identifies the topic "movie recommendations" and the sentiment "interesting."
[1539] Server: Uses a generative AI model (e.g., GPT-3) to generate a response such as, "Recently, people have been saying that 'Interstellar' is interesting. Its visual effects are particularly impressive."
[1540] Server: Evaluate whether the response fits the context of the chat and adjust as needed.
[1541] Server: Sends the adjusted response to the user's device.
[1542] User: Receives the response, "Everyone's been saying Interstellar is great these days. The visual effects are particularly impressive."
[1543] 4. Examples of prompts
[1544] User input: "Tell me some good movies recently"
[1545] AI model prompt:
[1546] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[1547] User Question: Tell me some interesting movies recently
[1548] Emotion: Interesting
[1549] Topic: Movie Recommendations
[1550] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[1551] This system improves the chat experience by allowing users to receive appropriate movie and TV show recommendations based on their emotions and topics. Example prompts demonstrate how the generative AI model works and generates appropriate responses. This process improves user satisfaction and experience.
[1552] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1553] Step 1:
[1554] A user inputs and sends text data to a chat interface using a smartphone or smart glasses. The input text data includes a user question, such as "Tell me about some interesting movies recently." After the text data is acquired by the device, it is immediately sent to the server.
[1555] Step 2:
[1556] The server receives the text data. It uses a natural language processing library (e.g., spaCy, BERT) to analyze the received data. During the analysis process, the server identifies trending topics and user sentiment from the content of the text data. Specifically, it analyzes the input text data "Tell me about some interesting movies recently" and extracts the topic "recommended movies" and the sentiment "interesting" as data.
[1557] Step 3:
[1558] The server uses the identified topic and emotion information to input a prompt sentence into a generative AI model (e.g., GPT-3) to generate response candidates. The prompt sentence is input as follows:
[1559] User input: "Tell me some good movies recently"
[1560] AI model prompt:
[1561] "Respond in the following format: Recognize the sentiment and topic of the user's question and recommend appropriate movies based on that.
[1562] User Question: Tell me some interesting movies recently
[1563] Emotion: Interesting
[1564] Topic: Movie Recommendations
[1565] Response: Recently, people have been saying that "Interstellar" is interesting. The visual effects are particularly impressive.
[1566] By inputting this prompt into a generative AI model, appropriate response candidates are generated.
[1567] Step 4:
[1568] The generative AI model returns potential responses to the server, which evaluates them to see if they fit the context of the chat. Using a response-adjustment algorithm (e.g., a custom script), the server adjusts the response as needed. For example, if the phrase "The visual effects are particularly impressive" is inappropriate, it might be replaced with a different phrase.
[1569] Step 5:
[1570] The server then finalizes the adjusted response and sends it to the user's device. The adjusted response is then displayed on the chat screen of the user's smartphone or smart glasses. For example, a message like "People are saying that 'Interstellar' is interesting these days. The visual effects are particularly impressive."
[1571] Step 6:
[1572] The user checks the server's response through the chat screen on their device and then engages in the next conversation. This repetition improves the user's chat experience and allows them to receive appropriate content recommendations.
[1573] 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.
[1574] The system of the present invention is a chat system incorporating an emotion engine that recognizes user emotions, and includes a series of programs for naturally enhancing user conversations. The program processing is explained in detail below. Using concrete examples, we will show how users, terminals, and servers are involved.
[1575] Program processing details
[1576] 1. Handling User Input
[1577] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well recently." The user's message is immediately captured by the device and sent to the server.
[1578] 2. Text Data Analysis
[1579] The server analyzes the received text data. This analysis includes an emotion engine that uses natural language processing (NLP) techniques to identify the emotion and topic of the text data. For example, if the input is "Work hasn't been going well lately," the topic will be analyzed as "work" and the emotion as "negative."
[1580] 3. Generating response candidates
[1581] Based on the analysis results, the server generates appropriate candidate responses. The emotion engine provides guidance in generating responses depending on the identified emotion. For example, the response generated might be, "That's tough. Is there anything I can help you with?"
[1582] 4. Adjusting the response
[1583] The server evaluates whether the generated response candidates fit the context of the chat and adjusts them if necessary. The emotion engine also participates in this evaluation process, tracking changes in the user's emotions and adjusting responses appropriately. For example, if the user is gradually becoming calmer, the response may be adjusted to be a bit more lighthearted.
[1584] 5. Sending the Response
[1585] Once the adjusted response is confirmed, the server sends the response to the terminal, which displays the received response on the chat screen, allowing the user to confirm the adjusted response and engage in further dialogue.
[1586] Specific examples
[1587] Example 1: Negative emotions
[1588] User: "Work hasn't been going well lately."
[1589] Server: Recognizes the text data as a topic called "work" and identifies "negative" sentiment.
[1590] Server: Generate a response of "That's a shame. Is there anything I can help you with?"
[1591] Server: Evaluates the response for contextual fit and checks for consistency.
[1592] Server: Sends the response to the device.
[1593] Terminal: displays the response to the user.
[1594] Example 2: Positive emotions
[1595] User: "It's a really great day today."
[1596] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[1597] Server: Generate a response of "That's true! Did you have any fun?"
[1598] Server: Evaluates the response for contextual fit and checks for consistency.
[1599] Server: Sends the response to the device.
[1600] Terminal: displays the response to the user.
[1601] In this way, the system of the present invention incorporating an emotion engine analyzes the user's emotions in real time and generates and adjusts appropriate responses, making the chat experience more natural and exciting, thereby increasing user satisfaction and improving chat continuity.
[1602] The processing flow will be explained below.
[1603] Step 1:
[1604] The user types a message on the chat screen and presses the send button. For example, the user types, "Work hasn't been going well lately."
[1605] Step 2:
[1606] The terminal acquires the text data entered by the user and transmits it to the server.
[1607] Step 3:
[1608] The server receives the text data sent by the user.
[1609] Step 4:
[1610] The text data received by the server is analyzed using a natural language processing (NLP) library. Specifically, the following processes are performed:
[1611] Tokenization: Splitting text into words.
[1612] Stopword removal: Remove unimportant words such as common conjunctions.
[1613] Topic extraction: Identifying key keywords and phrases (e.g., "job").
[1614] Step 5:
[1615] The server uses an emotion engine to analyze the emotions in the text data. Specifically, it performs the following processes:
[1616] Sentiment scoring: Calculating a positive, negative, or neutral score based on the context of the text (e.g., "negative").
[1617] Step 6:
[1618] The server generates response candidates based on the analysis results (topic "work" and emotion "negative"). Specifically, it performs the following process.
[1619] Select a response template: Choose from multiple templates.
[1620] Response generation: Create a specific response based on the analysis results (e.g., "That's tough. Is there anything I can help you with?").
[1621] Step 7:
[1622] The server evaluates whether the generated response candidates are in harmony with the chat context. Specifically, it performs the following process.
[1623] Check the flow of the conversation: Check the previous conversation and the overall tone.
[1624] Determine if adjustments are needed: Evaluate whether the response is appropriate and make changes if necessary.
[1625] Step 8:
[1626] The server adjusts the generated response candidates by:
[1627] Adjust endings: Change to a lighter tone or more empathetic expressions.
[1628] Response scoring: Score the adjusted responses and select the best one.
[1629] Step 9:
[1630] The server finalizes the tailored response and sends it to the user's terminal.
[1631] Step 10:
[1632] The device receives the response from the server and displays it on the chat screen, allowing the user to see the tailored response (e.g., "That's tough. Is there anything I can help you with?").
[1633] Example 2
[1634] 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."
[1635] In conventional chat systems, it was difficult to accurately recognize users' emotions and generate appropriate responses based on them. As a result, the dialogue with users felt unnatural, which led to lower satisfaction. Furthermore, responses often did not match the user's context or emotions, further reducing the quality of communication.
[1636] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes a means for receiving text data from a user, a means for analyzing the received text data using natural language processing technology and identifying emotions and topics, a means for generating reply candidates using a generative AI model based on the identified emotions and topics, a means for evaluating whether the generated reply candidates are in harmony with the chat context and adjusting them as necessary, and a means for sending the adjusted reply candidates to the user. This enables the generation of natural responses that match the user's emotions and context. Furthermore, the use of an emotion engine can track changes in the user's emotions and provide optimal responses, thereby improving user satisfaction and the quality of the chat experience.
[1637] A "user" is an end user who uses the chat system to input text data and engage in conversation.
[1638] "Text data" refers to character information that a user inputs and sends on the chat screen.
[1639] "Natural language processing technology" is a technology for processing human language using computers, enabling text analysis, understanding meaning, and identifying emotions.
[1640] "Emotion" refers to the emotional state contained in the text data entered by the user, and is classified into categories such as positive, negative, and neutral.
[1641] A "topic" refers to the main topic or theme of a user's text data.
[1642] A "generative AI model" is an artificial intelligence model that generates an appropriate response based on an input prompt sentence.
[1643] A "prompt sentence" is an input sentence given to a generative AI model, and is text that contains instructions for generating a response.
[1644] "Response candidates" refer to multiple reply options that the generative AI model generates in response to the user's text data.
[1645] An "emotion engine" is a program or system that analyzes the emotions in text data and generates and adjusts responses based on the results.
[1646] "Context" indicates the circumstances under which a particular statement was made in a series of user interactions, and refers to the context for understanding its meaning.
[1647] "Harmony" means that the generated response matches the user's context and emotions, and is consistent enough to form a natural dialogue.
[1648] "Sending" refers to the act of the server communicating the generated and tailored response to the user's terminal.
[1649] A "terminal" is a device through which a user accesses the chat system and engages in conversation.
[1650] The system of the present invention is a chat system that recognizes the user's emotions and generates and adjusts appropriate responses. Specific embodiments for implementing this system will be described below.
[1651] System Generation
[1652] The system includes the following main components:
[1653] 1. User Device
[1654] 2. Network
[1655] 3. Server
[1656] 4. Emotion Engine
[1657] 5. Generative AI Models
[1658] User terminal
[1659] A user terminal is a device that allows a user to input and send text data. Terminals include PCs, smartphones, tablets, etc. When a user inputs a message on the chat screen and presses the send button, the data is immediately retrieved by the terminal and sent to the server.
[1660] server
[1661] The server plays a central role in processing the text data received from the user. The server does the following:
[1662] 1. Receiving text data
[1663] 2. Data analysis using an emotion engine
[1664] 3. Generating response candidates using a generative AI model
[1665] 4. Adjust response suggestions
[1666] 5. Sending the Response
[1667] Emotion Engine
[1668] The emotion engine analyzes incoming text data to identify user sentiment and topics. Specifically, it uses technologies such as Google Cloud's natural language processing API to analyze input text.
[1669] Generative AI Models
[1670] A generative AI model is an artificial intelligence model that generates appropriate response candidates based on analysis results. Specifically, it uses models such as OpenAI's GPT-3 to input a prompt and generate response candidates.
[1671] Example of operation
[1672] Example 1: Negative emotions
[1673] User: "Work hasn't been going well lately."
[1674] Server: Uses a sentiment engine to recognize text data as a topic called "work" and identify "negative" sentiment.
[1675] Server: Sends a prompt to the generative AI model to generate a response such as, "That's tough. Is there anything I can help you with?"
[1676] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[1677] Server: Sends the response to the device.
[1678] Terminal: displays the response to the user.
[1679] Example 2: Positive emotions
[1680] User: "It's a really great day today."
[1681] Server: Uses an emotion engine to recognize text data as a topic called "everyday" and identify "positive" emotions.
[1682] Server: Sends a prompt to the generative AI model to generate a response: "That's true! Did you do something fun?"
[1683] Server: Evaluates the generated response for its suitability to the context and checks for consistency.
[1684] Server: Sends the response to the device.
[1685] Terminal: displays the response to the user.
[1686] Prompt Sentence Examples
[1687] If the user enters "Work hasn't been going well lately," the server sends the following prompt to the generative AI model:
[1688] "A user types, 'Work hasn't been going well lately.' Generate an appropriate response."
[1689] Also, if the user types, "It's a really nice day today," the server will send the following prompt to the generative AI model:
[1690] "The user types, 'What a beautiful day today.' Generate an appropriate response."
[1691] In this way, the system of the present invention analyzes user emotions in real time and generates and adjusts natural and appropriate responses to improve the chat experience. Furthermore, by combining the emotion engine with a generative AI model, it is possible to increase user satisfaction.
[1692] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1693] Step 1:
[1694] The user enters text data into the chat screen and presses the send button. The device captures this input in real time. An example input is "Work hasn't been going well recently." The input data is converted to JSON format by the device and sent to the server as an HTTP request.
[1695] Input: User-entered text data (e.g., "Work hasn't been going well lately.")
[1696] Output: JSON format text data sent from the terminal to the server
[1697] Step 2:
[1698] The server analyzes the received JSON-formatted text data. Specifically, it uses natural language processing (NLP) technology and an emotion engine (e.g., a cloud-based API) to analyze the user's text data and identify emotions and topics. By calling functions such as "sentiment analysis" and "topic extraction," the server extracts the topic "work," which has "negative emotions."
[1699] Input: JSON format text data received from the terminal
[1700] Output: Sentiment and topic data after analysis (e.g., Sentiment: "Negative", Topic: "Work")
[1701] Step 3:
[1702] Based on the analysis results, the server uses a generative AI model (e.g., GPT-3) to generate appropriate response candidates. This is done by inputting a prompt sentence into the generative AI model. The generative AI model returns an appropriate response candidate based on the provided prompt sentence. For example, "That's tough. Is there anything I can help you with?" is generated.
[1703] Input: Prompt sentence based on the analysis result (e.g., "The user entered, 'Work hasn't been going well recently.' Please generate an appropriate response.")
[1704] Output: Possible responses from the generative AI model (e.g., "That's tough. Is there anything I can help you with?")
[1705] Step 4:
[1706] The server evaluates the generated response candidates and adjusts them as needed, again using the emotion engine to ensure the response matches the user's sentiment and context. For example, if a positive change is observed in the series of interactions after the user sent the text, the server may adjust the tone of the response by slightly lighter.
[1707] Input: Response candidates from a generative AI model
[1708] Output: The optimal response that matches the context and emotion (e.g., "That's tough. It's important to take a break.")
[1709] Step 5:
[1710] Once the adjusted response is confirmed, the server sends the response to the device, which then displays the received response on the chat screen, allowing the user to confirm the adjusted response and continue the conversation.
[1711] Input: Optimal response after tuning
[1712] Output: The response displayed on the terminal (e.g., "That's tough. It's important to take a break.")
[1713] (Application example 2)
[1714] 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."
[1715] In modern brick-and-mortar stores, it is necessary to quickly respond appropriately to customers' emotions. However, conventional customer service systems have difficulty recognizing customers' emotions in real time and suggesting appropriate responses based on those emotions. Furthermore, there is a lack of a method to instantly convert a customer's voice input into text data, analyze that data, and generate appropriate responses. This leads to issues such as inconsistent customer service quality.
[1716] 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 text data from a user, means for analyzing the received text data and identifying emotions and topics, and means for generating response candidates based on the identified emotions and topics. This makes it possible to capture a customer's voice and convert it into text data in real time, analyze the converted text data, and generate and adjust appropriate responses.
[1717] The "means for receiving text data from a user" refers to a device or software function for capturing text data entered by a user and incorporating it into the system.
[1718] The "means for analyzing received text data and identifying emotions and topics" refers to the function of a device or software that uses an emotion engine or natural language processing technology to identify emotions and topics in received text data.
[1719] The "means for generating candidate responses based on the identified emotions and topics" refers to the functionality of a device or software for generating appropriate responses according to the analysis results of emotions and topics.
[1720] "Means for evaluating whether generated response candidates are in harmony with the chat context and adjusting them as necessary" refers to the function of a device or software for evaluating whether generated responses are appropriate for the development of the chat and adjusting them as appropriate.
[1721] The "means for sending adjusted response candidates to a user" refers to the functionality of a device or software for ultimately sending adjusted responses to a user.
[1722] The "means for capturing customer speech and converting it into text data in real time" refers to a device or software function for capturing customer speech as audio and converting it into text data.
[1723] "Means for transmitting and analyzing the converted text data and generating and adjusting an appropriate response" refers to the functionality of the device or software for transmitting the text data converted from speech to a server, analyzing it, and generating and adjusting an appropriate response.
[1724] The "means for displaying the adjusted response on a display device" refers to a function of a device or software for displaying the adjusted response on a display or the like so that the user can confirm it.
[1725] The system of this invention is an "emotion-aware customer service assistant" that recognizes customer emotions in real time and provides appropriate responses to improve the customer service experience in brick-and-mortar stores. This system enables users (store clerks) to wear smart glasses or a head-mounted display and provide appropriate customer service through dialogue with customers.
[1726] System configuration:
[1727] 1. Voice Capture and Recognition
[1728] Hardware: Smart glasses (with built-in microphone)
[1729] Software: Google Cloud Speech-to-Text API
[1730] Processing: User (customer) speech is captured as audio and converted into text data in real time. For example, if a customer says, "I'm not satisfied with the service I received yesterday," this speech is immediately converted into text data and entered into the system.
[1731] 2. Sending and analyzing text data
[1732] Hardware: Server
[1733] Software: Hugging Face Transformers (NLP model)
[1734] Processing: The captured text data is sent to a server, where natural language processing techniques are used to identify sentiment and topics. For example, the text data "I'm not satisfied with the service yesterday" is parsed into the topic "service" and the sentiment "negative."
[1735] 3. Generating response candidates
[1736] Hardware: Server
[1737] Software: OpenAI GPT-3 (generative AI model)
[1738] Processing: Based on the identified sentiment and topic, generate appropriate response candidates, for example, "Sorry, could you tell me what you were dissatisfied with?"
[1739] Example prompts to input to a generative AI model:
[1740] "Sentiment: Negative Topic: Service Generate candidate responses."
[1741] 4. Adjusting and Evaluating Responses
[1742] Hardware: Server
[1743] Software: Emotion Engine
[1744] Processing: Evaluate whether the generated response candidates fit the context of the chat and adjust them as needed. For example, if the customer starts to calm down, the next response will be adjusted to be more light-hearted.
[1745] 5. Sending and Displaying Responses
[1746] Hardware: Smart glasses
[1747] Software: Display Interface
[1748] Processing: The adjusted response is displayed on the smart glasses display, and the user (store clerk) takes appropriate action based on it.
[1749] Examples:
[1750] In the case of negative emotions
[1751] User (customer): "I'm not satisfied with the service I received yesterday."
[1752] Server: Recognizes text data as a topic called "service" and identifies "negative" sentiment.
[1753] Server: Generates a response that says, "Sorry. Can you tell me what you weren't happy with?"
[1754] Server: Evaluates the response for contextual fit and checks for consistency.
[1755] Server: Sends the response to the smart glasses.
[1756] Terminal (smart glasses): Displays the response to the user (store clerk).
[1757] In the case of positive emotions
[1758] User (customer): "I was very satisfied today."
[1759] Server: Recognizes text data as a topic of "everyday life" and identifies "positive" sentiment.
[1760] Server: Generate a response like "Thank you so much! Can you tell me what exactly you liked?"
[1761] Server: Evaluates the response for contextual fit and checks for consistency.
[1762] Server: Sends the response to the smart glasses.
[1763] Terminal (smart glasses): Displays the response to the user (store clerk).
[1764] In this way, the system of the present invention analyzes customer emotions in real time in physical stores and generates and adjusts appropriate responses to improve the customer experience.
[1765] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1766] Step 1:
[1767] The user (customer) speaks. The microphone in the smart glasses captures this voice. The voice is acquired as analog voice data.
[1768] Input: Customer's speech (voice data)
[1769] Output: Captured analog audio data
[1770] How it works: The microphone in the smart glasses captures what the customer says.
[1771] Step 2:
[1772] The device (smart glasses) uses the Google Cloud Speech-to-Text API to convert captured voice data into text data in real time.
[1773] Input: Captured analog audio data
[1774] Output: Text data
[1775] How it works: Converts audio data into text using the Google Cloud Speech-to-Text API.
[1776] Step 3:
[1777] The terminal (smart glasses) sends the converted text data to the server.
[1778] Input: Text data
[1779] Output: Text data sent to the server
[1780] How it works: The smart glasses send text data to the server via an HTTP request.
[1781] Step 4:
[1782] The server analyzes the received text data and uses Hugging Face Transformers to identify emotions and topics.
[1783] Input: Text data
[1784] Output: Sentiment and topic analysis results
[1785] How it works: Analyzes text data using Hugging Face Transformers to identify emotions and topics.
[1786] Step 5:
[1787] The server generates appropriate response candidates using OpenAI GPT-3 based on the identified sentiment and topic.
[1788] Input: Sentiment and topic analysis results
[1789] Output: Response candidates
[1790] How it works: Enter a prompt into OpenAI GPT-3 and generate potential responses.
[1791] example:
[1792] Prompt: "Sentiment: Negative Topic: Service Please generate a potential response."
[1793] Step 6:
[1794] The server evaluates whether the generated response candidates are in tune with the chat context and adjusts them as needed using an emotion engine.
[1795] Input: Response candidate
[1796] Output: Adjusted response candidates
[1797] How it works: Evaluate generated response candidates for fit to the context and adjust them to be harmonious.
[1798] Step 7:
[1799] The server sends the adjusted candidate responses to the smart glasses.
[1800] Input: Adjusted response candidates
[1801] Output: Possible responses sent to the terminal
[1802] How it works: The refined response candidates are sent in an HTTP request to the smart glasses.
[1803] Step 8:
[1804] The terminal (smart glasses) displays the received response on the user's (store clerk's) display.
[1805] Input: Adjusted response candidates sent by the server
[1806] Output: Display on the screen
[1807] How it works: The smart glasses display displays tailored response candidates.
[1808] 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.
[1809] 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.
[1810] 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.
[1811] 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.
[1812] 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.
[1813] 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.
[1814] 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).
[1815] 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.
[1816] 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."
[1817] 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.
[1818] 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).
[1819] 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.
[1820] 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.
[1821] 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.
[1822] 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.
[1823] 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.
[1824] 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.
[1825] 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.
[1826] 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.
[1827] 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.
[1828] 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.
[1829] The following is further disclosed regarding the above embodiment.
[1830] (Claim 1)
[1831] means for receiving text data from a user;
[1832] means for analyzing the received text data to identify sentiment and topics;
[1833] means for generating candidate responses based on the identified sentiment and topic;
[1834] a means for evaluating whether the generated response candidates fit the context of the chat and adjusting them as necessary; and
[1835] means for transmitting the tailored candidate responses to the user;
[1836] A system including:
[1837] (Claim 2)
[1838] 10. The system of claim 1, wherein the received text data is analyzed using natural language processing techniques.
[1839] (Claim 3)
[1840] 10. The system of claim 1, wherein the generated candidate responses are selected from a plurality of templates.
[1841] "Example 1"
[1842] (Claim 1)
[1843] means for receiving text data from a user;
[1844] A means for analyzing the received text data using natural language processing techniques to identify sentiment and topics;
[1845] means for generating candidate responses based on the identified sentiment and topic;
[1846] a means for evaluating whether the generated response candidates fit the context of the chat and adjusting them as necessary; and
[1847] means for transmitting the tailored candidate responses to the user;
[1848] A system including:
[1849] (Claim 2)
[1850] The system of claim 1 generates multiple response candidates using a generative AI model based on the analysis results, and selects the optimal response from among them.
[1851] (Claim 3)
[1852] 10. The system of claim 1, further comprising an algorithm for evaluating the contextual relevance of generated candidate responses and adjusting the responses as needed.
[1853] "Application Example 1"
[1854] (Claim 1)
[1855] means for receiving text data from a user;
[1856] means for analyzing the received text data to identify sentiment and topics;
[1857] means for generating candidate responses based on the identified sentiment and topic;
[1858] a means for evaluating whether the generated response candidates fit the context of the chat and adjusting them as necessary; and
[1859] means for sending the tailored candidate responses to the user and recommending movies or TV shows;
[1860] A system including:
[1861] (Claim 2)
[1862] 10. The system of claim 1, wherein the received text data is analyzed using natural language processing techniques.
[1863] (Claim 3)
[1864] 2. The system of claim 1, wherein the generated response candidates are selected from a plurality of templates and generated based on the prompt sentence using a generative AI model.
[1865] "Example 2: Combining Emotion Engines"
[1866] (Claim 1)
[1867] means for receiving text data from a user;
[1868] A means for analyzing the received text data using natural language processing techniques to identify sentiment and topics;
[1869] a means for generating candidate responses utilizing a generative AI model based on the identified sentiment and topic;
[1870] a means for evaluating whether the generated response candidates fit the context of the chat and adjusting them as necessary; and
[1871] means for transmitting the tailored candidate responses to the user;
[1872] A system including:
[1873] (Claim 2)
[1874] 2. The system of claim 1, wherein the response candidates are input to the generative AI model as prompt sentences.
[1875] (Claim 3)
[1876] 10. The system of claim 1, wherein the generated candidate responses are evaluated for fit to the context and a sentiment engine is used to confirm congruence.
[1877] "Application example 2 when combining emotion engines"
[1878] (Claim 1)
[1879] means for receiving text data from a user;
[1880] means for analyzing the received text data to identify sentiment and topics;
[1881] means for generating candidate responses based on the identified sentiment and topic;
[1882] a means for evaluating whether the generated response candidates fit the context of the chat and adjusting them as necessary; and
[1883] means for transmitting the tailored candidate responses to the user;
[1884] A means of capturing customer voice and converting it into text data in real time;
[1885] means for transmitting and parsing the converted text data and generating and coordinating an appropriate response;
[1886] means for displaying the adjusted response on a display device;
[1887] A system including:
[1888] (Claim 2)
[1889] 10. The system of claim 1, wherein the received text data is analyzed using natural language processing techniques.
[1890] (Claim 3)
[1891] 10. The system of claim 1, wherein the generated candidate responses are selected from a plurality of templates. [Explanation of symbols]
[1892] 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 text data from a user; means for analyzing the received text data to identify sentiment and topics; means for generating candidate responses based on the identified sentiment and topic; a means for evaluating whether the generated response candidates fit the context of the chat and adjusting them as necessary; and means for transmitting the tailored candidate responses to the user; A system including:
2. 10. The system of claim 1, wherein the received text data is analyzed using natural language processing techniques.
3. The system of claim 1 , wherein the generated candidate responses are selected from a plurality of templates.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A