system
A system improves the quality and efficiency of expert question-answering platforms by categorizing user queries, routing them to experts, storing answers for feedback, and training AI, thus enhancing the accuracy of automated responses.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
The increasing number of online platforms for seeking expert knowledge is accompanied by varying question quality and answer accuracy, with a lack of effective feedback systems and inefficient data utilization for improving generative AI responses.
A system that allows users to input questions through terminals, categorizes and routes them to appropriate experts, stores answers for rating, analyzes feedback to train AI, and provides keyword suggestions and automated responses.
Enhances the quality and efficiency of question-answer exchanges, continuously improving the accuracy of generative AI responses by incorporating user feedback.
Smart Images

Figure 2026041340000001_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] In recent years, the number of online platforms where users can ask questions seeking expert knowledge has increased, but the quality of questions and the accuracy of answers often vary. Furthermore, there is a lack of an effective feedback system that allows experts to quickly and accurately answer users' questions. Furthermore, to utilize generative AI to realize high-quality automated responses, a large amount of high-quality data is required, but there is no established method for efficiently collecting and learning from this data. There is a need to solve these issues and build a system that efficiently provides high-quality questions and answers. [Means for solving the problem]
[0005] The present invention provides a system including: a means for a user to input a question using a terminal and send it to a server; a means for the server to receive the question and store it in a database; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a database and receive an evaluation; a means for the server to analyze the collected feedback and train a generation AI; and a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI. This system improves the quality of questions and answers, efficiently utilizes the knowledge of experts, and increases the accuracy of the automatic response by the generation AI.
[0006] "User" refers to an end-user who utilizes the system to enter questions and receive answers.
[0007] "Terminal" means a device used by a user or expert to access the system, including a personal computer, smartphone, tablet, etc.
[0008] A "question" refers to an inquiry that a user inputs as text what they would like to know from an expert and sends it through the system.
[0009] "Server" refers to a central processing unit that manages the operation and management of the entire system, processes data, stores data, etc.
[0010] "Database" refers to a storage system for systematically storing and managing information such as received questions, answers, ratings, and feedback.
[0011] "Keywords" are important words or phrases extracted from a question and used to characterize the content of the question.
[0012] "Categories" refer to fields or topics classified based on the content of a question, and are used to organize questions and select experts.
[0013] An "expert" is someone who is knowledgeable in a particular field or topic and can answer users' questions with specialized knowledge.
[0014] "Notification" refers to an electronic message from the server informing the expert that a question is available, including email and push notifications.
[0015] "Answer" refers to information or advice provided by an expert in response to a user's question.
[0016] A "rating" is feedback given by users or other experts on the quality of an answer, indicating its accuracy and usefulness.
[0017] "Feedback" is information generated based on evaluations and is used to improve the system and train the generating AI.
[0018] "Generative AI" refers to an artificial intelligence model that learns from collected data and feedback to generate high-quality automated responses.
[0019] "Question entry assistance" refers to a function that recommends appropriate keywords and categories when a user enters a question.
[0020] "Automatic response" refers to an answer that a generation AI automatically generates in response to a user's question. [Brief explanation of the drawings]
[0021] [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
[0022] 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.
[0023] First, the terms used in the following description will be explained.
[0024] 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).
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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."
[0029] [First embodiment]
[0030] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0031] 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.
[0032] 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).
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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."
[0042] The present invention relates to a system in which users input questions using a terminal and send them to a server. The system is designed to enable users to post questions effectively and quickly receive high-quality answers from experts. It also provides automated responses to users' questions using generative AI.
[0043] System Overview
[0044] 1. User Interface
[0045] Terminal: Users access the system from their own terminals and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[0046] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[0047] 2. Receiving and saving questions
[0048] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[0049] Example: The server stores the question "How do I sort a list in Python?" in a database.
[0050] 3. Question Analysis and Classification
[0051] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[0052] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[0053] 4. Expert Selection and Notification
[0054] Server: The server selects the appropriate expert from the list based on the keywords and category of the question and sends a notification via email or push notification.
[0055] Example: A question notification is sent via email to Python experts in the "Programming" category.
[0056] 5. Create and submit your response
[0057] Expert: The expert receives the notification and creates an appropriate answer to the question. The answer is sent from the expert's device to the server.
[0058] Example: An expert answers, "Python lists can be sorted using the sort() method or the sorted() function."
[0059] 6. Saving and rating answers
[0060] Server: The server stores the answers received from experts in a database and links them to the original question. Users can view the answers and rate them.
[0061] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[0062] 7. Feedback Analysis
[0063] Server: The server analyzes the received ratings and generates feedback data that helps improve the quality of questions and answers.
[0064] Example: You might get feedback that suggests you include specific language or feature keywords in your question.
[0065] 8. Training the generative AI
[0066] Server: The server uses feedback data and real Q&A data to train the generative AI, which improves the accuracy of automated responses.
[0067] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[0068] 9. Question entry assistance and automatic response
[0069] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[0070] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[0071] This allows users to efficiently and quickly exchange high-quality questions and answers, improving overall system performance, and by incorporating feedback continuously, the accuracy of the generative AI continues to improve.
[0072] The processing flow will be explained below.
[0073] Step 1:
[0074] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[0075] Step 2:
[0076] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[0077] Step 3:
[0078] The server uses natural language processing (NLP) algorithms to extract important keywords from the saved questions, such as "Python," "list," and "sort."
[0079] Step 4:
[0080] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[0081] Step 5:
[0082] The server selects the appropriate expert based on the question's keywords and category. It searches the expert list to find the most relevant expert. Specifically, it selects experts who are knowledgeable about Python in the "Programming" category.
[0083] Step 6:
[0084] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[0085] Step 7:
[0086] The expert receives a notification, reviews the question, and uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[0087] Step 8:
[0088] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[0089] Step 9:
[0090] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[0091] Step 10:
[0092] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[0093] Step 11:
[0094] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[0095] Step 12:
[0096] The server analyzes the stored feedback and extracts information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "include specific language and feature keywords."
[0097] Step 13:
[0098] The server trains a generative AI model based on the analysis results. It uses the collected questions, answers, and evaluation data to improve the model's accuracy. Specifically, it trains the generative AI on a new dataset.
[0099] Step 14:
[0100] The server provides a function to suggest appropriate keywords and categories when a user enters a question. It also enables the generation AI to automatically generate answers to questions. Specifically, when a user enters "Python...", the server displays the keywords "Python, list, sort", and the generation AI provides a basic answer.
[0101] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers, which also improves the overall system performance and the accuracy of the generated AI.
[0102] Example 1
[0103] 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."
[0104] In conventional question-answering systems, the process from when a user inputs a question to when an expert responds is complicated and time-consuming, and the classification of questions and selection of experts are inefficient. Furthermore, feedback to improve the quality of questions and answers is insufficient, limiting the effectiveness of the system as a whole.
[0105] 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.
[0106] In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a data storage device; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a data storage device and receive an evaluation; a means for the server to analyze the collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for the terminal to display keyword suggestions when the question is entered; a means for the server to send an expert notification by email or push notification; a means for the server to analyze the question using an NLP algorithm; and a means for the generation AI to generate an initial response to the user's question. This streamlines the process from question input to answer reception, enables the selection of experts and the quality of answers to be improved, and provides faster automatic responses.
[0107] A "user" is an individual or organization that enters a question and uses the system.
[0108] A "terminal" is an electronic device that a user uses to input a question and send it to a server.
[0109] A "server" is a central computer system that receives, stores, analyzes, and sends notifications to experts.
[0110] A "data store" is an information storage system for storing questions and answers.
[0111] "Keywords" are important words or phrases extracted from the question.
[0112] A "category" is a field or theme that is assigned based on the content of a question.
[0113] An "expert" is an individual who has the knowledge or experience to answer questions about a particular category.
[0114] "Notification" is a means of communication to inform experts that a question has arrived.
[0115] "Rating" is the process by which a user judges the value of a received answer and provides feedback.
[0116] "Feedback" is evaluation data collected from users and is information used to improve the system.
[0117] "Generative AI" is artificial intelligence that generates automatic responses to user questions.
[0118] "Training" is the process of using data to learn from generative AI in order to improve its performance.
[0119] "Email" is a digital message sent over the Internet.
[0120] A "push notification" is a short notification message sent to a device in real time.
[0121] A "natural language processing (NLP) algorithm" is a technology for analyzing text data and extracting semantic information.
[0122] The present invention provides a system that allows users to input questions using a terminal and send them to a server. This system allows users to effectively post questions and receive prompt, high-quality answers from appropriate experts. It also provides automated responses to users' questions using generative AI.
[0123] The system is configured as follows:
[0124] 1. User Interface
[0125] Device: Users access the system from their own device (PC, smartphone, tablet, etc.) and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[0126] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[0127] 2. Receiving and saving questions
[0128] Server: The server receives questions submitted by users and stores them in a database (e.g., MySQL (registered trademark), PostgreSQL). The stored questions are added to a queue for subsequent processing.
[0129] Example: The server stores the question "How do I sort a list in Python?" in a database.
[0130] 3. Question Analysis and Classification
[0131] Server: The server uses natural language processing (NLP) algorithms (e.g., spaCy, NLTK) to extract important keywords from the question and classify them into pre-defined categories.
[0132] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort" to classify the question into the "programming" category.
[0133] 4. Expert Selection and Notification
[0134] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[0135] Example: A server searches a list of Python experts in the "Programming" category and sends a question notification via email.
[0136] 5. Create and submit your response
[0137] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[0138] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[0139] 6. Saving and rating answers
[0140] Server: The server stores the answers received from the experts in a database and links them to the original question. It then sends the answers to the user's device, where the user can review and rate the displayed answers.
[0141] Example: The server stores the answer in a database and sends the data to the user's device. The user rates the answer as "very helpful" and sends the rating data to the server.
[0142] 7. Feedback Analysis
[0143] Server: The server analyzes the received ratings and generates feedback data that can be used to improve the quality of future questions and answers.
[0144] Example: The server analyzes the rating data and generates feedback such as "Please include specific language or feature keywords in your question."
[0145] 8. Training the generative AI
[0146] Server: The server uses the feedback data and actual question and answer data to train a generative AI model (e.g., OpenAI® GPT-4®), which improves the accuracy of automated responses.
[0147] Example: A server can use feedback and Q&A data to train a generative AI that can automatically answer, "To sort a list in Python, use the sort() method or the sorted() function."
[0148] 9. Question entry assistance and automatic response
[0149] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[0150] Example: When a user types "Python...", the server suggests the keywords "Python, list, sort" and the generative AI provides a basic answer.
[0151] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[0152] "User asks: 'How do I sort a list in Python?' Please explain."
[0153] The system allows users to efficiently and quickly exchange high-quality questions and answers, and by incorporating continuous feedback, the accuracy of the generative AI continues to improve.
[0154] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0155] Step 1:
[0156] User question input
[0157] How it works: A user accesses the system from their own terminal and enters a question into the question submission form.
[0158] Input: Question text, such as "How do I sort a list in Python?"
[0159] Output: The entered question text is saved to the terminal.
[0160] Specific operation: The user opens a browser on their device, enters "How do I sort a list in Python" into the question submission form, and clicks the submit button.
[0161] Step 2:
[0162] Sending and receiving questions
[0163] Terminal: After the question is entered, when the send button is pressed, the terminal sends the question to the server.
[0164] Server: The server receives this question data as an HTTP request.
[0165] Input: The question text in the HTTP request sent from the terminal.
[0166] Output: The question text received by the server.
[0167] Specific operation: When the user clicks the send button, the terminal sends the question data to the server, which receives it.
[0168] Step 3:
[0169] Save Question
[0170] Server: The server saves the received question in a data store, which adds the question to a queue for further processing.
[0171] Input: The received question text.
[0172] Output: A new question record in the database.
[0173] What happens: The server adds the question "How do I sort a list in Python?" as a new record to the Questions table in the database.
[0174] Step 4:
[0175] Question analysis and classification
[0176] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[0177] Input: The saved question text.
[0178] Output: Extracted keywords and assigned categories.
[0179] How it works: NLP algorithms extract keywords like "Python," "list," and "sort" and classify questions into the "programming" category.
[0180] Step 5:
[0181] Expert Selection and Notification
[0182] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[0183] Input: Extracted keywords and assigned categories.
[0184] Output: The experts who will receive the notification and the notification content.
[0185] What it does: The server searches the list of Python experts in the "Programming" category and sends you a question notification via email.
[0186] Step 6:
[0187] Expert answers written and submitted
[0188] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[0189] Input: Answer text written by experts.
[0190] Output: The answer text sent to the server.
[0191] Specific behavior: The expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[0192] Step 7:
[0193] Save the answer and present it to the user
[0194] Server: The server stores the answers received from the experts in a data storage device, links them to the original question, and then sends the answers to the user's device.
[0195] User: The user can view the displayed answers and rate them.
[0196] Input: Answer text received from the expert.
[0197] Output: A new answer record in the database and the answer displayed on the user's terminal.
[0198] Specific operation: The server stores the answer in a database and sends the data to the user's device to display the answer.
[0199] Step 8:
[0200] User rating of answers
[0201] User: The user checks the displayed answers and rates them (e.g., by rating them or adding comments). The rating is sent to the server via a submission form.
[0202] Input: User-submitted rating data.
[0203] Output: Evaluation data stored on the server.
[0204] Specific Action: User rates the app as "Very helpful" and submits the evaluation form.
[0205] Step 9:
[0206] Feedback Analysis
[0207] Server: The server analyzes the received evaluation data and generates feedback information that can be used to improve the quality of future questions and answers.
[0208] Input: Rating data received from users.
[0209] Output: The generated feedback information.
[0210] Specific behavior: The server analyzes the evaluation data and generates feedback such as "Please include specific language and feature keywords in your question."
[0211] Step 10:
[0212] Training generative AI
[0213] Server: The server uses the feedback data and actual Q&A data to train a generative AI model (e.g., OpenAI GPT-4), thereby improving the accuracy of automated responses.
[0214] Input: Feedback data and Q&A data.
[0215] Output: A trained generative AI model.
[0216] How it works: The server uses feedback and Q&A data to train a generative AI, generating a model that can automatically answer the question, "To sort a list in Python, use the sort() method or the sorted() function."
[0217] Step 11:
[0218] Question entry assistance and automatic response
[0219] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[0220] Input: The question text entered by the user.
[0221] Output: Suggested keywords and generated initial responses.
[0222] How it works: When a user types "Python...", the server suggests the keywords "Python, list, sort", and the generative AI provides a basic answer.
[0223] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[0224] "User asks: 'How do I sort a list in Python?' Please explain."
[0225] (Application example 1)
[0226] 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."
[0227] In modern virtual stores, a key challenge is enabling users to quickly and efficiently obtain detailed product information. However, current systems often have delays between questions and answers from experts, resulting in a poor user experience. Furthermore, the quality of automated responses from AI generation is low, sometimes leaving users dissatisfied. Furthermore, question and answer data is not effectively utilized as feedback, making it necessary to improve the accuracy of AI generation.
[0228] 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.
[0229] In this invention, the server includes: a means for a user to input an inquiry using a computer and send it to an information processing device; a means for the information processing device to receive the inquiry and save it in a storage device; a means for the information processing device to extract keywords from the inquiry and assign a category; a means for the information processing device to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send a response from a computer to the information processing device; a means for the information processing device to save the response in a storage device and receive an evaluation; a means for the information processing device to analyze the collected opinions and train the generation AI; a means for the information processing device to suggest keywords to the user when entering an inquiry and provide an automatic response by the generation AI; and a means for the user to quickly obtain information about products in a virtual shopping mall. This allows the user to quickly receive high-quality answers from experts and enables the accuracy of the generation AI to continue to improve.
[0230] A "user" is someone who obtains information about products in a virtual store and makes inquiries.
[0231] A "computer" is a terminal device used by a user to enter a query.
[0232] An "inquiry" is an action in which a user asks a question about detailed product information or purchasing methods in a virtual shop.
[0233] The "information processing device" is a server that receives inquiries from users, analyzes them, and notifies the appropriate experts.
[0234] A "storage device" is a device for saving inquiries and responses in an information processing device.
[0235] "Keywords" are key words or phrases for extracting important information from a query.
[0236] The "category" is a category for classifying inquiries based on the extracted keywords.
[0237] An "expert" is someone with extensive knowledge and experience in a particular category.
[0238] "Notification" refers to an action in which the information processing device notifies the expert that there is an inquiry.
[0239] "Responding" is the act of an expert providing an answer to a user's inquiry.
[0240] "Rating" is the act of a user providing feedback on a provided response.
[0241] "Opinions" are feedback generated based on user ratings to improve the quality of responses.
[0242] "Generative AI" is artificial intelligence that automatically responds to inquiries based on collected data.
[0243] A "virtual store" is a virtual store where users can browse and purchase products over the Internet.
[0244] An "automated response" is an answer that a generative AI automatically provides to a user's inquiry.
[0245] This invention is a system that allows users to make inquiries about products in a virtual store and receive prompt, high-quality answers from experts and generative AI. The system mainly includes the following processing steps.
[0246] In this system, a user inputs a query using a computer and sends it to an information processing device. The information processing device uses a general server and links to a database. The interface through which a user inputs a query can be, for example, a smartphone application or a web application.
[0247] The information processing device stores the received query in a storage device, which may be a relational database such as an SQL database.
[0248] The information processing system uses natural language processing (NLP) algorithms to extract keywords from queries and assign categories. Specifically, it can use NLP libraries such as SpaCy or NLTK. It then categorizes queries based on the extracted keywords and selects the appropriate expert.
[0249] The information processing device sends a notification to the selected expert. Notification methods include email notification using SMTP (Simple Mail Transfer Protocol) and push notification services. The expert creates a response from their computer in response to the notification and sends it to the information processing device.
[0250] The information processing device stores the responses received from the experts in a storage device and receives user ratings. The user ratings are analyzed as feedback to improve the quality of the responses. These rating data are also used to train the generative AI.
[0251] Generative AI uses generative models, such as GPT-3 (registered trademark), to generate automated responses to inquiries. Feedback data is used to continuously train the generative AI, improving the accuracy of the responses.
[0252] In addition, the information processing device can suggest appropriate keywords and categories when a user inputs an inquiry and provide basic automated responses using generative AI, allowing users to ask questions more efficiently and receive answers in a shorter time.
[0253] As a concrete example, if a user posts a query on the app asking, "What is the size of this product?", the information processing device will classify the query into the "product size" category and notify the relevant expert. The expert will respond, "This product's dimensions are 30 cm in height, 20 cm in width, and 10 cm in depth." Furthermore, at an early stage, the generative AI can automatically respond, "You're asking about the product's size. We'll provide you with the length, width, and depth information."
[0254] For example, if you ask the question "What is the size of this product?", the AI will respond with "The size of this product is 30cm long, 20cm wide, and 10cm deep."
[0255] This system allows users to receive fast, high-quality expert answers and allows the accuracy of the generative AI to continue to improve.
[0256] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0257] Step 1:
[0258] A user uses a computer to enter an inquiry and send it to an information processing device. The user uses the interface of a web application or smartphone application to enter a question such as "What size is this product?" and clicks the send button. The entered inquiry data is sent to the server as an HTTP request.
[0259] Step 2:
[0260] The server receives the query and stores it in a storage device. The server analyzes the received HTTP request and stores the query content in a database. Specifically, a record containing the query statement and metadata such as a timestamp and user ID is inserted into an SQL database. The input is the query data, and the output is the save completion status.
[0261] Step 3:
[0262] The server extracts keywords from the query and assigns a category. The server uses a natural language processing (NLP) library (e.g., SpaCy) to extract important keywords from the query. Then, it uses the extracted keywords to determine a category based on a predefined category set. The input is the query, and the output is the extracted keywords and the determined category.
[0263] Step 4:
[0264] The server selects an appropriate expert based on keywords and categories and sends a notification. The server retrieves a list of experts that match the category from the database and selects the most suitable expert from that list. The server then sends a notification to the selected expert. Notification methods include email using SMTP and push notification. The input is the category and expert list, and the output is the notification sending status.
[0265] Step 5:
[0266] The expert sends a response from his computer to the server. The expert receives a notification, checks the inquiry, and creates an appropriate response. By entering the response and clicking the send button, the expert's response is sent to the server as an HTTP request. The input is the expert's response text, and the output is the response data sent to the server.
[0267] Step 6:
[0268] The server stores the response in a storage device and provides a means to receive evaluations. The server stores the response received from the expert in a database and associates it with the original query. Next, it provides an evaluation interface to the user, allowing them to input their evaluation of the response. The input is the expert's response and the user's evaluation, and the output is the save completion status.
[0269] Step 7:
[0270] The server analyzes the collected opinions and trains the generative AI. The server analyzes the evaluation data and generates feedback data. This feedback data and actual question and answer data are used to train the generative AI. Specifically, the AI model (e.g., GPT-3) receives prompts and their corresponding correct responses, and the model is updated. The input is the evaluation data and feedback data, and the output is an updated generative AI model.
[0271] Step 8:
[0272] The server suggests keywords to the user when they enter their query, and provides an automatic response from a generative AI. When the user enters their query, the server uses NLP to suggest appropriate keywords and categories. In addition, the generative AI generates and displays an automatic response at an early stage. The input is the initial query text, and the output is the suggested keywords and the generated automatic response.
[0273] The above processing steps enable users to quickly receive high-quality expert answers, and the accuracy of the generative AI can continue to improve.
[0274] 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.
[0275] The present invention relates to a system in which a user inputs a question using a terminal and sends it to a server, and in particular, improves the accuracy of questions and answers and the user experience by combining it with an emotion engine that recognizes the user's emotions.
[0276] System Overview
[0277] 1. User Interface
[0278] Terminal: Users access the system using a terminal and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[0279] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[0280] 2. Receiving and saving questions
[0281] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[0282] Example: A server stores the question "How do I sort a list in Python?" in a database.
[0283] 3. Emotion analysis
[0284] Server: The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data.
[0285] Example: The server recognizes the user's emotion as "confused" from the question "How do I sort a list in Python?"
[0286] 4. Question Analysis and Classification
[0287] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into categories.
[0288] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[0289] 5. Expert Selection and Notification
[0290] Server: The server selects the appropriate expert based on the keywords and category of the question and the results of sentiment analysis, and sends a notification.
[0291] Example: Taking into consideration the user's feelings of confusion, a Python expert with a reputation for assisting beginners is selected and a question notification is sent via email.
[0292] 6. Create and submit your response
[0293] Expert: The expert receives the notification, reviews the question, and creates an answer. The expert's answer is sent from the device to the server.
[0294] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and submits it.
[0295] 7. Saving and rating answers
[0296] Server: The server stores the received answers in a database, linking them to the original question. Users can review and rate the answers.
[0297] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[0298] 8. Feedback Analysis
[0299] Server: The server analyzes the collected rating and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question.
[0300] Example: Gain insights from feedback data, such as "include specific language or feature keywords."
[0301] 9. Training the generative AI
[0302] Server: The server trains the generative AI using feedback data, actual Q&A data, and sentiment analysis data, which improves the accuracy of automated responses.
[0303] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[0304] 10. Question entry assistance and automatic response
[0305] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[0306] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[0307] This allows users to exchange high-quality questions and answers efficiently and quickly while recognizing emotions. Combining the emotion engine improves the user experience and overall system performance.
[0308] The processing flow will be explained below.
[0309] Step 1:
[0310] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[0311] Step 2:
[0312] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[0313] Step 3:
[0314] The server uses an emotion engine to analyze the user's emotion from the saved question. The result of the emotion analysis is saved along with the question data. Specifically, the emotion engine analyzes the emotion from the user's question "How do I sort a list in Python?" and determines it to be "confused."
[0315] Step 4:
[0316] The server uses natural language processing (NLP) algorithms to extract important keywords from the question, such as "Python," "list," and "sort."
[0317] Step 5:
[0318] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[0319] Step 6:
[0320] The server selects an appropriate expert based on the question's keywords, category, and sentiment analysis results. It then searches the expert list to find the most relevant expert. Specifically, it takes into consideration the sentiment of "confused" and selects a Python expert with a reputation for assisting beginners.
[0321] Step 7:
[0322] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[0323] Step 8:
[0324] The expert receives a notification and checks the question and the user's sentiment. The expert then uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[0325] Step 9:
[0326] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[0327] Step 10:
[0328] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[0329] Step 11:
[0330] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[0331] Step 12:
[0332] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[0333] Step 13:
[0334] The server analyzes the stored feedback and sentiment data to extract information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "including specific language and functional keywords."
[0335] Step 14:
[0336] The server trains a generative AI model based on the analysis results and collected data. It also takes into account the results of sentiment analysis to improve the model's accuracy. Specifically, it trains the generative AI with a new dataset.
[0337] Step 15:
[0338] When a user enters a question, the server provides a function that suggests appropriate keywords and categories based on emotional information. The generative AI also enables automatic generation of answers to questions. For example, if a user enters "Python...", the server displays the keywords "Python, list, sort", and the generative AI provides a basic answer.
[0339] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers while being aware of emotions, thereby improving the user experience and the overall system performance.
[0340] Example 2
[0341] 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."
[0342] Conventional question-answering systems have difficulty understanding the context and sentiment of questions entered by users, making it difficult to provide appropriate and prompt answers. Furthermore, problems existed, such as inappropriate selection of experts and insufficient feedback to ensure the quality of answers. Furthermore, the accuracy of assistance when entering questions and automatic responses was low, leaving a need for an improved user experience.
[0343] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing the user's emotions from the question using an emotion analysis engine, means for extracting keywords from the question and assigning a category, and means for selecting an appropriate expert based on the emotion analysis result, keywords, and category, and sending a notification. This makes it possible to provide an appropriate and prompt answer that takes the user's emotions into consideration.
[0344] A "user" is a person who accesses the system and inputs and submits a question.
[0345] A "terminal" is a device used by a user to access the system, and specifically includes a computer, smartphone, tablet, etc.
[0346] The "server" is a central computing unit that processes user requests and performs database management, sentiment analysis, question classification, expert selection, and notification sending.
[0347] "Database" means a data storage system for storing and managing questions, answers, sentiment analysis results, ratings and feedback data.
[0348] An "emotion analysis engine" is a software tool that analyzes a user's emotions from the questions they enter, and detects emotions using machine learning and natural language processing technology.
[0349] "Keywords" are important words or phrases extracted from the question text and used to understand the question and assign a category.
[0350] "Category" refers to a group of themes or topics for categorizing questions based on extracted keywords.
[0351] An "expert" is someone who has extensive knowledge and experience in a particular category or topic and is able to provide relevant answers to questions.
[0352] A "notification" is a communication, usually sent via email or messaging system, informing an expert that a question has been assigned to them.
[0353] An "answer" is a solution or advice provided by an expert to a question.
[0354] "Rating" refers to a user rating the usefulness or satisfaction of a provided answer, usually in the form of a star rating or comment.
[0355] "Feedback" refers to insights and suggestions for improvement gained from analyzing assessment data, which are useful for improving the quality of responses and the performance of the system.
[0356] A "generative AI model" is an artificial intelligence model that is trained using feedback data, emotion data, and question-and-answer data to generate automated responses to user questions.
[0357] This invention relates to a system in which a user inputs a question using a terminal and sends it to a server. In particular, it combines a sentiment analysis engine and a generative AI model to improve the accuracy of questions and answers and the user experience.
[0358] System Configuration
[0359] Hardware configuration:
[0360] 1. Device: A device where a user can enter and submit a question, including a computer, smartphone, tablet, etc.
[0361] 2. Server: This acts as the central computing unit, receiving, analyzing, and storing questions, and sending notifications. The database typically uses MySQL. The sentiment analysis engine and generative AI model run on the server.
[0362] Software configuration:
[0363] 1. User interface: Implemented as a web application, it provides a form for users to enter questions. It is designed using HTML, CSS, and JavaScript (registered trademark).
[0364] 2. Database management system: Use a relational database such as MySQL to efficiently manage questions, answers, ratings, and sentiment analysis results.
[0365] 3. Sentiment Analysis Engine: This engine runs machine learning algorithms to analyze user sentiment from input questions. It uses Python (registered trademark)-based natural language processing libraries (e.g., NLTK and spaCy).
[0366] 4. Natural language processing (NLP) technology: Extract keywords from questions using techniques such as TF-IDF and Word2Vec and classify them into categories.
[0367] 5. Generative AI models: Use large-scale language models such as GPT-3 to generate automated responses to questions.
[0368] System processing overview
[0369] 1. Enter and submit your question:
[0370] The user enters a question through the browser on the device and clicks the submit button. For example, the user enters "How do I sort a list in Python?" and submits it. The entered data is sent to the server as a POST request.
[0371] 2. Receiving and storing questions:
[0372] The server receives the questions submitted by the user and stores the data in a database (MySQL), where it is added to a queue for further processing.
[0373] 3. Perform sentiment analysis:
[0374] The server uses an emotion analysis engine to analyze the user's emotions from the received question. For example, it can obtain emotional results such as "confused" or "nervous." This analysis result is stored in a database along with the question data.
[0375] 4. Question analysis and classification:
[0376] The server uses NLP technology to extract important keywords from the question and assign a category based on them. For example, the keywords "Python," "list," and "sort" are extracted, and the category is classified as "programming."
[0377] 5. Expert Selection and Notification:
[0378] The server selects an appropriate expert based on the results of sentiment analysis and the extracted keywords and categories. The selected expert is then notified of the question via email using an SMTP server.
[0379] 6. Receiving and Evaluating Responses:
[0380] The server receives the answers sent by the experts and stores them in a database, where users can view and rate the answers in the form of stars or comments.
[0381] 7. Training the AI to analyze and generate feedback:
[0382] The server analyzes the collected rating and sentiment data to train the generative AI model, and this feedback analysis improves the quality of the answers.
[0383] 8. Question entry assistance and auto-answer:
[0384] The server suggests appropriate keywords and categories as users type their questions, and also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will automatically provide basic answers.
[0385] Prompt Sentence Examples
[0386] How do I sort a list in Python?
[0387] The system configured as described above enables users to efficiently and quickly exchange high-quality questions and answers. The collaboration between the sentiment analysis engine and generative AI improves the user experience.
[0388] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0389] Step 1: Displaying the User Interface
[0390] Server: When the system starts up, the server displays the user interface on the device. Specifically, it generates the question submission form using HTML and CSS, and loads a script that validates user input using JavaScript.
[0391] Input: System startup request
[0392] Output: Question submission form displayed in browser
[0393] Step 2: Enter and submit your question
[0394] User: The user types a question through the browser on their device and clicks the submit button. For example, the user types, "How do I sort a list in Python?"
[0395] Input: Question ("How do I sort a list in Python?")
[0396] Output: POST request from the terminal to the server
[0397] Step 3: Receiving the question
[0398] Server: The server receives the POST request sent by the user and extracts the question data in the request body.
[0399] Input: POST request from terminal
[0400] Output: Extracted question data
[0401] Step 4: Save the question
[0402] Server: Saves the extracted question data to a database. MySQL is used to store the data and queue it for further processing.
[0403] Input: Question data ("How do I sort a list in Python?")
[0404] Output: Question data stored in the database and question ID in the queue
[0405] Step 5: Perform sentiment analysis
[0406] Server: The server uses a sentiment analysis engine to analyze the sentiment of the saved questions. It uses a Python-based natural language processing library to extract the user's sentiment (e.g., "confused") from the questions.
[0407] Input: Question data ("How do I sort a list in Python?")
[0408] Output: Emotion data ("confused")
[0409] Step 6: Save the sentiment analysis results
[0410] Server: The analyzed emotion data is stored in a database along with the question data.
[0411] Input: Emotion data ("confused")
[0412] Output: Emotion data stored in a database
[0413] Step 7: Parse and classify the questions
[0414] Server: Using natural language processing (NLP) algorithms, the server extracts keywords from the question and assigns a category. Using techniques such as TF-IDF and Word2Vec, the server extracts keywords such as "Python," "list," and "sort," and the question falls into the "Programming" category.
[0415] Input: Question data ("How do I sort a list in Python?")
[0416] Output: Extracted keywords ("Python", "list", "sort") and category ("programming")
[0417] Step 8: Save your keywords and categories
[0418] Server: Stores the extracted keywords and categories in a database together with the question data.
[0419] Input: Keywords and Categories
[0420] Output: Keywords and categories stored in the database
[0421] Step 9: Expert Selection and Notification
[0422] Server: Selects appropriate experts based on the sentiment analysis results and extracted keywords and categories. Sends question notifications to the selected experts via email using an SMTP server.
[0423] Input: Emotion data, keywords, categories
[0424] Output: Email notification of question to expert
[0425] Step 10: Expert response and submission
[0426] Expert: Receives the notification email and creates an answer to the question. The expert sends the answer to the server as a POST request from the terminal.
[0427] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[0428] Output: POST request from the terminal to the server
[0429] Step 11: Receive and store responses
[0430] Server: Receives the answers submitted by the experts and stores them in a database, linking them to the original question.
[0431] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[0432] Output: Response data stored in a database
[0433] Step 12: User review and evaluation of answers
[0434] User: The user reviews the provided answer and rates it in the form of a star rating or comment. For example, the user rates it as "very helpful" and gives it 5 stars.
[0435] Input: User rating (5 stars, comment "Very helpful")
[0436] Output: Sending evaluation data from the device to the server
[0437] Step 13: Save the evaluation data
[0438] Server: Stores the received evaluation data in a database.
[0439] Input: User rating data
[0440] Output: Evaluation data stored in a database
[0441] Step 14: Analyze feedback
[0442] Server: Analyzes the collected rating and sentiment data and generates feedback to train the generative AI model.
[0443] Input: Rating data, emotion data
[0444] Output: Generated feedback data
[0445] Step 15: Training the generative AI model
[0446] Server: Trains generative AI models using feedback data, sentiment data, and real-world question and answer data. Uses large-scale language models such as GPT-3.
[0447] Input: Feedback data, emotion data, question data, answer data
[0448] Output: A trained generative AI model
[0449] Step 16: Providing assistance with filling out questions and automated responses
[0450] Server: When a user types a question, it suggests appropriate keywords and categories. It also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will provide a basic answer.
[0451] Input: User's partial question input
[0452] Output: Suggested keywords and basic answers from the generative AI
[0453] This specific processing step allows users to exchange high-quality questions and answers efficiently and quickly, while taking emotions into consideration. The collaboration between the sentiment analysis engine and generative AI improves the user experience and system performance.
[0454] (Application example 2)
[0455] 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."
[0456] Conventional question-answering systems generate uniform responses without considering the user's feelings, which can leave users confused or unsatisfied. Furthermore, especially on online shopping sites, this can lead to problems such as difficulty in searching for the product they are looking for and inappropriate product suggestions. This can lead to a poor user experience and a decrease in site usage.
[0457] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a database; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a database and receive an evaluation; a means for the server to analyze collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for analyzing emotions from the question entered by the user and optimizing the response based on the results; and a means for suggesting appropriate product information to the user based on the emotion analysis results. This enables appropriate answers and product suggestions that take the user's emotions into consideration, which is expected to improve the user experience and increase site usage.
[0458] A "terminal" is an electronic device that allows a user to input questions or instructions, and includes smartphones, tablets, and personal computers.
[0459] A "server" is a central computing device that receives, processes, and stores input from users and returns analytical results and responses.
[0460] A "database" is a data storage system that systematically stores and manages data such as questions, responses, and user feedback.
[0461] "Keywords" are important words or short phrases extracted from a question and used to understand the content and category of the question.
[0462] A "category" is a classification framework for classifying questions based on extracted keywords, such as "programming," "shopping," and "customer support."
[0463] An "expert" is a person with advanced knowledge and experience in a particular field, and is selected to provide appropriate answers to users' questions.
[0464] "Notifications" are any means of communication to let an expert know that a question has been received, including email and in-app notifications.
[0465] "Emotion" refers to the psychological state of the user when asking a question, and includes, for example, "confusion," "impatience," and "joy."
[0466] "Emotion analysis" is a technique for identifying the psychological state of a user from the question entered by the user.
[0467] "Optimization" refers to generating optimal responses and product suggestions for users based on sentiment analysis results and keywords.
[0468] "Product information" is information about products that may interest users on the online shopping site, including prices, features, reviews, related products, and the like.
[0469] "Generative AI" is artificial intelligence that learns from collected data and automatically generates responses and suggestions.
[0470] An "automated response" is an answer that a generative AI provides instantly in response to a question entered by a user.
[0471] To implement this invention, a user needs to access the system using a terminal and input a question. The terminal may be a smartphone, tablet, or PC, and the user can easily input and send a question through a user interface. Specifically, for example, the user might input "Do you have any recommendations for a gift for Mother's Day?" and click the send button.
[0472] The server receives questions submitted by users and stores them in a database, which is then queued for further processing. Database management can be performed using a database system such as SQLite.
[0473] The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data. For emotion analysis, the pipeline module of the transformers library can be used, for example, to recognize the user's emotions as "confused" or "excited."
[0474] The server then uses a natural language processing (NLP) algorithm to extract important keywords from the question and classify them into categories. The TextBlob library can be used for NLP analysis. For example, keywords such as "Mother's Day" and "presents" are extracted, and the question is classified into the "Shopping" category.
[0475] The server selects the appropriate expert based on the extracted keywords, categories, and sentiment analysis results, and then sends a notification. The expert receives the question via email or in-app notification, and the expert creates an answer. For example, a notification is sent to an expert on Mother's Day gifts, requesting an answer.
[0476] When experts submit their answers to the server, the server stores them in a database and links them to the original question. Users can also review and rate the answers. This rating data is collected by the server and used for feedback analysis.
[0477] The server analyzes the collected evaluation and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question. This trains the generative AI and improves the accuracy of the automated response. By training the generative AI model, if the user asks the same question again, the automated response will be able to immediately provide an appropriate answer.
[0478] Furthermore, when a user inputs a question, the server suggests appropriate keywords and categories, and provides an automated response using generative AI. For example, if a user inputs "Mother's Day," the server will display keywords such as "present," "gift," and "recommended," and the generative AI will provide a basic answer.
[0479] As a specific example, if a user types a question such as "Do you have any recommendations for a gift for Mother's Day?" and emotion analysis detects that the user is "confused," the server will notify a gift expert and provide an answer such as "Please take a look at these recommended products."
[0480] Examples of prompts include the following text format:
[0481] "A user entered the following question: 'Do you have any gift recommendations for Mother's Day?'"
[0482] "How can we analyze the context and sentiment of a question to make relevant product recommendations?"
[0483] "User emotion: troubled, Keywords: Mother's Day, gift"
[0484] This enables efficient, fast, and high-quality exchange of questions and answers while taking into account the user's feelings, thereby improving the user experience on online shopping sites.
[0485] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0486] Step 1:
[0487] The user uses a terminal to enter a question and send it to the server.
[0488] Input: The user enters a question into the question input form on the device.
[0489] Example: A user types, "Do you have any recommendations for Mother's Day gifts?" and clicks the submit button.
[0490] Output: The query is sent to the server.
[0491] Step 2:
[0492] The server receives the question and stores it in a database.
[0493] Input: The question text submitted by the user.
[0494] Example: A question arrives at the server: "Do you have any recommendations for a gift for Mother's Day?"
[0495] Output: The question is saved in the database.
[0496] Step 3:
[0497] The server analyzes the sentiment from the question.
[0498] Input: A question stored in the database.
[0499] Example: A sentiment analysis engine analyzes the question "Do you have any recommendations for a gift for Mother's Day?" and determines the sentiment to be "confused."
[0500] Output: Sentiment analysis result (e.g., "confused").
[0501] Step 4:
[0502] The server extracts keywords from the question and assigns a category.
[0503] Input: A question stored in the database.
[0504] Example: A server uses an NLP algorithm to extract keywords such as "Mother's Day" and "gifts" and classify them into the "Shopping" category.
[0505] Output: Extracted keywords and categories (e.g., "Mother's Day", "Gifts", "Shopping").
[0506] Step 5:
[0507] The server selects the appropriate expert based on keywords and categories and sends the notification.
[0508] Input: Extracted keywords, categories, and sentiment analysis results.
[0509] Example: The server selects an appropriate expert from a list of experts in the "Shopping" category and sends a notification by email.
[0510] Output: A question notification is sent to the expert.
[0511] Step 6:
[0512] The expert sends the answer from the terminal to the server.
[0513] Input: The expert reviews the question on the device and enters the answer.
[0514] Example: An expert types in the answer "The recommended gift for Mother's Day is a flower bouquet" and submits it.
[0515] Output: The expert's answer is sent to the server.
[0516] Step 7:
[0517] The server stores the answers in a database and receives the ratings.
[0518] Input: Answers submitted by experts.
[0519] Example: The answer "A flower bouquet is a recommended gift for Mother's Day" is saved in the database.
[0520] Output: The answer and its link are saved in the database.
[0521] Step 8:
[0522] The user checks the answers and rates them.
[0523] Input: The answer the user receives on their device.
[0524] Example: A user rates something as "very helpful."
[0525] Output: The user's rating is sent to the server and stored.
[0526] Step 9:
[0527] The server analyzes the collected feedback and trains the generative AI.
[0528] Input: Question and answer content, ratings, and feedback data.
[0529] Example: The server analyzes the feedback data and uses it as training data for a generative AI model.
[0530] Output: An updated generative AI model.
[0531] Step 10:
[0532] The server suggests keywords to users when they write their questions and provides automatic responses using generative AI.
[0533] Input: The text that the user will enter when entering a new question.
[0534] Example: When a user types in "Mother's Day...", the server displays keywords such as "present" and "gift", and the generative AI provides a basic answer.
[0535] Output: Suggested keywords and an automated response generated by the AI.
[0536] This allows users to exchange higher quality questions and answers, and also makes it possible to make product suggestions and responses that take emotions into account.
[0537] 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.
[0538] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0539] 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.
[0540] [Second embodiment]
[0541] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0542] 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.
[0543] 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).
[0544] 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.
[0545] 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.
[0546] 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).
[0547] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0548] 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.
[0549] 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.
[0550] 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.
[0551] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0552] 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."
[0553] The present invention relates to a system in which users input questions using a terminal and send them to a server. The system is designed to enable users to post questions effectively and quickly receive high-quality answers from experts. It also provides automated responses to users' questions using generative AI.
[0554] System Overview
[0555] 1. User Interface
[0556] Terminal: Users access the system from their own terminals and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[0557] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[0558] 2. Receiving and saving questions
[0559] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[0560] Example: The server stores the question "How do I sort a list in Python?" in a database.
[0561] 3. Question Analysis and Classification
[0562] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[0563] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[0564] 4. Expert Selection and Notification
[0565] Server: The server selects the appropriate expert from the list based on the keywords and category of the question and sends a notification via email or push notification.
[0566] Example: A question notification is sent via email to Python experts in the "Programming" category.
[0567] 5. Create and submit your response
[0568] Expert: The expert receives the notification and creates an appropriate answer to the question. The answer is sent from the expert's device to the server.
[0569] Example: An expert answers, "Python lists can be sorted using the sort() method or the sorted() function."
[0570] 6. Saving and rating answers
[0571] Server: The server stores the answers received from experts in a database and links them to the original question. Users can view the answers and rate them.
[0572] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[0573] 7. Feedback Analysis
[0574] Server: The server analyzes the received ratings and generates feedback data that helps improve the quality of questions and answers.
[0575] Example: You might get feedback that suggests you include specific language or feature keywords in your question.
[0576] 8. Training the generative AI
[0577] Server: The server uses feedback data and real Q&A data to train the generative AI, which improves the accuracy of automated responses.
[0578] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[0579] 9. Question entry assistance and automatic response
[0580] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[0581] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[0582] This allows users to efficiently and quickly exchange high-quality questions and answers, improving overall system performance, and by incorporating feedback continuously, the accuracy of the generative AI continues to improve.
[0583] The processing flow will be explained below.
[0584] Step 1:
[0585] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[0586] Step 2:
[0587] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[0588] Step 3:
[0589] The server uses natural language processing (NLP) algorithms to extract important keywords from the saved questions, such as "Python," "list," and "sort."
[0590] Step 4:
[0591] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[0592] Step 5:
[0593] The server selects the appropriate expert based on the question's keywords and category. It searches the expert list to find the most relevant expert. Specifically, it selects experts who are knowledgeable about Python in the "Programming" category.
[0594] Step 6:
[0595] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[0596] Step 7:
[0597] The expert receives a notification, reviews the question, and uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[0598] Step 8:
[0599] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[0600] Step 9:
[0601] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[0602] Step 10:
[0603] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[0604] Step 11:
[0605] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[0606] Step 12:
[0607] The server analyzes the stored feedback and extracts information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "include specific language and feature keywords."
[0608] Step 13:
[0609] The server trains a generative AI model based on the analysis results. It uses the collected questions, answers, and evaluation data to improve the model's accuracy. Specifically, it trains the generative AI on a new dataset.
[0610] Step 14:
[0611] The server provides a function to suggest appropriate keywords and categories when a user enters a question. It also enables the generation AI to automatically generate answers to questions. Specifically, when a user enters "Python...", the server displays the keywords "Python, list, sort", and the generation AI provides a basic answer.
[0612] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers, which also improves the overall system performance and the accuracy of the generated AI.
[0613] Example 1
[0614] 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."
[0615] In conventional question-answering systems, the process from when a user inputs a question to when an expert responds is complicated and time-consuming, and the classification of questions and selection of experts are inefficient. Furthermore, feedback to improve the quality of questions and answers is insufficient, limiting the effectiveness of the system as a whole.
[0616] 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.
[0617] In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a data storage device; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a data storage device and receive an evaluation; a means for the server to analyze the collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for the terminal to display keyword suggestions when the question is entered; a means for the server to send an expert notification by email or push notification; a means for the server to analyze the question using an NLP algorithm; and a means for the generation AI to generate an initial response to the user's question. This streamlines the process from question input to answer reception, enables the selection of experts and the quality of answers to be improved, and provides faster automatic responses.
[0618] A "user" is an individual or organization that enters a question and uses the system.
[0619] A "terminal" is an electronic device that a user uses to input a question and send it to a server.
[0620] A "server" is a central computer system that receives, stores, analyzes, and sends notifications to experts.
[0621] A "data store" is an information storage system for storing questions and answers.
[0622] "Keywords" are important words or phrases extracted from the question.
[0623] A "category" is a field or theme that is assigned based on the content of a question.
[0624] An "expert" is an individual who has the knowledge or experience to answer questions about a particular category.
[0625] "Notification" is a means of communication to inform experts that a question has arrived.
[0626] "Rating" is the process by which a user judges the value of a received answer and provides feedback.
[0627] "Feedback" is evaluation data collected from users and is information used to improve the system.
[0628] "Generative AI" is artificial intelligence that generates automatic responses to user questions.
[0629] "Training" is the process of using data to learn from generative AI in order to improve its performance.
[0630] "Email" is a digital message sent over the Internet.
[0631] A "push notification" is a short notification message sent to a device in real time.
[0632] A "natural language processing (NLP) algorithm" is a technology for analyzing text data and extracting semantic information.
[0633] The present invention provides a system that allows users to input questions using a terminal and send them to a server. This system allows users to effectively post questions and receive prompt, high-quality answers from appropriate experts. It also provides automated responses to users' questions using generative AI.
[0634] The system is configured as follows:
[0635] 1. User Interface
[0636] Device: Users access the system from their own device (PC, smartphone, tablet, etc.) and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[0637] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[0638] 2. Receiving and saving questions
[0639] Server: The server receives questions submitted by users and stores them in a database (e.g., MySQL, PostgreSQL). The stored questions are added to a queue for further processing.
[0640] Example: The server stores the question "How do I sort a list in Python?" in a database.
[0641] 3. Question Analysis and Classification
[0642] Server: The server uses natural language processing (NLP) algorithms (e.g., spaCy, NLTK) to extract important keywords from the question and classify them into pre-defined categories.
[0643] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort" to classify the question into the "programming" category.
[0644] 4. Expert Selection and Notification
[0645] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[0646] Example: A server searches a list of Python experts in the "Programming" category and sends a question notification via email.
[0647] 5. Create and submit your response
[0648] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[0649] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[0650] 6. Saving and rating answers
[0651] Server: The server stores the answers received from the experts in a database and links them to the original question. It then sends the answers to the user's device, where the user can review and rate the displayed answers.
[0652] Example: The server stores the answer in a database and sends the data to the user's device. The user rates the answer as "very helpful" and sends the rating data to the server.
[0653] 7. Feedback Analysis
[0654] Server: The server analyzes the received ratings and generates feedback data that can be used to improve the quality of future questions and answers.
[0655] Example: The server analyzes the rating data and generates feedback such as "Please include specific language or feature keywords in your question."
[0656] 8. Training the generative AI
[0657] Server: The server uses the feedback data and actual question and answer data to train a generative AI model (e.g., OpenAI GPT-4), which improves the accuracy of automated responses.
[0658] Example: A server can use feedback and Q&A data to train a generative AI that can automatically answer, "To sort a list in Python, use the sort() method or the sorted() function."
[0659] 9. Question entry assistance and automatic response
[0660] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[0661] Example: When a user types "Python...", the server suggests the keywords "Python, list, sort" and the generative AI provides a basic answer.
[0662] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[0663] "User asks: 'How do I sort a list in Python?' Please explain."
[0664] The system allows users to efficiently and quickly exchange high-quality questions and answers, and by incorporating continuous feedback, the accuracy of the generative AI continues to improve.
[0665] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0666] Step 1:
[0667] User question input
[0668] How it works: A user accesses the system from their own terminal and enters a question into the question submission form.
[0669] Input: Question text, such as "How do I sort a list in Python?"
[0670] Output: The entered question text is saved to the terminal.
[0671] Specific operation: The user opens a browser on their device, enters "How do I sort a list in Python" into the question submission form, and clicks the submit button.
[0672] Step 2:
[0673] Sending and receiving questions
[0674] Terminal: After the question is entered, when the send button is pressed, the terminal sends the question to the server.
[0675] Server: The server receives this question data as an HTTP request.
[0676] Input: The question text in the HTTP request sent from the terminal.
[0677] Output: The question text received by the server.
[0678] Specific operation: When the user clicks the send button, the terminal sends the question data to the server, which receives it.
[0679] Step 3:
[0680] Save Question
[0681] Server: The server saves the received question in a data store, which adds the question to a queue for further processing.
[0682] Input: The received question text.
[0683] Output: A new question record in the database.
[0684] What happens: The server adds the question "How do I sort a list in Python?" as a new record to the Questions table in the database.
[0685] Step 4:
[0686] Question analysis and classification
[0687] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[0688] Input: The saved question text.
[0689] Output: Extracted keywords and assigned categories.
[0690] How it works: NLP algorithms extract keywords like "Python," "list," and "sort" and classify questions into the "programming" category.
[0691] Step 5:
[0692] Expert Selection and Notification
[0693] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[0694] Input: Extracted keywords and assigned categories.
[0695] Output: The experts who will receive the notification and the notification content.
[0696] What it does: The server searches the list of Python experts in the "Programming" category and sends you a question notification via email.
[0697] Step 6:
[0698] Expert answers written and submitted
[0699] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[0700] Input: Answer text written by experts.
[0701] Output: The answer text sent to the server.
[0702] Specific behavior: The expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[0703] Step 7:
[0704] Save the answer and present it to the user
[0705] Server: The server stores the answers received from the experts in a data storage device, links them to the original question, and then sends the answers to the user's device.
[0706] User: The user can view the displayed answers and rate them.
[0707] Input: Answer text received from the expert.
[0708] Output: A new answer record in the database and the answer displayed on the user's terminal.
[0709] Specific operation: The server stores the answer in a database and sends the data to the user's device to display the answer.
[0710] Step 8:
[0711] User rating of answers
[0712] User: The user checks the displayed answers and rates them (e.g., by rating them or adding comments). The rating is sent to the server via a submission form.
[0713] Input: User-submitted rating data.
[0714] Output: Evaluation data stored on the server.
[0715] Specific Action: User rates the app as "Very helpful" and submits the evaluation form.
[0716] Step 9:
[0717] Feedback Analysis
[0718] Server: The server analyzes the received evaluation data and generates feedback information that can be used to improve the quality of future questions and answers.
[0719] Input: Rating data received from users.
[0720] Output: The generated feedback information.
[0721] Specific behavior: The server analyzes the evaluation data and generates feedback such as "Please include specific language and feature keywords in your question."
[0722] Step 10:
[0723] Training generative AI
[0724] Server: The server uses the feedback data and actual Q&A data to train a generative AI model (e.g., OpenAI GPT-4), thereby improving the accuracy of automated responses.
[0725] Input: Feedback data and Q&A data.
[0726] Output: A trained generative AI model.
[0727] How it works: The server uses feedback and Q&A data to train a generative AI, generating a model that can automatically answer the question, "To sort a list in Python, use the sort() method or the sorted() function."
[0728] Step 11:
[0729] Question entry assistance and automatic response
[0730] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[0731] Input: The question text entered by the user.
[0732] Output: Suggested keywords and generated initial responses.
[0733] How it works: When a user types "Python...", the server suggests the keywords "Python, list, sort", and the generative AI provides a basic answer.
[0734] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[0735] "User asks: 'How do I sort a list in Python?' Please explain."
[0736] (Application example 1)
[0737] 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."
[0738] In modern virtual stores, a key challenge is enabling users to quickly and efficiently obtain detailed product information. However, current systems often have delays between questions and answers from experts, resulting in a poor user experience. Furthermore, the quality of automated responses from AI generation is low, sometimes leaving users dissatisfied. Furthermore, question and answer data is not effectively utilized as feedback, making it necessary to improve the accuracy of AI generation.
[0739] 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.
[0740] In this invention, the server includes: a means for a user to input an inquiry using a computer and send it to an information processing device; a means for the information processing device to receive the inquiry and save it in a storage device; a means for the information processing device to extract keywords from the inquiry and assign a category; a means for the information processing device to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send a response from a computer to the information processing device; a means for the information processing device to save the response in a storage device and receive an evaluation; a means for the information processing device to analyze the collected opinions and train the generation AI; a means for the information processing device to suggest keywords to the user when entering an inquiry and provide an automatic response by the generation AI; and a means for the user to quickly obtain information about products in a virtual shopping mall. This allows the user to quickly receive high-quality answers from experts and enables the accuracy of the generation AI to continue to improve.
[0741] A "user" is someone who obtains information about products in a virtual store and makes inquiries.
[0742] A "computer" is a terminal device used by a user to enter a query.
[0743] An "inquiry" is an action in which a user asks a question about detailed product information or purchasing methods in a virtual shop.
[0744] The "information processing device" is a server that receives inquiries from users, analyzes them, and notifies the appropriate experts.
[0745] A "storage device" is a device for saving inquiries and responses in an information processing device.
[0746] "Keywords" are key words or phrases for extracting important information from a query.
[0747] The "category" is a category for classifying inquiries based on the extracted keywords.
[0748] An "expert" is someone with extensive knowledge and experience in a particular category.
[0749] "Notification" refers to an action in which the information processing device notifies the expert that there is an inquiry.
[0750] "Responding" is the act of an expert providing an answer to a user's inquiry.
[0751] "Rating" is the act of a user providing feedback on a provided response.
[0752] "Opinions" are feedback generated based on user ratings to improve the quality of responses.
[0753] "Generative AI" is artificial intelligence that automatically responds to inquiries based on collected data.
[0754] A "virtual store" is a virtual store where users can browse and purchase products over the Internet.
[0755] An "automated response" is an answer that a generative AI automatically provides to a user's inquiry.
[0756] This invention is a system that allows users to make inquiries about products in a virtual store and receive prompt, high-quality answers from experts and generative AI. The system mainly includes the following processing steps.
[0757] In this system, a user inputs a query using a computer and sends it to an information processing device. The information processing device uses a general server and links to a database. The interface through which a user inputs a query can be, for example, a smartphone application or a web application.
[0758] The information processing device stores the received query in a storage device, which may be a relational database such as an SQL database.
[0759] The information processing system uses natural language processing (NLP) algorithms to extract keywords from queries and assign categories. Specifically, it can use NLP libraries such as SpaCy or NLTK. It then categorizes queries based on the extracted keywords and selects the appropriate expert.
[0760] The information processing device sends a notification to the selected expert. Notification methods include email notification using SMTP (Simple Mail Transfer Protocol) and push notification services. The expert creates a response from their computer in response to the notification and sends it to the information processing device.
[0761] The information processing device stores the responses received from the experts in a storage device and receives user ratings. The user ratings are analyzed as feedback to improve the quality of the responses. These rating data are also used to train the generative AI.
[0762] Generative AI uses generative models, such as GPT-3, to generate automated responses to queries, and it continuously trains the generative AI using feedback data to improve the accuracy of its answers.
[0763] In addition, the information processing device can suggest appropriate keywords and categories when a user inputs an inquiry and provide basic automated responses using generative AI, allowing users to ask questions more efficiently and receive answers in a shorter time.
[0764] As a concrete example, if a user posts a query on the app asking, "What is the size of this product?", the information processing device will classify the query into the "product size" category and notify the relevant expert. The expert will respond, "This product's dimensions are 30 cm in height, 20 cm in width, and 10 cm in depth." Furthermore, at an early stage, the generative AI can automatically respond, "You're asking about the product's size. We'll provide you with the length, width, and depth information."
[0765] For example, if you ask the question "What is the size of this product?", the AI will respond with "The size of this product is 30cm long, 20cm wide, and 10cm deep."
[0766] This system allows users to receive fast, high-quality expert answers and allows the accuracy of the generative AI to continue to improve.
[0767] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0768] Step 1:
[0769] A user uses a computer to enter an inquiry and send it to an information processing device. The user uses the interface of a web application or smartphone application to enter a question such as "What size is this product?" and clicks the send button. The entered inquiry data is sent to the server as an HTTP request.
[0770] Step 2:
[0771] The server receives the query and stores it in a storage device. The server analyzes the received HTTP request and stores the query content in a database. Specifically, a record containing the query statement and metadata such as a timestamp and user ID is inserted into an SQL database. The input is the query data, and the output is the save completion status.
[0772] Step 3:
[0773] The server extracts keywords from the query and assigns a category. The server uses a natural language processing (NLP) library (e.g., SpaCy) to extract important keywords from the query. Then, it uses the extracted keywords to determine a category based on a predefined category set. The input is the query, and the output is the extracted keywords and the determined category.
[0774] Step 4:
[0775] The server selects an appropriate expert based on keywords and categories and sends a notification. The server retrieves a list of experts that match the category from the database and selects the most suitable expert from that list. The server then sends a notification to the selected expert. Notification methods include email using SMTP and push notification. The input is the category and expert list, and the output is the notification sending status.
[0776] Step 5:
[0777] The expert sends a response from his computer to the server. The expert receives a notification, checks the inquiry, and creates an appropriate response. By entering the response and clicking the send button, the expert's response is sent to the server as an HTTP request. The input is the expert's response text, and the output is the response data sent to the server.
[0778] Step 6:
[0779] The server stores the response in a storage device and provides a means to receive evaluations. The server stores the response received from the expert in a database and associates it with the original query. Next, it provides an evaluation interface to the user, allowing them to input their evaluation of the response. The input is the expert's response and the user's evaluation, and the output is the save completion status.
[0780] Step 7:
[0781] The server analyzes the collected opinions and trains the generative AI. The server analyzes the evaluation data and generates feedback data. This feedback data and actual question and answer data are used to train the generative AI. Specifically, the AI model (e.g., GPT-3) receives prompts and their corresponding correct responses, and the model is updated. The input is the evaluation data and feedback data, and the output is an updated generative AI model.
[0782] Step 8:
[0783] The server suggests keywords to the user when they enter their query, and provides an automatic response from a generative AI. When the user enters their query, the server uses NLP to suggest appropriate keywords and categories. In addition, the generative AI generates and displays an automatic response at an early stage. The input is the initial query text, and the output is the suggested keywords and the generated automatic response.
[0784] The above processing steps enable users to quickly receive high-quality expert answers, and the accuracy of the generative AI can continue to improve.
[0785] 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.
[0786] The present invention relates to a system in which a user inputs a question using a terminal and sends it to a server, and in particular, improves the accuracy of questions and answers and the user experience by combining it with an emotion engine that recognizes the user's emotions.
[0787] System Overview
[0788] 1. User Interface
[0789] Terminal: Users access the system using a terminal and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[0790] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[0791] 2. Receiving and saving questions
[0792] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[0793] Example: A server stores the question "How do I sort a list in Python?" in a database.
[0794] 3. Emotion analysis
[0795] Server: The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data.
[0796] Example: The server recognizes the user's emotion as "confused" from the question "How do I sort a list in Python?"
[0797] 4. Question Analysis and Classification
[0798] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into categories.
[0799] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[0800] 5. Expert Selection and Notification
[0801] Server: The server selects the appropriate expert based on the keywords and category of the question and the results of sentiment analysis, and sends a notification.
[0802] Example: Taking into consideration the user's feelings of confusion, a Python expert with a reputation for assisting beginners is selected and a question notification is sent via email.
[0803] 6. Create and submit your response
[0804] Expert: The expert receives the notification, reviews the question, and creates an answer. The expert's answer is sent from the device to the server.
[0805] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and submits it.
[0806] 7. Saving and rating answers
[0807] Server: The server stores the received answers in a database, linking them to the original question. Users can review and rate the answers.
[0808] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[0809] 8. Feedback Analysis
[0810] Server: The server analyzes the collected rating and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question.
[0811] Example: Gain insights from feedback data, such as "include specific language or feature keywords."
[0812] 9. Training the generative AI
[0813] Server: The server trains the generative AI using feedback data, actual Q&A data, and sentiment analysis data, which improves the accuracy of automated responses.
[0814] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[0815] 10. Question entry assistance and automatic response
[0816] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[0817] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[0818] This allows users to exchange high-quality questions and answers efficiently and quickly while recognizing emotions. Combining the emotion engine improves the user experience and overall system performance.
[0819] The processing flow will be explained below.
[0820] Step 1:
[0821] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[0822] Step 2:
[0823] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[0824] Step 3:
[0825] The server uses an emotion engine to analyze the user's emotion from the saved question. The result of the emotion analysis is saved along with the question data. Specifically, the emotion engine analyzes the emotion from the user's question "How do I sort a list in Python?" and determines it to be "confused."
[0826] Step 4:
[0827] The server uses natural language processing (NLP) algorithms to extract important keywords from the question, such as "Python," "list," and "sort."
[0828] Step 5:
[0829] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[0830] Step 6:
[0831] The server selects an appropriate expert based on the question's keywords, category, and sentiment analysis results. It then searches the expert list to find the most relevant expert. Specifically, it takes into consideration the sentiment of "confused" and selects a Python expert with a reputation for assisting beginners.
[0832] Step 7:
[0833] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[0834] Step 8:
[0835] The expert receives a notification and checks the question and the user's sentiment. The expert then uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[0836] Step 9:
[0837] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[0838] Step 10:
[0839] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[0840] Step 11:
[0841] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[0842] Step 12:
[0843] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[0844] Step 13:
[0845] The server analyzes the stored feedback and sentiment data to extract information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "including specific language and functional keywords."
[0846] Step 14:
[0847] The server trains a generative AI model based on the analysis results and collected data. It also takes into account the results of sentiment analysis to improve the model's accuracy. Specifically, it trains the generative AI with a new dataset.
[0848] Step 15:
[0849] When a user enters a question, the server provides a function that suggests appropriate keywords and categories based on emotional information. The generative AI also enables automatic generation of answers to questions. For example, if a user enters "Python...", the server displays the keywords "Python, list, sort", and the generative AI provides a basic answer.
[0850] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers while being aware of emotions, thereby improving the user experience and the overall system performance.
[0851] Example 2
[0852] 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."
[0853] Conventional question-answering systems have difficulty understanding the context and sentiment of questions entered by users, making it difficult to provide appropriate and prompt answers. Furthermore, problems existed, such as inappropriate selection of experts and insufficient feedback to ensure the quality of answers. Furthermore, the accuracy of assistance when entering questions and automatic responses was low, leaving a need for an improved user experience.
[0854] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing the user's emotions from the question using an emotion analysis engine, means for extracting keywords from the question and assigning a category, and means for selecting an appropriate expert based on the emotion analysis result, keywords, and category, and sending a notification. This makes it possible to provide an appropriate and prompt answer that takes the user's emotions into consideration.
[0855] A "user" is a person who accesses the system and inputs and submits a question.
[0856] A "terminal" is a device used by a user to access the system, and specifically includes a computer, smartphone, tablet, etc.
[0857] The "server" is a central computing unit that processes user requests and performs database management, sentiment analysis, question classification, expert selection, and notification sending.
[0858] "Database" means a data storage system for storing and managing questions, answers, sentiment analysis results, ratings and feedback data.
[0859] An "emotion analysis engine" is a software tool that analyzes a user's emotions from the questions they enter, and detects emotions using machine learning and natural language processing technology.
[0860] "Keywords" are important words or phrases extracted from the question text and used to understand the question and assign a category.
[0861] "Category" refers to a group of themes or topics for categorizing questions based on extracted keywords.
[0862] An "expert" is someone who has extensive knowledge and experience in a particular category or topic and is able to provide relevant answers to questions.
[0863] A "notification" is a communication, usually sent via email or messaging system, informing an expert that a question has been assigned to them.
[0864] An "answer" is a solution or advice provided by an expert to a question.
[0865] "Rating" refers to a user rating the usefulness or satisfaction of a provided answer, usually in the form of a star rating or comment.
[0866] "Feedback" refers to insights and suggestions for improvement gained from analyzing assessment data, which are useful for improving the quality of responses and the performance of the system.
[0867] A "generative AI model" is an artificial intelligence model that is trained using feedback data, emotion data, and question-and-answer data to generate automated responses to user questions.
[0868] This invention relates to a system in which a user inputs a question using a terminal and sends it to a server. In particular, it combines a sentiment analysis engine and a generative AI model to improve the accuracy of questions and answers and the user experience.
[0869] System Configuration
[0870] Hardware configuration:
[0871] 1. Device: A device where a user can enter and submit a question, including a computer, smartphone, tablet, etc.
[0872] 2. Server: This acts as the central computing unit, receiving, analyzing, and storing questions, and sending notifications. The database typically uses MySQL. The sentiment analysis engine and generative AI model run on the server.
[0873] Software configuration:
[0874] 1. User interface: Implemented as a web application, it provides a form for users to enter questions. It is designed using HTML, CSS, and JavaScript.
[0875] 2. Database management system: Use a relational database such as MySQL to efficiently manage questions, answers, ratings, and sentiment analysis results.
[0876] 3. Sentiment Analysis Engine: This engine runs machine learning algorithms to analyze user sentiment from the input question. It uses Python-based natural language processing libraries (e.g., NLTK and spaCy).
[0877] 4. Natural language processing (NLP) technology: Extract keywords from questions using techniques such as TF-IDF and Word2Vec and classify them into categories.
[0878] 5. Generative AI models: Use large-scale language models such as GPT-3 to generate automated responses to questions.
[0879] System processing overview
[0880] 1. Enter and submit your question:
[0881] The user enters a question through the browser on the device and clicks the submit button. For example, the user enters "How do I sort a list in Python?" and submits it. The entered data is sent to the server as a POST request.
[0882] 2. Receiving and storing questions:
[0883] The server receives the questions submitted by the user and stores the data in a database (MySQL), where it is added to a queue for further processing.
[0884] 3. Perform sentiment analysis:
[0885] The server uses an emotion analysis engine to analyze the user's emotions from the received question. For example, it can obtain emotional results such as "confused" or "nervous." This analysis result is stored in a database along with the question data.
[0886] 4. Question analysis and classification:
[0887] The server uses NLP technology to extract important keywords from the question and assign a category based on them. For example, the keywords "Python," "list," and "sort" are extracted, and the category is classified as "programming."
[0888] 5. Expert Selection and Notification:
[0889] The server selects an appropriate expert based on the results of sentiment analysis and the extracted keywords and categories. The selected expert is then notified of the question via email using an SMTP server.
[0890] 6. Receiving and Evaluating Responses:
[0891] The server receives the answers sent by the experts and stores them in a database, where users can view and rate the answers in the form of stars or comments.
[0892] 7. Training the AI to analyze and generate feedback:
[0893] The server analyzes the collected rating and sentiment data to train the generative AI model, and this feedback analysis improves the quality of the answers.
[0894] 8. Question entry assistance and auto-answer:
[0895] The server suggests appropriate keywords and categories as users type their questions, and also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will automatically provide basic answers.
[0896] Prompt Sentence Examples
[0897] How do I sort a list in Python?
[0898] The system configured as described above enables users to efficiently and quickly exchange high-quality questions and answers. The collaboration between the sentiment analysis engine and generative AI improves the user experience.
[0899] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0900] Step 1: Displaying the User Interface
[0901] Server: When the system starts up, the server displays the user interface on the device. Specifically, it generates the question submission form using HTML and CSS, and loads a script that validates user input using JavaScript.
[0902] Input: System startup request
[0903] Output: Question submission form displayed in browser
[0904] Step 2: Enter and submit your question
[0905] User: The user types a question through the browser on their device and clicks the submit button. For example, the user types, "How do I sort a list in Python?"
[0906] Input: Question ("How do I sort a list in Python?")
[0907] Output: POST request from the terminal to the server
[0908] Step 3: Receiving the question
[0909] Server: The server receives the POST request sent by the user and extracts the question data in the request body.
[0910] Input: POST request from terminal
[0911] Output: Extracted question data
[0912] Step 4: Save the question
[0913] Server: Saves the extracted question data to a database. MySQL is used to store the data and queue it for further processing.
[0914] Input: Question data ("How do I sort a list in Python?")
[0915] Output: Question data stored in the database and question ID in the queue
[0916] Step 5: Perform sentiment analysis
[0917] Server: The server uses a sentiment analysis engine to analyze the sentiment of the saved questions. It uses a Python-based natural language processing library to extract the user's sentiment (e.g., "confused") from the questions.
[0918] Input: Question data ("How do I sort a list in Python?")
[0919] Output: Emotion data ("confused")
[0920] Step 6: Save the sentiment analysis results
[0921] Server: The analyzed emotion data is stored in a database along with the question data.
[0922] Input: Emotion data ("confused")
[0923] Output: Emotion data stored in a database
[0924] Step 7: Parse and classify the questions
[0925] Server: Using natural language processing (NLP) algorithms, the server extracts keywords from the question and assigns a category. Using techniques such as TF-IDF and Word2Vec, the server extracts keywords such as "Python," "list," and "sort," and the question falls into the "Programming" category.
[0926] Input: Question data ("How do I sort a list in Python?")
[0927] Output: Extracted keywords ("Python", "list", "sort") and category ("programming")
[0928] Step 8: Save your keywords and categories
[0929] Server: Stores the extracted keywords and categories in a database together with the question data.
[0930] Input: Keywords and Categories
[0931] Output: Keywords and categories stored in the database
[0932] Step 9: Expert Selection and Notification
[0933] Server: Selects appropriate experts based on the sentiment analysis results and extracted keywords and categories. Sends question notifications to the selected experts via email using an SMTP server.
[0934] Input: Emotion data, keywords, categories
[0935] Output: Email notification of question to expert
[0936] Step 10: Expert response and submission
[0937] Expert: Receives the notification email and creates an answer to the question. The expert sends the answer to the server as a POST request from the terminal.
[0938] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[0939] Output: POST request from the terminal to the server
[0940] Step 11: Receive and store responses
[0941] Server: Receives the answers submitted by the experts and stores them in a database, linking them to the original question.
[0942] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[0943] Output: Response data stored in a database
[0944] Step 12: User review and evaluation of answers
[0945] User: The user reviews the provided answer and rates it in the form of a star rating or comment. For example, the user rates it as "very helpful" and gives it 5 stars.
[0946] Input: User rating (5 stars, comment "Very helpful")
[0947] Output: Sending evaluation data from the device to the server
[0948] Step 13: Save the evaluation data
[0949] Server: Stores the received evaluation data in a database.
[0950] Input: User rating data
[0951] Output: Evaluation data stored in a database
[0952] Step 14: Analyze feedback
[0953] Server: Analyzes the collected rating and sentiment data and generates feedback to train the generative AI model.
[0954] Input: Rating data, emotion data
[0955] Output: Generated feedback data
[0956] Step 15: Training the generative AI model
[0957] Server: Trains generative AI models using feedback data, sentiment data, and real-world question and answer data. Uses large-scale language models such as GPT-3.
[0958] Input: Feedback data, emotion data, question data, answer data
[0959] Output: A trained generative AI model
[0960] Step 16: Providing assistance with filling out questions and automated responses
[0961] Server: When a user types a question, it suggests appropriate keywords and categories. It also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will provide a basic answer.
[0962] Input: User's partial question input
[0963] Output: Suggested keywords and basic answers from the generative AI
[0964] This specific processing step allows users to exchange high-quality questions and answers efficiently and quickly, while taking emotions into consideration. The collaboration between the sentiment analysis engine and generative AI improves the user experience and system performance.
[0965] (Application example 2)
[0966] 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."
[0967] Conventional question-answering systems generate uniform responses without considering the user's feelings, which can leave users confused or unsatisfied. Furthermore, especially on online shopping sites, this can lead to problems such as difficulty in searching for the product they are looking for and inappropriate product suggestions. This can lead to a poor user experience and a decrease in site usage.
[0968] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a database; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a database and receive an evaluation; a means for the server to analyze collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for analyzing emotions from the question entered by the user and optimizing the response based on the results; and a means for suggesting appropriate product information to the user based on the emotion analysis results. This enables appropriate answers and product suggestions that take the user's emotions into consideration, which is expected to improve the user experience and increase site usage.
[0969] A "terminal" is an electronic device that allows a user to input questions or instructions, and includes smartphones, tablets, and personal computers.
[0970] A "server" is a central computing device that receives, processes, and stores input from users and returns analytical results and responses.
[0971] A "database" is a data storage system that systematically stores and manages data such as questions, responses, and user feedback.
[0972] "Keywords" are important words or short phrases extracted from a question and used to understand the content and category of the question.
[0973] A "category" is a classification framework for classifying questions based on extracted keywords, such as "programming," "shopping," and "customer support."
[0974] An "expert" is a person with advanced knowledge and experience in a particular field, and is selected to provide appropriate answers to users' questions.
[0975] "Notifications" are any means of communication to let an expert know that a question has been received, including email and in-app notifications.
[0976] "Emotion" refers to the psychological state of the user when asking a question, and includes, for example, "confusion," "impatience," and "joy."
[0977] "Emotion analysis" is a technique for identifying the psychological state of a user from the question entered by the user.
[0978] "Optimization" refers to generating optimal responses and product suggestions for users based on sentiment analysis results and keywords.
[0979] "Product information" is information about products that may interest users on the online shopping site, including prices, features, reviews, related products, and the like.
[0980] "Generative AI" is artificial intelligence that learns from collected data and automatically generates responses and suggestions.
[0981] An "automated response" is an answer that a generative AI provides instantly in response to a question entered by a user.
[0982] To implement this invention, a user needs to access the system using a terminal and input a question. The terminal may be a smartphone, tablet, or PC, and the user can easily input and send a question through a user interface. Specifically, for example, the user might input "Do you have any recommendations for a gift for Mother's Day?" and click the send button.
[0983] The server receives questions submitted by users and stores them in a database, which is then queued for further processing. Database management can be performed using a database system such as SQLite.
[0984] The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data. For emotion analysis, the pipeline module of the transformers library can be used, for example, to recognize the user's emotions as "confused" or "excited."
[0985] The server then uses a natural language processing (NLP) algorithm to extract important keywords from the question and classify them into categories. The TextBlob library can be used for NLP analysis. For example, keywords such as "Mother's Day" and "presents" are extracted, and the question is classified into the "Shopping" category.
[0986] The server selects the appropriate expert based on the extracted keywords, categories, and sentiment analysis results, and then sends a notification. The expert receives the question via email or in-app notification, and the expert creates an answer. For example, a notification is sent to an expert on Mother's Day gifts, requesting an answer.
[0987] When experts submit their answers to the server, the server stores them in a database and links them to the original question. Users can also review and rate the answers. This rating data is collected by the server and used for feedback analysis.
[0988] The server analyzes the collected evaluation and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question. This trains the generative AI and improves the accuracy of the automated response. By training the generative AI model, if the user asks the same question again, the automated response will be able to immediately provide an appropriate answer.
[0989] Furthermore, when a user inputs a question, the server suggests appropriate keywords and categories, and provides an automated response using generative AI. For example, if a user inputs "Mother's Day," the server will display keywords such as "present," "gift," and "recommended," and the generative AI will provide a basic answer.
[0990] As a specific example, if a user types a question such as "Do you have any recommendations for a gift for Mother's Day?" and emotion analysis detects that the user is "confused," the server will notify a gift expert and provide an answer such as "Please take a look at these recommended products."
[0991] Examples of prompts include the following text format:
[0992] "A user entered the following question: 'Do you have any gift recommendations for Mother's Day?'"
[0993] "How can we analyze the context and sentiment of a question to make relevant product recommendations?"
[0994] "User emotion: troubled, Keywords: Mother's Day, gift"
[0995] This enables efficient, fast, and high-quality exchange of questions and answers while taking into account the user's feelings, thereby improving the user experience on online shopping sites.
[0996] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0997] Step 1:
[0998] The user uses a terminal to enter a question and send it to the server.
[0999] Input: The user enters a question into the question input form on the device.
[1000] Example: A user types, "Do you have any recommendations for Mother's Day gifts?" and clicks the submit button.
[1001] Output: The query is sent to the server.
[1002] Step 2:
[1003] The server receives the question and stores it in a database.
[1004] Input: The question text submitted by the user.
[1005] Example: A question arrives at the server: "Do you have any recommendations for a gift for Mother's Day?"
[1006] Output: The question is saved in the database.
[1007] Step 3:
[1008] The server analyzes the sentiment from the question.
[1009] Input: A question stored in the database.
[1010] Example: A sentiment analysis engine analyzes the question "Do you have any recommendations for a gift for Mother's Day?" and determines the sentiment to be "confused."
[1011] Output: Sentiment analysis result (e.g., "confused").
[1012] Step 4:
[1013] The server extracts keywords from the question and assigns a category.
[1014] Input: A question stored in the database.
[1015] Example: A server uses an NLP algorithm to extract keywords such as "Mother's Day" and "gifts" and classify them into the "Shopping" category.
[1016] Output: Extracted keywords and categories (e.g., "Mother's Day", "Gifts", "Shopping").
[1017] Step 5:
[1018] The server selects the appropriate expert based on keywords and categories and sends the notification.
[1019] Input: Extracted keywords, categories, and sentiment analysis results.
[1020] Example: The server selects an appropriate expert from a list of experts in the "Shopping" category and sends a notification by email.
[1021] Output: A question notification is sent to the expert.
[1022] Step 6:
[1023] The expert sends the answer from the terminal to the server.
[1024] Input: The expert reviews the question on the device and enters the answer.
[1025] Example: An expert types in the answer "The recommended gift for Mother's Day is a flower bouquet" and submits it.
[1026] Output: The expert's answer is sent to the server.
[1027] Step 7:
[1028] The server stores the answers in a database and receives the ratings.
[1029] Input: Answers submitted by experts.
[1030] Example: The answer "A flower bouquet is a recommended gift for Mother's Day" is saved in the database.
[1031] Output: The answer and its link are saved in the database.
[1032] Step 8:
[1033] The user checks the answers and rates them.
[1034] Input: The answer the user receives on their device.
[1035] Example: A user rates something as "very helpful."
[1036] Output: The user's rating is sent to the server and stored.
[1037] Step 9:
[1038] The server analyzes the collected feedback and trains the generative AI.
[1039] Input: Question and answer content, ratings, and feedback data.
[1040] Example: The server analyzes the feedback data and uses it as training data for a generative AI model.
[1041] Output: An updated generative AI model.
[1042] Step 10:
[1043] The server suggests keywords to users when they write their questions and provides automatic responses using generative AI.
[1044] Input: The text that the user will enter when entering a new question.
[1045] Example: When a user types in "Mother's Day...", the server displays keywords such as "present" and "gift", and the generative AI provides a basic answer.
[1046] Output: Suggested keywords and an automated response generated by the AI.
[1047] This allows users to exchange higher quality questions and answers, and also makes it possible to make product suggestions and responses that take emotions into account.
[1048] 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.
[1049] 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.
[1050] 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.
[1051] [Third embodiment]
[1052] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1053] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[1054] 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).
[1055] 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.
[1056] 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.
[1057] 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).
[1058] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1059] 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.
[1060] 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.
[1061] 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.
[1062] 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.
[1063] 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."
[1064] The present invention relates to a system in which users input questions using a terminal and send them to a server. The system is designed to enable users to post questions effectively and quickly receive high-quality answers from experts. It also provides automated responses to users' questions using generative AI.
[1065] System Overview
[1066] 1. User Interface
[1067] Terminal: Users access the system from their own terminals and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[1068] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[1069] 2. Receiving and saving questions
[1070] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[1071] Example: The server stores the question "How do I sort a list in Python?" in a database.
[1072] 3. Question Analysis and Classification
[1073] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[1074] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[1075] 4. Expert Selection and Notification
[1076] Server: The server selects the appropriate expert from the list based on the keywords and category of the question and sends a notification via email or push notification.
[1077] Example: A question notification is sent via email to Python experts in the "Programming" category.
[1078] 5. Create and submit your response
[1079] Expert: The expert receives the notification and creates an appropriate answer to the question. The answer is sent from the expert's device to the server.
[1080] Example: An expert answers, "Python lists can be sorted using the sort() method or the sorted() function."
[1081] 6. Saving and rating answers
[1082] Server: The server stores the answers received from experts in a database and links them to the original question. Users can view the answers and rate them.
[1083] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[1084] 7. Feedback Analysis
[1085] Server: The server analyzes the received ratings and generates feedback data that helps improve the quality of questions and answers.
[1086] Example: You might get feedback that suggests you include specific language or feature keywords in your question.
[1087] 8. Training the generative AI
[1088] Server: The server uses feedback data and real Q&A data to train the generative AI, which improves the accuracy of automated responses.
[1089] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[1090] 9. Question entry assistance and automatic response
[1091] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[1092] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[1093] This allows users to efficiently and quickly exchange high-quality questions and answers, improving overall system performance, and by incorporating feedback continuously, the accuracy of the generative AI continues to improve.
[1094] The processing flow will be explained below.
[1095] Step 1:
[1096] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[1097] Step 2:
[1098] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[1099] Step 3:
[1100] The server uses natural language processing (NLP) algorithms to extract important keywords from the saved questions, such as "Python," "list," and "sort."
[1101] Step 4:
[1102] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[1103] Step 5:
[1104] The server selects the appropriate expert based on the question's keywords and category. It searches the expert list to find the most relevant expert. Specifically, it selects experts who are knowledgeable about Python in the "Programming" category.
[1105] Step 6:
[1106] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[1107] Step 7:
[1108] The expert receives a notification, reviews the question, and uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[1109] Step 8:
[1110] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[1111] Step 9:
[1112] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[1113] Step 10:
[1114] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[1115] Step 11:
[1116] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[1117] Step 12:
[1118] The server analyzes the stored feedback and extracts information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "include specific language and feature keywords."
[1119] Step 13:
[1120] The server trains a generative AI model based on the analysis results. It uses the collected questions, answers, and evaluation data to improve the model's accuracy. Specifically, it trains the generative AI on a new dataset.
[1121] Step 14:
[1122] The server provides a function to suggest appropriate keywords and categories when a user enters a question. It also enables the generation AI to automatically generate answers to questions. Specifically, when a user enters "Python...", the server displays the keywords "Python, list, sort", and the generation AI provides a basic answer.
[1123] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers, which also improves the overall system performance and the accuracy of the generated AI.
[1124] Example 1
[1125] 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."
[1126] In conventional question-answering systems, the process from when a user inputs a question to when an expert responds is complicated and time-consuming, and the classification of questions and selection of experts are inefficient. Furthermore, feedback to improve the quality of questions and answers is insufficient, limiting the effectiveness of the system as a whole.
[1127] 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.
[1128] In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a data storage device; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a data storage device and receive an evaluation; a means for the server to analyze the collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for the terminal to display keyword suggestions when the question is entered; a means for the server to send an expert notification by email or push notification; a means for the server to analyze the question using an NLP algorithm; and a means for the generation AI to generate an initial response to the user's question. This streamlines the process from question input to answer reception, enables the selection of experts and the quality of answers to be improved, and provides faster automatic responses.
[1129] A "user" is an individual or organization that enters a question and uses the system.
[1130] A "terminal" is an electronic device that a user uses to input a question and send it to a server.
[1131] A "server" is a central computer system that receives, stores, analyzes, and sends notifications to experts.
[1132] A "data store" is an information storage system for storing questions and answers.
[1133] "Keywords" are important words or phrases extracted from the question.
[1134] A "category" is a field or theme that is assigned based on the content of a question.
[1135] An "expert" is an individual who has the knowledge or experience to answer questions about a particular category.
[1136] "Notification" is a means of communication to inform experts that a question has arrived.
[1137] "Rating" is the process by which a user judges the value of a received answer and provides feedback.
[1138] "Feedback" is evaluation data collected from users and is information used to improve the system.
[1139] "Generative AI" is artificial intelligence that generates automatic responses to user questions.
[1140] "Training" is the process of using data to learn from generative AI in order to improve its performance.
[1141] "Email" is a digital message sent over the Internet.
[1142] A "push notification" is a short notification message sent to a device in real time.
[1143] A "natural language processing (NLP) algorithm" is a technology for analyzing text data and extracting semantic information.
[1144] The present invention provides a system that allows users to input questions using a terminal and send them to a server. This system allows users to effectively post questions and receive prompt, high-quality answers from appropriate experts. It also provides automated responses to users' questions using generative AI.
[1145] The system is configured as follows:
[1146] 1. User Interface
[1147] Device: Users access the system from their own device (PC, smartphone, tablet, etc.) and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[1148] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[1149] 2. Receiving and saving questions
[1150] Server: The server receives questions submitted by users and stores them in a database (e.g., MySQL, PostgreSQL). The stored questions are added to a queue for further processing.
[1151] Example: The server stores the question "How do I sort a list in Python?" in a database.
[1152] 3. Question Analysis and Classification
[1153] Server: The server uses natural language processing (NLP) algorithms (e.g., spaCy, NLTK) to extract important keywords from the question and classify them into pre-defined categories.
[1154] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort" to classify the question into the "programming" category.
[1155] 4. Expert Selection and Notification
[1156] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[1157] Example: A server searches a list of Python experts in the "Programming" category and sends a question notification via email.
[1158] 5. Create and submit your response
[1159] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[1160] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[1161] 6. Saving and rating answers
[1162] Server: The server stores the answers received from the experts in a database and links them to the original question. It then sends the answers to the user's device, where the user can review and rate the displayed answers.
[1163] Example: The server stores the answer in a database and sends the data to the user's device. The user rates the answer as "very helpful" and sends the rating data to the server.
[1164] 7. Feedback Analysis
[1165] Server: The server analyzes the received ratings and generates feedback data that can be used to improve the quality of future questions and answers.
[1166] Example: The server analyzes the rating data and generates feedback such as "Please include specific language or feature keywords in your question."
[1167] 8. Training the generative AI
[1168] Server: The server uses the feedback data and actual question and answer data to train a generative AI model (e.g., OpenAI GPT-4), which improves the accuracy of automated responses.
[1169] Example: A server can use feedback and Q&A data to train a generative AI that can automatically answer, "To sort a list in Python, use the sort() method or the sorted() function."
[1170] 9. Question entry assistance and automatic response
[1171] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[1172] Example: When a user types "Python...", the server suggests the keywords "Python, list, sort" and the generative AI provides a basic answer.
[1173] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[1174] "User asks: 'How do I sort a list in Python?' Please explain."
[1175] The system allows users to efficiently and quickly exchange high-quality questions and answers, and by incorporating continuous feedback, the accuracy of the generative AI continues to improve.
[1176] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1177] Step 1:
[1178] User question input
[1179] How it works: A user accesses the system from their own terminal and enters a question into the question submission form.
[1180] Input: Question text, such as "How do I sort a list in Python?"
[1181] Output: The entered question text is saved to the terminal.
[1182] Specific operation: The user opens a browser on their device, enters "How do I sort a list in Python" into the question submission form, and clicks the submit button.
[1183] Step 2:
[1184] Sending and receiving questions
[1185] Terminal: After the question is entered, when the send button is pressed, the terminal sends the question to the server.
[1186] Server: The server receives this question data as an HTTP request.
[1187] Input: The question text in the HTTP request sent from the terminal.
[1188] Output: The question text received by the server.
[1189] Specific operation: When the user clicks the send button, the terminal sends the question data to the server, which receives it.
[1190] Step 3:
[1191] Save Question
[1192] Server: The server saves the received question in a data store, which adds the question to a queue for further processing.
[1193] Input: The received question text.
[1194] Output: A new question record in the database.
[1195] What happens: The server adds the question "How do I sort a list in Python?" as a new record to the Questions table in the database.
[1196] Step 4:
[1197] Question analysis and classification
[1198] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[1199] Input: The saved question text.
[1200] Output: Extracted keywords and assigned categories.
[1201] How it works: NLP algorithms extract keywords like "Python," "list," and "sort" and classify questions into the "programming" category.
[1202] Step 5:
[1203] Expert Selection and Notification
[1204] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[1205] Input: Extracted keywords and assigned categories.
[1206] Output: The experts who will receive the notification and the notification content.
[1207] What it does: The server searches the list of Python experts in the "Programming" category and sends you a question notification via email.
[1208] Step 6:
[1209] Expert answers written and submitted
[1210] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[1211] Input: Answer text written by experts.
[1212] Output: The answer text sent to the server.
[1213] Specific behavior: The expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[1214] Step 7:
[1215] Save the answer and present it to the user
[1216] Server: The server stores the answers received from the experts in a data storage device, links them to the original question, and then sends the answers to the user's device.
[1217] User: The user can view the displayed answers and rate them.
[1218] Input: Answer text received from the expert.
[1219] Output: A new answer record in the database and the answer displayed on the user's terminal.
[1220] Specific operation: The server stores the answer in a database and sends the data to the user's device to display the answer.
[1221] Step 8:
[1222] User rating of answers
[1223] User: The user checks the displayed answers and rates them (e.g., by rating them or adding comments). The rating is sent to the server via a submission form.
[1224] Input: User-submitted rating data.
[1225] Output: Evaluation data stored on the server.
[1226] Specific Action: User rates the app as "Very helpful" and submits the evaluation form.
[1227] Step 9:
[1228] Feedback Analysis
[1229] Server: The server analyzes the received evaluation data and generates feedback information that can be used to improve the quality of future questions and answers.
[1230] Input: Rating data received from users.
[1231] Output: The generated feedback information.
[1232] Specific behavior: The server analyzes the evaluation data and generates feedback such as "Please include specific language and feature keywords in your question."
[1233] Step 10:
[1234] Training generative AI
[1235] Server: The server uses the feedback data and actual Q&A data to train a generative AI model (e.g., OpenAI GPT-4), thereby improving the accuracy of automated responses.
[1236] Input: Feedback data and Q&A data.
[1237] Output: A trained generative AI model.
[1238] How it works: The server uses feedback and Q&A data to train a generative AI, generating a model that can automatically answer the question, "To sort a list in Python, use the sort() method or the sorted() function."
[1239] Step 11:
[1240] Question entry assistance and automatic response
[1241] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[1242] Input: The question text entered by the user.
[1243] Output: Suggested keywords and generated initial responses.
[1244] How it works: When a user types "Python...", the server suggests the keywords "Python, list, sort", and the generative AI provides a basic answer.
[1245] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[1246] "User asks: 'How do I sort a list in Python?' Please explain."
[1247] (Application example 1)
[1248] 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."
[1249] In modern virtual stores, a key challenge is enabling users to quickly and efficiently obtain detailed product information. However, current systems often have delays between questions and answers from experts, resulting in a poor user experience. Furthermore, the quality of automated responses from AI generation is low, sometimes leaving users dissatisfied. Furthermore, question and answer data is not effectively utilized as feedback, making it necessary to improve the accuracy of AI generation.
[1250] 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.
[1251] In this invention, the server includes: a means for a user to input an inquiry using a computer and send it to an information processing device; a means for the information processing device to receive the inquiry and save it in a storage device; a means for the information processing device to extract keywords from the inquiry and assign a category; a means for the information processing device to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send a response from a computer to the information processing device; a means for the information processing device to save the response in a storage device and receive an evaluation; a means for the information processing device to analyze the collected opinions and train the generation AI; a means for the information processing device to suggest keywords to the user when entering an inquiry and provide an automatic response by the generation AI; and a means for the user to quickly obtain information about products in a virtual shopping mall. This allows the user to quickly receive high-quality answers from experts and enables the accuracy of the generation AI to continue to improve.
[1252] A "user" is someone who obtains information about products in a virtual store and makes inquiries.
[1253] A "computer" is a terminal device used by a user to enter a query.
[1254] An "inquiry" is an action in which a user asks a question about detailed product information or purchasing methods in a virtual shop.
[1255] The "information processing device" is a server that receives inquiries from users, analyzes them, and notifies the appropriate experts.
[1256] A "storage device" is a device for saving inquiries and responses in an information processing device.
[1257] "Keywords" are key words or phrases for extracting important information from a query.
[1258] The "category" is a category for classifying inquiries based on the extracted keywords.
[1259] An "expert" is someone with extensive knowledge and experience in a particular category.
[1260] "Notification" refers to an action in which the information processing device notifies the expert that there is an inquiry.
[1261] "Responding" is the act of an expert providing an answer to a user's inquiry.
[1262] "Rating" is the act of a user providing feedback on a provided response.
[1263] "Opinions" are feedback generated based on user ratings to improve the quality of responses.
[1264] "Generative AI" is artificial intelligence that automatically responds to inquiries based on collected data.
[1265] A "virtual store" is a virtual store where users can browse and purchase products over the Internet.
[1266] An "automated response" is an answer that a generative AI automatically provides to a user's inquiry.
[1267] This invention is a system that allows users to make inquiries about products in a virtual store and receive prompt, high-quality answers from experts and generative AI. The system mainly includes the following processing steps.
[1268] In this system, a user inputs a query using a computer and sends it to an information processing device. The information processing device uses a general server and links to a database. The interface through which a user inputs a query can be, for example, a smartphone application or a web application.
[1269] The information processing device stores the received query in a storage device, which may be a relational database such as an SQL database.
[1270] The information processing system uses natural language processing (NLP) algorithms to extract keywords from queries and assign categories. Specifically, it can use NLP libraries such as SpaCy or NLTK. It then categorizes queries based on the extracted keywords and selects the appropriate expert.
[1271] The information processing device sends a notification to the selected expert. Notification methods include email notification using SMTP (Simple Mail Transfer Protocol) and push notification services. The expert creates a response from their computer in response to the notification and sends it to the information processing device.
[1272] The information processing device stores the responses received from the experts in a storage device and receives user ratings. The user ratings are analyzed as feedback to improve the quality of the responses. These rating data are also used to train the generative AI.
[1273] Generative AI uses generative models, such as GPT-3, to generate automated responses to queries, and it continuously trains the generative AI using feedback data to improve the accuracy of its answers.
[1274] In addition, the information processing device can suggest appropriate keywords and categories when a user inputs an inquiry and provide basic automated responses using generative AI, allowing users to ask questions more efficiently and receive answers in a shorter time.
[1275] As a concrete example, if a user posts a query on the app asking, "What is the size of this product?", the information processing device will classify the query into the "product size" category and notify the relevant expert. The expert will respond, "This product's dimensions are 30 cm in height, 20 cm in width, and 10 cm in depth." Furthermore, at an early stage, the generative AI can automatically respond, "You're asking about the product's size. We'll provide you with the length, width, and depth information."
[1276] For example, if you ask the question "What is the size of this product?", the AI will respond with "The size of this product is 30cm long, 20cm wide, and 10cm deep."
[1277] This system allows users to receive fast, high-quality expert answers and allows the accuracy of the generative AI to continue to improve.
[1278] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1279] Step 1:
[1280] A user uses a computer to enter an inquiry and send it to an information processing device. The user uses the interface of a web application or smartphone application to enter a question such as "What size is this product?" and clicks the send button. The entered inquiry data is sent to the server as an HTTP request.
[1281] Step 2:
[1282] The server receives the query and stores it in a storage device. The server analyzes the received HTTP request and stores the query content in a database. Specifically, a record containing the query statement and metadata such as a timestamp and user ID is inserted into an SQL database. The input is the query data, and the output is the save completion status.
[1283] Step 3:
[1284] The server extracts keywords from the query and assigns a category. The server uses a natural language processing (NLP) library (e.g., SpaCy) to extract important keywords from the query. Then, it uses the extracted keywords to determine a category based on a predefined category set. The input is the query, and the output is the extracted keywords and the determined category.
[1285] Step 4:
[1286] The server selects an appropriate expert based on keywords and categories and sends a notification. The server retrieves a list of experts that match the category from the database and selects the most suitable expert from that list. The server then sends a notification to the selected expert. Notification methods include email using SMTP and push notification. The input is the category and expert list, and the output is the notification sending status.
[1287] Step 5:
[1288] The expert sends a response from his computer to the server. The expert receives a notification, checks the inquiry, and creates an appropriate response. By entering the response and clicking the send button, the expert's response is sent to the server as an HTTP request. The input is the expert's response text, and the output is the response data sent to the server.
[1289] Step 6:
[1290] The server stores the response in a storage device and provides a means to receive evaluations. The server stores the response received from the expert in a database and associates it with the original query. Next, it provides an evaluation interface to the user, allowing them to input their evaluation of the response. The input is the expert's response and the user's evaluation, and the output is the save completion status.
[1291] Step 7:
[1292] The server analyzes the collected opinions and trains the generative AI. The server analyzes the evaluation data and generates feedback data. This feedback data and actual question and answer data are used to train the generative AI. Specifically, the AI model (e.g., GPT-3) receives prompts and their corresponding correct responses, and the model is updated. The input is the evaluation data and feedback data, and the output is an updated generative AI model.
[1293] Step 8:
[1294] The server suggests keywords to the user when they enter their query, and provides an automatic response from a generative AI. When the user enters their query, the server uses NLP to suggest appropriate keywords and categories. In addition, the generative AI generates and displays an automatic response at an early stage. The input is the initial query text, and the output is the suggested keywords and the generated automatic response.
[1295] The above processing steps enable users to quickly receive high-quality expert answers, and the accuracy of the generative AI can continue to improve.
[1296] 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.
[1297] The present invention relates to a system in which a user inputs a question using a terminal and sends it to a server, and in particular, improves the accuracy of questions and answers and the user experience by combining it with an emotion engine that recognizes the user's emotions.
[1298] System Overview
[1299] 1. User Interface
[1300] Terminal: Users access the system using a terminal and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[1301] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[1302] 2. Receiving and saving questions
[1303] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[1304] Example: A server stores the question "How do I sort a list in Python?" in a database.
[1305] 3. Emotion analysis
[1306] Server: The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data.
[1307] Example: The server recognizes the user's emotion as "confused" from the question "How do I sort a list in Python?"
[1308] 4. Question Analysis and Classification
[1309] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into categories.
[1310] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[1311] 5. Expert Selection and Notification
[1312] Server: The server selects the appropriate expert based on the keywords and category of the question and the results of sentiment analysis, and sends a notification.
[1313] Example: Taking into consideration the user's feelings of confusion, a Python expert with a reputation for assisting beginners is selected and a question notification is sent via email.
[1314] 6. Create and submit your response
[1315] Expert: The expert receives the notification, reviews the question, and creates an answer. The expert's answer is sent from the device to the server.
[1316] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and submits it.
[1317] 7. Saving and rating answers
[1318] Server: The server stores the received answers in a database, linking them to the original question. Users can review and rate the answers.
[1319] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[1320] 8. Feedback Analysis
[1321] Server: The server analyzes the collected rating and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question.
[1322] Example: Gain insights from feedback data, such as "include specific language or feature keywords."
[1323] 9. Training the generative AI
[1324] Server: The server trains the generative AI using feedback data, actual Q&A data, and sentiment analysis data, which improves the accuracy of automated responses.
[1325] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[1326] 10. Question entry assistance and automatic response
[1327] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[1328] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[1329] This allows users to exchange high-quality questions and answers efficiently and quickly while recognizing emotions. Combining the emotion engine improves the user experience and overall system performance.
[1330] The processing flow will be explained below.
[1331] Step 1:
[1332] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[1333] Step 2:
[1334] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[1335] Step 3:
[1336] The server uses an emotion engine to analyze the user's emotion from the saved question. The result of the emotion analysis is saved along with the question data. Specifically, the emotion engine analyzes the emotion from the user's question "How do I sort a list in Python?" and determines it to be "confused."
[1337] Step 4:
[1338] The server uses natural language processing (NLP) algorithms to extract important keywords from the question, such as "Python," "list," and "sort."
[1339] Step 5:
[1340] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[1341] Step 6:
[1342] The server selects an appropriate expert based on the question's keywords, category, and sentiment analysis results. It then searches the expert list to find the most relevant expert. Specifically, it takes into consideration the sentiment of "confused" and selects a Python expert with a reputation for assisting beginners.
[1343] Step 7:
[1344] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[1345] Step 8:
[1346] The expert receives a notification and checks the question and the user's sentiment. The expert then uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[1347] Step 9:
[1348] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[1349] Step 10:
[1350] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[1351] Step 11:
[1352] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[1353] Step 12:
[1354] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[1355] Step 13:
[1356] The server analyzes the stored feedback and sentiment data to extract information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "including specific language and functional keywords."
[1357] Step 14:
[1358] The server trains a generative AI model based on the analysis results and collected data. It also takes into account the results of sentiment analysis to improve the model's accuracy. Specifically, it trains the generative AI with a new dataset.
[1359] Step 15:
[1360] When a user enters a question, the server provides a function that suggests appropriate keywords and categories based on emotional information. The generative AI also enables automatic generation of answers to questions. For example, if a user enters "Python...", the server displays the keywords "Python, list, sort", and the generative AI provides a basic answer.
[1361] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers while being aware of emotions, thereby improving the user experience and the overall system performance.
[1362] Example 2
[1363] 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."
[1364] Conventional question-answering systems have difficulty understanding the context and sentiment of questions entered by users, making it difficult to provide appropriate and prompt answers. Furthermore, problems existed, such as inappropriate selection of experts and insufficient feedback to ensure the quality of answers. Furthermore, the accuracy of assistance when entering questions and automatic responses was low, leaving a need for an improved user experience.
[1365] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing the user's emotions from the question using an emotion analysis engine, means for extracting keywords from the question and assigning a category, and means for selecting an appropriate expert based on the emotion analysis result, keywords, and category, and sending a notification. This makes it possible to provide an appropriate and prompt answer that takes the user's emotions into consideration.
[1366] A "user" is a person who accesses the system and inputs and submits a question.
[1367] A "terminal" is a device used by a user to access the system, and specifically includes a computer, smartphone, tablet, etc.
[1368] The "server" is a central computing unit that processes user requests and performs database management, sentiment analysis, question classification, expert selection, and notification sending.
[1369] "Database" means a data storage system for storing and managing questions, answers, sentiment analysis results, ratings and feedback data.
[1370] An "emotion analysis engine" is a software tool that analyzes a user's emotions from the questions they enter, and detects emotions using machine learning and natural language processing technology.
[1371] "Keywords" are important words or phrases extracted from the question text and used to understand the question and assign a category.
[1372] "Category" refers to a group of themes or topics for categorizing questions based on extracted keywords.
[1373] An "expert" is someone who has extensive knowledge and experience in a particular category or topic and is able to provide relevant answers to questions.
[1374] A "notification" is a communication, usually sent via email or messaging system, informing an expert that a question has been assigned to them.
[1375] An "answer" is a solution or advice provided by an expert to a question.
[1376] "Rating" refers to a user rating the usefulness or satisfaction of a provided answer, usually in the form of a star rating or comment.
[1377] "Feedback" refers to insights and suggestions for improvement gained from analyzing assessment data, which are useful for improving the quality of responses and the performance of the system.
[1378] A "generative AI model" is an artificial intelligence model that is trained using feedback data, emotion data, and question-and-answer data to generate automated responses to user questions.
[1379] This invention relates to a system in which a user inputs a question using a terminal and sends it to a server. In particular, it combines a sentiment analysis engine and a generative AI model to improve the accuracy of questions and answers and the user experience.
[1380] System Configuration
[1381] Hardware configuration:
[1382] 1. Device: A device where a user can enter and submit a question, including a computer, smartphone, tablet, etc.
[1383] 2. Server: This acts as the central computing unit, receiving, analyzing, and storing questions, and sending notifications. The database typically uses MySQL. The sentiment analysis engine and generative AI model run on the server.
[1384] Software configuration:
[1385] 1. User interface: Implemented as a web application, it provides a form for users to enter questions. It is designed using HTML, CSS, and JavaScript.
[1386] 2. Database management system: Use a relational database such as MySQL to efficiently manage questions, answers, ratings, and sentiment analysis results.
[1387] 3. Sentiment Analysis Engine: This engine runs machine learning algorithms to analyze user sentiment from the input question. It uses Python-based natural language processing libraries (e.g., NLTK and spaCy).
[1388] 4. Natural language processing (NLP) technology: Extract keywords from questions using techniques such as TF-IDF and Word2Vec and classify them into categories.
[1389] 5. Generative AI models: Use large-scale language models such as GPT-3 to generate automated responses to questions.
[1390] System processing overview
[1391] 1. Enter and submit your question:
[1392] The user enters a question through the browser on the device and clicks the submit button. For example, the user enters "How do I sort a list in Python?" and submits it. The entered data is sent to the server as a POST request.
[1393] 2. Receiving and storing questions:
[1394] The server receives the questions submitted by the user and stores the data in a database (MySQL), where it is added to a queue for further processing.
[1395] 3. Perform sentiment analysis:
[1396] The server uses an emotion analysis engine to analyze the user's emotions from the received question. For example, it can obtain emotional results such as "confused" or "nervous." This analysis result is stored in a database along with the question data.
[1397] 4. Question analysis and classification:
[1398] The server uses NLP technology to extract important keywords from the question and assign a category based on them. For example, the keywords "Python," "list," and "sort" are extracted, and the category is classified as "programming."
[1399] 5. Expert Selection and Notification:
[1400] The server selects an appropriate expert based on the results of sentiment analysis and the extracted keywords and categories. The selected expert is then notified of the question via email using an SMTP server.
[1401] 6. Receiving and Evaluating Responses:
[1402] The server receives the answers sent by the experts and stores them in a database, where users can view and rate the answers in the form of stars or comments.
[1403] 7. Training the AI to analyze and generate feedback:
[1404] The server analyzes the collected rating and sentiment data to train the generative AI model, and this feedback analysis improves the quality of the answers.
[1405] 8. Question entry assistance and auto-answer:
[1406] The server suggests appropriate keywords and categories as users type their questions, and also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will automatically provide basic answers.
[1407] Prompt Sentence Examples
[1408] How do I sort a list in Python?
[1409] The system configured as described above enables users to efficiently and quickly exchange high-quality questions and answers. The collaboration between the sentiment analysis engine and generative AI improves the user experience.
[1410] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1411] Step 1: Displaying the User Interface
[1412] Server: When the system starts up, the server displays the user interface on the device. Specifically, it generates the question submission form using HTML and CSS, and loads a script that validates user input using JavaScript.
[1413] Input: System startup request
[1414] Output: Question submission form displayed in browser
[1415] Step 2: Enter and submit your question
[1416] User: The user types a question through the browser on their device and clicks the submit button. For example, the user types, "How do I sort a list in Python?"
[1417] Input: Question ("How do I sort a list in Python?")
[1418] Output: POST request from the terminal to the server
[1419] Step 3: Receiving the question
[1420] Server: The server receives the POST request sent by the user and extracts the question data in the request body.
[1421] Input: POST request from terminal
[1422] Output: Extracted question data
[1423] Step 4: Save the question
[1424] Server: Saves the extracted question data to a database. MySQL is used to store the data and queue it for further processing.
[1425] Input: Question data ("How do I sort a list in Python?")
[1426] Output: Question data stored in the database and question ID in the queue
[1427] Step 5: Perform sentiment analysis
[1428] Server: The server uses a sentiment analysis engine to analyze the sentiment of the saved questions. It uses a Python-based natural language processing library to extract the user's sentiment (e.g., "confused") from the questions.
[1429] Input: Question data ("How do I sort a list in Python?")
[1430] Output: Emotion data ("confused")
[1431] Step 6: Save the sentiment analysis results
[1432] Server: The analyzed emotion data is stored in a database along with the question data.
[1433] Input: Emotion data ("confused")
[1434] Output: Emotion data stored in a database
[1435] Step 7: Parse and classify the questions
[1436] Server: Using natural language processing (NLP) algorithms, the server extracts keywords from the question and assigns a category. Using techniques such as TF-IDF and Word2Vec, the server extracts keywords such as "Python," "list," and "sort," and the question falls into the "Programming" category.
[1437] Input: Question data ("How do I sort a list in Python?")
[1438] Output: Extracted keywords ("Python", "list", "sort") and category ("programming")
[1439] Step 8: Save your keywords and categories
[1440] Server: Stores the extracted keywords and categories in a database together with the question data.
[1441] Input: Keywords and Categories
[1442] Output: Keywords and categories stored in the database
[1443] Step 9: Expert Selection and Notification
[1444] Server: Selects appropriate experts based on the sentiment analysis results and extracted keywords and categories. Sends question notifications to the selected experts via email using an SMTP server.
[1445] Input: Emotion data, keywords, categories
[1446] Output: Email notification of question to expert
[1447] Step 10: Expert response and submission
[1448] Expert: Receives the notification email and creates an answer to the question. The expert sends the answer to the server as a POST request from the terminal.
[1449] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[1450] Output: POST request from the terminal to the server
[1451] Step 11: Receive and store responses
[1452] Server: Receives the answers submitted by the experts and stores them in a database, linking them to the original question.
[1453] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[1454] Output: Response data stored in a database
[1455] Step 12: User review and evaluation of answers
[1456] User: The user reviews the provided answer and rates it in the form of a star rating or comment. For example, the user rates it as "very helpful" and gives it 5 stars.
[1457] Input: User rating (5 stars, comment "Very helpful")
[1458] Output: Sending evaluation data from the device to the server
[1459] Step 13: Save the evaluation data
[1460] Server: Stores the received evaluation data in a database.
[1461] Input: User rating data
[1462] Output: Evaluation data stored in a database
[1463] Step 14: Analyze feedback
[1464] Server: Analyzes the collected rating and sentiment data and generates feedback to train the generative AI model.
[1465] Input: Rating data, emotion data
[1466] Output: Generated feedback data
[1467] Step 15: Training the generative AI model
[1468] Server: Trains generative AI models using feedback data, sentiment data, and real-world question and answer data. Uses large-scale language models such as GPT-3.
[1469] Input: Feedback data, emotion data, question data, answer data
[1470] Output: A trained generative AI model
[1471] Step 16: Providing assistance with filling out questions and automated responses
[1472] Server: When a user types a question, it suggests appropriate keywords and categories. It also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will provide a basic answer.
[1473] Input: User's partial question input
[1474] Output: Suggested keywords and basic answers from the generative AI
[1475] This specific processing step allows users to exchange high-quality questions and answers efficiently and quickly, while taking emotions into consideration. The collaboration between the sentiment analysis engine and generative AI improves the user experience and system performance.
[1476] (Application example 2)
[1477] 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."
[1478] Conventional question-answering systems generate uniform responses without considering the user's feelings, which can leave users confused or unsatisfied. Furthermore, especially on online shopping sites, this can lead to problems such as difficulty in searching for the product they are looking for and inappropriate product suggestions. This can lead to a poor user experience and a decrease in site usage.
[1479] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a database; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a database and receive an evaluation; a means for the server to analyze collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for analyzing emotions from the question entered by the user and optimizing the response based on the results; and a means for suggesting appropriate product information to the user based on the emotion analysis results. This enables appropriate answers and product suggestions that take the user's emotions into consideration, which is expected to improve the user experience and increase site usage.
[1480] A "terminal" is an electronic device that allows a user to input questions or instructions, and includes smartphones, tablets, and personal computers.
[1481] A "server" is a central computing device that receives, processes, and stores input from users and returns analytical results and responses.
[1482] A "database" is a data storage system that systematically stores and manages data such as questions, responses, and user feedback.
[1483] "Keywords" are important words or short phrases extracted from a question and used to understand the content and category of the question.
[1484] A "category" is a classification framework for classifying questions based on extracted keywords, such as "programming," "shopping," and "customer support."
[1485] An "expert" is a person with advanced knowledge and experience in a particular field, and is selected to provide appropriate answers to users' questions.
[1486] "Notifications" are any means of communication to let an expert know that a question has been received, including email and in-app notifications.
[1487] "Emotion" refers to the psychological state of the user when asking a question, and includes, for example, "confusion," "impatience," and "joy."
[1488] "Emotion analysis" is a technique for identifying the psychological state of a user from the question entered by the user.
[1489] "Optimization" refers to generating optimal responses and product suggestions for users based on sentiment analysis results and keywords.
[1490] "Product information" is information about products that may interest users on the online shopping site, including prices, features, reviews, related products, and the like.
[1491] "Generative AI" is artificial intelligence that learns from collected data and automatically generates responses and suggestions.
[1492] An "automated response" is an answer that a generative AI provides instantly in response to a question entered by a user.
[1493] To implement this invention, a user needs to access the system using a terminal and input a question. The terminal may be a smartphone, tablet, or PC, and the user can easily input and send a question through a user interface. Specifically, for example, the user might input "Do you have any recommendations for a gift for Mother's Day?" and click the send button.
[1494] The server receives questions submitted by users and stores them in a database, which is then queued for further processing. Database management can be performed using a database system such as SQLite.
[1495] The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data. For emotion analysis, the pipeline module of the transformers library can be used, for example, to recognize the user's emotions as "confused" or "excited."
[1496] The server then uses a natural language processing (NLP) algorithm to extract important keywords from the question and classify them into categories. The TextBlob library can be used for NLP analysis. For example, keywords such as "Mother's Day" and "presents" are extracted, and the question is classified into the "Shopping" category.
[1497] The server selects the appropriate expert based on the extracted keywords, categories, and sentiment analysis results, and then sends a notification. The expert receives the question via email or in-app notification, and the expert creates an answer. For example, a notification is sent to an expert on Mother's Day gifts, requesting an answer.
[1498] When experts submit their answers to the server, the server stores them in a database and links them to the original question. Users can also review and rate the answers. This rating data is collected by the server and used for feedback analysis.
[1499] The server analyzes the collected evaluation and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question. This trains the generative AI and improves the accuracy of the automated response. By training the generative AI model, if the user asks the same question again, the automated response will be able to immediately provide an appropriate answer.
[1500] Furthermore, when a user inputs a question, the server suggests appropriate keywords and categories, and provides an automated response using generative AI. For example, if a user inputs "Mother's Day," the server will display keywords such as "present," "gift," and "recommended," and the generative AI will provide a basic answer.
[1501] As a specific example, if a user types a question such as "Do you have any recommendations for a gift for Mother's Day?" and emotion analysis detects that the user is "confused," the server will notify a gift expert and provide an answer such as "Please take a look at these recommended products."
[1502] Examples of prompts include the following text format:
[1503] "A user entered the following question: 'Do you have any gift recommendations for Mother's Day?'"
[1504] "How can we analyze the context and sentiment of a question to make relevant product recommendations?"
[1505] "User emotion: troubled, Keywords: Mother's Day, gift"
[1506] This enables efficient, fast, and high-quality exchange of questions and answers while taking into account the user's feelings, thereby improving the user experience on online shopping sites.
[1507] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1508] Step 1:
[1509] The user uses a terminal to enter a question and send it to the server.
[1510] Input: The user enters a question into the question input form on the device.
[1511] Example: A user types, "Do you have any recommendations for Mother's Day gifts?" and clicks the submit button.
[1512] Output: The query is sent to the server.
[1513] Step 2:
[1514] The server receives the question and stores it in a database.
[1515] Input: The question text submitted by the user.
[1516] Example: A question arrives at the server: "Do you have any recommendations for a gift for Mother's Day?"
[1517] Output: The question is saved in the database.
[1518] Step 3:
[1519] The server analyzes the sentiment from the question.
[1520] Input: A question stored in the database.
[1521] Example: A sentiment analysis engine analyzes the question "Do you have any recommendations for a gift for Mother's Day?" and determines the sentiment to be "confused."
[1522] Output: Sentiment analysis result (e.g., "confused").
[1523] Step 4:
[1524] The server extracts keywords from the question and assigns a category.
[1525] Input: A question stored in the database.
[1526] Example: A server uses an NLP algorithm to extract keywords such as "Mother's Day" and "gifts" and classify them into the "Shopping" category.
[1527] Output: Extracted keywords and categories (e.g., "Mother's Day", "Gifts", "Shopping").
[1528] Step 5:
[1529] The server selects the appropriate expert based on keywords and categories and sends the notification.
[1530] Input: Extracted keywords, categories, and sentiment analysis results.
[1531] Example: The server selects an appropriate expert from a list of experts in the "Shopping" category and sends a notification by email.
[1532] Output: A question notification is sent to the expert.
[1533] Step 6:
[1534] The expert sends the answer from the terminal to the server.
[1535] Input: The expert reviews the question on the device and enters the answer.
[1536] Example: An expert types in the answer "The recommended gift for Mother's Day is a flower bouquet" and submits it.
[1537] Output: The expert's answer is sent to the server.
[1538] Step 7:
[1539] The server stores the answers in a database and receives the ratings.
[1540] Input: Answers submitted by experts.
[1541] Example: The answer "A flower bouquet is a recommended gift for Mother's Day" is saved in the database.
[1542] Output: The answer and its link are saved in the database.
[1543] Step 8:
[1544] The user checks the answers and rates them.
[1545] Input: The answer the user receives on their device.
[1546] Example: A user rates something as "very helpful."
[1547] Output: The user's rating is sent to the server and stored.
[1548] Step 9:
[1549] The server analyzes the collected feedback and trains the generative AI.
[1550] Input: Question and answer content, ratings, and feedback data.
[1551] Example: The server analyzes the feedback data and uses it as training data for a generative AI model.
[1552] Output: An updated generative AI model.
[1553] Step 10:
[1554] The server suggests keywords to users when they write their questions and provides automatic responses using generative AI.
[1555] Input: The text that the user will enter when entering a new question.
[1556] Example: When a user types in "Mother's Day...", the server displays keywords such as "present" and "gift", and the generative AI provides a basic answer.
[1557] Output: Suggested keywords and an automated response generated by the AI.
[1558] This allows users to exchange higher quality questions and answers, and also makes it possible to make product suggestions and responses that take emotions into account.
[1559] 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.
[1560] 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.
[1561] 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.
[1562] [Fourth embodiment]
[1563] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1564] 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.
[1565] 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).
[1566] 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.
[1567] 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.
[1568] 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).
[1569] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1570] 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.
[1571] 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.
[1572] 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.
[1573] 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.
[1574] 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.
[1575] 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."
[1576] The present invention relates to a system in which users input questions using a terminal and send them to a server. The system is designed to enable users to post questions effectively and quickly receive high-quality answers from experts. It also provides automated responses to users' questions using generative AI.
[1577] System Overview
[1578] 1. User Interface
[1579] Terminal: Users access the system from their own terminals and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[1580] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[1581] 2. Receiving and saving questions
[1582] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[1583] Example: The server stores the question "How do I sort a list in Python?" in a database.
[1584] 3. Question Analysis and Classification
[1585] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[1586] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[1587] 4. Expert Selection and Notification
[1588] Server: The server selects the appropriate expert from the list based on the keywords and category of the question and sends a notification via email or push notification.
[1589] Example: A question notification is sent via email to Python experts in the "Programming" category.
[1590] 5. Create and submit your response
[1591] Expert: The expert receives the notification and creates an appropriate answer to the question. The answer is sent from the expert's device to the server.
[1592] Example: An expert answers, "Python lists can be sorted using the sort() method or the sorted() function."
[1593] 6. Saving and rating answers
[1594] Server: The server stores the answers received from experts in a database and links them to the original question. Users can view the answers and rate them.
[1595] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[1596] 7. Feedback Analysis
[1597] Server: The server analyzes the received ratings and generates feedback data that helps improve the quality of questions and answers.
[1598] Example: You might get feedback that suggests you include specific language or feature keywords in your question.
[1599] 8. Training the generative AI
[1600] Server: The server uses feedback data and real Q&A data to train the generative AI, which improves the accuracy of automated responses.
[1601] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[1602] 9. Question entry assistance and automatic response
[1603] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[1604] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[1605] This allows users to efficiently and quickly exchange high-quality questions and answers, improving overall system performance, and by incorporating feedback continuously, the accuracy of the generative AI continues to improve.
[1606] The processing flow will be explained below.
[1607] Step 1:
[1608] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[1609] Step 2:
[1610] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[1611] Step 3:
[1612] The server uses natural language processing (NLP) algorithms to extract important keywords from the saved questions, such as "Python," "list," and "sort."
[1613] Step 4:
[1614] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[1615] Step 5:
[1616] The server selects the appropriate expert based on the question's keywords and category. It searches the expert list to find the most relevant expert. Specifically, it selects experts who are knowledgeable about Python in the "Programming" category.
[1617] Step 6:
[1618] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[1619] Step 7:
[1620] The expert receives a notification, reviews the question, and uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[1621] Step 8:
[1622] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[1623] Step 9:
[1624] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[1625] Step 10:
[1626] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[1627] Step 11:
[1628] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[1629] Step 12:
[1630] The server analyzes the stored feedback and extracts information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "include specific language and feature keywords."
[1631] Step 13:
[1632] The server trains a generative AI model based on the analysis results. It uses the collected questions, answers, and evaluation data to improve the model's accuracy. Specifically, it trains the generative AI on a new dataset.
[1633] Step 14:
[1634] The server provides a function to suggest appropriate keywords and categories when a user enters a question. It also enables the generation AI to automatically generate answers to questions. Specifically, when a user enters "Python...", the server displays the keywords "Python, list, sort", and the generation AI provides a basic answer.
[1635] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers, which also improves the overall system performance and the accuracy of the generated AI.
[1636] Example 1
[1637] 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."
[1638] In conventional question-answering systems, the process from when a user inputs a question to when an expert responds is complicated and time-consuming, and the classification of questions and selection of experts are inefficient. Furthermore, feedback to improve the quality of questions and answers is insufficient, limiting the effectiveness of the system as a whole.
[1639] 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.
[1640] In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a data storage device; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a data storage device and receive an evaluation; a means for the server to analyze the collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for the terminal to display keyword suggestions when the question is entered; a means for the server to send an expert notification by email or push notification; a means for the server to analyze the question using an NLP algorithm; and a means for the generation AI to generate an initial response to the user's question. This streamlines the process from question input to answer reception, enables the selection of experts and the quality of answers to be improved, and provides faster automatic responses.
[1641] A "user" is an individual or organization that enters a question and uses the system.
[1642] A "terminal" is an electronic device that a user uses to input a question and send it to a server.
[1643] A "server" is a central computer system that receives, stores, analyzes, and sends notifications to experts.
[1644] A "data store" is an information storage system for storing questions and answers.
[1645] "Keywords" are important words or phrases extracted from the question.
[1646] A "category" is a field or theme that is assigned based on the content of a question.
[1647] An "expert" is an individual who has the knowledge or experience to answer questions about a particular category.
[1648] "Notification" is a means of communication to inform experts that a question has arrived.
[1649] "Rating" is the process by which a user judges the value of a received answer and provides feedback.
[1650] "Feedback" is evaluation data collected from users and is information used to improve the system.
[1651] "Generative AI" is artificial intelligence that generates automatic responses to user questions.
[1652] "Training" is the process of using data to learn from generative AI in order to improve its performance.
[1653] "Email" is a digital message sent over the Internet.
[1654] A "push notification" is a short notification message sent to a device in real time.
[1655] A "natural language processing (NLP) algorithm" is a technology for analyzing text data and extracting semantic information.
[1656] The present invention provides a system that allows users to input questions using a terminal and send them to a server. This system allows users to effectively post questions and receive prompt, high-quality answers from appropriate experts. It also provides automated responses to users' questions using generative AI.
[1657] The system is configured as follows:
[1658] 1. User Interface
[1659] Device: Users access the system from their own device (PC, smartphone, tablet, etc.) and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[1660] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[1661] 2. Receiving and saving questions
[1662] Server: The server receives questions submitted by users and stores them in a database (e.g., MySQL, PostgreSQL). The stored questions are added to a queue for further processing.
[1663] Example: The server stores the question "How do I sort a list in Python?" in a database.
[1664] 3. Question Analysis and Classification
[1665] Server: The server uses natural language processing (NLP) algorithms (e.g., spaCy, NLTK) to extract important keywords from the question and classify them into pre-defined categories.
[1666] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort" to classify the question into the "programming" category.
[1667] 4. Expert Selection and Notification
[1668] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[1669] Example: A server searches a list of Python experts in the "Programming" category and sends a question notification via email.
[1670] 5. Create and submit your response
[1671] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[1672] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[1673] 6. Saving and rating answers
[1674] Server: The server stores the answers received from the experts in a database and links them to the original question. It then sends the answers to the user's device, where the user can review and rate the displayed answers.
[1675] Example: The server stores the answer in a database and sends the data to the user's device. The user rates the answer as "very helpful" and sends the rating data to the server.
[1676] 7. Feedback Analysis
[1677] Server: The server analyzes the received ratings and generates feedback data that can be used to improve the quality of future questions and answers.
[1678] Example: The server analyzes the rating data and generates feedback such as "Please include specific language or feature keywords in your question."
[1679] 8. Training the generative AI
[1680] Server: The server uses the feedback data and actual question and answer data to train a generative AI model (e.g., OpenAI GPT-4), which improves the accuracy of automated responses.
[1681] Example: A server can use feedback and Q&A data to train a generative AI that can automatically answer, "To sort a list in Python, use the sort() method or the sorted() function."
[1682] 9. Question entry assistance and automatic response
[1683] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[1684] Example: When a user types "Python...", the server suggests the keywords "Python, list, sort" and the generative AI provides a basic answer.
[1685] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[1686] "User asks: 'How do I sort a list in Python?' Please explain."
[1687] The system allows users to efficiently and quickly exchange high-quality questions and answers, and by incorporating continuous feedback, the accuracy of the generative AI continues to improve.
[1688] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1689] Step 1:
[1690] User question input
[1691] How it works: A user accesses the system from their own terminal and enters a question into the question submission form.
[1692] Input: Question text, such as "How do I sort a list in Python?"
[1693] Output: The entered question text is saved to the terminal.
[1694] Specific operation: The user opens a browser on their device, enters "How do I sort a list in Python" into the question submission form, and clicks the submit button.
[1695] Step 2:
[1696] Sending and receiving questions
[1697] Terminal: After the question is entered, when the send button is pressed, the terminal sends the question to the server.
[1698] Server: The server receives this question data as an HTTP request.
[1699] Input: The question text in the HTTP request sent from the terminal.
[1700] Output: The question text received by the server.
[1701] Specific operation: When the user clicks the send button, the terminal sends the question data to the server, which receives it.
[1702] Step 3:
[1703] Save Question
[1704] Server: The server saves the received question in a data store, which adds the question to a queue for further processing.
[1705] Input: The received question text.
[1706] Output: A new question record in the database.
[1707] What happens: The server adds the question "How do I sort a list in Python?" as a new record to the Questions table in the database.
[1708] Step 4:
[1709] Question analysis and classification
[1710] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into pre-defined categories.
[1711] Input: The saved question text.
[1712] Output: Extracted keywords and assigned categories.
[1713] How it works: NLP algorithms extract keywords like "Python," "list," and "sort" and classify questions into the "programming" category.
[1714] Step 5:
[1715] Expert Selection and Notification
[1716] Server: Based on the keywords and category of the question, the server selects the appropriate expert from the list of experts and sends a notification via email or push notification.
[1717] Input: Extracted keywords and assigned categories.
[1718] Output: The experts who will receive the notification and the notification content.
[1719] What it does: The server searches the list of Python experts in the "Programming" category and sends you a question notification via email.
[1720] Step 6:
[1721] Expert answers written and submitted
[1722] Expert: The expert receives the notification, creates an appropriate answer to the question, and sends it from his / her device to the server.
[1723] Input: Answer text written by experts.
[1724] Output: The answer text sent to the server.
[1725] Specific behavior: The expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and sends it to the server.
[1726] Step 7:
[1727] Save the answer and present it to the user
[1728] Server: The server stores the answers received from the experts in a data storage device, links them to the original question, and then sends the answers to the user's device.
[1729] User: The user can view the displayed answers and rate them.
[1730] Input: Answer text received from the expert.
[1731] Output: A new answer record in the database and the answer displayed on the user's terminal.
[1732] Specific operation: The server stores the answer in a database and sends the data to the user's device to display the answer.
[1733] Step 8:
[1734] User rating of answers
[1735] User: The user checks the displayed answers and rates them (e.g., by rating them or adding comments). The rating is sent to the server via a submission form.
[1736] Input: User-submitted rating data.
[1737] Output: Evaluation data stored on the server.
[1738] Specific Action: User rates the app as "Very helpful" and submits the evaluation form.
[1739] Step 9:
[1740] Feedback Analysis
[1741] Server: The server analyzes the received evaluation data and generates feedback information that can be used to improve the quality of future questions and answers.
[1742] Input: Rating data received from users.
[1743] Output: The generated feedback information.
[1744] Specific behavior: The server analyzes the evaluation data and generates feedback such as "Please include specific language and feature keywords in your question."
[1745] Step 10:
[1746] Training generative AI
[1747] Server: The server uses the feedback data and actual Q&A data to train a generative AI model (e.g., OpenAI GPT-4), thereby improving the accuracy of automated responses.
[1748] Input: Feedback data and Q&A data.
[1749] Output: A trained generative AI model.
[1750] How it works: The server uses feedback and Q&A data to train a generative AI, generating a model that can automatically answer the question, "To sort a list in Python, use the sort() method or the sorted() function."
[1751] Step 11:
[1752] Question entry assistance and automatic response
[1753] Server: When a user types a question, the server suggests relevant keywords and categories, and also provides automated responses using generative AI.
[1754] Input: The question text entered by the user.
[1755] Output: Suggested keywords and generated initial responses.
[1756] How it works: When a user types "Python...", the server suggests the keywords "Python, list, sort", and the generative AI provides a basic answer.
[1757] Example prompt: If the user enters a simple question such as "How to sort a list in Python," the following prompt will be generated for the Generative AI:
[1758] "User asks: 'How do I sort a list in Python?' Please explain."
[1759] (Application example 1)
[1760] 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."
[1761] In modern virtual stores, a key challenge is enabling users to quickly and efficiently obtain detailed product information. However, current systems often have delays between questions and answers from experts, resulting in a poor user experience. Furthermore, the quality of automated responses from AI generation is low, sometimes leaving users dissatisfied. Furthermore, question and answer data is not effectively utilized as feedback, making it necessary to improve the accuracy of AI generation.
[1762] 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.
[1763] In this invention, the server includes: a means for a user to input an inquiry using a computer and send it to an information processing device; a means for the information processing device to receive the inquiry and save it in a storage device; a means for the information processing device to extract keywords from the inquiry and assign a category; a means for the information processing device to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send a response from a computer to the information processing device; a means for the information processing device to save the response in a storage device and receive an evaluation; a means for the information processing device to analyze the collected opinions and train the generation AI; a means for the information processing device to suggest keywords to the user when entering an inquiry and provide an automatic response by the generation AI; and a means for the user to quickly obtain information about products in a virtual shopping mall. This allows the user to quickly receive high-quality answers from experts and enables the accuracy of the generation AI to continue to improve.
[1764] A "user" is someone who obtains information about products in a virtual store and makes inquiries.
[1765] A "computer" is a terminal device used by a user to enter a query.
[1766] An "inquiry" is an action in which a user asks a question about detailed product information or purchasing methods in a virtual shop.
[1767] The "information processing device" is a server that receives inquiries from users, analyzes them, and notifies the appropriate experts.
[1768] A "storage device" is a device for saving inquiries and responses in an information processing device.
[1769] "Keywords" are key words or phrases for extracting important information from a query.
[1770] The "category" is a category for classifying inquiries based on the extracted keywords.
[1771] An "expert" is someone with extensive knowledge and experience in a particular category.
[1772] "Notification" refers to an action in which the information processing device notifies the expert that there is an inquiry.
[1773] "Responding" is the act of an expert providing an answer to a user's inquiry.
[1774] "Rating" is the act of a user providing feedback on a provided response.
[1775] "Opinions" are feedback generated based on user ratings to improve the quality of responses.
[1776] "Generative AI" is artificial intelligence that automatically responds to inquiries based on collected data.
[1777] A "virtual store" is a virtual store where users can browse and purchase products over the Internet.
[1778] An "automated response" is an answer that a generative AI automatically provides to a user's inquiry.
[1779] This invention is a system that allows users to make inquiries about products in a virtual store and receive prompt, high-quality answers from experts and generative AI. The system mainly includes the following processing steps.
[1780] In this system, a user inputs a query using a computer and sends it to an information processing device. The information processing device uses a general server and links to a database. The interface through which a user inputs a query can be, for example, a smartphone application or a web application.
[1781] The information processing device stores the received query in a storage device, which may be a relational database such as an SQL database.
[1782] The information processing system uses natural language processing (NLP) algorithms to extract keywords from queries and assign categories. Specifically, it can use NLP libraries such as SpaCy or NLTK. It then categorizes queries based on the extracted keywords and selects the appropriate expert.
[1783] The information processing device sends a notification to the selected expert. Notification methods include email notification using SMTP (Simple Mail Transfer Protocol) and push notification services. The expert creates a response from their computer in response to the notification and sends it to the information processing device.
[1784] The information processing device stores the responses received from the experts in a storage device and receives user ratings. The user ratings are analyzed as feedback to improve the quality of the responses. These rating data are also used to train the generative AI.
[1785] Generative AI uses generative models, such as GPT-3, to generate automated responses to queries, and it continuously trains the generative AI using feedback data to improve the accuracy of its answers.
[1786] In addition, the information processing device can suggest appropriate keywords and categories when a user inputs an inquiry and provide basic automated responses using generative AI, allowing users to ask questions more efficiently and receive answers in a shorter time.
[1787] As a concrete example, if a user posts a query on the app asking, "What is the size of this product?", the information processing device will classify the query into the "product size" category and notify the relevant expert. The expert will respond, "This product's dimensions are 30 cm in height, 20 cm in width, and 10 cm in depth." Furthermore, at an early stage, the generative AI can automatically respond, "You're asking about the product's size. We'll provide you with the length, width, and depth information."
[1788] For example, if you ask the question "What is the size of this product?", the AI will respond with "The size of this product is 30cm long, 20cm wide, and 10cm deep."
[1789] This system allows users to receive fast, high-quality expert answers and allows the accuracy of the generative AI to continue to improve.
[1790] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1791] Step 1:
[1792] A user uses a computer to enter an inquiry and send it to an information processing device. The user uses the interface of a web application or smartphone application to enter a question such as "What size is this product?" and clicks the send button. The entered inquiry data is sent to the server as an HTTP request.
[1793] Step 2:
[1794] The server receives the query and stores it in a storage device. The server analyzes the received HTTP request and stores the query content in a database. Specifically, a record containing the query statement and metadata such as a timestamp and user ID is inserted into an SQL database. The input is the query data, and the output is the save completion status.
[1795] Step 3:
[1796] The server extracts keywords from the query and assigns a category. The server uses a natural language processing (NLP) library (e.g., SpaCy) to extract important keywords from the query. Then, it uses the extracted keywords to determine a category based on a predefined category set. The input is the query, and the output is the extracted keywords and the determined category.
[1797] Step 4:
[1798] The server selects an appropriate expert based on keywords and categories and sends a notification. The server retrieves a list of experts that match the category from the database and selects the most suitable expert from that list. The server then sends a notification to the selected expert. Notification methods include email using SMTP and push notification. The input is the category and expert list, and the output is the notification sending status.
[1799] Step 5:
[1800] The expert sends a response from his computer to the server. The expert receives a notification, checks the inquiry, and creates an appropriate response. By entering the response and clicking the send button, the expert's response is sent to the server as an HTTP request. The input is the expert's response text, and the output is the response data sent to the server.
[1801] Step 6:
[1802] The server stores the response in a storage device and provides a means to receive evaluations. The server stores the response received from the expert in a database and associates it with the original query. Next, it provides an evaluation interface to the user, allowing them to input their evaluation of the response. The input is the expert's response and the user's evaluation, and the output is the save completion status.
[1803] Step 7:
[1804] The server analyzes the collected opinions and trains the generative AI. The server analyzes the evaluation data and generates feedback data. This feedback data and actual question and answer data are used to train the generative AI. Specifically, the AI model (e.g., GPT-3) receives prompts and their corresponding correct responses, and the model is updated. The input is the evaluation data and feedback data, and the output is an updated generative AI model.
[1805] Step 8:
[1806] The server suggests keywords to the user when they enter their query, and provides an automatic response from a generative AI. When the user enters their query, the server uses NLP to suggest appropriate keywords and categories. In addition, the generative AI generates and displays an automatic response at an early stage. The input is the initial query text, and the output is the suggested keywords and the generated automatic response.
[1807] The above processing steps enable users to quickly receive high-quality expert answers, and the accuracy of the generative AI can continue to improve.
[1808] 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.
[1809] The present invention relates to a system in which a user inputs a question using a terminal and sends it to a server, and in particular, improves the accuracy of questions and answers and the user experience by combining it with an emotion engine that recognizes the user's emotions.
[1810] System Overview
[1811] 1. User Interface
[1812] Terminal: Users access the system using a terminal and enter their questions. The question submission form is designed to allow users to easily enter their questions.
[1813] Example: A user fills in a question submission form on a terminal with the question "How do I sort a list in Python?" and clicks the submit button.
[1814] 2. Receiving and saving questions
[1815] Server: The server receives questions submitted by users and stores them in a database, where they are added to a queue for further processing.
[1816] Example: A server stores the question "How do I sort a list in Python?" in a database.
[1817] 3. Emotion analysis
[1818] Server: The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data.
[1819] Example: The server recognizes the user's emotion as "confused" from the question "How do I sort a list in Python?"
[1820] 4. Question Analysis and Classification
[1821] Server: The server uses natural language processing (NLP) algorithms to extract important keywords from the question and classify them into categories.
[1822] Example: An NLP algorithm extracts keywords like "Python," "list," and "sort," and the question falls into the "programming" category.
[1823] 5. Expert Selection and Notification
[1824] Server: The server selects the appropriate expert based on the keywords and category of the question and the results of sentiment analysis, and sends a notification.
[1825] Example: Taking into consideration the user's feelings of confusion, a Python expert with a reputation for assisting beginners is selected and a question notification is sent via email.
[1826] 6. Create and submit your response
[1827] Expert: The expert receives the notification, reviews the question, and creates an answer. The expert's answer is sent from the device to the server.
[1828] Example: An expert enters the answer "Python lists can be sorted using the sort() method or the sorted() function" and submits it.
[1829] 7. Saving and rating answers
[1830] Server: The server stores the received answers in a database, linking them to the original question. Users can review and rate the answers.
[1831] Example: A user rates a piece of content as "very helpful" and the rating is stored on the server.
[1832] 8. Feedback Analysis
[1833] Server: The server analyzes the collected rating and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question.
[1834] Example: Gain insights from feedback data, such as "include specific language or feature keywords."
[1835] 9. Training the generative AI
[1836] Server: The server trains the generative AI using feedback data, actual Q&A data, and sentiment analysis data, which improves the accuracy of automated responses.
[1837] Example: A generative AI can automatically answer, "To sort a Python list, use the sort() method or the sorted() function."
[1838] 10. Question entry assistance and automatic response
[1839] Server: The server suggests appropriate keywords and categories when users enter their questions, and also provides automated responses using generative AI.
[1840] Example: When a user types "Python...", the server displays the keywords "Python, list, sort" and the generative AI provides a basic answer.
[1841] This allows users to exchange high-quality questions and answers efficiently and quickly while recognizing emotions. Combining the emotion engine improves the user experience and overall system performance.
[1842] The processing flow will be explained below.
[1843] Step 1:
[1844] The user enters a question using the terminal and presses the submit button. This sends the question to the server. Specifically, the user enters "How do I sort a list using Python?" and submits it.
[1845] Step 2:
[1846] The server receives questions sent by users and stores them in a database. This stores metadata such as the question content, submission time, and user ID. Specifically, the question "How do I sort a list in Python?" is stored in the database.
[1847] Step 3:
[1848] The server uses an emotion engine to analyze the user's emotion from the saved question. The result of the emotion analysis is saved along with the question data. Specifically, the emotion engine analyzes the emotion from the user's question "How do I sort a list in Python?" and determines it to be "confused."
[1849] Step 4:
[1850] The server uses natural language processing (NLP) algorithms to extract important keywords from the question, such as "Python," "list," and "sort."
[1851] Step 5:
[1852] The server categorizes the question into the appropriate category based on the extracted keywords. Using pre-defined rules and machine learning models, the question is assigned to the "Programming" category. Specifically, the question is classified into the "Programming" category.
[1853] Step 6:
[1854] The server selects an appropriate expert based on the question's keywords, category, and sentiment analysis results. It then searches the expert list to find the most relevant expert. Specifically, it takes into consideration the sentiment of "confused" and selects a Python expert with a reputation for assisting beginners.
[1855] Step 7:
[1856] The server sends a notification to the selected expert. The notification method is email or push notification. Specifically, an email is sent with the message "A new question has been posted: 'How do I sort a list in Python?'"
[1857] Step 8:
[1858] The expert receives a notification and checks the question and the user's sentiment. The expert then uses the terminal to create an answer. Specifically, the expert types the answer: "Python lists can be sorted using the sort() method or the sorted() function."
[1859] Step 9:
[1860] The expert sends the answer to the server. The terminal sends a message to the server containing the answer. Specifically, the answer sent to the server is, "Python lists can be sorted using the sort() method or the sorted() function."
[1861] Step 10:
[1862] The server receives the answers from the experts and stores them in a database. The answers are linked to the question ID, so the original question and answer are linked. Specifically, the answers are stored in the database together with the "question ID."
[1863] Step 11:
[1864] The user receives a notification from the server or checks the answer within the system. After viewing the answer, the user can rate it. Specifically, the user can rate it as "very helpful" and submit it.
[1865] Step 12:
[1866] The server receives the user's rating and stores it in a database. It also stores metadata such as the rating content, rating time, and user ID. Specifically, it stores the rating "Very helpful" together with the question and answer.
[1867] Step 13:
[1868] The server analyzes the stored feedback and sentiment data to extract information to evaluate the quality of the answer and the appropriateness of the question. Specifically, the feedback data provides insights such as "including specific language and functional keywords."
[1869] Step 14:
[1870] The server trains a generative AI model based on the analysis results and collected data. It also takes into account the results of sentiment analysis to improve the model's accuracy. Specifically, it trains the generative AI with a new dataset.
[1871] Step 15:
[1872] When a user enters a question, the server provides a function that suggests appropriate keywords and categories based on emotional information. The generative AI also enables automatic generation of answers to questions. For example, if a user enters "Python...", the server displays the keywords "Python, list, sort", and the generative AI provides a basic answer.
[1873] According to the above detailed processing steps, the present invention enables users to efficiently and quickly exchange high-quality questions and answers while being aware of emotions, thereby improving the user experience and the overall system performance.
[1874] Example 2
[1875] 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."
[1876] Conventional question-answering systems have difficulty understanding the context and sentiment of questions entered by users, making it difficult to provide appropriate and prompt answers. Furthermore, problems existed, such as inappropriate selection of experts and insufficient feedback to ensure the quality of answers. Furthermore, the accuracy of assistance when entering questions and automatic responses was low, leaving a need for an improved user experience.
[1877] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing the user's emotions from the question using an emotion analysis engine, means for extracting keywords from the question and assigning a category, and means for selecting an appropriate expert based on the emotion analysis result, keywords, and category, and sending a notification. This makes it possible to provide an appropriate and prompt answer that takes the user's emotions into consideration.
[1878] A "user" is a person who accesses the system and inputs and submits a question.
[1879] A "terminal" is a device used by a user to access the system, and specifically includes a computer, smartphone, tablet, etc.
[1880] The "server" is a central computing unit that processes user requests and performs database management, sentiment analysis, question classification, expert selection, and notification sending.
[1881] "Database" means a data storage system for storing and managing questions, answers, sentiment analysis results, ratings and feedback data.
[1882] An "emotion analysis engine" is a software tool that analyzes a user's emotions from the questions they enter, and detects emotions using machine learning and natural language processing technology.
[1883] "Keywords" are important words or phrases extracted from the question text and used to understand the question and assign a category.
[1884] "Category" refers to a group of themes or topics for categorizing questions based on extracted keywords.
[1885] An "expert" is someone who has extensive knowledge and experience in a particular category or topic and is able to provide relevant answers to questions.
[1886] A "notification" is a communication, usually sent via email or messaging system, informing an expert that a question has been assigned to them.
[1887] An "answer" is a solution or advice provided by an expert to a question.
[1888] "Rating" refers to a user rating the usefulness or satisfaction of a provided answer, usually in the form of a star rating or comment.
[1889] "Feedback" refers to insights and suggestions for improvement gained from analyzing assessment data, which are useful for improving the quality of responses and the performance of the system.
[1890] A "generative AI model" is an artificial intelligence model that is trained using feedback data, emotion data, and question-and-answer data to generate automated responses to user questions.
[1891] This invention relates to a system in which a user inputs a question using a terminal and sends it to a server. In particular, it combines a sentiment analysis engine and a generative AI model to improve the accuracy of questions and answers and the user experience.
[1892] System Configuration
[1893] Hardware configuration:
[1894] 1. Device: A device where a user can enter and submit a question, including a computer, smartphone, tablet, etc.
[1895] 2. Server: This acts as the central computing unit, receiving, analyzing, and storing questions, and sending notifications. The database typically uses MySQL. The sentiment analysis engine and generative AI model run on the server.
[1896] Software configuration:
[1897] 1. User interface: Implemented as a web application, it provides a form for users to enter questions. It is designed using HTML, CSS, and JavaScript.
[1898] 2. Database management system: Use a relational database such as MySQL to efficiently manage questions, answers, ratings, and sentiment analysis results.
[1899] 3. Sentiment Analysis Engine: This engine runs machine learning algorithms to analyze user sentiment from the input question. It uses Python-based natural language processing libraries (e.g., NLTK and spaCy).
[1900] 4. Natural language processing (NLP) technology: Extract keywords from questions using techniques such as TF-IDF and Word2Vec and classify them into categories.
[1901] 5. Generative AI models: Use large-scale language models such as GPT-3 to generate automated responses to questions.
[1902] System processing overview
[1903] 1. Enter and submit your question:
[1904] The user enters a question through the browser on the device and clicks the submit button. For example, the user enters "How do I sort a list in Python?" and submits it. The entered data is sent to the server as a POST request.
[1905] 2. Receiving and storing questions:
[1906] The server receives the questions submitted by the user and stores the data in a database (MySQL), where it is added to a queue for further processing.
[1907] 3. Perform sentiment analysis:
[1908] The server uses an emotion analysis engine to analyze the user's emotions from the received question. For example, it can obtain emotional results such as "confused" or "nervous." This analysis result is stored in a database along with the question data.
[1909] 4. Question analysis and classification:
[1910] The server uses NLP technology to extract important keywords from the question and assign a category based on them. For example, the keywords "Python," "list," and "sort" are extracted, and the category is classified as "programming."
[1911] 5. Expert Selection and Notification:
[1912] The server selects an appropriate expert based on the results of sentiment analysis and the extracted keywords and categories. The selected expert is then notified of the question via email using an SMTP server.
[1913] 6. Receiving and Evaluating Responses:
[1914] The server receives the answers sent by the experts and stores them in a database, where users can view and rate the answers in the form of stars or comments.
[1915] 7. Training the AI to analyze and generate feedback:
[1916] The server analyzes the collected rating and sentiment data to train the generative AI model, and this feedback analysis improves the quality of the answers.
[1917] 8. Question entry assistance and auto-answer:
[1918] The server suggests appropriate keywords and categories as users type their questions, and also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will automatically provide basic answers.
[1919] Prompt Sentence Examples
[1920] How do I sort a list in Python?
[1921] The system configured as described above enables users to efficiently and quickly exchange high-quality questions and answers. The collaboration between the sentiment analysis engine and generative AI improves the user experience.
[1922] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1923] Step 1: Displaying the User Interface
[1924] Server: When the system starts up, the server displays the user interface on the device. Specifically, it generates the question submission form using HTML and CSS, and loads a script that validates user input using JavaScript.
[1925] Input: System startup request
[1926] Output: Question submission form displayed in browser
[1927] Step 2: Enter and submit your question
[1928] User: The user types a question through the browser on their device and clicks the submit button. For example, the user types, "How do I sort a list in Python?"
[1929] Input: Question ("How do I sort a list in Python?")
[1930] Output: POST request from the terminal to the server
[1931] Step 3: Receiving the question
[1932] Server: The server receives the POST request sent by the user and extracts the question data in the request body.
[1933] Input: POST request from terminal
[1934] Output: Extracted question data
[1935] Step 4: Save the question
[1936] Server: Saves the extracted question data to a database. MySQL is used to store the data and queue it for further processing.
[1937] Input: Question data ("How do I sort a list in Python?")
[1938] Output: Question data stored in the database and question ID in the queue
[1939] Step 5: Perform sentiment analysis
[1940] Server: The server uses a sentiment analysis engine to analyze the sentiment of the saved questions. It uses a Python-based natural language processing library to extract the user's sentiment (e.g., "confused") from the questions.
[1941] Input: Question data ("How do I sort a list in Python?")
[1942] Output: Emotion data ("confused")
[1943] Step 6: Save the sentiment analysis results
[1944] Server: The analyzed emotion data is stored in a database along with the question data.
[1945] Input: Emotion data ("confused")
[1946] Output: Emotion data stored in a database
[1947] Step 7: Parse and classify the questions
[1948] Server: Using natural language processing (NLP) algorithms, the server extracts keywords from the question and assigns a category. Using techniques such as TF-IDF and Word2Vec, the server extracts keywords such as "Python," "list," and "sort," and the question falls into the "Programming" category.
[1949] Input: Question data ("How do I sort a list in Python?")
[1950] Output: Extracted keywords ("Python", "list", "sort") and category ("programming")
[1951] Step 8: Save your keywords and categories
[1952] Server: Stores the extracted keywords and categories in a database together with the question data.
[1953] Input: Keywords and Categories
[1954] Output: Keywords and categories stored in the database
[1955] Step 9: Expert Selection and Notification
[1956] Server: Selects appropriate experts based on the sentiment analysis results and extracted keywords and categories. Sends question notifications to the selected experts via email using an SMTP server.
[1957] Input: Emotion data, keywords, categories
[1958] Output: Email notification of question to expert
[1959] Step 10: Expert response and submission
[1960] Expert: Receives the notification email and creates an answer to the question. The expert sends the answer to the server as a POST request from the terminal.
[1961] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[1962] Output: POST request from the terminal to the server
[1963] Step 11: Receive and store responses
[1964] Server: Receives the answers submitted by the experts and stores them in a database, linking them to the original question.
[1965] Input: Expert answer ("Python lists can be sorted using the sort() method or the sorted() function.")
[1966] Output: Response data stored in a database
[1967] Step 12: User review and evaluation of answers
[1968] User: The user reviews the provided answer and rates it in the form of a star rating or comment. For example, the user rates it as "very helpful" and gives it 5 stars.
[1969] Input: User rating (5 stars, comment "Very helpful")
[1970] Output: Sending evaluation data from the device to the server
[1971] Step 13: Save the evaluation data
[1972] Server: Stores the received evaluation data in a database.
[1973] Input: User rating data
[1974] Output: Evaluation data stored in a database
[1975] Step 14: Analyze feedback
[1976] Server: Analyzes the collected rating and sentiment data and generates feedback to train the generative AI model.
[1977] Input: Rating data, emotion data
[1978] Output: Generated feedback data
[1979] Step 15: Training the generative AI model
[1980] Server: Trains generative AI models using feedback data, sentiment data, and real-world question and answer data. Uses large-scale language models such as GPT-3.
[1981] Input: Feedback data, emotion data, question data, answer data
[1982] Output: A trained generative AI model
[1983] Step 16: Providing assistance with filling out questions and automated responses
[1984] Server: When a user types a question, it suggests appropriate keywords and categories. It also uses a generative AI model to provide basic automated responses. For example, if a user starts typing "Python...", the server will suggest keywords such as "Python", "list", and "sort", and the generative AI will provide a basic answer.
[1985] Input: User's partial question input
[1986] Output: Suggested keywords and basic answers from the generative AI
[1987] This specific processing step allows users to exchange high-quality questions and answers efficiently and quickly, while taking emotions into consideration. The collaboration between the sentiment analysis engine and generative AI improves the user experience and system performance.
[1988] (Application example 2)
[1989] 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."
[1990] Conventional question-answering systems generate uniform responses without considering the user's feelings, which can leave users confused or unsatisfied. Furthermore, especially on online shopping sites, this can lead to problems such as difficulty in searching for the product they are looking for and inappropriate product suggestions. This can lead to a poor user experience and a decrease in site usage.
[1991] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: a means for a user to input a question using a terminal and send it to the server; a means for the server to receive the question and store it in a database; a means for the server to extract keywords from the question and assign a category; a means for the server to select an appropriate expert based on the keywords and category and send a notification; a means for the expert to send an answer from the terminal to the server; a means for the server to store the answer in a database and receive an evaluation; a means for the server to analyze collected feedback and train the generation AI; a means for the server to suggest keywords to the user when entering a question and provide an automatic response by the generation AI; a means for analyzing emotions from the question entered by the user and optimizing the response based on the results; and a means for suggesting appropriate product information to the user based on the emotion analysis results. This enables appropriate answers and product suggestions that take the user's emotions into consideration, which is expected to improve the user experience and increase site usage.
[1992] A "terminal" is an electronic device that allows a user to input questions or instructions, and includes smartphones, tablets, and personal computers.
[1993] A "server" is a central computing device that receives, processes, and stores input from users and returns analytical results and responses.
[1994] A "database" is a data storage system that systematically stores and manages data such as questions, responses, and user feedback.
[1995] "Keywords" are important words or short phrases extracted from a question and used to understand the content and category of the question.
[1996] A "category" is a classification framework for classifying questions based on extracted keywords, such as "programming," "shopping," and "customer support."
[1997] An "expert" is a person with advanced knowledge and experience in a particular field, and is selected to provide appropriate answers to users' questions.
[1998] "Notifications" are any means of communication to let an expert know that a question has been received, including email and in-app notifications.
[1999] "Emotion" refers to the psychological state of the user when asking a question, and includes, for example, "confusion," "impatience," and "joy."
[2000] "Emotion analysis" is a technique for identifying the psychological state of a user from the question entered by the user.
[2001] "Optimization" refers to generating optimal responses and product suggestions for users based on sentiment analysis results and keywords.
[2002] "Product information" is information about products that may interest users on the online shopping site, including prices, features, reviews, related products, and the like.
[2003] "Generative AI" is artificial intelligence that learns from collected data and automatically generates responses and suggestions.
[2004] An "automated response" is an answer that a generative AI provides instantly in response to a question entered by a user.
[2005] To implement this invention, a user needs to access the system using a terminal and input a question. The terminal may be a smartphone, tablet, or PC, and the user can easily input and send a question through a user interface. Specifically, for example, the user might input "Do you have any recommendations for a gift for Mother's Day?" and click the send button.
[2006] The server receives questions submitted by users and stores them in a database, which is then queued for further processing. Database management can be performed using a database system such as SQLite.
[2007] The server is equipped with an emotion engine that analyzes emotions from questions entered by users. The analysis results are saved along with the question data. For emotion analysis, the pipeline module of the transformers library can be used, for example, to recognize the user's emotions as "confused" or "excited."
[2008] The server then uses a natural language processing (NLP) algorithm to extract important keywords from the question and classify them into categories. The TextBlob library can be used for NLP analysis. For example, keywords such as "Mother's Day" and "presents" are extracted, and the question is classified into the "Shopping" category.
[2009] The server selects the appropriate expert based on the extracted keywords, categories, and sentiment analysis results, and then sends a notification. The expert receives the question via email or in-app notification, and the expert creates an answer. For example, a notification is sent to an expert on Mother's Day gifts, requesting an answer.
[2010] When experts submit their answers to the server, the server stores them in a database and links them to the original question. Users can also review and rate the answers. This rating data is collected by the server and used for feedback analysis.
[2011] The server analyzes the collected evaluation and sentiment data and generates feedback on the quality of the answer and the appropriateness of the question. This trains the generative AI and improves the accuracy of the automated response. By training the generative AI model, if the user asks the same question again, the automated response will be able to immediately provide an appropriate answer.
[2012] Furthermore, when a user inputs a question, the server suggests appropriate keywords and categories, and provides an automated response using generative AI. For example, if a user inputs "Mother's Day," the server will display keywords such as "present," "gift," and "recommended," and the generative AI will provide a basic answer.
[2013] As a specific example, if a user types a question such as "Do you have any recommendations for a gift for Mother's Day?" and emotion analysis detects that the user is "confused," the server will notify a gift expert and provide an answer such as "Please take a look at these recommended products."
[2014] Examples of prompts include the following text format:
[2015] "A user entered the following question: 'Do you have any gift recommendations for Mother's Day?'"
[2016] "How can we analyze the context and sentiment of a question to make relevant product recommendations?"
[2017] "User emotion: troubled, Keywords: Mother's Day, gift"
[2018] This enables efficient, fast, and high-quality exchange of questions and answers while taking into account the user's feelings, thereby improving the user experience on online shopping sites.
[2019] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[2020] Step 1:
[2021] The user uses a terminal to enter a question and send it to the server.
[2022] Input: The user enters a question into the question input form on the device.
[2023] Example: A user types, "Do you have any recommendations for Mother's Day gifts?" and clicks the sub...
Claims
1. A means for a user to input a question using a terminal and transmit the question to a server; a means for the server to receive the query and store it in a database; A means for the server to extract keywords from the question and assign categories; a means for the server to select appropriate experts based on the keywords and categories and send notifications; A means for the expert to send answers from the terminal to the server; a means for the server to store the answers in a database and receive ratings; A means to analyze the feedback collected by the server and train the generative AI; The server suggests keywords to users when they write their questions and provides automated responses by a generative AI. A system including:
2. 2. The system of claim 1, wherein the server comprises means for storing answer ratings from users and generating feedback for improving the quality of the answers based on the ratings.
3. The system of claim 1, wherein the server comprises means for training the generating AI using question and answer content, ratings, and feedback data.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A