System
The system uses generative AI to analyze user input, generate diverse phrases, create training data, and retrain chatbot models, addressing the inefficiencies of manual data creation and improving response accuracy.
Patent Information
- Application Number
- JP2024116471
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-29
AI Technical Summary
Existing chatbot systems require significant time and effort for manual data creation, lack data for specific fields or unique expressions, and struggle to respond accurately to diverse user questions due to repetitive training data.
A system that uses a generative AI to analyze user input, generate multiple phrases, create training data, retrain the chatbot model, and deploy the updated model efficiently, improving accuracy.
Efficiently creates high-quality training data, enhancing chatbot response accuracy and adaptability to various question formats.
Smart Images

Figure 2026014997000001_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] Existing chatbot systems require a large amount of training data to provide accurate answers to user questions. However, manually creating this training data requires a significant amount of time and effort. Furthermore, there is often a lack of data for specific fields or unique expressions, which can result in reduced accuracy of answers. Furthermore, data created based on anticipated questions tends to be repetitive, making it difficult to respond to the diverse range of user questions. The present invention aims to solve these problems by efficiently generating high-quality training data and improving the accuracy of chatbot responses. [Means for solving the problem]
[0005] The present invention is a system including a means for receiving input from a user, a means for analyzing the input, a means for generating the analysis results using a generative AI, a means for creating training data based on the generated results, a means for retraining a model based on the training data, and a means for deploying the updated model. Specifically, a question from a user is received, the question is analyzed using a natural language processing tool, and keywords are extracted. Next, the generative AI automatically generates multiple different phrases based on the analysis results and formats them as training data. The model is retrained based on this training data, and the retrained model is rapidly deployed, thereby improving the accuracy of chatbot responses.
[0006] "User" refers to a person or end user who inputs questions or instructions into the System.
[0007] "Means for receiving input" refers to the input device or interface that allows the user to ask questions or give instructions to the system.
[0008] "Means for analyzing" refers to a method or device that analyzes received input using techniques such as natural language processing and extracts important keywords and meanings.
[0009] "Means for generating" refers to a device or algorithm that automatically generates multiple different phrases based on analyzed input using technologies such as generative AI.
[0010] "Means for creating training data" refers to a method or device for formatting and constructing a dataset for a chatbot to learn from, based on automatically generated phrases.
[0011] "Means for retraining the model" refers to a method or algorithm that uses newly created training data to retrain the chatbot model and improve its performance.
[0012] "Deployment means" refers to the method or device for distributing the retrained model throughout the system and making it available to users.
[0013] "Natural language processing tools" refers to software and techniques used in the field of computer science and artificial intelligence to analyze and understand the meaning of input text.
[0014] "Generative AI" refers to artificial intelligence technology that automatically generates diverse outputs from specified inputs. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0036] This invention is a system that uses a generation AI to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. The following is a specific embodiment of the invention, and the program processing is explained in natural language.
[0037] System Overview
[0038] This system analyzes questions entered by users, generates various responses using generative AI, and uses these as training data to retrain the chatbot.The retrained chatbot model is then deployed in a form that allows users to use it.
[0039] Program processing
[0040] 1. User Input
[0041] The user inputs a question to the chatbot through the terminal, such as "What will the weather be like tomorrow?"
[0042] 2. Receiving Input
[0043] The terminal receives the user's question and transmits the question to the server.
[0044] 3. Parsing the Input
[0045] The server analyzes the received question using natural language processing tools to extract important keywords and context. For example, keywords such as "tomorrow" and "weather" are extracted.
[0046] 4. Generating phrases using generative AI
[0047] The server sends the analysis results to the generation AI, which automatically generates multiple different phrases for the same question, such as "Will it be sunny tomorrow?" or "What's the weather forecast for tomorrow?"
[0048] 5. Creating training data
[0049] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases to build a training dataset.
[0050] 6. Retraining the model
[0051] The server retrains the chatbot model using the newly created training data, allowing the chatbot to respond to new question formats.
[0052] 7. Deploying the Updated Model
[0053] The server distributes the retrained chatbot model to the device, making it available to the user.
[0054] Specific examples
[0055] 1. User provides input:
[0056] A user types a question into the chatbot, such as "What's the weather going to be like tomorrow?"
[0057] 2. The device receives the input and sends it to the server:
[0058] The terminal receives this query and sends it to the server.
[0059] 3. The server parses the question:
[0060] The server extracts the keywords "tomorrow" and "weather" and understands the meaning of the question.
[0061] 4. Generative AI generates new phrases:
[0062] Generative AI generates new phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[0063] 5. Create training data:
[0064] The server pairs the original question with the generated phrases to build a training dataset.
[0065] 6. Retrain the model:
[0066] The server retrains the chatbot model using the newly created training data to improve its accuracy.
[0067] 7. Deploy the new model:
[0068] The retrained model is then delivered to the device, allowing the user to get an accurate answer when asking, "Will it be sunny tomorrow?"
[0069] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses.
[0070] The processing flow will be explained below.
[0071] Step 1:
[0072] The user inputs a question to the terminal, such as "What will the weather be like tomorrow?" The terminal receives this question and prepares it for transmission to the server.
[0073] Step 2:
[0074] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[0075] Step 3:
[0076] The server checks the query received from the device and decodes the data into a parsable format according to the received protocol.
[0077] Step 4:
[0078] The server analyzes the question. Specifically, it uses natural language processing tools to analyze the text, extracting important keywords such as "tomorrow" and "weather," and understands the intent of the question.
[0079] Step 5:
[0080] The server inputs the extracted keywords and analysis results into the AI generator, which then generates multiple related phrases based on this input.
[0081] Step 6:
[0082] The AI automatically generates various phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?" The generated phrases are sent to the server.
[0083] Step 7:
[0084] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[0085] Step 8:
[0086] The server pairs the original question with the generated phrases and formats them as training data. This dataset is stored in a database and made available.
[0087] Step 9:
[0088] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats.
[0089] Step 10:
[0090] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[0091] Step 11:
[0092] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[0093] Step 12:
[0094] The user asks again, "Will it be sunny tomorrow?" The device receives this question and sends it to the server, which uses the updated model to generate an appropriate answer and presents it to the user via the device.
[0095] By following the above steps, the system can efficiently create training data and improve the accuracy of chatbot responses.
[0096] Example 1
[0097] 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."
[0098] The challenge is to efficiently create training data for chatbots using generative AI and thereby improve the accuracy of chatbot responses. With conventional systems, creating training data that can handle a variety of phrases takes time and effort, making it difficult to enrich the dataset needed to retrain chatbots.
[0099] 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.
[0100] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating different phrases based on the analysis results, means for creating training data based on the generated different phrases, means for retraining the model based on the training data, and means for deploying the updated model, thereby making it possible to efficiently improve the accuracy of responses from the chatbot.
[0101] "Means for receiving input from a user" refers to an interface for a user to input questions or information and a function for receiving that input.
[0102] "Means for analyzing input" refers to a function for analyzing received user input and understanding important keywords and context.
[0103] "Means for generating different phrases based on the analysis results" refers to a function that uses the analysis results to generate different phrases that have the same meaning.
[0104] "Means for creating training data based on the generated different phrases" refers to a function for creating a training dataset by combining the generated different phrases with the original input.
[0105] "Means for retraining a model based on training data" refers to the function of retraining a machine learning model using the created training data to improve the accuracy of the model.
[0106] "Means for deploying updated models" refers to the ability to reflect retrained models in the system and make them available to users.
[0107] "Natural language processing tools" refer to software and algorithms that analyze natural language and perform keyword extraction and context understanding.
[0108] "Generative AI" refers to an AI system that uses machine learning models to generate new text or phrases based on input data.
[0109] This invention is a system that uses a generative AI model to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. In a specific embodiment of this system, the process is as follows.
[0110] A user uses a device to input a question to a chatbot. For example, a user opens a smartphone application and inputs, "What's the weather going to be like tomorrow?"
[0111] The device receives this question and sends it to the server as an API request using the standard HTTP POST request protocol.
[0112] To analyze the questions received by the server, natural language processing tools (e.g., SpaCy or BERT) are used to tokenize the questions and extract important keywords and context. Specifically, tokens such as "tomorrow" and "weather" are extracted.
[0113] The server sends the analysis results to a generation AI (e.g., GPT-4) to generate multiple different phrases with the same meaning. For example, in response to the question "What's the weather like tomorrow?", the prompt "Generate other phrases with the same meaning as 'What's the weather like tomorrow?'" is used to generate different phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[0114] The server creates training data based on the different phrases generated. The generated phrases are paired with the original question and saved in a database. Specifically, the data is constructed in JSON format or similar, and data corresponding to fields such as "inquiry" and "similar phrases" is stored.
[0115] The server uses the newly created training data to retrain the chatbot model using a machine learning framework (e.g., TensorFlow or PyTorch). It monitors the logs and progress during retraining and evaluates the performance of the new model after training.
[0116] The retrained model is then distributed from the server to the device and made available to the user. When a user asks, "Will it be sunny tomorrow?", the updated chatbot will be able to provide an appropriate weather forecast.
[0117] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses. The software and hardware used include natural language processing tools (e.g., SpaCy, BERT), generative AI models (e.g., GPT-4), and machine learning frameworks (e.g., TensorFlow, PyTorch).
[0118] (Example of a prompt)
[0119] "Generate other phrases that mean the same as 'What's the weather going to be like tomorrow?'"
[0120] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0121] Step 1:
[0122] User input
[0123] A user inputs a question to a chatbot using a device (such as a smartphone or PC). The input text is in the form of "What is the weather going to be tomorrow?". The input data is entered through an application on the device or an input form in a web browser.
[0124] Input: The question text entered by the user
[0125] Output: Receiving input data by a terminal
[0126] Step 2:
[0127] The device receives input data and sends it to the server.
[0128] The terminal receives input data from the user and sends this data to the server using an HTTP POST request, with the request body containing the user's question text.
[0129] Input: User-entered data
[0130] Output: HTTP request sent to the server
[0131] Step 3:
[0132] The server parses the question
[0133] The server analyzes the received question, using natural language processing tools (e.g., SpaCy or BERT) to tokenize and analyze the question text and extract important keywords and context, such as "tomorrow" and "weather."
[0134] Input: Received question text
[0135] Output: Extracted keywords and context information
[0136] Step 4:
[0137] The server sends the analysis results to the generation AI, which generates different phrases.
[0138] The server sends the analysis results (extracted keywords) as a prompt to the generation AI (e.g., GPT-4) to generate multiple different phrases for the question. The prompt uses the format "Please generate other phrases that have the same meaning as 'What will the weather be like tomorrow?'"
[0139] Input: Analysis results, prompt text
[0140] Output: Different wordings generated
[0141] Step 5:
[0142] The server creates training data using the generated phrases
[0143] The server creates a training dataset by pairing the generated phrases with the original question. This data is stored in the fields "Query" and "Similar Phrases" in JSON format, for example.
[0144] Input: Original question and generated phrase
[0145] Output: Training dataset
[0146] Step 6:
[0147] The server retrains the model using the training data.
[0148] The server retrains the chatbot model using the newly created training data. The model is trained using a machine learning framework (e.g., TensorFlow or PyTorch). The server monitors the retraining log and progress, and evaluates the performance of the new model after training is complete.
[0149] Input: Teacher dataset
[0150] Output: The retrained chatbot model
[0151] Step 7:
[0152] The server distributes the updated model to the device and makes it available to the user.
[0153] The server deploys the retrained chatbot model and distributes it to the device, where the device's application or web interface is updated to use the new model, allowing the user to access a chatbot that can handle new question formats.
[0154] Input: Retrained chatbot model
[0155] Output: The updated chatbot that is served to the user
[0156] (Application example 1)
[0157] 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."
[0158] In e-commerce systems, providing fast and accurate answers to customer questions is important for improving customer satisfaction. Conventional chatbots are limited in the types of questions they can answer, and in order to handle a variety of phrases, large amounts of training data had to be manually created. This resulted in issues such as increased maintenance costs and reduced system utilization efficiency.
[0159] 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.
[0160] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating the analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, means for deploying the updated model, means for the model to provide customer support in an e-commerce system, and means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model, thereby enabling the e-commerce system to respond to various types of questions from customers and provide quick and accurate answers.
[0161] The "means for receiving input from a user" refers to a method or device for receiving information input by a user through a terminal.
[0162] The "means for analyzing the input" refers to a technique or device for analyzing the received user input and extracting meanings and keywords.
[0163] The "means for generating the analysis results" refers to a technique or device that automatically generates new information or data from the analyzed input.
[0164] "Means for creating training data based on the generated results" refers to technology or devices for constructing a training dataset using the generated data.
[0165] "Means for retraining a model based on the training data" refers to technology or devices for retraining a machine learning model using the created training data.
[0166] The "means for deploying the updated model" refers to the techniques and devices that deploy the retrained model in a real environment and make it usable.
[0167] "Means characterized in that the model provides customer support in an e-commerce system" refers to technology or devices that clearly demonstrate that the retrained model has the characteristics to provide customer support in an online shopping system.
[0168] "Means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model" refers to technology or devices that use artificial intelligence to provide automatically generated answers to various questions from customers.
[0169] This invention provides a chatbot system for responding to various types of questions from customers in e-commerce systems. The system analyzes user input, automatically generates different phrases using a live AI model, and creates new training data to update and deploy the retrained chatbot model. This enables fast and accurate customer support in e-commerce systems.
[0170] System Overview
[0171] This system analyzes questions entered by users, generates various responses, and uses these as training data to retrain the chatbot. Specifically, the following hardware and software are used:
[0172] 1. User's device
[0173] Users access the e-commerce system using a smartphone or PC and interact with the chatbot.
[0174] 2. Server
[0175] The server receives and analyzes user input, creates training data based on the generated results, and performs various processes to deploy the retrained model. The main software used includes natural language processing tools (such as the Python libraries NLTK and spaCy) and generative AI models (such as OpenAI's GPT-3).
[0176] Processing Description
[0177] A user accesses an e-commerce system and inputs a question to the chatbot, such as "What is the delivery status of my order?" This input is received by the user's device and sent to the server, which analyzes the input using natural language processing tools (NLTK or spaCy) to extract key keywords and context.
[0178] The results of this analysis are then sent to a generative AI model (OpenAI's GPT-3) that automatically generates multiple different phrases for the same question, such as "I'd like to know the status of my order" or "Can you tell me when it will arrive?"
[0179] The generated phrases are then used to create training data, which is then paired with the original question and the generated phrases to create a dataset. This newly created training data is then used to retrain the chatbot model, allowing the chatbot to respond to new question formats.
[0180] Finally, the retrained chatbot model is delivered from the server to the user's device, allowing it to provide appropriate answers when the user asks questions such as, "I'd like to know the progress of my order."
[0181] Specific examples
[0182] When a user types a question into the chatbot, such as "What is the delivery status of my order?", the system proceeds as follows:
[0183] Entered question:
[0184] "Please let me know the delivery status of my order"
[0185] Examples of generated phrases:
[0186] 1. "I'd like to know the progress of my order."
[0187] 2. "Please let me know when it will arrive."
[0188] Here are some example prompts to generate these answers using a generative artificial intelligence model (GPT-3):
[0189] text
[0190] Analyze user questions and extract key keywords: 'What is the delivery status of my order?'
[0191] Generate various phrases containing the following keywords: 'order', 'shipping status'
[0192] In this way, training data can be created efficiently, and the accuracy of responses from chatbots in e-commerce systems can be improved.
[0193] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0194] Step 1:
[0195] The user inputs a question to the chatbot using a terminal.
[0196] Input: The question typed by the user (e.g., "What's the shipping status of my order?").
[0197] Specific operation: The user opens a chat window on a device such as a smartphone or computer and enters a question.
[0198] Step 2:
[0199] The terminal receives the user's input and sends the question to the server.
[0200] Input: The question typed by the user.
[0201] Output: The question data sent to the server.
[0202] Specific operation: The terminal acquires the entered question as data and sends it to a server via the Internet.
[0203] Step 3:
[0204] The server parses the received query.
[0205] Input: The query data sent to the server.
[0206] Output: Parsed keywords and context.
[0207] What it does: The server uses natural language processing tools (such as NLTK or spaCy) to analyze the question and extract key keywords (e.g., "order," "shipping status") and context.
[0208] Step 4:
[0209] The server sends the analysis results to a generative AI model, which generates multiple different phrases for the same question.
[0210] Input: Parsed keywords and context.
[0211] Output: A list of the new phrases generated.
[0212] How it works: The server sets the analysis result as a prompt and sends it to a generative AI model (e.g., OpenAI's GPT-3) to generate a new phrase. The generated phrase might be, for example, "I'd like to know the progress of my order" or "Please let me know when it will arrive."
[0213] Step 5:
[0214] The server creates training data based on the generated phrases.
[0215] Input: A list of new phrases to be generated.
[0216] Output: A set of training data pairing the original question with the generated phrase.
[0217] Specific operation: The server combines the original question with the generated phrases to build a new training dataset.
[0218] Step 6:
[0219] The server retrains the chatbot model using the newly created training data.
[0220] Input: The newly created training dataset.
[0221] Output: The retrained chatbot model.
[0222] How it works: The server uses a machine learning algorithm to retrain the model using training data, allowing the chatbot to respond to a variety of question formats.
[0223] Step 7:
[0224] The server distributes the retrained chatbot model to the device, making it available to the user.
[0225] Input: The retrained chatbot model.
[0226] Output: The updated chatbot model delivered to the device.
[0227] Specific operation: The server sends the updated chatbot model to the terminal, and sets it up so that the user can use a chatbot that can also handle new question formats.
[0228] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0229] This invention is a more advanced system that combines a system that efficiently creates training data for chatbots using generative AI, thereby improving the accuracy of chatbot responses, with an emotion engine that recognizes user emotions. Below is a specific embodiment of the invention, and the program processing is explained in natural language.
[0230] System Overview
[0231] The system analyzes questions entered by users, recognizes the underlying emotions, generates various responses using generative AI, and uses these as training data. It also retrains the chatbot model and makes it available to users.
[0232] Program processing
[0233] 1. User Input
[0234] The user inputs a question to the terminal, for example, a question including an emotion such as "What will the weather be like tomorrow? Do I need an umbrella?"
[0235] 2. Receiving Input
[0236] The terminal receives the user's question and transmits the question to the server.
[0237] 3. Emotional Recognition
[0238] The server inputs the received question into the emotion engine, which then analyzes the emotions in the text. For example, emotions such as "anxiety" and "expectation" are recognized.
[0239] 4. Parsing the Input
[0240] The server receives the results of the emotion engine's analysis and uses natural language processing tools to analyze the question itself and extract important keywords and context, such as "tomorrow," "weather," and "umbrella."
[0241] 5. Generating phrases using generative AI
[0242] The server inputs the results of the analysis and emotion engine into a generative AI that generates multiple different phrases for the same question, taking the user's emotions into account.
[0243] 6. Creating training data
[0244] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[0245] 7. Retraining the model
[0246] The server retrains the chatbot model using the newly created training data. This retraining process allows the chatbot to respond to new question formats and emotions.
[0247] 8. Deploying the Updated Model
[0248] The server distributes the retrained chatbot model to the device, making it available to the user.
[0249] Specific examples
[0250] 1. User provides input:
[0251] A user types a question into the chatbot: "What's the weather going to be like tomorrow? Do I need an umbrella?"
[0252] 2. The device receives the input and sends it to the server:
[0253] The terminal receives this question and sends it to the server.
[0254] 3. The server recognizes emotions:
[0255] The server inputs a question into the emotion engine, which then recognizes "anxiety."
[0256] 4. The server parses the question:
[0257] The server extracts the keywords "tomorrow," "weather," and "umbrella" and understands the intent of the question.
[0258] 5. Generative AI generates new phrases:
[0259] The generative AI generates new phrases such as, "I'm worried about tomorrow's weather. Should I take an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[0260] 6. Create training data:
[0261] The server pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[0262] 7. Retrain the model:
[0263] The server retrains the chatbot model using the newly created training data to improve its accuracy and emotional response capabilities.
[0264] 8. Deploy the new model:
[0265] The retrained model is then delivered to the device, allowing the user to receive an appropriate, emotion-sensitive response when asking, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[0266] In this way, the present invention can provide a more personalized chatbot experience by recognizing the user's emotions and generating responses that take them into account.
[0267] The processing flow will be explained below.
[0268] Step 1:
[0269] The user inputs a question to the terminal, such as "What's the weather going to be like tomorrow? Do I need an umbrella?" The terminal receives this question and prepares it for transmission to the server.
[0270] Step 2:
[0271] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[0272] Step 3:
[0273] The server checks the question received from the terminal, decodes it, and converts it into a processable format.
[0274] Step 4:
[0275] The server sends the received question to the emotion engine, which analyzes the user's input text and recognizes the emotion in the sentence. For example, it outputs the emotion "anxiety" as the analysis result.
[0276] Step 5:
[0277] The server receives the analysis results from the emotion engine and begins analyzing the question based on these results. Here, natural language processing tools are used to analyze the text and extract important keywords and context. For example, keywords such as "tomorrow," "weather," and "umbrella" are extracted.
[0278] Step 6:
[0279] The server sends the extracted keywords and sentiment analysis results to the generation AI, which uses this information to generate multiple different related phrases.
[0280] Step 7:
[0281] The AI automatically generates various phrases such as "That's worrying. You might want to take an umbrella tomorrow," or "The weather forecast for tomorrow is rain. Don't forget your umbrella!" The generated phrases are sent to the server.
[0282] Step 8:
[0283] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[0284] Step 9:
[0285] The server pairs the original question with the generated phrases and the results of sentiment analysis, and formats them as training data. This dataset is stored in a database and made available.
[0286] Step 10:
[0287] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats and emotions.
[0288] Step 11:
[0289] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[0290] Step 12:
[0291] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[0292] Step 13:
[0293] The user asks again, "I'm worried. Maybe I should bring an umbrella tomorrow?" The device receives this question and sends it to the server. The server uses the updated model to generate an appropriate answer and presents it to the user via the device.
[0294] This specific processing step allows the system to recognize the user's emotions and provide responses that take them into account, providing a more personalized chatbot experience.
[0295] Example 2
[0296] 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."
[0297] Conventional chatbot systems generate responses without considering the user's emotions, resulting in a poor user experience. Furthermore, they often rely on standard responses and generic phrases, making it difficult to provide personalized responses tailored to the needs of individual users. This leads to issues such as reduced user satisfaction with chatbots and the time-consuming task of generating training data for retraining.
[0298] 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 means for receiving input from a user, means for sentiment analysis of the input, means for generating the analysis result, means for creating training data based on the generated phrases, means for retraining a model based on the training data, and means for deploying the updated model. This makes it possible to generate responses that recognize and reflect the user's sentiment, thereby providing a personalized and advanced chatbot experience.
[0299] A "user" is an individual or group that operates a terminal and inputs questions or instructions to use the system.
[0300] "Input" refers to character string data such as questions or instructions given by the user to the terminal.
[0301] "Emotion analysis" is the process of identifying a user's emotions from input text, for example, recognizing emotions such as "anxiety" or "expectation."
[0302] "Generation" is the process of generating new data or phrases based on the analysis results.
[0303] "Phrases" are different ways of expressing the same meaning, created by generative AI models.
[0304] "Training data" refers to a paired dataset used to train a machine learning model, which in this case includes the original question, the generated phrases, and the results of sentiment analysis.
[0305] A "model" or "machine learning model" is a collection of algorithms that recognize patterns in input data and make predictions or classifications.
[0306] "Retraining" is the process of retraining an existing machine learning model using newly created training data.
[0307] "Deployment" is the process of placing the retrained model into a production environment and making it available to users.
[0308] A "terminal" is a device through which a user accesses the system and inputs and receives data.
[0309] This invention is a system that efficiently creates training data for chatbots using a generative AI model, thereby improving the accuracy of chatbot responses. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized conversation experience.
[0310] First, the user inputs a question into the device. The device receives this input and sends it to the server. The server then inputs the received input text into a sentiment analysis engine to perform sentiment analysis. The sentiment analysis engine can use, for example, the natural language processing tool BERT or OpenAI's API. The results of the sentiment analysis are output as emotion labels such as "anxiety" or "expectation."
[0311] The server then receives the results of the sentiment analysis engine and analyzes the input sentence using natural language processing tools. Specifically, it uses natural language processing libraries such as spaCy and NLTK to extract important keywords and context from the sentence. This analysis extracts keywords such as "tomorrow," "weather," and "umbrella."
[0312] The server uses the results of the analysis and sentiment analysis to create a prompt sentence, which is then input into the generative AI model. GPT-3, for example, can be used as the generative AI model. An example of a prompt sentence would be, "Question: What's the weather going to be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase." The generative AI model then generates a new phrase based on this. Examples of generated phrases include, "I'm worried about the weather tomorrow. Should I bring an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[0313] The server then combines the generated phrases with the original question and the results of sentiment analysis to create a training dataset, which is then used to retrain the chatbot model. Deep learning libraries such as TensorFlow and PyTorch can be used for retraining, allowing the chatbot model to adapt to new question formats and sentiments.
[0314] Finally, the server distributes the retrained chatbot model to the device. This distribution process can be automated, for example, using a continuous delivery (CD) pipeline. With the new model running on the device, it can generate appropriate, sentiment-sensitive responses when the user types a new question.
[0315] In this way, the present invention can provide a more personalized chatbot experience by recognizing user emotions and generating responses that reflect those emotions. Furthermore, efficient training data generation and model retraining can improve the chatbot's accuracy and emotional response capabilities.
[0316] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0317] Step 1:
[0318] The user inputs a question into the terminal. For example, a request might be "What's the weather going to be like tomorrow? Do I need an umbrella?" The input data is passed from the user to the terminal.
[0319] Step 2:
[0320] The terminal receives the user's input and sends the text data to the server. The input data is a text question, and the output is the transfer of the input data by sending the data to the server.
[0321] Step 3:
[0322] The server inputs the received input text into a sentiment analysis engine for sentiment analysis. The input data is a text question, and the output data is an emotional label such as "anxiety" or "expectation" recognized by the sentiment analysis engine.
[0323] Step 4:
[0324] The server receives the results of the sentiment analysis engine and uses natural language processing tools to analyze the input sentence. Specifically, it receives the question text and sentiment label as input data and extracts important keywords and context. The output data is keywords such as "tomorrow," "weather," and "umbrella."
[0325] Step 5:
[0326] The server generates a prompt sentence using the analyzed keywords and emotion information. The input data are keywords and emotion labels, and the output data is the prompt sentence to be input into the generative AI model. An example of a generated prompt sentence is "Question: What will the weather be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase."
[0327] Step 6:
[0328] The server inputs a prompt sentence into the generative AI model to generate different phrases. The input data is the prompt sentence, and the output data is the new phrase generated. In concrete terms, the generative AI model generates responses such as "You're worried about tomorrow's weather. Should you take an umbrella?" or "Tomorrow's weather forecast is rain. Don't forget your umbrella!"
[0329] Step 7:
[0330] The server uses the generated phrases to create a training dataset. The input data is the original question, the generated phrases, and the sentiment labels, and the output data is the training dataset. Specifically, the original question, the generated phrases, and the results of sentiment analysis are paired.
[0331] Step 8:
[0332] The server retrains the chatbot model using the new training dataset. The input data is the training dataset, and the output data is the retrained chatbot model. This is done using a deep learning library (e.g., TensorFlow or PyTorch).
[0333] Step 9:
[0334] The server delivers the retrained chatbot model to the device. The input data is the retrained model, and the output data is a chatbot model that can be used on the device. Specifically, automatic delivery is performed using a continuous delivery (CD) pipeline.
[0335] Step 10:
[0336] The user inputs a new question into the device, and the retrained model generates an appropriate answer that takes emotions into account. The input data is the user's new question, and the output data is a response that takes emotions into account. For example, the model can generate an answer such as, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[0337] (Application example 2)
[0338] 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."
[0339] Conventional chatbot systems provide uniform answers to user questions, which means they are unable to provide personalized responses that take the user's emotions into account. In particular, electronic payment services require appropriate responses for users who have concerns or questions about payments, but current systems are unable to adequately address these needs. Furthermore, creating training data and retraining the model requires a great deal of time and effort, making efficient operation difficult.
[0340] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0341] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for analyzing emotions, means for generating analysis results and emotion analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, and means for deploying the updated model, thereby enabling the server to respond to the user's emotions and provide personalized responses.
[0342] "Means for receiving input from a user" refers to a device or interface that allows a user to input questions or instructions to the system.
[0343] A "means for parsing input" is software or algorithms that analyze and understand input received from a user.
[0344] "Means for analyzing emotions" refers to software or algorithms for identifying emotions in a user's input and analyzing the user's emotional state.
[0345] The "means for generating analysis results and emotion analysis results" refers to a device or system for generating information based on the results obtained from input analysis and emotion analysis.
[0346] The "means for creating training data" refers to software or a system that creates training data for retraining a machine learning model using the generated analysis results.
[0347] A "means for retraining a model" is software or a system for retraining a machine learning model using the created training data to improve its performance.
[0348] A "means for deploying an updated model" is software or a system for incorporating the retrained machine learning model into the system and making it available to users.
[0349] In order to implement the present invention, the following system configuration and program are used.
[0350] 1. System configuration and program generation
[0351] The system mainly uses the following hardware and software:
[0352] Smartphone: A device that receives input from a user.
[0353] Server: Data processing, emotion engine, and generative AI processing.
[0354] Sentiment engine: Uses Google Cloud Natural Language API.
[0355] Natural language processing tool: SpaCy.
[0356] Generative AI: Uses OpenAI GPT-4.
[0357] Database: MongoDB is used to store training data and retrain the model.
[0358] 2. Program processing explanation
[0359] User Input Processing
[0360] When a user enters questions or concerns about payments through a smartphone app, the input is sent to the server. For example, a user might send a question like, "I'm afraid I won't be able to pay my credit card bill by the due date. What should I do?"
[0361] Sentiment analysis and keyword extraction
[0362] The server inputs the received question into an emotion engine (Google Cloud Natural Language API) for emotion analysis. This analysis identifies the emotional state contained in the user's question and recognizes emotions such as "anxiety."
[0363] Next, the question is analyzed using a natural language processing tool (SpaCy) to extract important keywords and context. For example, from the question above, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted.
[0364] Response generation and training data creation
[0365] Using generative AI (OpenAI GPT-4), we generate multiple different phrases based on the results of sentiment analysis and keyword analysis. Examples of generated answers include:
[0366] "I'm worried about the payment deadline. Let's contact the credit card company first."
[0367] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[0368] The generated phrases are paired with the original question and the results of sentiment analysis to build a training dataset, which is then used to retrain the chatbot model, allowing it to adapt to new questions and situations.
[0369] Deploying the updated model
[0370] The retrained chatbot model is then distributed to smartphone apps and made available to users, allowing them to receive appropriate, emotionally sensitive responses.
[0371] 3. Examples and prompts
[0372] Specific examples
[0373] User Input: "I'm afraid I won't be able to pay my credit card bill on time. What should I do?"
[0374] Emotion analysis result: "Anxiety"
[0375] Example of a generated answer:
[0376] "I'm worried about the payment deadline. Let's contact the credit card company first."
[0377] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[0378] Prompt Sentence Examples
[0379] plaintext
[0380] User Question: I might not be able to pay my credit card bill by the due date. What should I do?
[0381] Emotion: Anxiety
[0382] Generate the appropriate answer:
[0383] In this way, this invention can significantly improve the user experience in electronic payment services by providing personalized responses that take user emotions into account. Furthermore, the combination of generative AI and an emotion engine enables efficient creation of training data and model retraining.
[0384] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0385] Step 1:
[0386] The user inputs information through a smartphone app. For example, the user might input a question such as, "I'm worried that I won't be able to pay my credit card bill by the due date. What should I do?" The input here is a specific question or concern the user has about payment.
[0387] Step 2:
[0388] The terminal receives the user's input and sends it to the server. The sent data is the user's question, and at this stage it is treated as raw text data. Here, the operation of transferring the data to the server via network communication is performed.
[0389] Step 3:
[0390] The server inputs the received question into the emotion engine. Specifically, it uses the Google Cloud Natural Language API to perform emotion analysis of the question. The input is the user's text question, and the output is the analysis result of the emotional state. For example, emotions such as "anxiety" or "worry" are output.
[0391] Step 4:
[0392] The server receives the analysis results from the emotion engine and uses a natural language processing tool (SpaCy) to analyze the question itself. The input is the user's question and the results of the emotion analysis, and the output is the main keywords and their context. For example, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted. Here, text is tokenized and keywords are extracted.
[0393] Step 5:
[0394] The server inputs the results of the analysis and emotion engine into the generative AI (OpenAI GPT-4) to begin the process of generating a new answer. The input is the results of keyword and emotion analysis, and the output is an answer with different wording. For example, multiple example answers such as "We will explain what to do if your payment is late. Please rest assured." are generated. Here, the generative AI model is used to run an algorithm that generates natural-sounding wording.
[0395] Step 6:
[0396] The server creates training data based on the generated answers. The inputs are the original question, the generated answers, and the results of sentiment analysis, which are paired together to create a training dataset. The output is a training dataset for model retraining. This includes the operation of saving the training data in a database.
[0397] Step 7:
[0398] The server retrains the chatbot model using the newly created training data. The input is the training dataset, and the output is the retrained chatbot model. Here, a machine learning algorithm is used to update the model parameters.
[0399] Step 8:
[0400] The server distributes the retrained chatbot model to the device and makes it available to the user. The input is the retrained model, and the output is a chatbot model that can be executed on the user's device. This is where the model is distributed and deployed.
[0401] 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.
[0402] 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.
[0403] 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.
[0404] [Second embodiment]
[0405] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0406] 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.
[0407] 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).
[0408] 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.
[0409] 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.
[0410] 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).
[0411] 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. 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.
[0412] 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.
[0413] 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.
[0414] 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.
[0415] In the smart glasses 214, 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.
[0416] 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."
[0417] This invention is a system that uses a generation AI to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. The following is a specific embodiment of the invention, and the program processing is explained in natural language.
[0418] System Overview
[0419] This system analyzes questions entered by users, generates various responses using generative AI, and uses these as training data to retrain the chatbot.The retrained chatbot model is then deployed in a form that allows users to use it.
[0420] Program processing
[0421] 1. User Input
[0422] The user inputs a question to the chatbot through the terminal, such as "What will the weather be like tomorrow?"
[0423] 2. Receiving Input
[0424] The terminal receives the user's question and transmits the question to the server.
[0425] 3. Parsing the Input
[0426] The server analyzes the received question using natural language processing tools to extract important keywords and context. For example, keywords such as "tomorrow" and "weather" are extracted.
[0427] 4. Generating phrases using generative AI
[0428] The server sends the analysis results to the generation AI, which automatically generates multiple different phrases for the same question, such as "Will it be sunny tomorrow?" or "What's the weather forecast for tomorrow?"
[0429] 5. Creating training data
[0430] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases to build a training dataset.
[0431] 6. Retraining the model
[0432] The server retrains the chatbot model using the newly created training data, allowing the chatbot to respond to new question formats.
[0433] 7. Deploying the Updated Model
[0434] The server distributes the retrained chatbot model to the device, making it available to the user.
[0435] Specific examples
[0436] 1. User provides input:
[0437] A user types a question into the chatbot, such as "What's the weather going to be like tomorrow?"
[0438] 2. The device receives the input and sends it to the server:
[0439] The terminal receives this query and sends it to the server.
[0440] 3. The server parses the question:
[0441] The server extracts the keywords "tomorrow" and "weather" and understands the meaning of the question.
[0442] 4. Generative AI generates new phrases:
[0443] Generative AI generates new phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[0444] 5. Create training data:
[0445] The server pairs the original question with the generated phrases to build a training dataset.
[0446] 6. Retrain the model:
[0447] The server retrains the chatbot model using the newly created training data to improve its accuracy.
[0448] 7. Deploy the new model:
[0449] The retrained model is then delivered to the device, allowing the user to get an accurate answer when asking, "Will it be sunny tomorrow?"
[0450] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses.
[0451] The processing flow will be explained below.
[0452] Step 1:
[0453] The user inputs a question to the terminal, such as "What will the weather be like tomorrow?" The terminal receives this question and prepares it for transmission to the server.
[0454] Step 2:
[0455] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[0456] Step 3:
[0457] The server checks the query received from the device and decodes the data into a parsable format according to the received protocol.
[0458] Step 4:
[0459] The server analyzes the question. Specifically, it uses natural language processing tools to analyze the text, extracting important keywords such as "tomorrow" and "weather," and understands the intent of the question.
[0460] Step 5:
[0461] The server inputs the extracted keywords and analysis results into the AI generator, which then generates multiple related phrases based on this input.
[0462] Step 6:
[0463] The AI automatically generates various phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?" The generated phrases are sent to the server.
[0464] Step 7:
[0465] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[0466] Step 8:
[0467] The server pairs the original question with the generated phrases and formats them as training data. This dataset is stored in a database and made available.
[0468] Step 9:
[0469] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats.
[0470] Step 10:
[0471] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[0472] Step 11:
[0473] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[0474] Step 12:
[0475] The user asks again, "Will it be sunny tomorrow?" The device receives this question and sends it to the server, which uses the updated model to generate an appropriate answer and presents it to the user via the device.
[0476] By following the above steps, the system can efficiently create training data and improve the accuracy of chatbot responses.
[0477] Example 1
[0478] 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."
[0479] The challenge is to efficiently create training data for chatbots using generative AI and thereby improve the accuracy of chatbot responses. With conventional systems, creating training data that can handle a variety of phrases takes time and effort, making it difficult to enrich the dataset needed to retrain chatbots.
[0480] 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.
[0481] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating different phrases based on the analysis results, means for creating training data based on the generated different phrases, means for retraining the model based on the training data, and means for deploying the updated model, thereby making it possible to efficiently improve the accuracy of responses from the chatbot.
[0482] "Means for receiving input from a user" refers to an interface for a user to input questions or information and a function for receiving that input.
[0483] "Means for analyzing input" refers to a function for analyzing received user input and understanding important keywords and context.
[0484] "Means for generating different phrases based on the analysis results" refers to a function that uses the analysis results to generate different phrases that have the same meaning.
[0485] "Means for creating training data based on the generated different phrases" refers to a function for creating a training dataset by combining the generated different phrases with the original input.
[0486] "Means for retraining a model based on training data" refers to the function of retraining a machine learning model using the created training data to improve the accuracy of the model.
[0487] "Means for deploying updated models" refers to the ability to reflect retrained models in the system and make them available to users.
[0488] "Natural language processing tools" refer to software and algorithms that analyze natural language and perform keyword extraction and context understanding.
[0489] "Generative AI" refers to an AI system that uses machine learning models to generate new text or phrases based on input data.
[0490] This invention is a system that uses a generative AI model to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. In a specific embodiment of this system, the process is as follows.
[0491] A user uses a device to input a question to a chatbot. For example, a user opens a smartphone application and inputs, "What's the weather going to be like tomorrow?"
[0492] The device receives this question and sends it to the server as an API request using the standard HTTP POST request protocol.
[0493] To analyze the questions received by the server, natural language processing tools (e.g., SpaCy or BERT) are used to tokenize the questions and extract important keywords and context. Specifically, tokens such as "tomorrow" and "weather" are extracted.
[0494] The server sends the analysis results to a generation AI (e.g., GPT-4) to generate multiple different phrases with the same meaning. For example, in response to the question "What's the weather like tomorrow?", the prompt "Generate other phrases with the same meaning as 'What's the weather like tomorrow?'" is used to generate different phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[0495] The server creates training data based on the different phrases generated. The generated phrases are paired with the original question and saved in a database. Specifically, the data is constructed in JSON format or similar, and data corresponding to fields such as "inquiry" and "similar phrases" is stored.
[0496] The server uses the newly created training data to retrain the chatbot model using a machine learning framework (e.g., TensorFlow or PyTorch). It monitors the logs and progress during retraining and evaluates the performance of the new model after training.
[0497] The retrained model is then distributed from the server to the device and made available to the user. When a user asks, "Will it be sunny tomorrow?", the updated chatbot will be able to provide an appropriate weather forecast.
[0498] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses. The software and hardware used include natural language processing tools (e.g., SpaCy, BERT), generative AI models (e.g., GPT-4), and machine learning frameworks (e.g., TensorFlow, PyTorch).
[0499] (Example of a prompt)
[0500] "Generate other phrases that mean the same as 'What's the weather going to be like tomorrow?'"
[0501] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0502] Step 1:
[0503] User input
[0504] A user inputs a question to a chatbot using a device (such as a smartphone or PC). The input text is in the form of "What is the weather going to be tomorrow?". The input data is entered through an application on the device or an input form in a web browser.
[0505] Input: The question text entered by the user
[0506] Output: Receiving input data by a terminal
[0507] Step 2:
[0508] The device receives input data and sends it to the server.
[0509] The terminal receives input data from the user and sends this data to the server using an HTTP POST request, with the request body containing the user's question text.
[0510] Input: User-entered data
[0511] Output: HTTP request sent to the server
[0512] Step 3:
[0513] The server parses the question
[0514] The server analyzes the received question, using natural language processing tools (e.g., SpaCy or BERT) to tokenize and analyze the question text and extract important keywords and context, such as "tomorrow" and "weather."
[0515] Input: Received question text
[0516] Output: Extracted keywords and context information
[0517] Step 4:
[0518] The server sends the analysis results to the generation AI, which generates different phrases.
[0519] The server sends the analysis results (extracted keywords) as a prompt to the generation AI (e.g., GPT-4) to generate multiple different phrases for the question. The prompt uses the format "Please generate other phrases that have the same meaning as 'What will the weather be like tomorrow?'"
[0520] Input: Analysis results, prompt text
[0521] Output: Different wordings generated
[0522] Step 5:
[0523] The server creates training data using the generated phrases
[0524] The server creates a training dataset by pairing the generated phrases with the original question. This data is stored in the fields "Query" and "Similar Phrases" in JSON format, for example.
[0525] Input: Original question and generated phrase
[0526] Output: Training dataset
[0527] Step 6:
[0528] The server retrains the model using the training data.
[0529] The server retrains the chatbot model using the newly created training data. The model is trained using a machine learning framework (e.g., TensorFlow or PyTorch). The server monitors the retraining log and progress, and evaluates the performance of the new model after training is complete.
[0530] Input: Teacher dataset
[0531] Output: The retrained chatbot model
[0532] Step 7:
[0533] The server distributes the updated model to the device and makes it available to the user.
[0534] The server deploys the retrained chatbot model and distributes it to the device, where the device's application or web interface is updated to use the new model, allowing the user to access a chatbot that can handle new question formats.
[0535] Input: Retrained chatbot model
[0536] Output: The updated chatbot that is served to the user
[0537] (Application example 1)
[0538] 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."
[0539] In e-commerce systems, providing fast and accurate answers to customer questions is important for improving customer satisfaction. Conventional chatbots are limited in the types of questions they can answer, and in order to handle a variety of phrases, large amounts of training data had to be manually created. This resulted in issues such as increased maintenance costs and reduced system utilization efficiency.
[0540] 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.
[0541] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating the analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, means for deploying the updated model, means for the model to provide customer support in an e-commerce system, and means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model, thereby enabling the e-commerce system to respond to various types of questions from customers and provide quick and accurate answers.
[0542] The "means for receiving input from a user" refers to a method or device for receiving information input by a user through a terminal.
[0543] The "means for analyzing the input" refers to a technique or device for analyzing the received user input and extracting meanings and keywords.
[0544] The "means for generating the analysis results" refers to a technique or device that automatically generates new information or data from the analyzed input.
[0545] "Means for creating training data based on the generated results" refers to technology or devices for constructing a training dataset using the generated data.
[0546] "Means for retraining a model based on the training data" refers to technology or devices for retraining a machine learning model using the created training data.
[0547] The "means for deploying the updated model" refers to the techniques and devices that deploy the retrained model in a real environment and make it usable.
[0548] "Means characterized in that the model provides customer support in an e-commerce system" refers to technology or devices that clearly demonstrate that the retrained model has the characteristics to provide customer support in an online shopping system.
[0549] "Means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model" refers to technology or devices that use artificial intelligence to provide automatically generated answers to various questions from customers.
[0550] This invention provides a chatbot system for responding to various types of questions from customers in e-commerce systems. The system analyzes user input, automatically generates different phrases using a live AI model, and creates new training data to update and deploy the retrained chatbot model. This enables fast and accurate customer support in e-commerce systems.
[0551] System Overview
[0552] This system analyzes questions entered by users, generates various responses, and uses these as training data to retrain the chatbot. Specifically, the following hardware and software are used:
[0553] 1. User's device
[0554] Users access the e-commerce system using a smartphone or PC and interact with the chatbot.
[0555] 2. Server
[0556] The server receives and analyzes user input, creates training data based on the generated results, and performs various processes to deploy the retrained model. The main software used includes natural language processing tools (such as the Python libraries NLTK and spaCy) and generative AI models (such as OpenAI's GPT-3).
[0557] Processing Description
[0558] A user accesses an e-commerce system and inputs a question to the chatbot, such as "What is the delivery status of my order?" This input is received by the user's device and sent to the server, which analyzes the input using natural language processing tools (NLTK or spaCy) to extract key keywords and context.
[0559] The results of this analysis are then sent to a generative AI model (OpenAI's GPT-3) that automatically generates multiple different phrases for the same question, such as "I'd like to know the status of my order" or "Can you tell me when it will arrive?"
[0560] The generated phrases are then used to create training data, which is then paired with the original question and the generated phrases to create a dataset. This newly created training data is then used to retrain the chatbot model, allowing the chatbot to respond to new question formats.
[0561] Finally, the retrained chatbot model is delivered from the server to the user's device, allowing it to provide appropriate answers when the user asks questions such as, "I'd like to know the progress of my order."
[0562] Specific examples
[0563] When a user types a question into the chatbot, such as "What is the delivery status of my order?", the system proceeds as follows:
[0564] Entered question:
[0565] "Please let me know the delivery status of my order"
[0566] Examples of generated phrases:
[0567] 1. "I'd like to know the progress of my order."
[0568] 2. "Please let me know when it will arrive."
[0569] Here are some example prompts to generate these answers using a generative artificial intelligence model (GPT-3):
[0570] text
[0571] Analyze user questions and extract key keywords: 'What is the delivery status of my order?'
[0572] Generate various phrases containing the following keywords: 'order', 'shipping status'
[0573] In this way, training data can be created efficiently, and the accuracy of responses from chatbots in e-commerce systems can be improved.
[0574] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0575] Step 1:
[0576] The user inputs a question to the chatbot using a terminal.
[0577] Input: The question typed by the user (e.g., "What's the shipping status of my order?").
[0578] Specific operation: The user opens a chat window on a device such as a smartphone or computer and enters a question.
[0579] Step 2:
[0580] The terminal receives the user's input and sends the question to the server.
[0581] Input: The question typed by the user.
[0582] Output: The question data sent to the server.
[0583] Specific operation: The terminal acquires the entered question as data and sends it to a server via the Internet.
[0584] Step 3:
[0585] The server parses the received query.
[0586] Input: The query data sent to the server.
[0587] Output: Parsed keywords and context.
[0588] What it does: The server uses natural language processing tools (such as NLTK or spaCy) to analyze the question and extract key keywords (e.g., "order," "shipping status") and context.
[0589] Step 4:
[0590] The server sends the analysis results to a generative AI model, which generates multiple different phrases for the same question.
[0591] Input: Parsed keywords and context.
[0592] Output: A list of the new phrases generated.
[0593] How it works: The server sets the analysis result as a prompt and sends it to a generative AI model (e.g., OpenAI's GPT-3) to generate a new phrase. The generated phrase might be, for example, "I'd like to know the progress of my order" or "Please let me know when it will arrive."
[0594] Step 5:
[0595] The server creates training data based on the generated phrases.
[0596] Input: A list of new phrases to be generated.
[0597] Output: A set of training data pairing the original question with the generated phrase.
[0598] Specific operation: The server combines the original question with the generated phrases to build a new training dataset.
[0599] Step 6:
[0600] The server retrains the chatbot model using the newly created training data.
[0601] Input: The newly created training dataset.
[0602] Output: The retrained chatbot model.
[0603] How it works: The server uses a machine learning algorithm to retrain the model using training data, allowing the chatbot to respond to a variety of question formats.
[0604] Step 7:
[0605] The server distributes the retrained chatbot model to the device, making it available to the user.
[0606] Input: The retrained chatbot model.
[0607] Output: The updated chatbot model delivered to the device.
[0608] Specific operation: The server sends the updated chatbot model to the terminal, and sets it up so that the user can use a chatbot that can also handle new question formats.
[0609] 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.
[0610] This invention is a more advanced system that combines a system that efficiently creates training data for chatbots using generative AI, thereby improving the accuracy of chatbot responses, with an emotion engine that recognizes user emotions. Below is a specific embodiment of the invention, and the program processing is explained in natural language.
[0611] System Overview
[0612] The system analyzes questions entered by users, recognizes the underlying emotions, generates various responses using generative AI, and uses these as training data. It also retrains the chatbot model and makes it available to users.
[0613] Program processing
[0614] 1. User Input
[0615] The user inputs a question to the terminal, for example, a question including an emotion such as "What will the weather be like tomorrow? Do I need an umbrella?"
[0616] 2. Receiving Input
[0617] The terminal receives the user's question and transmits the question to the server.
[0618] 3. Emotional Recognition
[0619] The server inputs the received question into the emotion engine, which then analyzes the emotions in the text. For example, emotions such as "anxiety" and "expectation" are recognized.
[0620] 4. Parsing the Input
[0621] The server receives the results of the emotion engine's analysis and uses natural language processing tools to analyze the question itself and extract important keywords and context, such as "tomorrow," "weather," and "umbrella."
[0622] 5. Generating phrases using generative AI
[0623] The server inputs the results of the analysis and emotion engine into a generative AI that generates multiple different phrases for the same question, taking the user's emotions into account.
[0624] 6. Creating training data
[0625] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[0626] 7. Retraining the model
[0627] The server retrains the chatbot model using the newly created training data. This retraining process allows the chatbot to respond to new question formats and emotions.
[0628] 8. Deploying the Updated Model
[0629] The server distributes the retrained chatbot model to the device, making it available to the user.
[0630] Specific examples
[0631] 1. User provides input:
[0632] A user types a question into the chatbot: "What's the weather going to be like tomorrow? Do I need an umbrella?"
[0633] 2. The device receives the input and sends it to the server:
[0634] The terminal receives this question and sends it to the server.
[0635] 3. The server recognizes emotions:
[0636] The server inputs a question into the emotion engine, which then recognizes "anxiety."
[0637] 4. The server parses the question:
[0638] The server extracts the keywords "tomorrow," "weather," and "umbrella" and understands the intent of the question.
[0639] 5. Generative AI generates new phrases:
[0640] The generative AI generates new phrases such as, "I'm worried about tomorrow's weather. Should I take an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[0641] 6. Create training data:
[0642] The server pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[0643] 7. Retrain the model:
[0644] The server retrains the chatbot model using the newly created training data to improve its accuracy and emotional response capabilities.
[0645] 8. Deploy the new model:
[0646] The retrained model is then delivered to the device, allowing the user to receive an appropriate, emotion-sensitive response when asking, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[0647] In this way, the present invention can provide a more personalized chatbot experience by recognizing the user's emotions and generating responses that take them into account.
[0648] The processing flow will be explained below.
[0649] Step 1:
[0650] The user inputs a question to the terminal, such as "What's the weather going to be like tomorrow? Do I need an umbrella?" The terminal receives this question and prepares it for transmission to the server.
[0651] Step 2:
[0652] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[0653] Step 3:
[0654] The server checks the question received from the terminal, decodes it, and converts it into a processable format.
[0655] Step 4:
[0656] The server sends the received question to the emotion engine, which analyzes the user's input text and recognizes the emotion in the sentence. For example, it outputs the emotion "anxiety" as the analysis result.
[0657] Step 5:
[0658] The server receives the analysis results from the emotion engine and begins analyzing the question based on these results. Here, natural language processing tools are used to analyze the text and extract important keywords and context. For example, keywords such as "tomorrow," "weather," and "umbrella" are extracted.
[0659] Step 6:
[0660] The server sends the extracted keywords and sentiment analysis results to the generation AI, which uses this information to generate multiple different related phrases.
[0661] Step 7:
[0662] The AI automatically generates various phrases such as "That's worrying. You might want to take an umbrella tomorrow," or "The weather forecast for tomorrow is rain. Don't forget your umbrella!" The generated phrases are sent to the server.
[0663] Step 8:
[0664] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[0665] Step 9:
[0666] The server pairs the original question with the generated phrases and the results of sentiment analysis, and formats them as training data. This dataset is stored in a database and made available.
[0667] Step 10:
[0668] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats and emotions.
[0669] Step 11:
[0670] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[0671] Step 12:
[0672] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[0673] Step 13:
[0674] The user asks again, "I'm worried. Maybe I should bring an umbrella tomorrow?" The device receives this question and sends it to the server. The server uses the updated model to generate an appropriate answer and presents it to the user via the device.
[0675] This specific processing step allows the system to recognize the user's emotions and provide responses that take them into account, providing a more personalized chatbot experience.
[0676] Example 2
[0677] 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."
[0678] Conventional chatbot systems generate responses without considering the user's emotions, resulting in a poor user experience. Furthermore, they often rely on standard responses and generic phrases, making it difficult to provide personalized responses tailored to the needs of individual users. This leads to issues such as reduced user satisfaction with chatbots and the time-consuming task of generating training data for retraining.
[0679] 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 means for receiving input from a user, means for sentiment analysis of the input, means for generating the analysis result, means for creating training data based on the generated phrases, means for retraining a model based on the training data, and means for deploying the updated model. This makes it possible to generate responses that recognize and reflect the user's sentiment, thereby providing a personalized and advanced chatbot experience.
[0680] A "user" is an individual or group that operates a terminal and inputs questions or instructions to use the system.
[0681] "Input" refers to character string data such as questions or instructions given by the user to the terminal.
[0682] "Emotion analysis" is the process of identifying a user's emotions from input text, for example, recognizing emotions such as "anxiety" or "expectation."
[0683] "Generation" is the process of generating new data or phrases based on the analysis results.
[0684] "Phrases" are different ways of expressing the same meaning, created by generative AI models.
[0685] "Training data" refers to a paired dataset used to train a machine learning model, which in this case includes the original question, the generated phrases, and the results of sentiment analysis.
[0686] A "model" or "machine learning model" is a collection of algorithms that recognize patterns in input data and make predictions or classifications.
[0687] "Retraining" is the process of retraining an existing machine learning model using newly created training data.
[0688] "Deployment" is the process of placing the retrained model into a production environment and making it available to users.
[0689] A "terminal" is a device through which a user accesses the system and inputs and receives data.
[0690] This invention is a system that efficiently creates training data for chatbots using a generative AI model, thereby improving the accuracy of chatbot responses. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized conversation experience.
[0691] First, the user inputs a question into the device. The device receives this input and sends it to the server. The server then inputs the received input text into a sentiment analysis engine to perform sentiment analysis. The sentiment analysis engine can use, for example, the natural language processing tool BERT or OpenAI's API. The results of the sentiment analysis are output as emotion labels such as "anxiety" or "expectation."
[0692] The server then receives the results of the sentiment analysis engine and analyzes the input sentence using natural language processing tools. Specifically, it uses natural language processing libraries such as spaCy and NLTK to extract important keywords and context from the sentence. This analysis extracts keywords such as "tomorrow," "weather," and "umbrella."
[0693] The server uses the results of the analysis and sentiment analysis to create a prompt sentence, which is then input into the generative AI model. GPT-3, for example, can be used as the generative AI model. An example of a prompt sentence would be, "Question: What's the weather going to be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase." The generative AI model then generates a new phrase based on this. Examples of generated phrases include, "I'm worried about the weather tomorrow. Should I bring an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[0694] The server then combines the generated phrases with the original question and the results of sentiment analysis to create a training dataset, which is then used to retrain the chatbot model. Deep learning libraries such as TensorFlow and PyTorch can be used for retraining, allowing the chatbot model to adapt to new question formats and sentiments.
[0695] Finally, the server distributes the retrained chatbot model to the device. This distribution process can be automated, for example, using a continuous delivery (CD) pipeline. With the new model running on the device, it can generate appropriate, sentiment-sensitive responses when the user types a new question.
[0696] In this way, the present invention can provide a more personalized chatbot experience by recognizing user emotions and generating responses that reflect those emotions. Furthermore, efficient training data generation and model retraining can improve the chatbot's accuracy and emotional response capabilities.
[0697] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0698] Step 1:
[0699] The user inputs a question into the terminal. For example, a request might be "What's the weather going to be like tomorrow? Do I need an umbrella?" The input data is passed from the user to the terminal.
[0700] Step 2:
[0701] The terminal receives the user's input and sends the text data to the server. The input data is a text question, and the output is the transfer of the input data by sending the data to the server.
[0702] Step 3:
[0703] The server inputs the received input text into a sentiment analysis engine for sentiment analysis. The input data is a text question, and the output data is an emotional label such as "anxiety" or "expectation" recognized by the sentiment analysis engine.
[0704] Step 4:
[0705] The server receives the results of the sentiment analysis engine and uses natural language processing tools to analyze the input sentence. Specifically, it receives the question text and sentiment label as input data and extracts important keywords and context. The output data is keywords such as "tomorrow," "weather," and "umbrella."
[0706] Step 5:
[0707] The server generates a prompt sentence using the analyzed keywords and emotion information. The input data are keywords and emotion labels, and the output data is the prompt sentence to be input into the generative AI model. An example of a generated prompt sentence is "Question: What will the weather be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase."
[0708] Step 6:
[0709] The server inputs a prompt sentence into the generative AI model to generate different phrases. The input data is the prompt sentence, and the output data is the new phrase generated. In concrete terms, the generative AI model generates responses such as "You're worried about tomorrow's weather. Should you take an umbrella?" or "Tomorrow's weather forecast is rain. Don't forget your umbrella!"
[0710] Step 7:
[0711] The server uses the generated phrases to create a training dataset. The input data is the original question, the generated phrases, and the sentiment labels, and the output data is the training dataset. Specifically, the original question, the generated phrases, and the results of sentiment analysis are paired.
[0712] Step 8:
[0713] The server retrains the chatbot model using the new training dataset. The input data is the training dataset, and the output data is the retrained chatbot model. This is done using a deep learning library (e.g., TensorFlow or PyTorch).
[0714] Step 9:
[0715] The server delivers the retrained chatbot model to the device. The input data is the retrained model, and the output data is a chatbot model that can be used on the device. Specifically, automatic delivery is performed using a continuous delivery (CD) pipeline.
[0716] Step 10:
[0717] The user inputs a new question into the device, and the retrained model generates an appropriate answer that takes emotions into account. The input data is the user's new question, and the output data is a response that takes emotions into account. For example, the model can generate an answer such as, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[0718] (Application example 2)
[0719] 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."
[0720] Conventional chatbot systems provide uniform answers to user questions, which means they are unable to provide personalized responses that take the user's emotions into account. In particular, electronic payment services require appropriate responses for users who have concerns or questions about payments, but current systems are unable to adequately address these needs. Furthermore, creating training data and retraining the model requires a great deal of time and effort, making efficient operation difficult.
[0721] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0722] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for analyzing emotions, means for generating analysis results and emotion analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, and means for deploying the updated model, thereby enabling the server to respond to the user's emotions and provide personalized responses.
[0723] "Means for receiving input from a user" refers to a device or interface that allows a user to input questions or instructions to the system.
[0724] A "means for parsing input" is software or algorithms that analyze and understand input received from a user.
[0725] "Means for analyzing emotions" refers to software or algorithms for identifying emotions in a user's input and analyzing the user's emotional state.
[0726] The "means for generating analysis results and emotion analysis results" refers to a device or system for generating information based on the results obtained from input analysis and emotion analysis.
[0727] The "means for creating training data" refers to software or a system that creates training data for retraining a machine learning model using the generated analysis results.
[0728] A "means for retraining a model" is software or a system for retraining a machine learning model using the created training data to improve its performance.
[0729] A "means for deploying an updated model" is software or a system for incorporating the retrained machine learning model into the system and making it available to users.
[0730] In order to implement the present invention, the following system configuration and program are used.
[0731] 1. System configuration and program generation
[0732] The system mainly uses the following hardware and software:
[0733] Smartphone: A device that receives input from a user.
[0734] Server: Data processing, emotion engine, and generative AI processing.
[0735] Sentiment engine: Uses Google Cloud Natural Language API.
[0736] Natural language processing tool: SpaCy.
[0737] Generative AI: Uses OpenAI GPT-4.
[0738] Database: MongoDB is used to store training data and retrain the model.
[0739] 2. Program processing explanation
[0740] User Input Processing
[0741] When a user enters questions or concerns about payments through a smartphone app, the input is sent to the server. For example, a user might send a question like, "I'm afraid I won't be able to pay my credit card bill by the due date. What should I do?"
[0742] Sentiment analysis and keyword extraction
[0743] The server inputs the received question into an emotion engine (Google Cloud Natural Language API) for emotion analysis. This analysis identifies the emotional state contained in the user's question and recognizes emotions such as "anxiety."
[0744] Next, the question is analyzed using a natural language processing tool (SpaCy) to extract important keywords and context. For example, from the question above, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted.
[0745] Response generation and training data creation
[0746] Using generative AI (OpenAI GPT-4), we generate multiple different phrases based on the results of sentiment analysis and keyword analysis. Examples of generated answers include:
[0747] "I'm worried about the payment deadline. Let's contact the credit card company first."
[0748] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[0749] The generated phrases are paired with the original question and the results of sentiment analysis to build a training dataset, which is then used to retrain the chatbot model, allowing it to adapt to new questions and situations.
[0750] Deploying the updated model
[0751] The retrained chatbot model is then distributed to smartphone apps and made available to users, allowing them to receive appropriate, emotionally sensitive responses.
[0752] 3. Examples and prompts
[0753] Specific examples
[0754] User Input: "I'm afraid I won't be able to pay my credit card bill on time. What should I do?"
[0755] Emotion analysis result: "Anxiety"
[0756] Example of a generated answer:
[0757] "I'm worried about the payment deadline. Let's contact the credit card company first."
[0758] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[0759] Prompt Sentence Examples
[0760] plaintext
[0761] User Question: I might not be able to pay my credit card bill by the due date. What should I do?
[0762] Emotion: Anxiety
[0763] Generate the appropriate answer:
[0764] In this way, this invention can significantly improve the user experience in electronic payment services by providing personalized responses that take user emotions into account. Furthermore, the combination of generative AI and an emotion engine enables efficient creation of training data and model retraining.
[0765] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0766] Step 1:
[0767] The user inputs information through a smartphone app. For example, the user might input a question such as, "I'm worried that I won't be able to pay my credit card bill by the due date. What should I do?" The input here is a specific question or concern the user has about payment.
[0768] Step 2:
[0769] The terminal receives the user's input and sends it to the server. The sent data is the user's question, and at this stage it is treated as raw text data. Here, the operation of transferring the data to the server via network communication is performed.
[0770] Step 3:
[0771] The server inputs the received question into the emotion engine. Specifically, it uses the Google Cloud Natural Language API to perform emotion analysis of the question. The input is the user's text question, and the output is the analysis result of the emotional state. For example, emotions such as "anxiety" or "worry" are output.
[0772] Step 4:
[0773] The server receives the analysis results from the emotion engine and uses a natural language processing tool (SpaCy) to analyze the question itself. The input is the user's question and the results of the emotion analysis, and the output is the main keywords and their context. For example, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted. Here, text is tokenized and keywords are extracted.
[0774] Step 5:
[0775] The server inputs the results of the analysis and emotion engine into the generative AI (OpenAI GPT-4) to begin the process of generating a new answer. The input is the results of keyword and emotion analysis, and the output is an answer with different wording. For example, multiple example answers such as "We will explain what to do if your payment is late. Please rest assured." are generated. Here, the generative AI model is used to run an algorithm that generates natural-sounding wording.
[0776] Step 6:
[0777] The server creates training data based on the generated answers. The inputs are the original question, the generated answers, and the results of sentiment analysis, which are paired together to create a training dataset. The output is a training dataset for model retraining. This includes the operation of saving the training data in a database.
[0778] Step 7:
[0779] The server retrains the chatbot model using the newly created training data. The input is the training dataset, and the output is the retrained chatbot model. Here, a machine learning algorithm is used to update the model parameters.
[0780] Step 8:
[0781] The server distributes the retrained chatbot model to the device and makes it available to the user. The input is the retrained model, and the output is a chatbot model that can be executed on the user's device. This is where the model is distributed and deployed.
[0782] 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.
[0783] 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.
[0784] 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.
[0785] [Third embodiment]
[0786] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0787] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0788] 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).
[0789] 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.
[0790] 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.
[0791] 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).
[0792] 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. 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.
[0793] 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.
[0794] 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.
[0795] 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.
[0796] 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.
[0797] 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."
[0798] This invention is a system that uses a generation AI to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. The following is a specific embodiment of the invention, and the program processing is explained in natural language.
[0799] System Overview
[0800] This system analyzes questions entered by users, generates various responses using generative AI, and uses these as training data to retrain the chatbot.The retrained chatbot model is then deployed in a form that allows users to use it.
[0801] Program processing
[0802] 1. User Input
[0803] The user inputs a question to the chatbot through the terminal, such as "What will the weather be like tomorrow?"
[0804] 2. Receiving Input
[0805] The terminal receives the user's question and transmits the question to the server.
[0806] 3. Parsing the Input
[0807] The server analyzes the received question using natural language processing tools to extract important keywords and context. For example, keywords such as "tomorrow" and "weather" are extracted.
[0808] 4. Generating phrases using generative AI
[0809] The server sends the analysis results to the generation AI, which automatically generates multiple different phrases for the same question, such as "Will it be sunny tomorrow?" or "What's the weather forecast for tomorrow?"
[0810] 5. Creating training data
[0811] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases to build a training dataset.
[0812] 6. Retraining the model
[0813] The server retrains the chatbot model using the newly created training data, allowing the chatbot to respond to new question formats.
[0814] 7. Deploying the Updated Model
[0815] The server distributes the retrained chatbot model to the device, making it available to the user.
[0816] Specific examples
[0817] 1. User provides input:
[0818] A user types a question into the chatbot, such as "What's the weather going to be like tomorrow?"
[0819] 2. The device receives the input and sends it to the server:
[0820] The terminal receives this query and sends it to the server.
[0821] 3. The server parses the question:
[0822] The server extracts the keywords "tomorrow" and "weather" and understands the meaning of the question.
[0823] 4. Generative AI generates new phrases:
[0824] Generative AI generates new phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[0825] 5. Create training data:
[0826] The server pairs the original question with the generated phrases to build a training dataset.
[0827] 6. Retrain the model:
[0828] The server retrains the chatbot model using the newly created training data to improve its accuracy.
[0829] 7. Deploy the new model:
[0830] The retrained model is then delivered to the device, allowing the user to get an accurate answer when asking, "Will it be sunny tomorrow?"
[0831] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses.
[0832] The processing flow will be explained below.
[0833] Step 1:
[0834] The user inputs a question to the terminal, such as "What will the weather be like tomorrow?" The terminal receives this question and prepares it for transmission to the server.
[0835] Step 2:
[0836] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[0837] Step 3:
[0838] The server checks the query received from the device and decodes the data into a parsable format according to the received protocol.
[0839] Step 4:
[0840] The server analyzes the question. Specifically, it uses natural language processing tools to analyze the text, extracting important keywords such as "tomorrow" and "weather," and understands the intent of the question.
[0841] Step 5:
[0842] The server inputs the extracted keywords and analysis results into the AI generator, which then generates multiple related phrases based on this input.
[0843] Step 6:
[0844] The AI automatically generates various phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?" The generated phrases are sent to the server.
[0845] Step 7:
[0846] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[0847] Step 8:
[0848] The server pairs the original question with the generated phrases and formats them as training data. This dataset is stored in a database and made available.
[0849] Step 9:
[0850] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats.
[0851] Step 10:
[0852] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[0853] Step 11:
[0854] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[0855] Step 12:
[0856] The user asks again, "Will it be sunny tomorrow?" The device receives this question and sends it to the server, which uses the updated model to generate an appropriate answer and presents it to the user via the device.
[0857] By following the above steps, the system can efficiently create training data and improve the accuracy of chatbot responses.
[0858] Example 1
[0859] 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."
[0860] The challenge is to efficiently create training data for chatbots using generative AI and thereby improve the accuracy of chatbot responses. With conventional systems, creating training data that can handle a variety of phrases takes time and effort, making it difficult to enrich the dataset needed to retrain chatbots.
[0861] 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.
[0862] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating different phrases based on the analysis results, means for creating training data based on the generated different phrases, means for retraining the model based on the training data, and means for deploying the updated model, thereby making it possible to efficiently improve the accuracy of responses from the chatbot.
[0863] "Means for receiving input from a user" refers to an interface for a user to input questions or information and a function for receiving that input.
[0864] "Means for analyzing input" refers to a function for analyzing received user input and understanding important keywords and context.
[0865] "Means for generating different phrases based on the analysis results" refers to a function that uses the analysis results to generate different phrases that have the same meaning.
[0866] "Means for creating training data based on the generated different phrases" refers to a function for creating a training dataset by combining the generated different phrases with the original input.
[0867] "Means for retraining a model based on training data" refers to the function of retraining a machine learning model using the created training data to improve the accuracy of the model.
[0868] "Means for deploying updated models" refers to the ability to reflect retrained models in the system and make them available to users.
[0869] "Natural language processing tools" refer to software and algorithms that analyze natural language and perform keyword extraction and context understanding.
[0870] "Generative AI" refers to an AI system that uses machine learning models to generate new text or phrases based on input data.
[0871] This invention is a system that uses a generative AI model to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. In a specific embodiment of this system, the process is as follows.
[0872] A user uses a device to input a question to a chatbot. For example, a user opens a smartphone application and inputs, "What's the weather going to be like tomorrow?"
[0873] The device receives this question and sends it to the server as an API request using the standard HTTP POST request protocol.
[0874] To analyze the questions received by the server, natural language processing tools (e.g., SpaCy or BERT) are used to tokenize the questions and extract important keywords and context. Specifically, tokens such as "tomorrow" and "weather" are extracted.
[0875] The server sends the analysis results to a generation AI (e.g., GPT-4) to generate multiple different phrases with the same meaning. For example, in response to the question "What's the weather like tomorrow?", the prompt "Generate other phrases with the same meaning as 'What's the weather like tomorrow?'" is used to generate different phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[0876] The server creates training data based on the different phrases generated. The generated phrases are paired with the original question and saved in a database. Specifically, the data is constructed in JSON format or similar, and data corresponding to fields such as "inquiry" and "similar phrases" is stored.
[0877] The server uses the newly created training data to retrain the chatbot model using a machine learning framework (e.g., TensorFlow or PyTorch). It monitors the logs and progress during retraining and evaluates the performance of the new model after training.
[0878] The retrained model is then distributed from the server to the device and made available to the user. When a user asks, "Will it be sunny tomorrow?", the updated chatbot will be able to provide an appropriate weather forecast.
[0879] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses. The software and hardware used include natural language processing tools (e.g., SpaCy, BERT), generative AI models (e.g., GPT-4), and machine learning frameworks (e.g., TensorFlow, PyTorch).
[0880] (Example of a prompt)
[0881] "Generate other phrases that mean the same as 'What's the weather going to be like tomorrow?'"
[0882] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0883] Step 1:
[0884] User input
[0885] A user inputs a question to a chatbot using a device (such as a smartphone or PC). The input text is in the form of "What is the weather going to be tomorrow?". The input data is entered through an application on the device or an input form in a web browser.
[0886] Input: The question text entered by the user
[0887] Output: Receiving input data by a terminal
[0888] Step 2:
[0889] The device receives input data and sends it to the server.
[0890] The terminal receives input data from the user and sends this data to the server using an HTTP POST request, with the request body containing the user's question text.
[0891] Input: User-entered data
[0892] Output: HTTP request sent to the server
[0893] Step 3:
[0894] The server parses the question
[0895] The server analyzes the received question, using natural language processing tools (e.g., SpaCy or BERT) to tokenize and analyze the question text and extract important keywords and context, such as "tomorrow" and "weather."
[0896] Input: Received question text
[0897] Output: Extracted keywords and context information
[0898] Step 4:
[0899] The server sends the analysis results to the generation AI, which generates different phrases.
[0900] The server sends the analysis results (extracted keywords) as a prompt to the generation AI (e.g., GPT-4) to generate multiple different phrases for the question. The prompt uses the format "Please generate other phrases that have the same meaning as 'What will the weather be like tomorrow?'"
[0901] Input: Analysis results, prompt text
[0902] Output: Different wordings generated
[0903] Step 5:
[0904] The server creates training data using the generated phrases
[0905] The server creates a training dataset by pairing the generated phrases with the original question. This data is stored in the fields "Query" and "Similar Phrases" in JSON format, for example.
[0906] Input: Original question and generated phrase
[0907] Output: Training dataset
[0908] Step 6:
[0909] The server retrains the model using the training data.
[0910] The server retrains the chatbot model using the newly created training data. The model is trained using a machine learning framework (e.g., TensorFlow or PyTorch). The server monitors the retraining log and progress, and evaluates the performance of the new model after training is complete.
[0911] Input: Teacher dataset
[0912] Output: The retrained chatbot model
[0913] Step 7:
[0914] The server distributes the updated model to the device and makes it available to the user.
[0915] The server deploys the retrained chatbot model and distributes it to the device, where the device's application or web interface is updated to use the new model, allowing the user to access a chatbot that can handle new question formats.
[0916] Input: Retrained chatbot model
[0917] Output: The updated chatbot that is served to the user
[0918] (Application example 1)
[0919] 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."
[0920] In e-commerce systems, providing fast and accurate answers to customer questions is important for improving customer satisfaction. Conventional chatbots are limited in the types of questions they can answer, and in order to handle a variety of phrases, large amounts of training data had to be manually created. This resulted in issues such as increased maintenance costs and reduced system utilization efficiency.
[0921] 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.
[0922] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating the analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, means for deploying the updated model, means for the model to provide customer support in an e-commerce system, and means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model, thereby enabling the e-commerce system to respond to various types of questions from customers and provide quick and accurate answers.
[0923] The "means for receiving input from a user" refers to a method or device for receiving information input by a user through a terminal.
[0924] The "means for analyzing the input" refers to a technique or device for analyzing the received user input and extracting meanings and keywords.
[0925] The "means for generating the analysis results" refers to a technique or device that automatically generates new information or data from the analyzed input.
[0926] "Means for creating training data based on the generated results" refers to technology or devices for constructing a training dataset using the generated data.
[0927] "Means for retraining a model based on the training data" refers to technology or devices for retraining a machine learning model using the created training data.
[0928] The "means for deploying the updated model" refers to the techniques and devices that deploy the retrained model in a real environment and make it usable.
[0929] "Means characterized in that the model provides customer support in an e-commerce system" refers to technology or devices that clearly demonstrate that the retrained model has the characteristics to provide customer support in an online shopping system.
[0930] "Means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model" refers to technology or devices that use artificial intelligence to provide automatically generated answers to various questions from customers.
[0931] This invention provides a chatbot system for responding to various types of questions from customers in e-commerce systems. The system analyzes user input, automatically generates different phrases using a live AI model, and creates new training data to update and deploy the retrained chatbot model. This enables fast and accurate customer support in e-commerce systems.
[0932] System Overview
[0933] This system analyzes questions entered by users, generates various responses, and uses these as training data to retrain the chatbot. Specifically, the following hardware and software are used:
[0934] 1. User's device
[0935] Users access the e-commerce system using a smartphone or PC and interact with the chatbot.
[0936] 2. Server
[0937] The server receives and analyzes user input, creates training data based on the generated results, and performs various processes to deploy the retrained model. The main software used includes natural language processing tools (such as the Python libraries NLTK and spaCy) and generative AI models (such as OpenAI's GPT-3).
[0938] Processing Description
[0939] A user accesses an e-commerce system and inputs a question to the chatbot, such as "What is the delivery status of my order?" This input is received by the user's device and sent to the server, which analyzes the input using natural language processing tools (NLTK or spaCy) to extract key keywords and context.
[0940] The results of this analysis are then sent to a generative AI model (OpenAI's GPT-3) that automatically generates multiple different phrases for the same question, such as "I'd like to know the status of my order" or "Can you tell me when it will arrive?"
[0941] The generated phrases are then used to create training data, which is then paired with the original question and the generated phrases to create a dataset. This newly created training data is then used to retrain the chatbot model, allowing the chatbot to respond to new question formats.
[0942] Finally, the retrained chatbot model is delivered from the server to the user's device, allowing it to provide appropriate answers when the user asks questions such as, "I'd like to know the progress of my order."
[0943] Specific examples
[0944] When a user types a question into the chatbot, such as "What is the delivery status of my order?", the system proceeds as follows:
[0945] Entered question:
[0946] "Please let me know the delivery status of my order"
[0947] Examples of generated phrases:
[0948] 1. "I'd like to know the progress of my order."
[0949] 2. "Please let me know when it will arrive."
[0950] Here are some example prompts to generate these answers using a generative artificial intelligence model (GPT-3):
[0951] text
[0952] Analyze user questions and extract key keywords: 'What is the delivery status of my order?'
[0953] Generate various phrases containing the following keywords: 'order', 'shipping status'
[0954] In this way, training data can be created efficiently, and the accuracy of responses from chatbots in e-commerce systems can be improved.
[0955] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0956] Step 1:
[0957] The user inputs a question to the chatbot using a terminal.
[0958] Input: The question typed by the user (e.g., "What's the shipping status of my order?").
[0959] Specific operation: The user opens a chat window on a device such as a smartphone or computer and enters a question.
[0960] Step 2:
[0961] The terminal receives the user's input and sends the question to the server.
[0962] Input: The question typed by the user.
[0963] Output: The question data sent to the server.
[0964] Specific operation: The terminal acquires the entered question as data and sends it to a server via the Internet.
[0965] Step 3:
[0966] The server parses the received query.
[0967] Input: The query data sent to the server.
[0968] Output: Parsed keywords and context.
[0969] What it does: The server uses natural language processing tools (such as NLTK or spaCy) to analyze the question and extract key keywords (e.g., "order," "shipping status") and context.
[0970] Step 4:
[0971] The server sends the analysis results to a generative AI model, which generates multiple different phrases for the same question.
[0972] Input: Parsed keywords and context.
[0973] Output: A list of the new phrases generated.
[0974] How it works: The server sets the analysis result as a prompt and sends it to a generative AI model (e.g., OpenAI's GPT-3) to generate a new phrase. The generated phrase might be, for example, "I'd like to know the progress of my order" or "Please let me know when it will arrive."
[0975] Step 5:
[0976] The server creates training data based on the generated phrases.
[0977] Input: A list of new phrases to be generated.
[0978] Output: A set of training data pairing the original question with the generated phrase.
[0979] Specific operation: The server combines the original question with the generated phrases to build a new training dataset.
[0980] Step 6:
[0981] The server retrains the chatbot model using the newly created training data.
[0982] Input: The newly created training dataset.
[0983] Output: The retrained chatbot model.
[0984] How it works: The server uses a machine learning algorithm to retrain the model using training data, allowing the chatbot to respond to a variety of question formats.
[0985] Step 7:
[0986] The server distributes the retrained chatbot model to the device, making it available to the user.
[0987] Input: The retrained chatbot model.
[0988] Output: The updated chatbot model delivered to the device.
[0989] Specific operation: The server sends the updated chatbot model to the terminal, and sets it up so that the user can use a chatbot that can also handle new question formats.
[0990] 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.
[0991] This invention is a more advanced system that combines a system that efficiently creates training data for chatbots using generative AI, thereby improving the accuracy of chatbot responses, with an emotion engine that recognizes user emotions. Below is a specific embodiment of the invention, and the program processing is explained in natural language.
[0992] System Overview
[0993] The system analyzes questions entered by users, recognizes the underlying emotions, generates various responses using generative AI, and uses these as training data. It also retrains the chatbot model and makes it available to users.
[0994] Program processing
[0995] 1. User Input
[0996] The user inputs a question to the terminal, for example, a question including an emotion such as "What will the weather be like tomorrow? Do I need an umbrella?"
[0997] 2. Receiving Input
[0998] The terminal receives the user's question and transmits the question to the server.
[0999] 3. Emotional Recognition
[1000] The server inputs the received question into the emotion engine, which then analyzes the emotions in the text. For example, emotions such as "anxiety" and "expectation" are recognized.
[1001] 4. Parsing the Input
[1002] The server receives the results of the emotion engine's analysis and uses natural language processing tools to analyze the question itself and extract important keywords and context, such as "tomorrow," "weather," and "umbrella."
[1003] 5. Generating phrases using generative AI
[1004] The server inputs the results of the analysis and emotion engine into a generative AI that generates multiple different phrases for the same question, taking the user's emotions into account.
[1005] 6. Creating training data
[1006] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[1007] 7. Retraining the model
[1008] The server retrains the chatbot model using the newly created training data. This retraining process allows the chatbot to respond to new question formats and emotions.
[1009] 8. Deploying the Updated Model
[1010] The server distributes the retrained chatbot model to the device, making it available to the user.
[1011] Specific examples
[1012] 1. User provides input:
[1013] A user types a question into the chatbot: "What's the weather going to be like tomorrow? Do I need an umbrella?"
[1014] 2. The device receives the input and sends it to the server:
[1015] The terminal receives this question and sends it to the server.
[1016] 3. The server recognizes emotions:
[1017] The server inputs a question into the emotion engine, which then recognizes "anxiety."
[1018] 4. The server parses the question:
[1019] The server extracts the keywords "tomorrow," "weather," and "umbrella" and understands the intent of the question.
[1020] 5. Generative AI generates new phrases:
[1021] The generative AI generates new phrases such as, "I'm worried about tomorrow's weather. Should I take an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[1022] 6. Create training data:
[1023] The server pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[1024] 7. Retrain the model:
[1025] The server retrains the chatbot model using the newly created training data to improve its accuracy and emotional response capabilities.
[1026] 8. Deploy the new model:
[1027] The retrained model is then delivered to the device, allowing the user to receive an appropriate, emotion-sensitive response when asking, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[1028] In this way, the present invention can provide a more personalized chatbot experience by recognizing the user's emotions and generating responses that take them into account.
[1029] The processing flow will be explained below.
[1030] Step 1:
[1031] The user inputs a question to the terminal, such as "What's the weather going to be like tomorrow? Do I need an umbrella?" The terminal receives this question and prepares it for transmission to the server.
[1032] Step 2:
[1033] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[1034] Step 3:
[1035] The server checks the question received from the terminal, decodes it, and converts it into a processable format.
[1036] Step 4:
[1037] The server sends the received question to the emotion engine, which analyzes the user's input text and recognizes the emotion in the sentence. For example, it outputs the emotion "anxiety" as the analysis result.
[1038] Step 5:
[1039] The server receives the analysis results from the emotion engine and begins analyzing the question based on these results. Here, natural language processing tools are used to analyze the text and extract important keywords and context. For example, keywords such as "tomorrow," "weather," and "umbrella" are extracted.
[1040] Step 6:
[1041] The server sends the extracted keywords and sentiment analysis results to the generation AI, which uses this information to generate multiple different related phrases.
[1042] Step 7:
[1043] The AI automatically generates various phrases such as "That's worrying. You might want to take an umbrella tomorrow," or "The weather forecast for tomorrow is rain. Don't forget your umbrella!" The generated phrases are sent to the server.
[1044] Step 8:
[1045] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[1046] Step 9:
[1047] The server pairs the original question with the generated phrases and the results of sentiment analysis, and formats them as training data. This dataset is stored in a database and made available.
[1048] Step 10:
[1049] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats and emotions.
[1050] Step 11:
[1051] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[1052] Step 12:
[1053] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[1054] Step 13:
[1055] The user asks again, "I'm worried. Maybe I should bring an umbrella tomorrow?" The device receives this question and sends it to the server. The server uses the updated model to generate an appropriate answer and presents it to the user via the device.
[1056] This specific processing step allows the system to recognize the user's emotions and provide responses that take them into account, providing a more personalized chatbot experience.
[1057] Example 2
[1058] 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."
[1059] Conventional chatbot systems generate responses without considering the user's emotions, resulting in a poor user experience. Furthermore, they often rely on standard responses and generic phrases, making it difficult to provide personalized responses tailored to the needs of individual users. This leads to issues such as reduced user satisfaction with chatbots and the time-consuming task of generating training data for retraining.
[1060] 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 means for receiving input from a user, means for sentiment analysis of the input, means for generating the analysis result, means for creating training data based on the generated phrases, means for retraining a model based on the training data, and means for deploying the updated model. This makes it possible to generate responses that recognize and reflect the user's sentiment, thereby providing a personalized and advanced chatbot experience.
[1061] A "user" is an individual or group that operates a terminal and inputs questions or instructions to use the system.
[1062] "Input" refers to character string data such as questions or instructions given by the user to the terminal.
[1063] "Emotion analysis" is the process of identifying a user's emotions from input text, for example, recognizing emotions such as "anxiety" or "expectation."
[1064] "Generation" is the process of generating new data or phrases based on the analysis results.
[1065] "Phrases" are different ways of expressing the same meaning, created by generative AI models.
[1066] "Training data" refers to a paired dataset used to train a machine learning model, which in this case includes the original question, the generated phrases, and the results of sentiment analysis.
[1067] A "model" or "machine learning model" is a collection of algorithms that recognize patterns in input data and make predictions or classifications.
[1068] "Retraining" is the process of retraining an existing machine learning model using newly created training data.
[1069] "Deployment" is the process of placing the retrained model into a production environment and making it available to users.
[1070] A "terminal" is a device through which a user accesses the system and inputs and receives data.
[1071] This invention is a system that efficiently creates training data for chatbots using a generative AI model, thereby improving the accuracy of chatbot responses. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized conversation experience.
[1072] First, the user inputs a question into the device. The device receives this input and sends it to the server. The server then inputs the received input text into a sentiment analysis engine to perform sentiment analysis. The sentiment analysis engine can use, for example, the natural language processing tool BERT or OpenAI's API. The results of the sentiment analysis are output as emotion labels such as "anxiety" or "expectation."
[1073] The server then receives the results of the sentiment analysis engine and analyzes the input sentence using natural language processing tools. Specifically, it uses natural language processing libraries such as spaCy and NLTK to extract important keywords and context from the sentence. This analysis extracts keywords such as "tomorrow," "weather," and "umbrella."
[1074] The server uses the results of the analysis and sentiment analysis to create a prompt sentence, which is then input into the generative AI model. GPT-3, for example, can be used as the generative AI model. An example of a prompt sentence would be, "Question: What's the weather going to be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase." The generative AI model then generates a new phrase based on this. Examples of generated phrases include, "I'm worried about the weather tomorrow. Should I bring an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[1075] The server then combines the generated phrases with the original question and the results of sentiment analysis to create a training dataset, which is then used to retrain the chatbot model. Deep learning libraries such as TensorFlow and PyTorch can be used for retraining, allowing the chatbot model to adapt to new question formats and sentiments.
[1076] Finally, the server distributes the retrained chatbot model to the device. This distribution process can be automated, for example, using a continuous delivery (CD) pipeline. With the new model running on the device, it can generate appropriate, sentiment-sensitive responses when the user types a new question.
[1077] In this way, the present invention can provide a more personalized chatbot experience by recognizing user emotions and generating responses that reflect those emotions. Furthermore, efficient training data generation and model retraining can improve the chatbot's accuracy and emotional response capabilities.
[1078] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1079] Step 1:
[1080] The user inputs a question into the terminal. For example, a request might be "What's the weather going to be like tomorrow? Do I need an umbrella?" The input data is passed from the user to the terminal.
[1081] Step 2:
[1082] The terminal receives the user's input and sends the text data to the server. The input data is a text question, and the output is the transfer of the input data by sending the data to the server.
[1083] Step 3:
[1084] The server inputs the received input text into a sentiment analysis engine for sentiment analysis. The input data is a text question, and the output data is an emotional label such as "anxiety" or "expectation" recognized by the sentiment analysis engine.
[1085] Step 4:
[1086] The server receives the results of the sentiment analysis engine and uses natural language processing tools to analyze the input sentence. Specifically, it receives the question text and sentiment label as input data and extracts important keywords and context. The output data is keywords such as "tomorrow," "weather," and "umbrella."
[1087] Step 5:
[1088] The server generates a prompt sentence using the analyzed keywords and emotion information. The input data are keywords and emotion labels, and the output data is the prompt sentence to be input into the generative AI model. An example of a generated prompt sentence is "Question: What will the weather be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase."
[1089] Step 6:
[1090] The server inputs a prompt sentence into the generative AI model to generate different phrases. The input data is the prompt sentence, and the output data is the new phrase generated. In concrete terms, the generative AI model generates responses such as "You're worried about tomorrow's weather. Should you take an umbrella?" or "Tomorrow's weather forecast is rain. Don't forget your umbrella!"
[1091] Step 7:
[1092] The server uses the generated phrases to create a training dataset. The input data is the original question, the generated phrases, and the sentiment labels, and the output data is the training dataset. Specifically, the original question, the generated phrases, and the results of sentiment analysis are paired.
[1093] Step 8:
[1094] The server retrains the chatbot model using the new training dataset. The input data is the training dataset, and the output data is the retrained chatbot model. This is done using a deep learning library (e.g., TensorFlow or PyTorch).
[1095] Step 9:
[1096] The server delivers the retrained chatbot model to the device. The input data is the retrained model, and the output data is a chatbot model that can be used on the device. Specifically, automatic delivery is performed using a continuous delivery (CD) pipeline.
[1097] Step 10:
[1098] The user inputs a new question into the device, and the retrained model generates an appropriate answer that takes emotions into account. The input data is the user's new question, and the output data is a response that takes emotions into account. For example, the model can generate an answer such as, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[1099] (Application example 2)
[1100] 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."
[1101] Conventional chatbot systems provide uniform answers to user questions, which means they are unable to provide personalized responses that take the user's emotions into account. In particular, electronic payment services require appropriate responses for users who have concerns or questions about payments, but current systems are unable to adequately address these needs. Furthermore, creating training data and retraining the model requires a great deal of time and effort, making efficient operation difficult.
[1102] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1103] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for analyzing emotions, means for generating analysis results and emotion analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, and means for deploying the updated model, thereby enabling the server to respond to the user's emotions and provide personalized responses.
[1104] "Means for receiving input from a user" refers to a device or interface that allows a user to input questions or instructions to the system.
[1105] A "means for parsing input" is software or algorithms that analyze and understand input received from a user.
[1106] "Means for analyzing emotions" refers to software or algorithms for identifying emotions in a user's input and analyzing the user's emotional state.
[1107] The "means for generating analysis results and emotion analysis results" refers to a device or system for generating information based on the results obtained from input analysis and emotion analysis.
[1108] The "means for creating training data" refers to software or a system that creates training data for retraining a machine learning model using the generated analysis results.
[1109] A "means for retraining a model" is software or a system for retraining a machine learning model using the created training data to improve its performance.
[1110] A "means for deploying an updated model" is software or a system for incorporating the retrained machine learning model into the system and making it available to users.
[1111] In order to implement the present invention, the following system configuration and program are used.
[1112] 1. System configuration and program generation
[1113] The system mainly uses the following hardware and software:
[1114] Smartphone: A device that receives input from a user.
[1115] Server: Data processing, emotion engine, and generative AI processing.
[1116] Sentiment engine: Uses Google Cloud Natural Language API.
[1117] Natural language processing tool: SpaCy.
[1118] Generative AI: Uses OpenAI GPT-4.
[1119] Database: MongoDB is used to store training data and retrain the model.
[1120] 2. Program processing explanation
[1121] User Input Processing
[1122] When a user enters questions or concerns about payments through a smartphone app, the input is sent to the server. For example, a user might send a question like, "I'm afraid I won't be able to pay my credit card bill by the due date. What should I do?"
[1123] Sentiment analysis and keyword extraction
[1124] The server inputs the received question into an emotion engine (Google Cloud Natural Language API) for emotion analysis. This analysis identifies the emotional state contained in the user's question and recognizes emotions such as "anxiety."
[1125] Next, the question is analyzed using a natural language processing tool (SpaCy) to extract important keywords and context. For example, from the question above, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted.
[1126] Response generation and training data creation
[1127] Using generative AI (OpenAI GPT-4), we generate multiple different phrases based on the results of sentiment analysis and keyword analysis. Examples of generated answers include:
[1128] "I'm worried about the payment deadline. Let's contact the credit card company first."
[1129] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[1130] The generated phrases are paired with the original question and the results of sentiment analysis to build a training dataset, which is then used to retrain the chatbot model, allowing it to adapt to new questions and situations.
[1131] Deploying the updated model
[1132] The retrained chatbot model is then distributed to smartphone apps and made available to users, allowing them to receive appropriate, emotionally sensitive responses.
[1133] 3. Examples and prompts
[1134] Specific examples
[1135] User Input: "I'm afraid I won't be able to pay my credit card bill on time. What should I do?"
[1136] Emotion analysis result: "Anxiety"
[1137] Example of a generated answer:
[1138] "I'm worried about the payment deadline. Let's contact the credit card company first."
[1139] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[1140] Prompt Sentence Examples
[1141] plaintext
[1142] User Question: I might not be able to pay my credit card bill by the due date. What should I do?
[1143] Emotion: Anxiety
[1144] Generate the appropriate answer:
[1145] In this way, this invention can significantly improve the user experience in electronic payment services by providing personalized responses that take user emotions into account. Furthermore, the combination of generative AI and an emotion engine enables efficient creation of training data and model retraining.
[1146] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1147] Step 1:
[1148] The user inputs information through a smartphone app. For example, the user might input a question such as, "I'm worried that I won't be able to pay my credit card bill by the due date. What should I do?" The input here is a specific question or concern the user has about payment.
[1149] Step 2:
[1150] The terminal receives the user's input and sends it to the server. The sent data is the user's question, and at this stage it is treated as raw text data. Here, the operation of transferring the data to the server via network communication is performed.
[1151] Step 3:
[1152] The server inputs the received question into the emotion engine. Specifically, it uses the Google Cloud Natural Language API to perform emotion analysis of the question. The input is the user's text question, and the output is the analysis result of the emotional state. For example, emotions such as "anxiety" or "worry" are output.
[1153] Step 4:
[1154] The server receives the analysis results from the emotion engine and uses a natural language processing tool (SpaCy) to analyze the question itself. The input is the user's question and the results of the emotion analysis, and the output is the main keywords and their context. For example, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted. Here, text is tokenized and keywords are extracted.
[1155] Step 5:
[1156] The server inputs the results of the analysis and emotion engine into the generative AI (OpenAI GPT-4) to begin the process of generating a new answer. The input is the results of keyword and emotion analysis, and the output is an answer with different wording. For example, multiple example answers such as "We will explain what to do if your payment is late. Please rest assured." are generated. Here, the generative AI model is used to run an algorithm that generates natural-sounding wording.
[1157] Step 6:
[1158] The server creates training data based on the generated answers. The inputs are the original question, the generated answers, and the results of sentiment analysis, which are paired together to create a training dataset. The output is a training dataset for model retraining. This includes the operation of saving the training data in a database.
[1159] Step 7:
[1160] The server retrains the chatbot model using the newly created training data. The input is the training dataset, and the output is the retrained chatbot model. Here, a machine learning algorithm is used to update the model parameters.
[1161] Step 8:
[1162] The server distributes the retrained chatbot model to the device and makes it available to the user. The input is the retrained model, and the output is a chatbot model that can be executed on the user's device. This is where the model is distributed and deployed.
[1163] 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.
[1164] 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.
[1165] 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.
[1166] [Fourth embodiment]
[1167] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1168] 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.
[1169] 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).
[1170] 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.
[1171] 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.
[1172] 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).
[1173] 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. 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.
[1174] 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.
[1175] 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.
[1176] 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.
[1177] 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.
[1178] 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.
[1179] 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."
[1180] This invention is a system that uses a generation AI to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. The following is a specific embodiment of the invention, and the program processing is explained in natural language.
[1181] System Overview
[1182] This system analyzes questions entered by users, generates various responses using generative AI, and uses these as training data to retrain the chatbot.The retrained chatbot model is then deployed in a form that allows users to use it.
[1183] Program processing
[1184] 1. User Input
[1185] The user inputs a question to the chatbot through the terminal, such as "What will the weather be like tomorrow?"
[1186] 2. Receiving Input
[1187] The terminal receives the user's question and transmits the question to the server.
[1188] 3. Parsing the Input
[1189] The server analyzes the received question using natural language processing tools to extract important keywords and context. For example, keywords such as "tomorrow" and "weather" are extracted.
[1190] 4. Generating phrases using generative AI
[1191] The server sends the analysis results to the generation AI, which automatically generates multiple different phrases for the same question, such as "Will it be sunny tomorrow?" or "What's the weather forecast for tomorrow?"
[1192] 5. Creating training data
[1193] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases to build a training dataset.
[1194] 6. Retraining the model
[1195] The server retrains the chatbot model using the newly created training data, allowing the chatbot to respond to new question formats.
[1196] 7. Deploying the Updated Model
[1197] The server distributes the retrained chatbot model to the device, making it available to the user.
[1198] Specific examples
[1199] 1. User provides input:
[1200] A user types a question into the chatbot, such as "What's the weather going to be like tomorrow?"
[1201] 2. The device receives the input and sends it to the server:
[1202] The terminal receives this query and sends it to the server.
[1203] 3. The server parses the question:
[1204] The server extracts the keywords "tomorrow" and "weather" and understands the meaning of the question.
[1205] 4. Generative AI generates new phrases:
[1206] Generative AI generates new phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[1207] 5. Create training data:
[1208] The server pairs the original question with the generated phrases to build a training dataset.
[1209] 6. Retrain the model:
[1210] The server retrains the chatbot model using the newly created training data to improve its accuracy.
[1211] 7. Deploy the new model:
[1212] The retrained model is then delivered to the device, allowing the user to get an accurate answer when asking, "Will it be sunny tomorrow?"
[1213] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses.
[1214] The processing flow will be explained below.
[1215] Step 1:
[1216] The user inputs a question to the terminal, such as "What will the weather be like tomorrow?" The terminal receives this question and prepares it for transmission to the server.
[1217] Step 2:
[1218] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[1219] Step 3:
[1220] The server checks the query received from the device and decodes the data into a parsable format according to the received protocol.
[1221] Step 4:
[1222] The server analyzes the question. Specifically, it uses natural language processing tools to analyze the text, extracting important keywords such as "tomorrow" and "weather," and understands the intent of the question.
[1223] Step 5:
[1224] The server inputs the extracted keywords and analysis results into the AI generator, which then generates multiple related phrases based on this input.
[1225] Step 6:
[1226] The AI automatically generates various phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?" The generated phrases are sent to the server.
[1227] Step 7:
[1228] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[1229] Step 8:
[1230] The server pairs the original question with the generated phrases and formats them as training data. This dataset is stored in a database and made available.
[1231] Step 9:
[1232] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats.
[1233] Step 10:
[1234] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[1235] Step 11:
[1236] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[1237] Step 12:
[1238] The user asks again, "Will it be sunny tomorrow?" The device receives this question and sends it to the server, which uses the updated model to generate an appropriate answer and presents it to the user via the device.
[1239] By following the above steps, the system can efficiently create training data and improve the accuracy of chatbot responses.
[1240] Example 1
[1241] 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."
[1242] The challenge is to efficiently create training data for chatbots using generative AI and thereby improve the accuracy of chatbot responses. With conventional systems, creating training data that can handle a variety of phrases takes time and effort, making it difficult to enrich the dataset needed to retrain chatbots.
[1243] 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.
[1244] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating different phrases based on the analysis results, means for creating training data based on the generated different phrases, means for retraining the model based on the training data, and means for deploying the updated model, thereby making it possible to efficiently improve the accuracy of responses from the chatbot.
[1245] "Means for receiving input from a user" refers to an interface for a user to input questions or information and a function for receiving that input.
[1246] "Means for analyzing input" refers to a function for analyzing received user input and understanding important keywords and context.
[1247] "Means for generating different phrases based on the analysis results" refers to a function that uses the analysis results to generate different phrases that have the same meaning.
[1248] "Means for creating training data based on the generated different phrases" refers to a function for creating a training dataset by combining the generated different phrases with the original input.
[1249] "Means for retraining a model based on training data" refers to the function of retraining a machine learning model using the created training data to improve the accuracy of the model.
[1250] "Means for deploying updated models" refers to the ability to reflect retrained models in the system and make them available to users.
[1251] "Natural language processing tools" refer to software and algorithms that analyze natural language and perform keyword extraction and context understanding.
[1252] "Generative AI" refers to an AI system that uses machine learning models to generate new text or phrases based on input data.
[1253] This invention is a system that uses a generative AI model to efficiently create training data for a chatbot, thereby improving the accuracy of the chatbot's responses. In a specific embodiment of this system, the process is as follows.
[1254] A user uses a device to input a question to a chatbot. For example, a user opens a smartphone application and inputs, "What's the weather going to be like tomorrow?"
[1255] The device receives this question and sends it to the server as an API request using the standard HTTP POST request protocol.
[1256] To analyze the questions received by the server, natural language processing tools (e.g., SpaCy or BERT) are used to tokenize the questions and extract important keywords and context. Specifically, tokens such as "tomorrow" and "weather" are extracted.
[1257] The server sends the analysis results to a generation AI (e.g., GPT-4) to generate multiple different phrases with the same meaning. For example, in response to the question "What's the weather like tomorrow?", the prompt "Generate other phrases with the same meaning as 'What's the weather like tomorrow?'" is used to generate different phrases such as "Will it be sunny tomorrow?" and "What's the weather forecast for tomorrow?"
[1258] The server creates training data based on the different phrases generated. The generated phrases are paired with the original question and saved in a database. Specifically, the data is constructed in JSON format or similar, and data corresponding to fields such as "inquiry" and "similar phrases" is stored.
[1259] The server uses the newly created training data to retrain the chatbot model using a machine learning framework (e.g., TensorFlow or PyTorch). It monitors the logs and progress during retraining and evaluates the performance of the new model after training.
[1260] The retrained model is then distributed from the server to the device and made available to the user. When a user asks, "Will it be sunny tomorrow?", the updated chatbot will be able to provide an appropriate weather forecast.
[1261] In this way, the present invention can efficiently create training data and improve the accuracy of chatbot responses. The software and hardware used include natural language processing tools (e.g., SpaCy, BERT), generative AI models (e.g., GPT-4), and machine learning frameworks (e.g., TensorFlow, PyTorch).
[1262] (Example of a prompt)
[1263] "Generate other phrases that mean the same as 'What's the weather going to be like tomorrow?'"
[1264] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1265] Step 1:
[1266] User input
[1267] A user inputs a question to a chatbot using a device (such as a smartphone or PC). The input text is in the form of "What is the weather going to be tomorrow?". The input data is entered through an application on the device or an input form in a web browser.
[1268] Input: The question text entered by the user
[1269] Output: Receiving input data by a terminal
[1270] Step 2:
[1271] The device receives input data and sends it to the server.
[1272] The terminal receives input data from the user and sends this data to the server using an HTTP POST request, with the request body containing the user's question text.
[1273] Input: User-entered data
[1274] Output: HTTP request sent to the server
[1275] Step 3:
[1276] The server parses the question
[1277] The server analyzes the received question, using natural language processing tools (e.g., SpaCy or BERT) to tokenize and analyze the question text and extract important keywords and context, such as "tomorrow" and "weather."
[1278] Input: Received question text
[1279] Output: Extracted keywords and context information
[1280] Step 4:
[1281] The server sends the analysis results to the generation AI, which generates different phrases.
[1282] The server sends the analysis results (extracted keywords) as a prompt to the generation AI (e.g., GPT-4) to generate multiple different phrases for the question. The prompt uses the format "Please generate other phrases that have the same meaning as 'What will the weather be like tomorrow?'"
[1283] Input: Analysis results, prompt text
[1284] Output: Different wordings generated
[1285] Step 5:
[1286] The server creates training data using the generated phrases
[1287] The server creates a training dataset by pairing the generated phrases with the original question. This data is stored in the fields "Query" and "Similar Phrases" in JSON format, for example.
[1288] Input: Original question and generated phrase
[1289] Output: Training dataset
[1290] Step 6:
[1291] The server retrains the model using the training data.
[1292] The server retrains the chatbot model using the newly created training data. The model is trained using a machine learning framework (e.g., TensorFlow or PyTorch). The server monitors the retraining log and progress, and evaluates the performance of the new model after training is complete.
[1293] Input: Teacher dataset
[1294] Output: The retrained chatbot model
[1295] Step 7:
[1296] The server distributes the updated model to the device and makes it available to the user.
[1297] The server deploys the retrained chatbot model and distributes it to the device, where the device's application or web interface is updated to use the new model, allowing the user to access a chatbot that can handle new question formats.
[1298] Input: Retrained chatbot model
[1299] Output: The updated chatbot that is served to the user
[1300] (Application example 1)
[1301] 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."
[1302] In e-commerce systems, providing fast and accurate answers to customer questions is important for improving customer satisfaction. Conventional chatbots are limited in the types of questions they can answer, and in order to handle a variety of phrases, large amounts of training data had to be manually created. This resulted in issues such as increased maintenance costs and reduced system utilization efficiency.
[1303] 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.
[1304] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for generating the analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, means for deploying the updated model, means for the model to provide customer support in an e-commerce system, and means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model, thereby enabling the e-commerce system to respond to various types of questions from customers and provide quick and accurate answers.
[1305] The "means for receiving input from a user" refers to a method or device for receiving information input by a user through a terminal.
[1306] The "means for analyzing the input" refers to a technique or device for analyzing the received user input and extracting meanings and keywords.
[1307] The "means for generating the analysis results" refers to a technique or device that automatically generates new information or data from the analyzed input.
[1308] "Means for creating training data based on the generated results" refers to technology or devices for constructing a training dataset using the generated data.
[1309] "Means for retraining a model based on the training data" refers to technology or devices for retraining a machine learning model using the created training data.
[1310] The "means for deploying the updated model" refers to the techniques and devices that deploy the retrained model in a real environment and make it usable.
[1311] "Means characterized in that the model provides customer support in an e-commerce system" refers to technology or devices that clearly demonstrate that the retrained model has the characteristics to provide customer support in an online shopping system.
[1312] "Means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model" refers to technology or devices that use artificial intelligence to provide automatically generated answers to various questions from customers.
[1313] This invention provides a chatbot system for responding to various types of questions from customers in e-commerce systems. The system analyzes user input, automatically generates different phrases using a live AI model, and creates new training data to update and deploy the retrained chatbot model. This enables fast and accurate customer support in e-commerce systems.
[1314] System Overview
[1315] This system analyzes questions entered by users, generates various responses, and uses these as training data to retrain the chatbot. Specifically, the following hardware and software are used:
[1316] 1. User's device
[1317] Users access the e-commerce system using a smartphone or PC and interact with the chatbot.
[1318] 2. Server
[1319] The server receives and analyzes user input, creates training data based on the generated results, and performs various processes to deploy the retrained model. The main software used includes natural language processing tools (such as the Python libraries NLTK and spaCy) and generative AI models (such as OpenAI's GPT-3).
[1320] Processing Description
[1321] A user accesses an e-commerce system and inputs a question to the chatbot, such as "What is the delivery status of my order?" This input is received by the user's device and sent to the server, which analyzes the input using natural language processing tools (NLTK or spaCy) to extract key keywords and context.
[1322] The results of this analysis are then sent to a generative AI model (OpenAI's GPT-3) that automatically generates multiple different phrases for the same question, such as "I'd like to know the status of my order" or "Can you tell me when it will arrive?"
[1323] The generated phrases are then used to create training data, which is then paired with the original question and the generated phrases to create a dataset. This newly created training data is then used to retrain the chatbot model, allowing the chatbot to respond to new question formats.
[1324] Finally, the retrained chatbot model is delivered from the server to the user's device, allowing it to provide appropriate answers when the user asks questions such as, "I'd like to know the progress of my order."
[1325] Specific examples
[1326] When a user types a question into the chatbot, such as "What is the delivery status of my order?", the system proceeds as follows:
[1327] Entered question:
[1328] "Please let me know the delivery status of my order"
[1329] Examples of generated phrases:
[1330] 1. "I'd like to know the progress of my order."
[1331] 2. "Please let me know when it will arrive."
[1332] Here are some example prompts to generate these answers using a generative artificial intelligence model (GPT-3):
[1333] text
[1334] Analyze user questions and extract key keywords: 'What is the delivery status of my order?'
[1335] Generate various phrases containing the following keywords: 'order', 'shipping status'
[1336] In this way, training data can be created efficiently, and the accuracy of responses from chatbots in e-commerce systems can be improved.
[1337] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1338] Step 1:
[1339] The user inputs a question to the chatbot using a terminal.
[1340] Input: The question typed by the user (e.g., "What's the shipping status of my order?").
[1341] Specific operation: The user opens a chat window on a device such as a smartphone or computer and enters a question.
[1342] Step 2:
[1343] The terminal receives the user's input and sends the question to the server.
[1344] Input: The question typed by the user.
[1345] Output: The question data sent to the server.
[1346] Specific operation: The terminal acquires the entered question as data and sends it to a server via the Internet.
[1347] Step 3:
[1348] The server parses the received query.
[1349] Input: The query data sent to the server.
[1350] Output: Parsed keywords and context.
[1351] What it does: The server uses natural language processing tools (such as NLTK or spaCy) to analyze the question and extract key keywords (e.g., "order," "shipping status") and context.
[1352] Step 4:
[1353] The server sends the analysis results to a generative AI model, which generates multiple different phrases for the same question.
[1354] Input: Parsed keywords and context.
[1355] Output: A list of the new phrases generated.
[1356] How it works: The server sets the analysis result as a prompt and sends it to a generative AI model (e.g., OpenAI's GPT-3) to generate a new phrase. The generated phrase might be, for example, "I'd like to know the progress of my order" or "Please let me know when it will arrive."
[1357] Step 5:
[1358] The server creates training data based on the generated phrases.
[1359] Input: A list of new phrases to be generated.
[1360] Output: A set of training data pairing the original question with the generated phrase.
[1361] Specific operation: The server combines the original question with the generated phrases to build a new training dataset.
[1362] Step 6:
[1363] The server retrains the chatbot model using the newly created training data.
[1364] Input: The newly created training dataset.
[1365] Output: The retrained chatbot model.
[1366] How it works: The server uses a machine learning algorithm to retrain the model using training data, allowing the chatbot to respond to a variety of question formats.
[1367] Step 7:
[1368] The server distributes the retrained chatbot model to the device, making it available to the user.
[1369] Input: The retrained chatbot model.
[1370] Output: The updated chatbot model delivered to the device.
[1371] Specific operation: The server sends the updated chatbot model to the terminal, and sets it up so that the user can use a chatbot that can also handle new question formats.
[1372] 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.
[1373] This invention is a more advanced system that combines a system that efficiently creates training data for chatbots using generative AI, thereby improving the accuracy of chatbot responses, with an emotion engine that recognizes user emotions. Below is a specific embodiment of the invention, and the program processing is explained in natural language.
[1374] System Overview
[1375] The system analyzes questions entered by users, recognizes the underlying emotions, generates various responses using generative AI, and uses these as training data. It also retrains the chatbot model and makes it available to users.
[1376] Program processing
[1377] 1. User Input
[1378] The user inputs a question to the terminal, for example, a question including an emotion such as "What will the weather be like tomorrow? Do I need an umbrella?"
[1379] 2. Receiving Input
[1380] The terminal receives the user's question and transmits the question to the server.
[1381] 3. Emotional Recognition
[1382] The server inputs the received question into the emotion engine, which then analyzes the emotions in the text. For example, emotions such as "anxiety" and "expectation" are recognized.
[1383] 4. Parsing the Input
[1384] The server receives the results of the emotion engine's analysis and uses natural language processing tools to analyze the question itself and extract important keywords and context, such as "tomorrow," "weather," and "umbrella."
[1385] 5. Generating phrases using generative AI
[1386] The server inputs the results of the analysis and emotion engine into a generative AI that generates multiple different phrases for the same question, taking the user's emotions into account.
[1387] 6. Creating training data
[1388] The server creates training data based on the generated phrases. Specifically, it pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[1389] 7. Retraining the model
[1390] The server retrains the chatbot model using the newly created training data. This retraining process allows the chatbot to respond to new question formats and emotions.
[1391] 8. Deploying the Updated Model
[1392] The server distributes the retrained chatbot model to the device, making it available to the user.
[1393] Specific examples
[1394] 1. User provides input:
[1395] A user types a question into the chatbot: "What's the weather going to be like tomorrow? Do I need an umbrella?"
[1396] 2. The device receives the input and sends it to the server:
[1397] The terminal receives this question and sends it to the server.
[1398] 3. The server recognizes emotions:
[1399] The server inputs a question into the emotion engine, which then recognizes "anxiety."
[1400] 4. The server parses the question:
[1401] The server extracts the keywords "tomorrow," "weather," and "umbrella" and understands the intent of the question.
[1402] 5. Generative AI generates new phrases:
[1403] The generative AI generates new phrases such as, "I'm worried about tomorrow's weather. Should I take an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[1404] 6. Create training data:
[1405] The server pairs the original question with the generated phrases and the results of sentiment analysis to build a training dataset.
[1406] 7. Retrain the model:
[1407] The server retrains the chatbot model using the newly created training data to improve its accuracy and emotional response capabilities.
[1408] 8. Deploy the new model:
[1409] The retrained model is then delivered to the device, allowing the user to receive an appropriate, emotion-sensitive response when asking, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[1410] In this way, the present invention can provide a more personalized chatbot experience by recognizing the user's emotions and generating responses that take them into account.
[1411] The processing flow will be explained below.
[1412] Step 1:
[1413] The user inputs a question to the terminal, such as "What's the weather going to be like tomorrow? Do I need an umbrella?" The terminal receives this question and prepares it for transmission to the server.
[1414] Step 2:
[1415] The terminal sends the user's question to the server, converting the entered text into a format that can be accurately transmitted to the server.
[1416] Step 3:
[1417] The server checks the question received from the terminal, decodes it, and converts it into a processable format.
[1418] Step 4:
[1419] The server sends the received question to the emotion engine, which analyzes the user's input text and recognizes the emotion in the sentence. For example, it outputs the emotion "anxiety" as the analysis result.
[1420] Step 5:
[1421] The server receives the analysis results from the emotion engine and begins analyzing the question based on these results. Here, natural language processing tools are used to analyze the text and extract important keywords and context. For example, keywords such as "tomorrow," "weather," and "umbrella" are extracted.
[1422] Step 6:
[1423] The server sends the extracted keywords and sentiment analysis results to the generation AI, which uses this information to generate multiple different related phrases.
[1424] Step 7:
[1425] The AI automatically generates various phrases such as "That's worrying. You might want to take an umbrella tomorrow," or "The weather forecast for tomorrow is rain. Don't forget your umbrella!" The generated phrases are sent to the server.
[1426] Step 8:
[1427] The server checks the multiple phrases received from the generation AI and determines whether they are appropriate, and performs filtering and correction as necessary.
[1428] Step 9:
[1429] The server pairs the original question with the generated phrases and the results of sentiment analysis, and formats them as training data. This dataset is stored in a database and made available.
[1430] Step 10:
[1431] The server retrains the chatbot model using the newly created training data. This retraining process allows the model to adapt to new question formats and emotions.
[1432] Step 11:
[1433] The server distributes the retrained chatbot model to the terminal, and sends the updated model data to the terminal according to the distribution protocol.
[1434] Step 12:
[1435] The device receives the updated chatbot model and applies it to the system, so that when the user enters a question again, the system can generate an answer using the improved model.
[1436] Step 13:
[1437] The user asks again, "I'm worried. Maybe I should bring an umbrella tomorrow?" The device receives this question and sends it to the server. The server uses the updated model to generate an appropriate answer and presents it to the user via the device.
[1438] This specific processing step allows the system to recognize the user's emotions and provide responses that take them into account, providing a more personalized chatbot experience.
[1439] Example 2
[1440] 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."
[1441] Conventional chatbot systems generate responses without considering the user's emotions, resulting in a poor user experience. Furthermore, they often rely on standard responses and generic phrases, making it difficult to provide personalized responses tailored to the needs of individual users. This leads to issues such as reduced user satisfaction with chatbots and the time-consuming task of generating training data for retraining.
[1442] 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 means for receiving input from a user, means for sentiment analysis of the input, means for generating the analysis result, means for creating training data based on the generated phrases, means for retraining a model based on the training data, and means for deploying the updated model. This makes it possible to generate responses that recognize and reflect the user's sentiment, thereby providing a personalized and advanced chatbot experience.
[1443] A "user" is an individual or group that operates a terminal and inputs questions or instructions to use the system.
[1444] "Input" refers to character string data such as questions or instructions given by the user to the terminal.
[1445] "Emotion analysis" is the process of identifying a user's emotions from input text, for example, recognizing emotions such as "anxiety" or "expectation."
[1446] "Generation" is the process of generating new data or phrases based on the analysis results.
[1447] "Phrases" are different ways of expressing the same meaning, created by generative AI models.
[1448] "Training data" refers to a paired dataset used to train a machine learning model, which in this case includes the original question, the generated phrases, and the results of sentiment analysis.
[1449] A "model" or "machine learning model" is a collection of algorithms that recognize patterns in input data and make predictions or classifications.
[1450] "Retraining" is the process of retraining an existing machine learning model using newly created training data.
[1451] "Deployment" is the process of placing the retrained model into a production environment and making it available to users.
[1452] A "terminal" is a device through which a user accesses the system and inputs and receives data.
[1453] This invention is a system that efficiently creates training data for chatbots using a generative AI model, thereby improving the accuracy of chatbot responses. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it provides a more personalized conversation experience.
[1454] First, the user inputs a question into the device. The device receives this input and sends it to the server. The server then inputs the received input text into a sentiment analysis engine to perform sentiment analysis. The sentiment analysis engine can use, for example, the natural language processing tool BERT or OpenAI's API. The results of the sentiment analysis are output as emotion labels such as "anxiety" or "expectation."
[1455] The server then receives the results of the sentiment analysis engine and analyzes the input sentence using natural language processing tools. Specifically, it uses natural language processing libraries such as spaCy and NLTK to extract important keywords and context from the sentence. This analysis extracts keywords such as "tomorrow," "weather," and "umbrella."
[1456] The server uses the results of the analysis and sentiment analysis to create a prompt sentence, which is then input into the generative AI model. GPT-3, for example, can be used as the generative AI model. An example of a prompt sentence would be, "Question: What's the weather going to be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase." The generative AI model then generates a new phrase based on this. Examples of generated phrases include, "I'm worried about the weather tomorrow. Should I bring an umbrella?" or "The weather forecast for tomorrow is rain. Don't forget your umbrella!"
[1457] The server then combines the generated phrases with the original question and the results of sentiment analysis to create a training dataset, which is then used to retrain the chatbot model. Deep learning libraries such as TensorFlow and PyTorch can be used for retraining, allowing the chatbot model to adapt to new question formats and sentiments.
[1458] Finally, the server distributes the retrained chatbot model to the device. This distribution process can be automated, for example, using a continuous delivery (CD) pipeline. With the new model running on the device, it can generate appropriate, sentiment-sensitive responses when the user types a new question.
[1459] In this way, the present invention can provide a more personalized chatbot experience by recognizing user emotions and generating responses that reflect those emotions. Furthermore, efficient training data generation and model retraining can improve the chatbot's accuracy and emotional response capabilities.
[1460] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1461] Step 1:
[1462] The user inputs a question into the terminal. For example, a request might be "What's the weather going to be like tomorrow? Do I need an umbrella?" The input data is passed from the user to the terminal.
[1463] Step 2:
[1464] The terminal receives the user's input and sends the text data to the server. The input data is a text question, and the output is the transfer of the input data by sending the data to the server.
[1465] Step 3:
[1466] The server inputs the received input text into a sentiment analysis engine for sentiment analysis. The input data is a text question, and the output data is an emotional label such as "anxiety" or "expectation" recognized by the sentiment analysis engine.
[1467] Step 4:
[1468] The server receives the results of the sentiment analysis engine and uses natural language processing tools to analyze the input sentence. Specifically, it receives the question text and sentiment label as input data and extracts important keywords and context. The output data is keywords such as "tomorrow," "weather," and "umbrella."
[1469] Step 5:
[1470] The server generates a prompt sentence using the analyzed keywords and emotion information. The input data are keywords and emotion labels, and the output data is the prompt sentence to be input into the generative AI model. An example of a generated prompt sentence is "Question: What will the weather be like tomorrow? Do I need an umbrella? Emotion: Anxiety. Please generate a new phrase."
[1471] Step 6:
[1472] The server inputs a prompt sentence into the generative AI model to generate different phrases. The input data is the prompt sentence, and the output data is the new phrase generated. In concrete terms, the generative AI model generates responses such as "You're worried about tomorrow's weather. Should you take an umbrella?" or "Tomorrow's weather forecast is rain. Don't forget your umbrella!"
[1473] Step 7:
[1474] The server uses the generated phrases to create a training dataset. The input data is the original question, the generated phrases, and the sentiment labels, and the output data is the training dataset. Specifically, the original question, the generated phrases, and the results of sentiment analysis are paired.
[1475] Step 8:
[1476] The server retrains the chatbot model using the new training dataset. The input data is the training dataset, and the output data is the retrained chatbot model. This is done using a deep learning library (e.g., TensorFlow or PyTorch).
[1477] Step 9:
[1478] The server delivers the retrained chatbot model to the device. The input data is the retrained model, and the output data is a chatbot model that can be used on the device. Specifically, automatic delivery is performed using a continuous delivery (CD) pipeline.
[1479] Step 10:
[1480] The user inputs a new question into the device, and the retrained model generates an appropriate answer that takes emotions into account. The input data is the user's new question, and the output data is a response that takes emotions into account. For example, the model can generate an answer such as, "I'm worried about the weather tomorrow. Should I bring an umbrella?"
[1481] (Application example 2)
[1482] 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."
[1483] Conventional chatbot systems provide uniform answers to user questions, which means they are unable to provide personalized responses that take the user's emotions into account. In particular, electronic payment services require appropriate responses for users who have concerns or questions about payments, but current systems are unable to adequately address these needs. Furthermore, creating training data and retraining the model requires a great deal of time and effort, making efficient operation difficult.
[1484] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1485] In this invention, the server includes means for receiving input from a user, means for analyzing the input, means for analyzing emotions, means for generating analysis results and emotion analysis results, means for creating training data based on the generated results, means for retraining a model based on the training data, and means for deploying the updated model, thereby enabling the server to respond to the user's emotions and provide personalized responses.
[1486] "Means for receiving input from a user" refers to a device or interface that allows a user to input questions or instructions to the system.
[1487] A "means for parsing input" is software or algorithms that analyze and understand input received from a user.
[1488] "Means for analyzing emotions" refers to software or algorithms for identifying emotions in a user's input and analyzing the user's emotional state.
[1489] The "means for generating analysis results and emotion analysis results" refers to a device or system for generating information based on the results obtained from input analysis and emotion analysis.
[1490] The "means for creating training data" refers to software or a system that creates training data for retraining a machine learning model using the generated analysis results.
[1491] A "means for retraining a model" is software or a system for retraining a machine learning model using the created training data to improve its performance.
[1492] A "means for deploying an updated model" is software or a system for incorporating the retrained machine learning model into the system and making it available to users.
[1493] In order to implement the present invention, the following system configuration and program are used.
[1494] 1. System configuration and program generation
[1495] The system mainly uses the following hardware and software:
[1496] Smartphone: A device that receives input from a user.
[1497] Server: Data processing, emotion engine, and generative AI processing.
[1498] Sentiment engine: Uses Google Cloud Natural Language API.
[1499] Natural language processing tool: SpaCy.
[1500] Generative AI: Uses OpenAI GPT-4.
[1501] Database: MongoDB is used to store training data and retrain the model.
[1502] 2. Program processing explanation
[1503] User Input Processing
[1504] When a user enters questions or concerns about payments through a smartphone app, the input is sent to the server. For example, a user might send a question like, "I'm afraid I won't be able to pay my credit card bill by the due date. What should I do?"
[1505] Sentiment analysis and keyword extraction
[1506] The server inputs the received question into an emotion engine (Google Cloud Natural Language API) for emotion analysis. This analysis identifies the emotional state contained in the user's question and recognizes emotions such as "anxiety."
[1507] Next, the question is analyzed using a natural language processing tool (SpaCy) to extract important keywords and context. For example, from the question above, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted.
[1508] Response generation and training data creation
[1509] Using generative AI (OpenAI GPT-4), we generate multiple different phrases based on the results of sentiment analysis and keyword analysis. Examples of generated answers include:
[1510] "I'm worried about the payment deadline. Let's contact the credit card company first."
[1511] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[1512] The generated phrases are paired with the original question and the results of sentiment analysis to build a training dataset, which is then used to retrain the chatbot model, allowing it to adapt to new questions and situations.
[1513] Deploying the updated model
[1514] The retrained chatbot model is then distributed to smartphone apps and made available to users, allowing them to receive appropriate, emotionally sensitive responses.
[1515] 3. Examples and prompts
[1516] Specific examples
[1517] User Input: "I'm afraid I won't be able to pay my credit card bill on time. What should I do?"
[1518] Emotion analysis result: "Anxiety"
[1519] Example of a generated answer:
[1520] "I'm worried about the payment deadline. Let's contact the credit card company first."
[1521] "We'll provide advice on what to do if you make a late payment, so you can rest assured."
[1522] Prompt Sentence Examples
[1523] plaintext
[1524] User Question: I might not be able to pay my credit card bill by the due date. What should I do?
[1525] Emotion: Anxiety
[1526] Generate the appropriate answer:
[1527] In this way, this invention can significantly improve the user experience in electronic payment services by providing personalized responses that take user emotions into account. Furthermore, the combination of generative AI and an emotion engine enables efficient creation of training data and model retraining.
[1528] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1529] Step 1:
[1530] The user inputs information through a smartphone app. For example, the user might input a question such as, "I'm worried that I won't be able to pay my credit card bill by the due date. What should I do?" The input here is a specific question or concern the user has about payment.
[1531] Step 2:
[1532] The terminal receives the user's input and sends it to the server. The sent data is the user's question, and at this stage it is treated as raw text data. Here, the operation of transferring the data to the server via network communication is performed.
[1533] Step 3:
[1534] The server inputs the received question into the emotion engine. Specifically, it uses the Google Cloud Natural Language API to perform emotion analysis of the question. The input is the user's text question, and the output is the analysis result of the emotional state. For example, emotions such as "anxiety" or "worry" are output.
[1535] Step 4:
[1536] The server receives the analysis results from the emotion engine and uses a natural language processing tool (SpaCy) to analyze the question itself. The input is the user's question and the results of the emotion analysis, and the output is the main keywords and their context. For example, keywords such as "credit card," "payment deadline," and "unable to pay" are extracted. Here, text is tokenized and keywords are extracted.
[1537] Step 5:
[1538] The server inputs the results of the analysis and emotion engine into the generative AI (OpenAI GPT-4) to begin the process of generating a new answer. The input is the results of keyword and emotion analysis, and the output is an answer with different wording. For example, multiple example answers such as "We will explain what to do if your payment is late. Please rest assured." are generated. Here, the generative AI model is used to run an algorithm that generates natural-sounding wording.
[1539] Step 6:
[1540] The server creates training data based on the generated answers. The inputs are the original question, the generated answers, and the results of sentiment analysis, which are paired together to create a training dataset. The output is a training dataset for model retraining. This includes the operation of saving the training data in a database.
[1541] Step 7:
[1542] The server retrains the chatbot model using the newly created training data. The input is the training dataset, and the output is the retrained chatbot model. Here, a machine learning algorithm is used to update the model parameters.
[1543] Step 8:
[1544] The server distributes the retrained chatbot model to the device and makes it available to the user. The input is the retrained model, and the output is a chatbot model that can be executed on the user's device. This is where the model is distributed and deployed.
[1545] 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.
[1546] 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.
[1547] 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 robot 414.
[1548] 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.
[1549] 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.
[1550] 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.
[1551] 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).
[1552] 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.
[1553] 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."
[1554] 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.
[1555] 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).
[1556] 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.
[1557] 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.
[1558] 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.
[1559] 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.
[1560] 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.
[1561] 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.
[1562] 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.
[1563] 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.
[1564] 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.
[1565] 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.
[1566] The following is further disclosed regarding the above embodiment.
[1567] (Claim 1)
[1568] means for receiving input from a user;
[1569] means for analyzing said input;
[1570] means for generating the analysis results;
[1571] A means for creating training data based on the generated results;
[1572] means for retraining a model based on the training data;
[1573] a means for deploying the updated model; and
[1574] A system including:
[1575] (Claim 2)
[1576] 2. The system according to claim 1, wherein the means for analyzing the input uses a natural language processing tool to extract keywords and understand the meaning of the question.
[1577] (Claim 3)
[1578] 2. The system according to claim 1, wherein the generating means automatically generates different phrases using a generating artificial intelligence.
[1579] "Example 1"
[1580] (Claim 1)
[1581] means for receiving input from a user;
[1582] means for analyzing said input;
[1583] means for generating different phrases based on the analysis results;
[1584] A means for creating training data based on the generated different phrases;
[1585] means for retraining a model based on the training data;
[1586] a means for deploying the updated model; and
[1587] A system including:
[1588] (Claim 2)
[1589] 2. The system according to claim 1, wherein the means for analyzing the input uses a natural language processing tool to extract keywords and understand the intent of the question.
[1590] (Claim 3)
[1591] 2. The system according to claim 1, wherein the means for generating different phrases automatically generates different phrases using a generative artificial intelligence.
[1592] "Application Example 1"
[1593] (Claim 1)
[1594] means for receiving input from a user;
[1595] means for analyzing said input;
[1596] means for generating the analysis results;
[1597] A means for creating training data based on the generated results;
[1598] means for retraining a model based on the training data;
[1599] a means for deploying the updated model; and
[1600] the model providing customer support in an electronic commerce system;
[1601] A means for the system to automatically generate answers to various questions from customers using a generative artificial intelligence model;
[1602] A system including:
[1603] (Claim 2)
[1604] 2. The system according to claim 1, wherein the means for analyzing the input uses a natural language processing tool to extract keywords and understand the meaning of the question.
[1605] (Claim 3)
[1606] 2. The system of claim 1, wherein the generating means automatically generates different phrases using a generative artificial intelligence model.
[1607] "Example 2: Combining Emotion Engines"
[1608] (Claim 1)
[1609] means for receiving input from a user;
[1610] means for sentiment analysis of the input;
[1611] means for generating the analysis results;
[1612] A means for creating training data based on the generated phrases;
[1613] means for retraining a model based on the training data;
[1614] a means for deploying the updated model; and
[1615] A system including:
[1616] (Claim 2)
[1617] 2. The system of claim 1, wherein the means for sentiment analyzing the input uses a sentiment analysis engine to recognize sentiment in the input text.
[1618] (Claim 3)
[1619] 2. The system of claim 1, wherein the generating means automatically generates different phrases using a generative artificial intelligence model.
[1620] "Application example 2 when combining emotion engines"
[1621] (Claim 1)
[1622] means for receiving input from a user;
[1623] means for analyzing said input;
[1624] A means of analyzing emotions,
[1625] means for generating the analysis results and emotion analysis results;
[1626] A means for creating training data based on the generated results;
[1627] means for retraining a model based on the training data;
[1628] a means for deploying the updated model; and
[1629] A system including:
[1630] (Claim 2)
[1631] 2. The system according to claim 1, wherein the means for analyzing the input uses a natural language processing tool to extract keywords and understand the meaning of the question.
[1632] (Claim 3)
[1633] 2. The system of claim 1, wherein the generating means automatically generates different phrases using generative artificial intelligence techniques. [Explanation of symbols]
[1634] 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 input from a user; means for analyzing said input; means for generating the analysis results; A means for creating training data based on the generated results; means for retraining a model based on the training data; a means for deploying the updated model; and A system including:
2. 2. The system according to claim 1, wherein the means for analyzing the input uses a natural language processing tool to extract keywords and understand the meaning of the question.
3. 2. The system according to claim 1, wherein the generating means automatically generates different phrases using artificial intelligence.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A