system
A system processes user input through natural language processing to provide objective advice, addressing subjective influences and enabling informed decision-making.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
Individuals often make important life choices influenced by subjective opinions from relatives and acquaintances, leading to inappropriate decisions and regrets due to a lack of objective and reliable information.
A system that allows users to input their problems and concerns in text format, which is processed by a natural language processing engine to identify key topics and issues, categorized for information retrieval from a knowledge base, and generates feedback in an understandable format.
Enables users to receive objective advice based on general knowledge, independent of family or acquaintances, facilitating informed decision-making.
Smart Images

Figure 2026064630000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance as a response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] When people make important choices in life, they are often subject to subjective influences from their relatives and acquaintances, and it may be difficult to make a judgment based on objective and reliable information. As a result, the possibility of making inappropriate choices and having regrets increases. This invention aims to provide a system that enables a user to obtain objective advice based on general knowledge in important situations such as career counseling and second opinions on medical treatment.
Means for Solving the Problems
[0005] To solve this problem, the present invention provides the following means: a means for the user to input their problems and concerns in text format using a terminal; a means for receiving input data from the terminal and performing a format check; a means for analyzing the input text data using a natural language processing engine and extracting the main topics and problems; a means for determining the appropriate category based on the extracted topics and problems; a means for searching and obtaining information related to the relevant category from a knowledge base; a means for generating feedback in a format that is easy for the user to understand based on the obtained information; and a means for sending the generated feedback to the terminal. Through these means, the user can obtain reliable advice based on general knowledge without being influenced by family or acquaintances.
[0006] A "user" is the individual who uses the system and inputs their own problems and concerns.
[0007] A "terminal" is a device used by a user to transmit input data to a server, and includes devices such as computers and smartphones.
[0008] A "server" is a central processing unit that receives data sent from users and performs processing such as analysis, information retrieval, and feedback generation.
[0009] "Input data" refers to text-based information that a user sends to the system via their device.
[0010] A "natural language processing engine" is a software module that analyzes input data and extracts key topics and issues.
[0011] A "topic" is the main interest or theme in the data entered by the user.
[0012] A "problem" is a problem or issue that a user is facing or seeking a solution to.
[0013] A "category" is a group or classification area used to classify data based on extracted topics or issues.
[0014] A "knowledge base" is a database that stores information related to a topic or issue.
[0015] "Feedback" refers to the advice and information that a system generates in response to user input.
[0016] "Format checking" is the process of verifying whether the input data meets the specified format and conditions.
[0017] "Searching" is the process of retrieving relevant information from a knowledge base.
[0018] "Formatting" is the process of transforming acquired information into a form that is easy for users to understand. [Brief explanation of the drawing]
[0019] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8]It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Mode for Carrying Out the Invention
[0020] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described according to the accompanying drawings.
[0021] First, the language used in the following description will be described.
[0022] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be one arithmetic unit or a combination of a plurality of arithmetic units. Also, the processor may be one type of arithmetic unit or a combination of a plurality of types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0023] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0024] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0025] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0026] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0027] [First Embodiment]
[0028] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0029] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0030] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0031] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0032] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0033] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0034] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0035] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0036] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0037] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0038] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0039] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0040] This invention is a system in which a user inputs the challenges and concerns they are facing using a terminal, and appropriate advice is provided based on that data. A specific embodiment of this system is described below, with the program's processing explained in natural language.
[0041] First step: User input
[0042] First, users use their devices to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after graduating from high school or get a job." This input data is then sent to the server via the device.
[0043] Server accepts input data and performs format checks.
[0044] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0045] Data analysis using natural language processing
[0046] The server processes the received input data through a natural language processing engine to extract the main topics and issues of the text. The natural language processing engine identifies keywords and key contexts based on the user's input, clarifying the topics. For example, in the aforementioned input, keywords such as "further education," "employment," and "worrying" are extracted.
[0047] Category identification
[0048] The server determines the appropriate category based on the analyzed keywords and topics. In this case, it is classified under the category "Career Counseling." The determined category serves as a reference for the next information retrieval step.
[0049] Information retrieval from a knowledge base
[0050] The server searches its knowledge base for information related to the identified category. The knowledge base is a database that stores information related to topics and issues. For example, information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment" may be searched.
[0051] Feedback generation
[0052] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. The generated feedback includes specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen specialized knowledge, while getting a job provides experience as an immediate asset."
[0053] Sending and displaying feedback
[0054] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained.
[0055] Specific example
[0056] 1. Examples of career counseling
[0057] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[0058] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[0059] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[0060] The server generates feedback tailored to the user's situation and sends it to the terminal.
[0061] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[0062] This system provides support for users to make the right choices based on objective information, and in particular, it allows them to obtain reliable advice without being influenced by family or acquaintances.
[0063] The following describes the processing flow.
[0064] Step 1: User Input Reception
[0065] Users use a terminal to input their problems or concerns in text format. For example, a student might input, "I'm struggling to decide whether to go to college after high school or get a job." The terminal then sends this input data to the server.
[0066] Step 2: Acceptance and formatting of input data
[0067] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. For example, it checks whether the input fields are blank and whether they conform to the required format (text format).
[0068] Step 3: Data analysis using natural language processing
[0069] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0070] Step 4: Category Identification
[0071] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0072] Step 5: Information retrieval from the knowledge base
[0073] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[0074] Step 6: Generating Feedback
[0075] The server generates feedback in a format that is easy for the user to understand, based on the information it has acquired. The feedback is formatted to include specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with experience as an immediate asset."
[0076] Step 7: Submit Feedback
[0077] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[0078] Step 8: Displaying Feedback
[0079] The device displays feedback received from the server to the user. The user can review the feedback on the device screen and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that makes it easy for the user to compare them.
[0080] By following these steps, users can obtain reliable advice based on general knowledge, without being influenced by family or acquaintances.
[0081] (Example 1)
[0082] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0083] In modern society, it is often difficult for users to obtain accurate advice regarding their own challenges and concerns. In particular, it is difficult to quickly obtain reliable information when making important decisions about career paths and other related matters. There is a need for a system that can solve this problem and provide users with objective and reliable advice.
[0084] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0085] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting key topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from the base data; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to review the received feedback and re-evaluate their decision. This enables the server to provide quick and accurate advice on the problems and concerns the user faces and to make decisions based on reliable information.
[0086] A "terminal" is an information processing device used by a user, and includes desktop computers, notebooks, smartphones, and tablet devices.
[0087] "Input data" refers to text-based information that users send to the system via their devices, including the user's problems and concerns.
[0088] "Format checking" is a basic data validation method performed by a server on incoming input data, verifying that it does not contain blank or incomplete data.
[0089] A "natural language processing engine" is an information processing system that analyzes input text data and extracts key topics and issues, and includes software libraries and cloud services.
[0090] "Key topics and issues" refer to the main matters and problems that users are facing, as extracted by the natural language processing engine.
[0091] A "category" is a classification determined based on the analyzed topic or issue, and it indicates a specific area of information related to the user's problem.
[0092] "Underlying data" refers to the information sources that a server uses to search for and retrieve information, and includes databases and knowledge bases.
[0093] "Feedback" refers to advice or answers that a server generates and provides to a user based on the information it has acquired.
[0094] A "generative AI model" is a machine learning model that takes text data as input and performs natural language processing, and is used to provide appropriate advice to users.
[0095] A "prompt" is a series of text instructions input to a generative AI model, containing clear questions or instructions that enable the model to generate appropriate advice.
[0096] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. A detailed embodiment of this system is described below.
[0097] Hardware and software to be used
[0098] This system includes the following hardware and software:
[0099] 1. Terminal: An information processing device used by a user. Specific examples include desktop computers, notebooks, smartphones, and tablet devices.
[0100] 2. Server: A central processing unit that receives, analyzes, and generates / transmits input data.
[0101] 3. Natural Language Processing Engine: Use analysis software such as Google Cloud Natural Language API.
[0102] 4. Database: A data management system that has the function of storing information as a knowledge base. This includes SQL databases and NoSQL databases.
[0103] System Overview
[0104] First, the user uses their device to input their concerns or problems in text format. The user types their concerns or problems into the text input field on the device and clicks the submit button. This input data is sent to the server via the device.
[0105] The server receives input data sent from the terminal and performs a format check for spaces and incompleteness. If there are no format issues, the natural language processing engine analyzes the input data and extracts key topics and issues. Specifically, it uses the Google Cloud Natural Language API to analyze the text and extract key keywords and context. For example, if a user inputs "I'm wondering whether I should go to college after high school or get a job," keywords such as "college," "job," and "worried" will be extracted.
[0106] Next, the server determines the appropriate category based on the extracted keywords and topics. For example, the category "career counseling" is determined from the keywords mentioned above. This is done using a predefined category mapping table.
[0107] Based on the identified category, the server searches and retrieves relevant information from its knowledge base. Specifically, it uses SQL queries and NoSQL search APIs to obtain information on "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[0108] Based on the information obtained, the server generates feedback in a format that is easy for the user to understand. Using a template engine (e.g., Handlebars.js), it creates advice tailored to the user's specific situation. For example, it might generate specific feedback such as, "Going to university offers opportunities to deepen specialized knowledge, while getting a job provides experience as an immediate asset."
[0109] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user, allowing the user to re-evaluate their decision based on the feedback.
[0110] Specific example
[0111] 1. Examples of career counseling
[0112] The user (student) enters "I'm struggling to decide whether to go to college after high school graduation or get a job" into the text input field on their device and clicks the send button.
[0113] The server receives the HTTP request and retrieves the input text as POST data. It performs a format check, and if there are no problems, it proceeds to the next step.
[0114] The server uses the Google Cloud Natural Language API to extract keywords such as "further education," "job hunting," and "worrying" from the input text.
[0115] The server categorizes the extracted keywords into the "Career Counseling" category.
[0116] The server executes an SQL query to retrieve information from the knowledge base regarding the "advantages and disadvantages of further education" and the "advantages and disadvantages of employment."
[0117] The server uses Handlebars.js to generate specific advice based on the user's situation, using templates.
[0118] The server sends the feedback generated as an HTTP response to the terminal. The terminal receives the response and displays the feedback to the user.
[0119] For example, here are some examples of prompt statements to input into a generative AI model:
[0120] "Regarding my career path after high school graduation, which is better: going to college or getting a job?"
[0121] This system helps users make the right choices based on objective information, and in particular, allows them to obtain reliable advice without being influenced by family or acquaintances.
[0122] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0123] Step 1:
[0124] Users use their devices to input their problems and concerns in text format. Specifically, users enter information into the text input field on their devices and click the submit button. The input data is sent to the server as an HTTP request. The input is text data related to the user's problems and concerns. The output is input data for format checking.
[0125] Step 2:
[0126] The server receives input data sent from the terminal. Specifically, the server receives an HTTP request and retrieves text as POST data. It performs a format check to ensure the data is not blank or incomplete. The input is the input data for format checking. The output is clean data for natural language processing.
[0127] Step 3:
[0128] The server sends the received input data to a natural language processing engine for analysis. Specifically, it uses tools such as the Google Cloud Natural Language API to analyze text data and extract key topics and issues. The input is clean data. The output consists of extracted keywords and key contexts.
[0129] Step 4:
[0130] The server determines the appropriate category based on the analyzed keywords and topics. Specifically, it refers to a predefined category mapping table and classifies the analysis results into the corresponding category. The input consists of extracted keywords and main context. The output is the determined category.
[0131] Step 5:
[0132] The server searches its knowledge base for relevant information based on the identified category. Specifically, it uses SQL queries or NoSQL search APIs to retrieve information related to the category from the database. The input is the identified category. The output is the retrieved relevant information.
[0133] Step 6:
[0134] The server generates feedback in a user-friendly format based on the acquired information. Specifically, it uses a template engine (e.g., Handlebars.js) to create specific advice tailored to the user's situation. The input is the acquired relevant information. The output is the generated feedback.
[0135] Step 7:
[0136] The server sends the generated feedback to the terminal. Specifically, it returns the feedback data to the terminal as an HTTP response. The input is the generated feedback. The output is the feedback data sent to the terminal.
[0137] Step 8:
[0138] The terminal displays feedback received from the server to the user. Specifically, the feedback is displayed on the terminal's screen, allowing the user to review it. The input is the feedback data sent from the server. The output is the feedback displayed to the user.
[0139] (Application Example 1)
[0140] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0141] In physical stores, customers often have limited means of obtaining quick and appropriate advice when they encounter difficulties in choosing products or services. This is especially true when staff are absent or the store is crowded, making it difficult for customers to obtain relevant information. This can lead to decreased customer satisfaction and reduced purchasing intent. To address these issues, a system is needed that can provide quick and appropriate feedback even in physical stores.
[0142] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0143] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to input questions through the terminal in a physical store and for the server to recommend appropriate products and services based on those questions. As a result, customers can receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[0144] A "terminal" is an electronic device used by users to input tasks or concerns.
[0145] "Format checking" is the process of verifying that the input data received from the terminal is free of blanks or incomplete parts.
[0146] A "natural language processing engine" is software that analyzes input text data and extracts key topics and issues.
[0147] A "topic" is a subject or theme extracted from the user's input data.
[0148] A "category" is a type of information that is classified based on the extracted topic or issue.
[0149] A "knowledge base" is a database that stores related information.
[0150] "Feedback" refers to advice and information for users that is generated based on the information acquired.
[0151] A "physical store" is a commercial facility that exists in a specific location.
[0152] "Products" refer to all goods and services sold in physical stores.
[0153] A "question" is something that a user enters via their device to seek advice or information.
[0154] In order to implement this invention, it is necessary to build a system in which users input their problems and concerns in text format using a terminal, and appropriate advice is provided based on that input data.
[0155] First, users use a tablet or smart glasses installed in the store to input specific questions in text format. For example, they might input something like, "I want to know the characteristics of the product" or "I'm struggling to decide whether to go to college or get a job." The user's input data is then sent from the device to the server.
[0156] The submitted data undergoes a format check on the server side to verify that there are no blank spaces or incomplete data. If there are no formatting issues, the input data is then analyzed using a natural language processing engine. Natural language processing software such as spaCy or TextBlob is used for this process. Key topics and issues are extracted from the analyzed data.
[0157] Based on the extracted topics and issues, the server determines the appropriate category. The determined category serves as a guide for searching for relevant information from the knowledge base database. The knowledge base stores information such as "advantages and disadvantages of attending university" and "information on product characteristics."
[0158] Once the information is retrieved, the server then generates feedback in a user-friendly format. This feedback includes specific advice and information tailored to the user's situation. The generated feedback is sent to the terminal and displayed to the user.
[0159] The hardware used includes tablet devices, smart glasses, and servers, and the system functions through the coordination of these components. The software used includes natural language processing engines and data analysis tools such as Python, spaCy, and TextBlob.
[0160] For example, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." Other examples of prompts include questions like "Who would be a good gift for this product?" or "What are the differences between product A and product B?"
[0161] This system will enable users to receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[0162] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0163] Step 1:
[0164] Users enter their problems and concerns in text format.
[0165] Users use a tablet or smart glasses installed in the store to input specific questions or concerns in text format. For example, "What are the characteristics of this product?" or "I'm struggling to decide whether to go to college or get a job." The entered data is sent from the device to the server.
[0166] Input: Text data of user questions or concerns
[0167] Output: Text data sent to the server
[0168] Step 2:
[0169] Perform a format check on the input data.
[0170] The server checks the format of the text data received from the terminal. It checks for blank spaces and incomplete sections, and if there are any problems, it returns feedback requesting the user to re-enter the data.
[0171] Input: Text data sent from the device
[0172] Output: Format-checked text data or error messages
[0173] Step 3:
[0174] The input data is analyzed using a natural language processing engine.
[0175] The server processes the format-checked text data into a natural language processing engine (such as spaCy or TextBlob) to extract key topics and issues. Specifically, it automatically identifies keywords and important phrases from the text data.
[0176] Input: Format-checked text data
[0177] Output: List of extracted topics and keywords
[0178] Step 4:
[0179] Identify categories based on topics and issues.
[0180] The server determines the appropriate category based on the topics and keywords extracted by the natural language processing engine. For example, if the topic is related to "further education" or "employment," the "career counseling" category will be selected.
[0181] Input: List of extracted topics and keywords
[0182] Output: Identified Category
[0183] Step 5:
[0184] Retrieve information by searching for it in a knowledge base.
[0185] The server searches its knowledge base for information related to the identified category. This knowledge base contains pre-stored information; for example, data on "the advantages and disadvantages of attending university" is retrieved.
[0186] Input: Identified Category
[0187] Output: Searched information
[0188] Step 6:
[0189] Generate feedback in a format that is easy for users to understand.
[0190] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. For example, it might include specific advice such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset."
[0191] Input: Searched information
[0192] Output: Generated feedback
[0193] Step 7:
[0194] Send the generated feedback to the device and display it.
[0195] The server sends the generated feedback to the terminal and displays it to the user. The user then uses this feedback to obtain answers to their questions and concerns.
[0196] Input: Generated feedback
[0197] Output: Feedback displayed on the device
[0198] As a concrete example of its operation, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." It can also handle other prompts such as "Who would be a good gift for this product?" or "What are the differences between Product A and Product B?"
[0199] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0200] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate even more accurate feedback. A specific embodiment of this system is described below, with the program processing explained in natural language.
[0201] First step: User input
[0202] Users use their devices to input their worries and concerns in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." This input data is then sent to the server via the device.
[0203] Server accepts input data and performs format checks.
[0204] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0205] Data analysis using natural language processing
[0206] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0207] Category identification
[0208] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0209] Emotion recognition by an emotion engine
[0210] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0211] Information retrieval from a knowledge base
[0212] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, and retrieves information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[0213] Feedback generation
[0214] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0215] Sending and displaying feedback
[0216] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. In addition, appropriate encouragement and warnings are displayed based on emotion recognition.
[0217] Specific example
[0218] 1. Examples of career counseling
[0219] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[0220] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[0221] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[0222] The server uses an emotion engine to recognize the user's emotions and identifies negative emotions from "worried."
[0223] The server generates feedback tailored to the user's situation and emotions, and sends it to the device.
[0224] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[0225] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0226] The following describes the processing flow.
[0227] Step 1: User Input Reception
[0228] Users use a terminal to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." The terminal then sends this input data to the server.
[0229] Step 2: Acceptance and formatting of input data
[0230] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0231] Step 3: Data analysis using natural language processing
[0232] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0233] Step 4: Category Identification
[0234] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0235] Step 5: Emotion recognition by the emotion engine
[0236] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0237] Step 6: Information retrieval from the knowledge base
[0238] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[0239] Step 7: Generating Feedback
[0240] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0241] Step 8: Submitting Feedback
[0242] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[0243] Step 9: Displaying Feedback
[0244] The device displays feedback received from the server to the user. The user can review this feedback on the device and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[0245] Through these steps, users can receive personalized advice that leverages emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0246] (Example 2)
[0247] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0248] In conventional consultation systems, it was difficult to provide personalized advice that took users' emotions into consideration when they entered their problems and concerns. In particular, there was a lack of technology to appropriately recognize users' emotions and generate feedback based on them, so the information and advice users received were general and not adapted to their individual situations. As a result, users had difficulty receiving specific advice that resonated with their emotions, and lacked the support they needed when making important decisions.
[0249] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0250] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for recognizing emotions from the user's input data using an emotion recognition engine; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and recognized emotions; and means for transmitting the generated feedback to the terminal. This makes it possible for users to easily obtain personalized advice that takes their emotions into consideration.
[0251] A "user" is an individual who uses the system to input their own worries and problems and receives feedback.
[0252] A "terminal" is an electronic device used by a user to send input data in text format.
[0253] "Input data" refers to text information about problems or issues that users send to the system via their devices.
[0254] A "server" is a central processing unit that receives input data and performs format checks, data analysis, sentiment recognition, information retrieval, and feedback generation.
[0255] "Format checking" is the process of verifying that the input data is in the correct format, does not contain any blank fields, and does not contain any inappropriate characters.
[0256] A "natural language processing engine" is artificial intelligence-based software that analyzes input text data and extracts key topics and issues.
[0257] "Key topics and issues" refer to important keywords and themes extracted from user input data.
[0258] A "category" is a broad classification used to classify and organize information based on the extracted topics or issues.
[0259] An "emotion recognition engine" is software that analyzes user input data and recognizes emotions such as positive, negative, and neutral.
[0260] A "knowledge base" is a database that stores information on various topics and issues.
[0261] "Feedback" refers to advice or answers generated by a server based on information it has gathered and the user's emotions.
[0262] "Generating feedback" is the process of organizing information in a way that is easy for users to understand, based on the information and emotions they have gathered.
[0263] "To acquire" means to find and retrieve the necessary information from a knowledge base.
[0264] "Sending" means passing the generated feedback to the user's device.
[0265] This invention is a system in which users input their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion recognition engine that recognizes the user's emotions, it is possible to generate even more accurate feedback.
[0266] First, the user uses their device to input their worries or problems in text format. This input data is then sent to the server via the device. Specifically, the user enters text into an input box and clicks the "Send" button. For example, they might enter, "I'm worried about whether I should go to college after graduating from high school or get a job."
[0267] Input data sent from the terminal is received by the server and format checks are performed. The server verifies that the input data is in the correct format, free of blanks, and does not contain inappropriate characters. After this check is complete, the server processes the input data with a natural language processing engine (e.g., BERT, GPT-4®). The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0268] Next, the server determines the appropriate category based on the extracted keywords and context. For example, it might be categorized as "career counseling." Furthermore, the server applies an emotion recognition engine (e.g., IBM Watson® Tone Analyzer, Sentiment Neuron, etc.) to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0269] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment."
[0270] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0271] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[0272] Example of a prompt:
[0273] "I'm struggling to decide whether to go to college after high school or get a job. Could you please give me some advice?"
[0274] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0275] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0276] Step 1:
[0277] The user uses their device to input their concerns or problems in text format. Specifically, the user enters text into the input box and clicks the "Send" button.
[0278] Input: Text data from the user (e.g., "I'm struggling to decide whether to go to college after high school or get a job.")
[0279] Output: Text data sent from the terminal
[0280] Step 2:
[0281] The server accepts the input data sent from the terminal. The server performs a format check to see if the received data contains blanks or inappropriate strings. When the format check is completed, it proceeds to the next step. As a specific operation, the server checks the length and format of the text.
[0282] Input: Text data sent from the terminal
[0283] Output: Text data after format check
[0284] Step 3:
[0285] The server applies the text data after format check to the natural language processing engine. The natural language processing engine analyzes the text data and extracts the main topics and issues. For example, it identifies keywords such as "further education", "employment", "being troubled", etc. As a specific operation, the server passes the text data to the natural language processing engine and receives the analysis result.
[0286] Input: Text data after format check
[0287] Output: Extracted keywords and topics
[0288] Step 4:
[0289] Based on the extracted keywords and context, the server determines the appropriate category. For example, it classifies it into the category of "career counseling". As a specific operation, based on the keywords obtained from the natural language processing engine, the server applies a category determination algorithm to determine the category.
[0290] Input: Extracted keywords and topics
[0291] Output: Determined category
[0292] Step 5:
[0293] The server applies an emotion recognition engine to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried." In practice, the server passes the text data to the emotion recognition engine and receives the result of the emotion recognition.
[0294] Input: Format-checked text data
[0295] Output: Recognized emotions
[0296] Step 6:
[0297] The server searches and retrieves information from the knowledge base that corresponds to the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment." Specifically, the server uses keywords corresponding to the category to search for relevant information from the knowledge base.
[0298] Input: Identified Category
[0299] Output: Related information obtained
[0300] Step 7:
[0301] Based on the information acquired by the server and the emotions recognized, feedback is generated in a format that is easy for the user to understand. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include content such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, let's consider your interests and aptitudes before making a decision." Specifically, the server combines the acquired information and the results of emotion recognition to construct the feedback text using a template-based feedback generation engine.
[0302] Input: Obtained related information and recognized emotions
[0303] Output: Generated feedback text
[0304] Step 8:
[0305] The server sends the feedback generated by it to the terminal. The terminal displays the received feedback to the user. As a specific operation, the server sends the generated feedback to the terminal, and the terminal displays it on the user interface. The user can check this feedback on the terminal and re-evaluate their own decisions based on the obtained information. For example, the advantages and disadvantages of "entering university" and "finding a job" are listed and presented in a form that is easy for the user to compare. Also, based on emotion recognition, appropriate encouragement and warnings are displayed as well.
[0306] Input: Generated feedback text
[0307] Output: Feedback displayed on the user interface
[0308] (Application Example 2)
[0309] Next, Application Example 2 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart device 14 is referred to as the "terminal".
[0310] Conventional food delivery services cannot improve user satisfaction because they make recommendations without considering the user's emotions and health status. Also, it is difficult to provide personalized feedback, and users often have trouble making appropriate food choices when seeking relaxation or health promotion.
[0311] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following respective means.
[0312] In this invention, the server includes means for the user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting major topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for analyzing emotions based on the user's input data and calculating an emotion score; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and emotion score; and means for transmitting the generated feedback to the terminal. This enables personalized meal recommendations tailored to the user's emotions and health condition.
[0313] "A means for users to input their own problems and concerns in text format using a terminal" refers to a means by which users provide text data to a terminal via an input device.
[0314] "Means for receiving input data from a terminal and performing format checks" refers to means for verifying the data received by the terminal and confirming the consistency of its format and content.
[0315] "A means of analyzing input text data using a natural language processing engine and extracting key topics and issues" refers to a method of identifying important information and problems from input data using text analysis technology.
[0316] "Means for determining appropriate categories based on extracted topics and issues" refers to methods for determining relevant categories based on analyzed information.
[0317] "A means of analyzing emotions based on user input data and calculating an emotion score" refers to a method of evaluating the emotional state from the user's text data and quantifying its intensity and type.
[0318] "Means of searching for and obtaining information related to the relevant category from a knowledge base" refers to methods of finding and retrieving relevant data from a database.
[0319] "Means for generating user-friendly feedback based on acquired information and sentiment scores" refers to methods for creating advice and suggestions in a user-friendly format based on collected data and sentiment evaluations.
[0320] "Means for sending generated feedback to a terminal" refers to means of sending the created advice and information to a device used by the user.
[0321] This embodiment of the invention introduces a system that provides personalized meal recommendations using sentiment analysis to users of a food delivery service.
[0322] Hardware and software configuration
[0323] This system uses the following hardware and software:
[0324] Hardware: User devices such as smartphones and tablets
[0325] Software: Python, TextBlob (sentiment analysis library), API communication library (requests)
[0326] The server performs the following main tasks:
[0327] 1. User Input: Users use a terminal to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." The input data is sent to the server via the terminal.
[0328] 2. Data reception and format check: The server receives the input data sent from the terminal and performs a format check. If there are no format issues, the process proceeds to the next step.
[0329] 3. Natural Language Processing and Sentiment Analysis: The server processes the received input data using a natural language processing engine to extract key topics and issues. It also uses a sentiment analysis library to evaluate the user's emotions from the input data and calculate an emotion score. For example, it recognizes a negative emotion from the text expression "I'm extremely stressed."
[0330] 4. Category Identification and Information Retrieval: Based on the extracted topics and sentiment scores, the server identifies the appropriate category. For example, the "Healthy Eating" category might be identified. Based on this information, the server searches the knowledge base for and retrieves information related to that category.
[0331] 5. Feedback Generation: Based on the acquired information and sentiment score, feedback is generated in a format that is easy for the user to understand. For example, specific suggestions such as, "Considering your current state, we recommend salads and smoothies as healthy meals to reduce stress" are generated.
[0332] 6. Sending Feedback: The generated feedback is sent from the server to the terminal and displayed to the user.
[0333] Specific example
[0334] 1. Example input: I'm super stressed out today. I want to eat something light and healthy.
[0335] 2. Sentiment Analysis: Sentiment Score: -0.5 (Negative)
[0336] 3. Keyword extraction: stress, health
[0337] 4. Category Identification: Healthy Eating
[0338] 5. Feedback generation: Considering your current condition, we recommend salads and smoothies as healthy meals to reduce stress.
[0339] This will enable personalized meal recommendations tailored to the user's emotions and health condition.
[0340] Example of a prompt
[0341] User input: I'm super stressed out today. I want to eat something light and healthy.
[0342] Output: Sentiment score: -0.5, Keywords: Stress, Healthy, Recommended foods: Salad, Smoothie
[0343] This invention realizes a system in which a terminal and a server cooperate to provide more personalized advice to the user.
[0344] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0345] Step 1:
[0346] The user uses their device to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." This input data is then sent from the user's device to the server.
[0347] Input: Text data of the user's problems and concerns
[0348] Output: Text data sent to the server
[0349] Step 2:
[0350] The server receives the input data sent from the terminal. The server then performs a format check on this data to ensure that it is free of blanks and formatting issues. Data that passes the format check proceeds to the next processing step.
[0351] Input: Text data received from the terminal
[0352] Output: Text data that passed the format check.
[0353] Step 3:
[0354] The server analyzes input data that has passed format checks using a natural language processing engine. Specifically, it extracts key topics and issues from text data using libraries such as TextBlob. It also performs sentiment analysis and calculates sentiment scores using TextBlob. For example, it recognizes negative emotions from expressions like "I'm so stressed out."
[0355] Input: Text data that has passed format checks.
[0356] Output: Extracted topics and issues, and sentiment scores.
[0357] Step 4:
[0358] The server determines the appropriate category based on the extracted topics and sentiment scores. For example, it might identify the "healthy eating" category. This category information is then used in the next information retrieval step.
[0359] Input: Extracted topics and issues, and sentiment scores
[0360] Output: Identified Category
[0361] Step 5:
[0362] The server searches its knowledge base for and retrieves information related to the identified category. For example, it retrieves information related to "healthy eating" from the database. This information is then used in the next feedback generation step.
[0363] Input: Identified Category
[0364] Output: Information related to the category
[0365] Step 6:
[0366] The server generates feedback in a user-friendly format based on the acquired information and sentiment score. For example, it might generate specific suggestions such as, "We recommend salads and smoothies as healthy foods to reduce stress."
[0367] Input: Acquired information and sentiment score
[0368] Output: Generated feedback
[0369] Step 7:
[0370] The server sends the generated feedback to the terminal. The user terminal receives this feedback and displays it to the user. The user can then make a decision based on this feedback.
[0371] Input: Generated feedback
[0372] Output: Feedback sent to the user terminal
[0373] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0374] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0375] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0376] [Second Embodiment]
[0377] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0378] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0379] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0380] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0381] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0382] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0383] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0384] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0385] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0386] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0387] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0388] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0389] This invention is a system in which a user inputs the challenges and concerns they are facing using a terminal, and appropriate advice is provided based on that data. A specific embodiment of this system is described below, with the program's processing explained in natural language.
[0390] First step: User input
[0391] First, users use their devices to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." This input data is then sent to the server via the device.
[0392] Server accepts input data and performs format checks.
[0393] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0394] Data analysis using natural language processing
[0395] The server processes the received input data through a natural language processing engine to extract the main topics and issues of the text. The natural language processing engine identifies keywords and key contexts based on the user's input, clarifying the topics. For example, in the aforementioned input, keywords such as "further education," "employment," and "worrying" are extracted.
[0396] Category identification
[0397] The server determines the appropriate category based on the analyzed keywords and topics. In this case, it is classified under the category "Career Counseling." The determined category serves as a reference for the next information retrieval step.
[0398] Information retrieval from a knowledge base
[0399] The server searches its knowledge base for information related to the identified category. The knowledge base is a database that stores information related to topics and issues. For example, information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment" may be searched.
[0400] Feedback generation
[0401] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. The generated feedback includes specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with experience as an immediate asset."
[0402] Sending and displaying feedback
[0403] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained.
[0404] Specific example
[0405] 1. Examples of career counseling
[0406] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[0407] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[0408] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[0409] The server generates feedback tailored to the user's situation and sends it to the terminal.
[0410] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[0411] This system provides support for users to make the right choices based on objective information, and in particular, it allows them to obtain reliable advice without being influenced by family or acquaintances.
[0412] The following describes the processing flow.
[0413] Step 1: User Input Reception
[0414] Users use a terminal to input their problems or concerns in text format. For example, a student might input, "I'm struggling to decide whether to go to college after high school or get a job." The terminal then sends this input data to the server.
[0415] Step 2: Acceptance and formatting of input data
[0416] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. For example, it checks whether the input fields are blank and whether they conform to the required format (text format).
[0417] Step 3: Data analysis using natural language processing
[0418] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0419] Step 4: Category Identification
[0420] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0421] Step 5: Information retrieval from the knowledge base
[0422] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[0423] Step 6: Generating Feedback
[0424] The server generates feedback in a format that is easy for the user to understand, based on the information it has acquired. The feedback is formatted to include specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with experience as an immediate asset."
[0425] Step 7: Submitting Feedback
[0426] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[0427] Step 8: Displaying Feedback
[0428] The device displays feedback received from the server to the user. The user can review the feedback on the device screen and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that makes it easy for the user to compare them.
[0429] By following these steps, users can obtain reliable advice based on general knowledge, without being influenced by family or acquaintances.
[0430] (Example 1)
[0431] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0432] In modern society, it is often difficult for users to obtain accurate advice regarding their own challenges and concerns. In particular, it is difficult to quickly obtain reliable information when making important decisions about career paths and other related matters. There is a need for a system that can solve this problem and provide users with objective and reliable advice.
[0433] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0434] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting key topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from the base data; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to review the received feedback and re-evaluate their decision. This enables the server to provide quick and accurate advice on the problems and concerns the user faces and to make decisions based on reliable information.
[0435] A "terminal" is an information processing device used by a user, and includes desktop computers, notebooks, smartphones, and tablet devices.
[0436] "Input data" refers to text-based information that users send to the system via their devices, including the user's problems and concerns.
[0437] "Format checking" is a basic data validation method performed by a server on incoming input data, verifying that it does not contain blank or incomplete data.
[0438] A "natural language processing engine" is an information processing system that analyzes input text data and extracts key topics and issues, and includes software libraries and cloud services.
[0439] "Key topics and issues" refer to the main matters and problems that users are facing, as extracted by the natural language processing engine.
[0440] A "category" is a classification determined based on the analyzed topic or issue, and it indicates a specific area of information related to the user's problem.
[0441] "Underlying data" refers to the information sources that a server uses to search for and retrieve information, and includes databases and knowledge bases.
[0442] "Feedback" refers to advice or answers that a server generates and provides to a user based on the information it has acquired.
[0443] A "generative AI model" is a machine learning model that takes text data as input and performs natural language processing, and is used to provide appropriate advice to users.
[0444] A "prompt" is a series of text instructions input to a generative AI model, containing clear questions or instructions that enable the model to generate appropriate advice.
[0445] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. A detailed embodiment of this system is described below.
[0446] Hardware and software to be used
[0447] This system includes the following hardware and software:
[0448] 1. Terminal: An information processing device used by a user. Specific examples include desktop computers, notebooks, smartphones, and tablet devices.
[0449] 2. Server: A central processing unit that receives, analyzes, and generates / transmits input data.
[0450] 3. Natural Language Processing Engine: Use analysis software such as Google Cloud Natural Language API.
[0451] 4. Database: A data management system that has the function of storing information as a knowledge base. This includes SQL databases and NoSQL databases.
[0452] System Overview
[0453] First, the user uses their device to input their concerns or problems in text format. The user types their concerns or problems into the text input field on the device and clicks the submit button. This input data is sent to the server via the device.
[0454] The server receives input data sent from the terminal and performs a format check for spaces and incompleteness. If there are no format issues, the natural language processing engine analyzes the input data and extracts key topics and issues. Specifically, it uses the Google Cloud Natural Language API to analyze the text and extract key keywords and context. For example, if a user inputs "I'm wondering whether I should go to college after high school or get a job," keywords such as "college," "job," and "worried" will be extracted.
[0455] Next, the server determines the appropriate category based on the extracted keywords and topics. For example, the category "career counseling" is determined from the keywords mentioned above. This is done using a predefined category mapping table.
[0456] Based on the identified category, the server searches and retrieves relevant information from its knowledge base. Specifically, it uses SQL queries and NoSQL search APIs to obtain information on "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[0457] Based on the information obtained, the server generates feedback in a format that is easy for the user to understand. Using a template engine (e.g., Handlebars.js), it creates advice tailored to the user's specific situation. For example, it might generate specific feedback such as, "Going to university offers opportunities to deepen specialized knowledge, while getting a job provides experience as an immediate asset."
[0458] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user, allowing the user to re-evaluate their decision based on the feedback.
[0459] Specific example
[0460] 1. Examples of career counseling
[0461] The user (student) enters "I'm struggling to decide whether to go to college after high school graduation or get a job" into the text input field on their device and clicks the send button.
[0462] The server receives the HTTP request and retrieves the input text as POST data. It performs a format check, and if there are no problems, it proceeds to the next step.
[0463] The server uses the Google Cloud Natural Language API to extract keywords such as "further education," "job hunting," and "worrying" from the input text.
[0464] The server categorizes the extracted keywords into the "Career Counseling" category.
[0465] The server executes an SQL query to retrieve information from the knowledge base regarding the "advantages and disadvantages of further education" and the "advantages and disadvantages of employment."
[0466] The server uses Handlebars.js to generate specific advice based on the user's situation, using templates.
[0467] The server sends the feedback generated as an HTTP response to the terminal. The terminal receives the response and displays the feedback to the user.
[0468] For example, here are some examples of prompt statements to input into a generative AI model:
[0469] "Regarding my career path after high school graduation, which is better: going to college or getting a job?"
[0470] This system helps users make the right choices based on objective information, and in particular, allows them to obtain reliable advice without being influenced by family or acquaintances.
[0471] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0472] Step 1:
[0473] Users use their devices to input their problems and concerns in text format. Specifically, users enter information into the text input field on their devices and click the submit button. The input data is sent to the server as an HTTP request. The input is text data related to the user's problems and concerns. The output is input data for format checking.
[0474] Step 2:
[0475] The server receives input data sent from the terminal. Specifically, the server receives an HTTP request and retrieves text as POST data. It performs a format check to ensure the data is not blank or incomplete. The input is the input data for format checking. The output is clean data for natural language processing.
[0476] Step 3:
[0477] The server sends the received input data to a natural language processing engine for analysis. Specifically, it uses tools such as the Google Cloud Natural Language API to analyze text data and extract key topics and issues. The input is clean data. The output consists of extracted keywords and key contexts.
[0478] Step 4:
[0479] The server determines the appropriate category based on the analyzed keywords and topics. Specifically, it refers to a predefined category mapping table and classifies the analysis results into the corresponding category. The input consists of extracted keywords and main context. The output is the determined category.
[0480] Step 5:
[0481] The server searches its knowledge base for relevant information based on the identified category. Specifically, it uses SQL queries or NoSQL search APIs to retrieve information related to the category from the database. The input is the identified category. The output is the retrieved relevant information.
[0482] Step 6:
[0483] The server generates feedback in a user-friendly format based on the acquired information. Specifically, it uses a template engine (e.g., Handlebars.js) to create specific advice tailored to the user's situation. The input is the acquired relevant information. The output is the generated feedback.
[0484] Step 7:
[0485] The server sends the generated feedback to the terminal. Specifically, it returns the feedback data to the terminal as an HTTP response. The input is the generated feedback. The output is the feedback data sent to the terminal.
[0486] Step 8:
[0487] The terminal displays feedback received from the server to the user. Specifically, the feedback is displayed on the terminal's screen, allowing the user to review it. The input is the feedback data sent from the server. The output is the feedback displayed to the user.
[0488] (Application Example 1)
[0489] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0490] In physical stores, customers often have limited means of obtaining quick and appropriate advice when they encounter difficulties in choosing products or services. This is especially true when staff are absent or the store is crowded, making it difficult for customers to obtain relevant information. This can lead to decreased customer satisfaction and reduced purchasing intent. To address these issues, a system is needed that can provide quick and appropriate feedback even in physical stores.
[0491] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0492] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to input questions through the terminal in a physical store and recommend appropriate products and services based on those questions. As a result, customers can receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[0493] A "terminal" is an electronic device used by users to input tasks or concerns.
[0494] "Format checking" is the process of verifying that the input data received from the terminal is free of blanks or incomplete parts.
[0495] A "natural language processing engine" is software that analyzes input text data and extracts key topics and issues.
[0496] A "topic" is a subject or theme extracted from the user's input data.
[0497] A "category" is a type of information that is classified based on the extracted topic or issue.
[0498] A "knowledge base" is a database that stores related information.
[0499] "Feedback" refers to advice and information for users that is generated based on the information acquired.
[0500] A "physical store" is a commercial facility that exists in a specific location.
[0501] "Products" refer to all goods and services sold in physical stores.
[0502] A "question" is something that a user enters via their device to seek advice or information.
[0503] In order to implement this invention, it is necessary to build a system in which users input their problems and concerns in text format using a terminal, and appropriate advice is provided based on that input data.
[0504] First, users use a tablet or smart glasses installed in the store to input specific questions in text format. For example, they might input something like, "I want to know the characteristics of the product" or "I'm struggling to decide whether to go to college or get a job." The user's input data is then sent from the device to the server.
[0505] The submitted data undergoes a format check on the server side to verify that there are no blank spaces or incomplete data. If there are no formatting issues, the input data is then analyzed using a natural language processing engine. Natural language processing software such as spaCy or TextBlob is used for this process. Key topics and issues are extracted from the analyzed data.
[0506] Based on the extracted topics and issues, the server determines the appropriate category. The determined category serves as a guide for searching for relevant information from the knowledge base database. The knowledge base stores information such as "advantages and disadvantages of attending university" and "information on product characteristics."
[0507] Once the information is retrieved, the server then generates feedback in a user-friendly format. This feedback includes specific advice and information tailored to the user's situation. The generated feedback is sent to the terminal and displayed to the user.
[0508] The hardware used includes tablet devices, smart glasses, and servers, and the system functions through the coordination of these components. The software used includes natural language processing engines and data analysis tools such as Python, spaCy, and TextBlob.
[0509] For example, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." Other examples of prompts include questions like "Who would be a good gift for this product?" or "What are the differences between product A and product B?"
[0510] This system will enable users to receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[0511] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0512] Step 1:
[0513] Users enter their problems and concerns in text format.
[0514] Users use a tablet or smart glasses installed in the store to input specific questions or concerns in text format. For example, "What are the characteristics of this product?" or "I'm struggling to decide whether to go to college or get a job." The entered data is sent from the device to the server.
[0515] Input: Text data of user questions or concerns
[0516] Output: Text data sent to the server
[0517] Step 2:
[0518] Perform a format check on the input data.
[0519] The server checks the format of the text data received from the terminal. It checks for blank spaces and incomplete sections, and if there are any problems, it returns feedback requesting the user to re-enter the data.
[0520] Input: Text data sent from the device
[0521] Output: Format-checked text data or error messages
[0522] Step 3:
[0523] The input data is analyzed using a natural language processing engine.
[0524] The server processes the format-checked text data into a natural language processing engine (such as spaCy or TextBlob) to extract key topics and issues. Specifically, it automatically identifies keywords and important phrases from the text data.
[0525] Input: Format-checked text data
[0526] Output: List of extracted topics and keywords
[0527] Step 4:
[0528] Identify categories based on topics and issues.
[0529] The server determines the appropriate category based on the topics and keywords extracted by the natural language processing engine. For example, if the topic is related to "further education" or "employment," the "career counseling" category will be selected.
[0530] Input: List of extracted topics and keywords
[0531] Output: Identified Category
[0532] Step 5:
[0533] Retrieve information by searching for it in a knowledge base.
[0534] The server searches its knowledge base for information related to the identified category. This knowledge base contains pre-stored information; for example, data on "the advantages and disadvantages of attending university" is retrieved.
[0535] Input: Identified Category
[0536] Output: Searched information
[0537] Step 6:
[0538] Generate feedback in a format that is easy for users to understand.
[0539] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. For example, it might include specific advice such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset."
[0540] Input: Searched information
[0541] Output: Generated feedback
[0542] Step 7:
[0543] Send the generated feedback to the device and display it.
[0544] The server sends the generated feedback to the terminal and displays it to the user. The user then uses this feedback to obtain answers to their questions and concerns.
[0545] Input: Generated feedback
[0546] Output: Feedback displayed on the device
[0547] As a concrete example of its operation, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." It can also handle other prompts such as "Who would be a good gift for this product?" or "What are the differences between Product A and Product B?"
[0548] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0549] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate even more accurate feedback. A specific embodiment of this system is described below, with the program processing explained in natural language.
[0550] First step: User input
[0551] Users use their devices to input their worries and concerns in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." This input data is then sent to the server via the device.
[0552] Server accepts input data and performs format checks.
[0553] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0554] Data analysis using natural language processing
[0555] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0556] Category identification
[0557] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0558] Emotion recognition by an emotion engine
[0559] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0560] Information retrieval from a knowledge base
[0561] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, and retrieves information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[0562] Feedback generation
[0563] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0564] Sending and displaying feedback
[0565] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. In addition, appropriate encouragement and warnings are displayed based on emotion recognition.
[0566] Specific example
[0567] 1. Examples of career counseling
[0568] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[0569] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[0570] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[0571] The server uses an emotion engine to recognize the user's emotions and identifies negative emotions from "worried."
[0572] The server generates feedback tailored to the user's situation and emotions, and sends it to the device.
[0573] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[0574] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0575] The following describes the processing flow.
[0576] Step 1: User Input Reception
[0577] Users use a terminal to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." The terminal then sends this input data to the server.
[0578] Step 2: Acceptance and formatting of input data
[0579] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0580] Step 3: Data analysis using natural language processing
[0581] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0582] Step 4: Category Identification
[0583] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0584] Step 5: Emotion recognition by the emotion engine
[0585] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0586] Step 6: Information Retrieval from Knowledge Base
[0587] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[0588] Step 7: Generating Feedback
[0589] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0590] Step 8: Submitting Feedback
[0591] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[0592] Step 9: Displaying Feedback
[0593] The device displays feedback received from the server to the user. The user can review this feedback on the device and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[0594] Through these steps, users can receive personalized advice that leverages emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0595] (Example 2)
[0596] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0597] In conventional consultation systems, it was difficult to provide personalized advice that took users' emotions into consideration when they entered their problems and concerns. In particular, there was a lack of technology to appropriately recognize users' emotions and generate feedback based on them, so the information and advice users received were general and not adapted to their individual situations. As a result, users had difficulty receiving specific advice that resonated with their emotions, and lacked the support they needed when making important decisions.
[0598] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0599] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for recognizing emotions from the user's input data using an emotion recognition engine; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and recognized emotions; and means for transmitting the generated feedback to the terminal. This makes it possible for users to easily obtain personalized advice that takes their emotions into consideration.
[0600] A "user" is an individual who uses the system to input their own worries and problems and receives feedback.
[0601] A "terminal" is an electronic device used by a user to send input data in text format.
[0602] "Input data" refers to text information about problems or issues that users send to the system via their devices.
[0603] A "server" is a central processing unit that receives input data and performs format checks, data analysis, sentiment recognition, information retrieval, and feedback generation.
[0604] "Format checking" is the process of verifying that the input data is in the correct format, does not contain any blank fields, and does not contain any inappropriate characters.
[0605] A "natural language processing engine" is artificial intelligence-based software that analyzes input text data and extracts key topics and issues.
[0606] "Key topics and issues" refer to important keywords and themes extracted from user input data.
[0607] A "category" is a broad classification used to classify and organize information based on the extracted topics or issues.
[0608] An "emotion recognition engine" is software that analyzes user input data and recognizes emotions such as positive, negative, and neutral.
[0609] A "knowledge base" is a database that stores information on various topics and issues.
[0610] "Feedback" refers to advice or answers generated by a server based on information it has gathered and the user's emotions.
[0611] "Generating feedback" is the process of organizing information in a way that is easy for users to understand, based on the information and emotions they have gathered.
[0612] "To acquire" means to find and retrieve the necessary information from a knowledge base.
[0613] "Sending" means passing the generated feedback to the user's device.
[0614] This invention is a system in which users input their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion recognition engine that recognizes the user's emotions, it is possible to generate even more accurate feedback.
[0615] First, the user uses their device to input their worries or problems in text format. This input data is then sent to the server via the device. Specifically, the user enters text into an input box and clicks the "Send" button. For example, they might enter, "I'm worried about whether I should go to college after graduating from high school or get a job."
[0616] Input data sent from the terminal is received by the server and format checks are performed. The server verifies that the input data is in the correct format, free of blanks, and does not contain inappropriate characters. After this check is complete, the server processes the input data with a natural language processing engine (e.g., BERT, GPT-4). The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it might identify keywords such as "further education," "employment," and "worrying."
[0617] Next, the server determines the appropriate category based on the extracted keywords and context. For example, it might be categorized as "career counseling." Furthermore, the server applies an emotion recognition engine (e.g., IBM Watson Tone Analyzer, Sentiment Neuron, etc.) to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0618] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment."
[0619] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0620] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[0621] Example of a prompt:
[0622] "I'm struggling to decide whether to go to college after high school or get a job. Could you please give me some advice?"
[0623] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0624] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0625] Step 1:
[0626] The user uses their device to input their concerns or problems in text format. Specifically, the user enters text into the input box and clicks the "Send" button.
[0627] Input: Text data from the user (e.g., "I'm struggling to decide whether to go to college after high school or get a job.")
[0628] Output: Text data sent from the terminal
[0629] Step 2:
[0630] The server receives the input data sent from the terminal. The server performs a format check to ensure that the received data does not contain spaces or inappropriate characters. Once the format check is complete, it proceeds to the next step. Specifically, the server checks the length and format of the text.
[0631] Input: Text data sent from the device
[0632] Output: Format-checked text data
[0633] Step 3:
[0634] The server processes format-checked text data into a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying." In concrete terms, the server passes the text data to the natural language processing engine and receives the analysis results.
[0635] Input: Format-checked text data
[0636] Output: Extracted keywords and topics
[0637] Step 4:
[0638] The server determines the appropriate category based on the extracted keywords and context. For example, it might be classified under the category "career counseling." Specifically, the server applies a category determination algorithm to the keywords obtained from the natural language processing engine to determine the category.
[0639] Input: Extracted keywords or topics
[0640] Output: Identified Category
[0641] Step 5:
[0642] The server applies an emotion recognition engine to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried." In practice, the server passes the text data to the emotion recognition engine and receives the result of the emotion recognition.
[0643] Input: Format-checked text data
[0644] Output: Recognized emotions
[0645] Step 6:
[0646] The server searches and retrieves information from the knowledge base that corresponds to the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment." Specifically, the server uses keywords corresponding to the category to search for relevant information from the knowledge base.
[0647] Input: Identified Category
[0648] Output: Related information obtained
[0649] Step 7:
[0650] Based on the information acquired by the server and the emotions recognized, feedback is generated in a format that is easy for the user to understand. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include content such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, let's consider your interests and aptitudes before making a decision." Specifically, the server combines the acquired information and the results of emotion recognition to construct the feedback text using a template-based feedback generation engine.
[0651] Input: Acquired relevant information and perceived emotions
[0652] Output: Generated feedback text
[0653] Step 8:
[0654] The server generates feedback and sends it to the terminal. The terminal then displays the received feedback to the user. Specifically, the server generates feedback and sends it to the terminal, which then displays it on the user interface. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. In addition, appropriate encouragement and warnings are displayed based on emotion recognition.
[0655] Input: Generated feedback text
[0656] Output: Feedback displayed on the user interface
[0657] (Application Example 2)
[0658] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0659] Traditional food delivery services fail to improve user satisfaction because they make recommendations without considering the user's emotions or health condition. Furthermore, providing personalized feedback is difficult, often leaving users struggling to make appropriate meal choices when seeking relaxation or health benefits.
[0660] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0661] In this invention, the server includes means for the user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting major topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for analyzing emotions based on the user's input data and calculating an emotion score; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and emotion score; and means for transmitting the generated feedback to the terminal. This enables personalized meal recommendations tailored to the user's emotions and health condition.
[0662] "A means for users to input their own problems and concerns in text format using a terminal" refers to a means by which users provide text data to a terminal via an input device.
[0663] "Means for receiving input data from a terminal and performing format checks" refers to means for verifying the data received by the terminal and confirming the consistency of its format and content.
[0664] "A means of analyzing input text data using a natural language processing engine and extracting key topics and issues" refers to a method of identifying important information and problems from input data using text analysis technology.
[0665] "Means for determining appropriate categories based on extracted topics and issues" refers to methods for determining relevant categories based on analyzed information.
[0666] "A means of analyzing emotions based on user input data and calculating an emotion score" refers to a method of evaluating the emotional state from the user's text data and quantifying its intensity and type.
[0667] "Means of searching for and obtaining information related to the relevant category from a knowledge base" refers to methods of finding and retrieving relevant data from a database.
[0668] "Means for generating user-friendly feedback based on acquired information and sentiment scores" refers to methods for creating advice and suggestions in a user-friendly format based on collected data and sentiment evaluations.
[0669] "Means for sending generated feedback to a terminal" refers to means of sending the created advice and information to a device used by the user.
[0670] This embodiment of the invention introduces a system that provides personalized meal recommendations using sentiment analysis to users of a food delivery service.
[0671] Hardware and software configuration
[0672] This system uses the following hardware and software:
[0673] Hardware: User devices such as smartphones and tablets
[0674] Software: Python, TextBlob (sentiment analysis library), API communication library (requests)
[0675] The server performs the following main tasks:
[0676] 1. User Input: Users use a terminal to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." The input data is sent to the server via the terminal.
[0677] 2. Data reception and format check: The server receives the input data sent from the terminal and performs a format check. If there are no format issues, the process proceeds to the next step.
[0678] 3. Natural Language Processing and Sentiment Analysis: The server processes the received input data using a natural language processing engine to extract key topics and issues. It also uses a sentiment analysis library to evaluate the user's emotions from the input data and calculate an emotion score. For example, it recognizes a negative emotion from the text expression "I'm extremely stressed."
[0679] 4. Category Identification and Information Retrieval: Based on the extracted topics and sentiment scores, the server identifies the appropriate category. For example, the "Healthy Eating" category might be identified. Based on this information, the server searches the knowledge base for and retrieves information related to that category.
[0680] 5. Feedback Generation: Based on the acquired information and sentiment score, feedback is generated in a format that is easy for the user to understand. For example, specific suggestions such as, "Considering your current state, we recommend salads and smoothies as healthy meals to reduce stress" are generated.
[0681] 6. Sending Feedback: The generated feedback is sent from the server to the terminal and displayed to the user.
[0682] Specific example
[0683] 1. Example input: I'm super stressed out today. I want to eat something light and healthy.
[0684] 2. Sentiment Analysis: Sentiment Score: -0.5 (Negative)
[0685] 3. Keyword extraction: stress, health
[0686] 4. Category Identification: Healthy Eating
[0687] 5. Feedback generation: Considering your current condition, we recommend salads and smoothies as healthy meals to reduce stress.
[0688] This will enable personalized meal recommendations tailored to the user's emotions and health condition.
[0689] Example of a prompt
[0690] User input: I'm super stressed out today. I want to eat something light and healthy.
[0691] Output: Sentiment score: -0.5, Keywords: Stress, Healthy, Recommended foods: Salad, Smoothie
[0692] This invention realizes a system in which a terminal and a server cooperate to provide more personalized advice to the user.
[0693] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0694] Step 1:
[0695] The user uses their device to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." This input data is then sent from the user's device to the server.
[0696] Input: Text data of the user's problems and concerns
[0697] Output: Text data sent to the server
[0698] Step 2:
[0699] The server receives the input data sent from the terminal. The server then performs a format check on this data to ensure that it is free of blanks and formatting issues. Data that passes the format check proceeds to the next processing step.
[0700] Input: Text data received from the terminal
[0701] Output: Text data that passed the format check.
[0702] Step 3:
[0703] The server analyzes input data that has passed format checks using a natural language processing engine. Specifically, it extracts key topics and issues from text data using libraries such as TextBlob. It also performs sentiment analysis and calculates sentiment scores using TextBlob. For example, it recognizes negative emotions from expressions like "I'm so stressed out."
[0704] Input: Text data that has passed format checks.
[0705] Output: Extracted topics and issues, and sentiment scores.
[0706] Step 4:
[0707] The server determines the appropriate category based on the extracted topics and sentiment scores. For example, it might identify the "healthy eating" category. This category information is then used in the next information retrieval step.
[0708] Input: Extracted topics and issues, and sentiment scores
[0709] Output: Identified Category
[0710] Step 5:
[0711] The server searches its knowledge base for and retrieves information related to the identified category. For example, it retrieves information related to "healthy eating" from the database. This information is then used in the next feedback generation step.
[0712] Input: Identified Category
[0713] Output: Information related to the category
[0714] Step 6:
[0715] The server generates feedback in a user-friendly format based on the acquired information and sentiment score. For example, it might generate specific suggestions such as, "We recommend salads and smoothies as healthy foods to reduce stress."
[0716] Input: Acquired information and sentiment score
[0717] Output: Generated feedback
[0718] Step 7:
[0719] The server sends the generated feedback to the terminal. The user terminal receives this feedback and displays it to the user. The user can then make a decision based on this feedback.
[0720] Input: Generated feedback
[0721] Output: Feedback sent to the user terminal
[0722] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0723] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0724] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0725] [Third Embodiment]
[0726] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0727] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0728] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0729] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0730] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0731] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0732] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0733] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0734] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0735] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0736] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0737] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0738] This invention is a system in which a user inputs the challenges and concerns they are facing using a terminal, and appropriate advice is provided based on that data. A specific embodiment of this system is described below, with the program's processing explained in natural language.
[0739] First step: User input
[0740] First, users use their devices to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." This input data is then sent to the server via the device.
[0741] Server accepts input data and performs format checks.
[0742] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0743] Data analysis using natural language processing
[0744] The server processes the received input data through a natural language processing engine to extract the main topics and issues of the text. The natural language processing engine identifies keywords and key contexts based on the user's input, clarifying the topics. For example, in the aforementioned input, keywords such as "further education," "employment," and "worrying" are extracted.
[0745] Category identification
[0746] The server determines the appropriate category based on the analyzed keywords and topics. In this case, it is classified under the category "Career Counseling." The determined category serves as a reference for the next information retrieval step.
[0747] Information retrieval from a knowledge base
[0748] The server searches its knowledge base for information related to the identified category. The knowledge base is a database that stores information related to topics and issues. For example, information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment" may be searched.
[0749] Feedback generation
[0750] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. The generated feedback includes specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with experience as an immediate asset."
[0751] Sending and displaying feedback
[0752] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained.
[0753] Specific example
[0754] 1. Examples of career counseling
[0755] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[0756] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[0757] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[0758] The server generates feedback tailored to the user's situation and sends it to the terminal.
[0759] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[0760] This system provides support for users to make the right choices based on objective information, and in particular, it allows them to obtain reliable advice without being influenced by family or acquaintances.
[0761] The following describes the processing flow.
[0762] Step 1: User Input Reception
[0763] Users use a terminal to input their problems or concerns in text format. For example, a student might input, "I'm struggling to decide whether to go to college after high school or get a job." The terminal then sends this input data to the server.
[0764] Step 2: Acceptance and formatting of input data
[0765] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. For example, it checks whether the input fields are blank and whether they conform to the required format (text format).
[0766] Step 3: Data analysis using natural language processing
[0767] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0768] Step 4: Category Identification
[0769] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0770] Step 5: Information retrieval from the knowledge base
[0771] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[0772] Step 6: Generating Feedback
[0773] The server generates feedback in a format that is easy for the user to understand, based on the information it has acquired. The feedback is formatted to include specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with experience as an immediate asset."
[0774] Step 7: Submitting Feedback
[0775] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[0776] Step 8: Displaying Feedback
[0777] The device displays feedback received from the server to the user. The user can review the feedback on the device screen and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that makes it easy for the user to compare them.
[0778] By following these steps, users can obtain reliable advice based on general knowledge, without being influenced by family or acquaintances.
[0779] (Example 1)
[0780] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0781] In modern society, it is often difficult for users to obtain accurate advice regarding their own challenges and concerns. In particular, it is difficult to quickly obtain reliable information when making important decisions about career paths and other related matters. There is a need for a system that can solve this problem and provide users with objective and reliable advice.
[0782] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0783] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting key topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from the base data; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to review the received feedback and re-evaluate their decision. This enables the server to provide quick and accurate advice on the problems and concerns the user faces and to make decisions based on reliable information.
[0784] A "terminal" is an information processing device used by a user, and includes desktop computers, notebooks, smartphones, and tablet devices.
[0785] "Input data" refers to text-based information that users send to the system via their devices, including the user's problems and concerns.
[0786] "Format checking" is a basic data validation method performed by a server on incoming input data, verifying that it does not contain blank or incomplete data.
[0787] A "natural language processing engine" is an information processing system that analyzes input text data and extracts key topics and issues, and includes software libraries and cloud services.
[0788] "Key topics and issues" refer to the main matters and problems that users are facing, as extracted by the natural language processing engine.
[0789] A "category" is a classification determined based on the analyzed topic or issue, and it indicates a specific area of information related to the user's problem.
[0790] "Underlying data" refers to the information sources that a server uses to search for and retrieve information, and includes databases and knowledge bases.
[0791] "Feedback" refers to advice or answers that a server generates and provides to a user based on the information it has acquired.
[0792] A "generative AI model" is a machine learning model that takes text data as input and performs natural language processing, and is used to provide appropriate advice to users.
[0793] A "prompt" is a series of text instructions input to a generative AI model, containing clear questions or instructions that enable the model to generate appropriate advice.
[0794] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. A detailed embodiment of this system is described below.
[0795] Hardware and software to be used
[0796] This system includes the following hardware and software:
[0797] 1. Terminal: An information processing device used by a user. Specific examples include desktop computers, notebooks, smartphones, and tablet devices.
[0798] 2. Server: A central processing unit that receives, analyzes, and generates / transmits input data.
[0799] 3. Natural Language Processing Engine: Use analysis software such as Google Cloud Natural Language API.
[0800] 4. Database: A data management system that has the function of storing information as a knowledge base. This includes SQL databases and NoSQL databases.
[0801] System Overview
[0802] First, the user uses their device to input their concerns or problems in text format. The user types their concerns or problems into the text input field on the device and clicks the submit button. This input data is sent to the server via the device.
[0803] The server receives input data sent from the terminal and performs a format check for spaces and incompleteness. If there are no format issues, the natural language processing engine analyzes the input data and extracts key topics and issues. Specifically, it uses the Google Cloud Natural Language API to analyze the text and extract key keywords and context. For example, if a user inputs "I'm wondering whether I should go to college after high school or get a job," keywords such as "college," "job," and "worried" will be extracted.
[0804] Next, the server determines the appropriate category based on the extracted keywords and topics. For example, the category "career counseling" is determined from the keywords mentioned above. This is done using a predefined category mapping table.
[0805] Based on the identified category, the server searches and retrieves relevant information from its knowledge base. Specifically, it uses SQL queries and NoSQL search APIs to obtain information on "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[0806] Based on the information obtained, the server generates feedback in a format that is easy for the user to understand. Using a template engine (e.g., Handlebars.js), it creates advice tailored to the user's specific situation. For example, it might generate specific feedback such as, "Going to university offers opportunities to deepen specialized knowledge, while getting a job provides experience as an immediate asset."
[0807] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user, allowing the user to re-evaluate their decision based on the feedback.
[0808] Specific example
[0809] 1. Examples of career counseling
[0810] The user (student) enters "I'm struggling to decide whether to go to college after high school graduation or get a job" into the text input field on their device and clicks the send button.
[0811] The server receives the HTTP request and retrieves the input text as POST data. It performs a format check, and if there are no problems, it proceeds to the next step.
[0812] The server uses the Google Cloud Natural Language API to extract keywords such as "further education," "job hunting," and "worrying" from the input text.
[0813] The server categorizes the extracted keywords into the "Career Counseling" category.
[0814] The server executes an SQL query to retrieve information from the knowledge base regarding the "advantages and disadvantages of further education" and the "advantages and disadvantages of employment."
[0815] The server uses Handlebars.js to generate specific advice based on the user's situation, using templates.
[0816] The server sends the feedback generated as an HTTP response to the terminal. The terminal receives the response and displays the feedback to the user.
[0817] For example, here are some examples of prompt statements to input into a generative AI model:
[0818] "Regarding my career path after high school graduation, which is better: going to college or getting a job?"
[0819] This system helps users make the right choices based on objective information, and in particular, allows them to obtain reliable advice without being influenced by family or acquaintances.
[0820] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0821] Step 1:
[0822] Users use their devices to input their problems and concerns in text format. Specifically, users enter information into the text input field on their devices and click the submit button. The input data is sent to the server as an HTTP request. The input is text data related to the user's problems and concerns. The output is input data for format checking.
[0823] Step 2:
[0824] The server receives input data sent from the terminal. Specifically, the server receives an HTTP request and retrieves text as POST data. It performs a format check to ensure the data is not blank or incomplete. The input is the input data for format checking. The output is clean data for natural language processing.
[0825] Step 3:
[0826] The server sends the received input data to a natural language processing engine for analysis. Specifically, it uses tools such as the Google Cloud Natural Language API to analyze text data and extract key topics and issues. The input is clean data. The output consists of extracted keywords and key contexts.
[0827] Step 4:
[0828] The server determines the appropriate category based on the analyzed keywords and topics. Specifically, it refers to a predefined category mapping table and classifies the analysis results into the corresponding category. The input consists of extracted keywords and main context. The output is the determined category.
[0829] Step 5:
[0830] The server searches its knowledge base for relevant information based on the identified category. Specifically, it uses SQL queries or NoSQL search APIs to retrieve information related to the category from the database. The input is the identified category. The output is the retrieved relevant information.
[0831] Step 6:
[0832] The server generates feedback in a user-friendly format based on the acquired information. Specifically, it uses a template engine (e.g., Handlebars.js) to create specific advice tailored to the user's situation. The input is the acquired relevant information. The output is the generated feedback.
[0833] Step 7:
[0834] The server sends the generated feedback to the terminal. Specifically, it returns the feedback data to the terminal as an HTTP response. The input is the generated feedback. The output is the feedback data sent to the terminal.
[0835] Step 8:
[0836] The terminal displays feedback received from the server to the user. Specifically, the feedback is displayed on the terminal's screen, allowing the user to review it. The input is the feedback data sent from the server. The output is the feedback displayed to the user.
[0837] (Application Example 1)
[0838] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0839] In physical stores, customers often have limited means of obtaining quick and appropriate advice when they encounter difficulties in choosing products or services. This is especially true when staff are absent or the store is crowded, making it difficult for customers to obtain relevant information. This can lead to decreased customer satisfaction and reduced purchasing intent. To address these issues, a system is needed that can provide quick and appropriate feedback even in physical stores.
[0840] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0841] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to input questions through the terminal in a physical store and recommend appropriate products and services based on those questions. As a result, customers can receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[0842] A "terminal" is an electronic device used by users to input tasks or concerns.
[0843] "Format checking" is the process of verifying that the input data received from the terminal is free of blanks or incomplete parts.
[0844] A "natural language processing engine" is software that analyzes input text data and extracts key topics and issues.
[0845] A "topic" is a subject or theme extracted from the user's input data.
[0846] A "category" is a type of information that is classified based on the extracted topic or issue.
[0847] A "knowledge base" is a database that stores related information.
[0848] "Feedback" refers to advice and information for users that is generated based on the information acquired.
[0849] A "physical store" is a commercial facility that exists in a specific location.
[0850] "Products" refer to all goods and services sold in physical stores.
[0851] A "question" is something that a user enters via their device to seek advice or information.
[0852] In order to implement this invention, it is necessary to build a system in which users input their problems and concerns in text format using a terminal, and appropriate advice is provided based on that input data.
[0853] First, users use a tablet or smart glasses installed in the store to input specific questions in text format. For example, they might input something like, "I want to know the characteristics of the product" or "I'm struggling to decide whether to go to college or get a job." The user's input data is then sent from the device to the server.
[0854] The submitted data undergoes a format check on the server side to verify that there are no blank spaces or incomplete data. If there are no formatting issues, the input data is then analyzed using a natural language processing engine. Natural language processing software such as spaCy or TextBlob is used for this process. Key topics and issues are extracted from the analyzed data.
[0855] Based on the extracted topics and issues, the server determines the appropriate category. The determined category serves as a guide for searching for relevant information from the knowledge base database. The knowledge base stores information such as "advantages and disadvantages of attending university" and "information on product characteristics."
[0856] Once the information is retrieved, the server then generates feedback in a user-friendly format. This feedback includes specific advice and information tailored to the user's situation. The generated feedback is sent to the terminal and displayed to the user.
[0857] The hardware used includes tablet devices, smart glasses, and servers, and the system functions through the coordination of these components. The software used includes natural language processing engines and data analysis tools such as Python, spaCy, and TextBlob.
[0858] For example, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." Other examples of prompts include questions like "Who would be a good gift for this product?" or "What are the differences between product A and product B?"
[0859] This system will enable users to receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[0860] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0861] Step 1:
[0862] Users enter their problems and concerns in text format.
[0863] Users use a tablet or smart glasses installed in the store to input specific questions or concerns in text format. For example, "What are the characteristics of this product?" or "I'm struggling to decide whether to go to college or get a job." The entered data is sent from the device to the server.
[0864] Input: Text data of user questions or concerns
[0865] Output: Text data sent to the server
[0866] Step 2:
[0867] Perform a format check on the input data.
[0868] The server checks the format of the text data received from the terminal. It checks for blank spaces and incomplete sections, and if there are any problems, it returns feedback requesting the user to re-enter the data.
[0869] Input: Text data sent from the device
[0870] Output: Format-checked text data or error messages
[0871] Step 3:
[0872] The input data is analyzed using a natural language processing engine.
[0873] The server processes the format-checked text data into a natural language processing engine (such as spaCy or TextBlob) to extract key topics and issues. Specifically, it automatically identifies keywords and important phrases from the text data.
[0874] Input: Format-checked text data
[0875] Output: List of extracted topics and keywords
[0876] Step 4:
[0877] Identify categories based on topics and issues.
[0878] The server determines the appropriate category based on the topics and keywords extracted by the natural language processing engine. For example, if the topic is related to "further education" or "employment," the "career counseling" category will be selected.
[0879] Input: List of extracted topics and keywords
[0880] Output: Identified Category
[0881] Step 5:
[0882] Retrieve information by searching for it in a knowledge base.
[0883] The server searches its knowledge base for information related to the identified category. This knowledge base contains pre-stored information; for example, data on "the advantages and disadvantages of attending university" is retrieved.
[0884] Input: Identified Category
[0885] Output: Searched information
[0886] Step 6:
[0887] Generate feedback in a format that is easy for users to understand.
[0888] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. For example, it might include specific advice such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset."
[0889] Input: Searched information
[0890] Output: Generated feedback
[0891] Step 7:
[0892] Send the generated feedback to the device and display it.
[0893] The server sends the generated feedback to the terminal and displays it to the user. The user then uses this feedback to obtain answers to their questions and concerns.
[0894] Input: Generated feedback
[0895] Output: Feedback displayed on the device
[0896] As a concrete example of its operation, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." It can also handle other prompts such as "Who would be a good gift for this product?" or "What are the differences between Product A and Product B?"
[0897] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0898] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate even more accurate feedback. A specific embodiment of this system is described below, with the program processing explained in natural language.
[0899] First step: User input
[0900] Users use their devices to input their worries and concerns in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." This input data is then sent to the server via the device.
[0901] Server accepts input data and performs format checks.
[0902] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0903] Data analysis using natural language processing
[0904] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0905] Category identification
[0906] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0907] Emotion recognition by an emotion engine
[0908] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0909] Information retrieval from a knowledge base
[0910] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, and retrieves information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[0911] Feedback generation
[0912] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0913] Sending and displaying feedback
[0914] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. In addition, appropriate encouragement and warnings are displayed based on emotion recognition.
[0915] Specific example
[0916] 1. Examples of career counseling
[0917] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[0918] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[0919] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[0920] The server uses an emotion engine to recognize the user's emotions and identifies negative emotions from "worried."
[0921] The server generates feedback tailored to the user's situation and emotions, and sends it to the device.
[0922] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[0923] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0924] The following describes the processing flow.
[0925] Step 1: User Input Reception
[0926] Users use a terminal to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." The terminal then sends this input data to the server.
[0927] Step 2: Acceptance and formatting of input data
[0928] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[0929] Step 3: Data analysis using natural language processing
[0930] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[0931] Step 4: Category Identification
[0932] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[0933] Step 5: Emotion recognition by the emotion engine
[0934] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0935] Step 6: Information Retrieval from Knowledge Base
[0936] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[0937] Step 7: Generating Feedback
[0938] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0939] Step 8: Submitting Feedback
[0940] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[0941] Step 9: Displaying Feedback
[0942] The device displays feedback received from the server to the user. The user can review this feedback on the device and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[0943] Through these steps, users can receive personalized advice that leverages emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0944] (Example 2)
[0945] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0946] In conventional consultation systems, it was difficult to provide personalized advice that took users' emotions into consideration when they entered their problems and concerns. In particular, there was a lack of technology to appropriately recognize users' emotions and generate feedback based on them, so the information and advice users received were general and not adapted to their individual situations. As a result, users had difficulty receiving specific advice that resonated with their emotions, and lacked the support they needed when making important decisions.
[0947] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0948] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for recognizing emotions from the user's input data using an emotion recognition engine; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and recognized emotions; and means for transmitting the generated feedback to the terminal. This makes it possible for users to easily obtain personalized advice that takes their emotions into consideration.
[0949] A "user" is an individual who uses the system to input their own worries and problems and receives feedback.
[0950] A "terminal" is an electronic device used by a user to send input data in text format.
[0951] "Input data" refers to text information about problems or issues that users send to the system via their devices.
[0952] A "server" is a central processing unit that receives input data and performs format checks, data analysis, sentiment recognition, information retrieval, and feedback generation.
[0953] "Format checking" is the process of verifying that the input data is in the correct format, does not contain any blank fields, and does not contain any inappropriate characters.
[0954] A "natural language processing engine" is artificial intelligence-based software that analyzes input text data and extracts key topics and issues.
[0955] "Key topics and issues" refer to important keywords and themes extracted from user input data.
[0956] A "category" is a broad classification used to classify and organize information based on the extracted topics or issues.
[0957] An "emotion recognition engine" is software that analyzes user input data and recognizes emotions such as positive, negative, and neutral.
[0958] A "knowledge base" is a database that stores information on various topics and issues.
[0959] "Feedback" refers to advice or answers generated by a server based on information it has gathered and the user's emotions.
[0960] "Generating feedback" is the process of organizing information in a way that is easy for users to understand, based on the information and emotions they have gathered.
[0961] "To acquire" means to find and retrieve the necessary information from a knowledge base.
[0962] "Sending" means passing the generated feedback to the user's device.
[0963] This invention is a system in which users input their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion recognition engine that recognizes the user's emotions, it is possible to generate even more accurate feedback.
[0964] First, the user uses their device to input their worries or problems in text format. This input data is then sent to the server via the device. Specifically, the user enters text into an input box and clicks the "Send" button. For example, they might enter, "I'm worried about whether I should go to college after graduating from high school or get a job."
[0965] Input data sent from the terminal is received by the server and format checks are performed. The server verifies that the input data is in the correct format, free of blanks, and does not contain inappropriate characters. After this check is complete, the server processes the input data with a natural language processing engine (e.g., BERT, GPT-4). The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it might identify keywords such as "further education," "employment," and "worrying."
[0966] Next, the server determines the appropriate category based on the extracted keywords and context. For example, it might be categorized as "career counseling." Furthermore, the server applies an emotion recognition engine (e.g., IBM Watson Tone Analyzer, Sentiment Neuron, etc.) to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[0967] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment."
[0968] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[0969] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[0970] Example of a prompt:
[0971] "I'm struggling to decide whether to go to college after high school or get a job. Could you please give me some advice?"
[0972] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[0973] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0974] Step 1:
[0975] The user uses their device to input their concerns or problems in text format. Specifically, the user enters text into the input box and clicks the "Send" button.
[0976] Input: Text data from the user (e.g., "I'm struggling to decide whether to go to college after high school or get a job.")
[0977] Output: Text data sent from the terminal
[0978] Step 2:
[0979] The server receives the input data sent from the terminal. The server performs a format check to ensure that the received data does not contain spaces or inappropriate characters. Once the format check is complete, it proceeds to the next step. Specifically, the server checks the length and format of the text.
[0980] Input: Text data sent from the device
[0981] Output: Format-checked text data
[0982] Step 3:
[0983] The server processes format-checked text data into a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying." In concrete terms, the server passes the text data to the natural language processing engine and receives the analysis results.
[0984] Input: Format-checked text data
[0985] Output: Extracted keywords and topics
[0986] Step 4:
[0987] The server determines the appropriate category based on the extracted keywords and context. For example, it might be classified under the category "career counseling." Specifically, the server applies a category determination algorithm to the keywords obtained from the natural language processing engine to determine the category.
[0988] Input: Extracted keywords or topics
[0989] Output: Identified Category
[0990] Step 5:
[0991] The server applies an emotion recognition engine to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried." In practice, the server passes the text data to the emotion recognition engine and receives the result of the emotion recognition.
[0992] Input: Format-checked text data
[0993] Output: Recognized emotions
[0994] Step 6:
[0995] The server searches and retrieves information from the knowledge base that corresponds to the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment." Specifically, the server uses keywords corresponding to the category to search for relevant information from the knowledge base.
[0996] Input: Identified Category
[0997] Output: Related information obtained
[0998] Step 7:
[0999] Based on the information acquired by the server and the emotions recognized, feedback is generated in a format that is easy for the user to understand. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include content such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, let's consider your interests and aptitudes before making a decision." Specifically, the server combines the acquired information and the results of emotion recognition to construct the feedback text using a template-based feedback generation engine.
[1000] Input: Acquired relevant information and perceived emotions
[1001] Output: Generated feedback text
[1002] Step 8:
[1003] The server generates feedback and sends it to the terminal. The terminal then displays the received feedback to the user. Specifically, the server generates feedback and sends it to the terminal, which then displays it on the user interface. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. In addition, appropriate encouragement and warnings are displayed based on emotion recognition.
[1004] Input: Generated feedback text
[1005] Output: Feedback displayed on the user interface
[1006] (Application Example 2)
[1007] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1008] Traditional food delivery services fail to improve user satisfaction because they make recommendations without considering the user's emotions or health condition. Furthermore, providing personalized feedback is difficult, often leaving users struggling to make appropriate meal choices when seeking relaxation or health benefits.
[1009] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[1010] In this invention, the server includes means for the user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting major topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for analyzing emotions based on the user's input data and calculating an emotion score; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and emotion score; and means for transmitting the generated feedback to the terminal. This enables personalized meal recommendations tailored to the user's emotions and health condition.
[1011] "A means for users to input their own problems and concerns in text format using a terminal" refers to a means by which users provide text data to a terminal via an input device.
[1012] "Means for receiving input data from a terminal and performing format checks" refers to means for verifying the data received by the terminal and confirming the consistency of its format and content.
[1013] "A means of analyzing input text data using a natural language processing engine and extracting key topics and issues" refers to a method of identifying important information and problems from input data using text analysis technology.
[1014] "Means for determining appropriate categories based on extracted topics and issues" refers to methods for determining relevant categories based on analyzed information.
[1015] "A means of analyzing emotions based on user input data and calculating an emotion score" refers to a method of evaluating the emotional state from the user's text data and quantifying its intensity and type.
[1016] "Means of searching for and obtaining information related to the relevant category from a knowledge base" refers to methods of finding and retrieving relevant data from a database.
[1017] "Means for generating user-friendly feedback based on acquired information and sentiment scores" refers to methods for creating advice and suggestions in a user-friendly format based on collected data and sentiment evaluations.
[1018] "Means for sending generated feedback to a terminal" refers to means of sending the created advice and information to a device used by the user.
[1019] This embodiment of the invention introduces a system that provides personalized meal recommendations using sentiment analysis to users of a food delivery service.
[1020] Hardware and software configuration
[1021] This system uses the following hardware and software:
[1022] Hardware: User devices such as smartphones and tablets
[1023] Software: Python, TextBlob (sentiment analysis library), API communication library (requests)
[1024] The server performs the following main tasks:
[1025] 1. User Input: Users use a terminal to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." The input data is sent to the server via the terminal.
[1026] 2. Data reception and format check: The server receives the input data sent from the terminal and performs a format check. If there are no format issues, the process proceeds to the next step.
[1027] 3. Natural Language Processing and Sentiment Analysis: The server processes the received input data using a natural language processing engine to extract key topics and issues. It also uses a sentiment analysis library to evaluate the user's emotions from the input data and calculate an emotion score. For example, it recognizes a negative emotion from the text expression "I'm extremely stressed."
[1028] 4. Category Identification and Information Retrieval: Based on the extracted topics and sentiment scores, the server identifies the appropriate category. For example, the "Healthy Eating" category might be identified. Based on this information, the server searches the knowledge base for and retrieves information related to that category.
[1029] 5. Feedback Generation: Based on the acquired information and sentiment score, feedback is generated in a format that is easy for the user to understand. For example, specific suggestions such as, "Considering your current state, we recommend salads and smoothies as healthy meals to reduce stress" are generated.
[1030] 6. Sending Feedback: The generated feedback is sent from the server to the terminal and displayed to the user.
[1031] Specific example
[1032] 1. Example input: I'm super stressed out today. I want to eat something light and healthy.
[1033] 2. Sentiment Analysis: Sentiment Score: -0.5 (Negative)
[1034] 3. Keyword extraction: stress, health
[1035] 4. Category Identification: Healthy Eating
[1036] 5. Feedback generation: Considering your current condition, we recommend salads and smoothies as healthy meals to reduce stress.
[1037] This will enable personalized meal recommendations tailored to the user's emotions and health condition.
[1038] Example of a prompt
[1039] User input: I'm super stressed out today. I want to eat something light and healthy.
[1040] Output: Sentiment score: -0.5, Keywords: Stress, Healthy, Recommended foods: Salad, Smoothie
[1041] This invention realizes a system in which a terminal and a server cooperate to provide more personalized advice to the user.
[1042] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1043] Step 1:
[1044] The user uses their device to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." This input data is then sent from the user's device to the server.
[1045] Input: Text data of the user's problems and concerns
[1046] Output: Text data sent to the server
[1047] Step 2:
[1048] The server receives the input data sent from the terminal. The server then performs a format check on this data to ensure that it is free of blanks and formatting issues. Data that passes the format check proceeds to the next processing step.
[1049] Input: Text data received from the terminal
[1050] Output: Text data that passed the format check.
[1051] Step 3:
[1052] The server analyzes input data that has passed format checks using a natural language processing engine. Specifically, it extracts key topics and issues from text data using libraries such as TextBlob. It also performs sentiment analysis and calculates sentiment scores using TextBlob. For example, it recognizes negative emotions from expressions like "I'm so stressed out."
[1053] Input: Text data that has passed format checks.
[1054] Output: Extracted topics and issues, and sentiment scores.
[1055] Step 4:
[1056] The server determines the appropriate category based on the extracted topics and sentiment scores. For example, it might identify the "healthy eating" category. This category information is then used in the next information retrieval step.
[1057] Input: Extracted topics and issues, and sentiment scores
[1058] Output: Identified Category
[1059] Step 5:
[1060] The server searches its knowledge base for and retrieves information related to the identified category. For example, it retrieves information related to "healthy eating" from the database. This information is then used in the next feedback generation step.
[1061] Input: Identified Category
[1062] Output: Information related to the category
[1063] Step 6:
[1064] The server generates feedback in a user-friendly format based on the acquired information and sentiment score. For example, it might generate specific suggestions such as, "We recommend salads and smoothies as healthy foods to reduce stress."
[1065] Input: Acquired information and sentiment score
[1066] Output: Generated feedback
[1067] Step 7:
[1068] The server sends the generated feedback to the terminal. The user terminal receives this feedback and displays it to the user. The user can then make a decision based on this feedback.
[1069] Input: Generated feedback
[1070] Output: Feedback sent to the user terminal
[1071] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1072] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1073] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1074] [Fourth Embodiment]
[1075] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1076] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1077] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1078] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1079] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1080] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1081] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1082] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1083] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1084] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1085] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1086] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1087] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1088] This invention is a system in which a user inputs the challenges and concerns they are facing using a terminal, and appropriate advice is provided based on that data. A specific embodiment of this system is described below, with the program's processing explained in natural language.
[1089] First step: User input
[1090] First, users use their devices to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." This input data is then sent to the server via the device.
[1091] Server accepts input data and performs format checks.
[1092] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[1093] Data analysis using natural language processing
[1094] The server processes the received input data through a natural language processing engine to extract the main topics and issues of the text. The natural language processing engine identifies keywords and key contexts based on the user's input, clarifying the topics. For example, in the aforementioned input, keywords such as "further education," "employment," and "worrying" are extracted.
[1095] Category identification
[1096] The server determines the appropriate category based on the analyzed keywords and topics. In this case, it is classified under the category "Career Counseling." The determined category serves as a reference for the next information retrieval step.
[1097] Information retrieval from a knowledge base
[1098] The server searches its knowledge base for information related to the identified category. The knowledge base is a database that stores information related to topics and issues. For example, information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment" may be searched.
[1099] Feedback generation
[1100] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. The generated feedback includes specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with experience as an immediate asset."
[1101] Sending and displaying feedback
[1102] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained.
[1103] Specific example
[1104] 1. Examples of career counseling
[1105] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[1106] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[1107] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[1108] The server generates feedback tailored to the user's situation and sends it to the terminal.
[1109] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[1110] This system provides support for users to make the right choices based on objective information, and in particular, it allows them to obtain reliable advice without being influenced by family or acquaintances.
[1111] The following describes the processing flow.
[1112] Step 1: User Input Reception
[1113] Users use a terminal to input their problems or concerns in text format. For example, a student might input, "I'm struggling to decide whether to go to college after high school or get a job." The terminal then sends this input data to the server.
[1114] Step 2: Acceptance and formatting of input data
[1115] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. For example, it checks whether the input fields are blank and whether they conform to the required format (text format).
[1116] Step 3: Data analysis using natural language processing
[1117] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[1118] Step 4: Category Identification
[1119] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[1120] Step 5: Information retrieval from the knowledge base
[1121] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[1122] Step 6: Generating Feedback
[1123] The server generates feedback in a format that is easy for the user to understand, based on the information it has acquired. The feedback is formatted to include specific advice tailored to the user's situation. For example, it might include specific details such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with experience as an immediate asset."
[1124] Step 7: Submitting Feedback
[1125] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[1126] Step 8: Displaying Feedback
[1127] The device displays feedback received from the server to the user. The user can review the feedback on the device screen and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that makes it easy for the user to compare them.
[1128] By following these steps, users can obtain reliable advice based on general knowledge, without being influenced by family or acquaintances.
[1129] (Example 1)
[1130] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1131] In modern society, it is often difficult for users to obtain accurate advice regarding their own challenges and concerns. In particular, it is difficult to quickly obtain reliable information when making important decisions about career paths and other related matters. There is a need for a system that can solve this problem and provide users with objective and reliable advice.
[1132] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1133] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting key topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from the base data; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to review the received feedback and re-evaluate their decision. This enables the server to provide quick and accurate advice on the problems and concerns the user faces and to make decisions based on reliable information.
[1134] A "terminal" is an information processing device used by a user, and includes desktop computers, notebooks, smartphones, and tablet devices.
[1135] "Input data" refers to text-based information that users send to the system via their devices, including the user's problems and concerns.
[1136] "Format checking" is a basic data validation method performed by a server on incoming input data, verifying that it does not contain blank or incomplete data.
[1137] A "natural language processing engine" is an information processing system that analyzes input text data and extracts key topics and issues, and includes software libraries and cloud services.
[1138] "Key topics and issues" refer to the main matters and problems that users are facing, as extracted by the natural language processing engine.
[1139] A "category" is a classification determined based on the analyzed topic or issue, and it indicates a specific area of information related to the user's problem.
[1140] "Underlying data" refers to the information sources that a server uses to search for and retrieve information, and includes databases and knowledge bases.
[1141] "Feedback" refers to advice or answers that a server generates and provides to a user based on the information it has acquired.
[1142] A "generative AI model" is a machine learning model that takes text data as input and performs natural language processing, and is used to provide appropriate advice to users.
[1143] A "prompt" is a series of text instructions input to a generative AI model, containing clear questions or instructions that enable the model to generate appropriate advice.
[1144] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. A detailed embodiment of this system is described below.
[1145] Hardware and software to be used
[1146] This system includes the following hardware and software:
[1147] 1. Terminal: An information processing device used by a user. Specific examples include desktop computers, notebooks, smartphones, and tablet devices.
[1148] 2. Server: A central processing unit that receives, analyzes, and generates / transmits input data.
[1149] 3. Natural Language Processing Engine: Use analysis software such as Google Cloud Natural Language API.
[1150] 4. Database: A data management system that has the function of storing information as a knowledge base. This includes SQL databases and NoSQL databases.
[1151] System Overview
[1152] First, the user uses their device to input their concerns or problems in text format. The user types their concerns or problems into the text input field on the device and clicks the submit button. This input data is sent to the server via the device.
[1153] The server receives input data sent from the terminal and performs a format check for spaces and incompleteness. If there are no format issues, the natural language processing engine analyzes the input data and extracts key topics and issues. Specifically, it uses the Google Cloud Natural Language API to analyze the text and extract key keywords and context. For example, if a user inputs "I'm wondering whether I should go to college after high school or get a job," keywords such as "college," "job," and "worried" will be extracted.
[1154] Next, the server determines the appropriate category based on the extracted keywords and topics. For example, the category "career counseling" is determined from the keywords mentioned above. This is done using a predefined category mapping table.
[1155] Based on the identified category, the server searches and retrieves relevant information from its knowledge base. Specifically, it uses SQL queries and NoSQL search APIs to obtain information on "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[1156] Based on the information obtained, the server generates feedback in a format that is easy for the user to understand. Using a template engine (e.g., Handlebars.js), it creates advice tailored to the user's specific situation. For example, it might generate specific feedback such as, "Going to university offers opportunities to deepen specialized knowledge, while getting a job provides experience as an immediate asset."
[1157] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user, allowing the user to re-evaluate their decision based on the feedback.
[1158] Specific example
[1159] 1. Examples of career counseling
[1160] The user (student) enters "I'm struggling to decide whether to go to college after high school graduation or get a job" into the text input field on their device and clicks the send button.
[1161] The server receives the HTTP request and retrieves the input text as POST data. It performs a format check, and if there are no problems, it proceeds to the next step.
[1162] The server uses the Google Cloud Natural Language API to extract keywords such as "further education," "job hunting," and "worrying" from the input text.
[1163] The server categorizes the extracted keywords into the "Career Counseling" category.
[1164] The server executes an SQL query to retrieve information from the knowledge base regarding the "advantages and disadvantages of further education" and the "advantages and disadvantages of employment."
[1165] The server uses Handlebars.js to generate specific advice based on the user's situation, using templates.
[1166] The server sends the feedback generated as an HTTP response to the terminal. The terminal receives the response and displays the feedback to the user.
[1167] For example, here are some examples of prompt statements to input into a generative AI model:
[1168] "Regarding my career path after high school graduation, which is better: going to college or getting a job?"
[1169] This system helps users make the right choices based on objective information, and in particular, allows them to obtain reliable advice without being influenced by family or acquaintances.
[1170] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1171] Step 1:
[1172] Users use their devices to input their problems and concerns in text format. Specifically, users enter information into the text input field on their devices and click the submit button. The input data is sent to the server as an HTTP request. The input is text data related to the user's problems and concerns. The output is input data for format checking.
[1173] Step 2:
[1174] The server receives input data sent from the terminal. Specifically, the server receives an HTTP request and retrieves text as POST data. It performs a format check to ensure the data is not blank or incomplete. The input is the input data for format checking. The output is clean data for natural language processing.
[1175] Step 3:
[1176] The server sends the received input data to a natural language processing engine for analysis. Specifically, it uses tools such as the Google Cloud Natural Language API to analyze text data and extract key topics and issues. The input is clean data. The output consists of extracted keywords and key contexts.
[1177] Step 4:
[1178] The server determines the appropriate category based on the analyzed keywords and topics. Specifically, it refers to a predefined category mapping table and classifies the analysis results into the corresponding category. The input consists of extracted keywords and main context. The output is the determined category.
[1179] Step 5:
[1180] The server searches its knowledge base for relevant information based on the identified category. Specifically, it uses SQL queries or NoSQL search APIs to retrieve information related to the category from the database. The input is the identified category. The output is the retrieved relevant information.
[1181] Step 6:
[1182] The server generates feedback in a user-friendly format based on the acquired information. Specifically, it uses a template engine (e.g., Handlebars.js) to create specific advice tailored to the user's situation. The input is the acquired relevant information. The output is the generated feedback.
[1183] Step 7:
[1184] The server sends the generated feedback to the terminal. Specifically, it returns the feedback data to the terminal as an HTTP response. The input is the generated feedback. The output is the feedback data sent to the terminal.
[1185] Step 8:
[1186] The terminal displays feedback received from the server to the user. Specifically, the feedback is displayed on the terminal's screen, allowing the user to review it. The input is the feedback data sent from the server. The output is the feedback displayed to the user.
[1187] (Application Example 1)
[1188] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1189] In physical stores, customers often have limited means of obtaining quick and appropriate advice when they encounter difficulties in choosing products or services. This is especially true when staff are absent or the store is crowded, making it difficult for customers to obtain relevant information. This can lead to decreased customer satisfaction and reduced purchasing intent. To address these issues, a system is needed that can provide quick and appropriate feedback even in physical stores.
[1190] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1191] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for searching and obtaining information related to the corresponding category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information; means for sending the generated feedback to the terminal; and means for the user to input questions through the terminal in a physical store and recommend appropriate products and services based on those questions. As a result, customers can receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[1192] A "terminal" is an electronic device used by users to input tasks or concerns.
[1193] "Format checking" is the process of verifying that the input data received from the terminal is free of blanks or incomplete parts.
[1194] A "natural language processing engine" is software that analyzes input text data and extracts key topics and issues.
[1195] A "topic" is a subject or theme extracted from the user's input data.
[1196] A "category" is a type of information that is classified based on the extracted topic or issue.
[1197] A "knowledge base" is a database that stores related information.
[1198] "Feedback" refers to advice and information for users that is generated based on the information acquired.
[1199] A "physical store" is a commercial facility that exists in a specific location.
[1200] "Products" refer to all goods and services sold in physical stores.
[1201] A "question" is something that a user enters via their device to seek advice or information.
[1202] In order to implement this invention, it is necessary to build a system in which users input their problems and concerns in text format using a terminal, and appropriate advice is provided based on that input data.
[1203] First, users use a tablet or smart glasses installed in the store to input specific questions in text format. For example, they might input something like, "I want to know the characteristics of the product" or "I'm struggling to decide whether to go to college or get a job." The user's input data is then sent from the device to the server.
[1204] The submitted data undergoes a format check on the server side to verify that there are no blank spaces or incomplete data. If there are no formatting issues, the input data is then analyzed using a natural language processing engine. Natural language processing software such as spaCy or TextBlob is used for this process. Key topics and issues are extracted from the analyzed data.
[1205] Based on the extracted topics and issues, the server determines the appropriate category. The determined category serves as a guide for searching for relevant information from the knowledge base database. The knowledge base stores information such as "advantages and disadvantages of attending university" and "information on product characteristics."
[1206] Once the information is retrieved, the server then generates feedback in a user-friendly format. This feedback includes specific advice and information tailored to the user's situation. The generated feedback is sent to the terminal and displayed to the user.
[1207] The hardware used includes tablet devices, smart glasses, and servers, and the system functions through the coordination of these components. The software used includes natural language processing engines and data analysis tools such as Python, spaCy, and TextBlob.
[1208] For example, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." Other examples of prompts include questions like "Who would be a good gift for this product?" or "What are the differences between product A and product B?"
[1209] This system will enable users to receive quick and appropriate advice even in physical stores, which is expected to improve customer satisfaction and increase purchasing intent.
[1210] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1211] Step 1:
[1212] Users enter their problems and concerns in text format.
[1213] Users use a tablet or smart glasses installed in the store to input specific questions or concerns in text format. For example, "What are the characteristics of this product?" or "I'm struggling to decide whether to go to college or get a job." The entered data is sent from the device to the server.
[1214] Input: Text data of user questions or concerns
[1215] Output: Text data sent to the server
[1216] Step 2:
[1217] Perform a format check on the input data.
[1218] The server checks the format of the text data received from the terminal. It checks for blank spaces and incomplete sections, and if there are any problems, it returns feedback requesting the user to re-enter the data.
[1219] Input: Text data sent from the device
[1220] Output: Format-checked text data or error messages
[1221] Step 3:
[1222] The input data is analyzed using a natural language processing engine.
[1223] The server processes the format-checked text data into a natural language processing engine (such as spaCy or TextBlob) to extract key topics and issues. Specifically, it automatically identifies keywords and important phrases from the text data.
[1224] Input: Format-checked text data
[1225] Output: List of extracted topics and keywords
[1226] Step 4:
[1227] Identify categories based on topics and issues.
[1228] The server determines the appropriate category based on the topics and keywords extracted by the natural language processing engine. For example, if the topic is related to "further education" or "employment," the "career counseling" category will be selected.
[1229] Input: List of extracted topics and keywords
[1230] Output: Identified Category
[1231] Step 5:
[1232] Retrieve information by searching for it in a knowledge base.
[1233] The server searches its knowledge base for information related to the identified category. This knowledge base contains pre-stored information; for example, data on "the advantages and disadvantages of attending university" is retrieved.
[1234] Input: Identified Category
[1235] Output: Searched information
[1236] Step 6:
[1237] Generate feedback in a format that is easy for users to understand.
[1238] Based on the information it acquires, the server generates feedback in a format that is easy for the user to understand. For example, it might include specific advice such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset."
[1239] Input: Searched information
[1240] Output: Generated feedback
[1241] Step 7:
[1242] Send the generated feedback to the device and display it.
[1243] The server sends the generated feedback to the terminal and displays it to the user. The user then uses this feedback to obtain answers to their questions and concerns.
[1244] Input: Generated feedback
[1245] Output: Feedback displayed on the device
[1246] As a concrete example of its operation, if a user inputs "I'm struggling to decide whether to go to college or get a job," the system will generate and display feedback such as "College offers opportunities to deepen your specialized knowledge, while getting a job allows you to gain experience as an immediate asset." It can also handle other prompts such as "Who would be a good gift for this product?" or "What are the differences between Product A and Product B?"
[1247] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1248] This invention is a system in which a user inputs their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate even more accurate feedback. A specific embodiment of this system is described below, with the program processing explained in natural language.
[1249] First step: User input
[1250] Users use their devices to input their worries and concerns in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." This input data is then sent to the server via the device.
[1251] Server accepts input data and performs format checks.
[1252] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[1253] Data analysis using natural language processing
[1254] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[1255] Category identification
[1256] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[1257] Emotion recognition by an emotion engine
[1258] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[1259] Information retrieval from a knowledge base
[1260] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, and retrieves information such as "advantages and disadvantages of further education" and "advantages and disadvantages of employment."
[1261] Feedback generation
[1262] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[1263] Sending and displaying feedback
[1264] The server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. In addition, appropriate encouragement and warnings are displayed based on emotion recognition.
[1265] Specific example
[1266] 1. Examples of career counseling
[1267] The user (a student) uses their device to type the text, "I'm struggling to decide whether I should go to college after high school or get a job."
[1268] The server receives the input data and uses natural language processing to extract keywords such as "further education," "employment," and "worrying."
[1269] The server identifies the "career counseling" category and searches its knowledge base for relevant information (advantages and disadvantages of further education, advantages and disadvantages of employment).
[1270] The server uses an emotion engine to recognize the user's emotions and identifies negative emotions from "worried."
[1271] The server generates feedback tailored to the user's situation and emotions, and sends it to the device.
[1272] The device displays feedback to the user, who then re-evaluates their career path based on that information.
[1273] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[1274] The following describes the processing flow.
[1275] Step 1: User Input Reception
[1276] Users use a terminal to input their worries or problems in text format. For example, a student might input, "I'm worried about whether I should go to college after high school or get a job." The terminal then sends this input data to the server.
[1277] Step 2: Acceptance and formatting of input data
[1278] The server receives input data sent from the terminal. It performs basic format checks to ensure the received data is not blank or incomplete. If there are no formatting issues, it proceeds to the next processing step.
[1279] Step 3: Data analysis using natural language processing
[1280] The server processes the received input data through a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying."
[1281] Step 4: Category Identification
[1282] The server determines the appropriate category based on keywords and context extracted by the natural language processing engine. For example, it might be classified under the category "career guidance."
[1283] Step 5: Emotion recognition by the emotion engine
[1284] The server applies an emotion engine to the input data to recognize the user's emotions. The emotion engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[1285] Step 6: Information Retrieval from Knowledge Base
[1286] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues. For example, it retrieves information such as "Advantages and disadvantages of further education" and "Advantages and disadvantages of employment."
[1287] Step 7: Generating Feedback
[1288] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[1289] Step 8: Submitting Feedback
[1290] The server sends the generated feedback to the terminal. It performs error checking and verifies the data's integrity before sending it.
[1291] Step 9: Displaying Feedback
[1292] The device displays feedback received from the server to the user. The user can review this feedback on the device and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[1293] Through these steps, users can receive personalized advice that leverages emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[1294] (Example 2)
[1295] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1296] In conventional consultation systems, it was difficult to provide personalized advice that took users' emotions into consideration when they entered their problems and concerns. In particular, there was a lack of technology to appropriately recognize users' emotions and generate feedback based on them, so the information and advice users received were general and not adapted to their individual situations. As a result, users had difficulty receiving specific advice that resonated with their emotions, and lacked the support they needed when making important decisions.
[1297] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1298] In this invention, the server includes means for a user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting main topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for recognizing emotions from the user's input data using an emotion recognition engine; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and recognized emotions; and means for transmitting the generated feedback to the terminal. This makes it possible for users to easily obtain personalized advice that takes their emotions into consideration.
[1299] A "user" is an individual who uses the system to input their own worries and problems and receives feedback.
[1300] A "terminal" is an electronic device used by a user to send input data in text format.
[1301] "Input data" refers to text information about problems or issues that users send to the system via their devices.
[1302] A "server" is a central processing unit that receives input data and performs format checks, data analysis, sentiment recognition, information retrieval, and feedback generation.
[1303] "Format checking" is the process of verifying that the input data is in the correct format, does not contain any blank fields, and does not contain any inappropriate characters.
[1304] A "natural language processing engine" is artificial intelligence-based software that analyzes input text data and extracts key topics and issues.
[1305] "Key topics and issues" refer to important keywords and themes extracted from user input data.
[1306] A "category" is a broad classification used to classify and organize information based on the extracted topics or issues.
[1307] An "emotion recognition engine" is software that analyzes user input data and recognizes emotions such as positive, negative, and neutral.
[1308] A "knowledge base" is a database that stores information on various topics and issues.
[1309] "Feedback" refers to advice or answers generated by a server based on information it has gathered and the user's emotions.
[1310] "Generating feedback" is the process of organizing information in a way that is easy for users to understand, based on the information and emotions they have gathered.
[1311] "To acquire" means to find and retrieve the necessary information from a knowledge base.
[1312] "Sending" means passing the generated feedback to the user's device.
[1313] This invention is a system in which users input their own challenges and concerns using a terminal, and appropriate advice is provided based on that data. In particular, by combining it with an emotion recognition engine that recognizes the user's emotions, it is possible to generate even more accurate feedback.
[1314] First, the user uses their device to input their worries or problems in text format. This input data is then sent to the server via the device. Specifically, the user enters text into an input box and clicks the "Send" button. For example, they might enter, "I'm worried about whether I should go to college after graduating from high school or get a job."
[1315] Input data sent from the terminal is received by the server and format checks are performed. The server verifies that the input data is in the correct format, free of blanks, and does not contain inappropriate characters. After this check is complete, the server processes the input data with a natural language processing engine (e.g., BERT, GPT-4). The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it might identify keywords such as "further education," "employment," and "worrying."
[1316] Next, the server determines the appropriate category based on the extracted keywords and context. For example, it might be categorized as "career counseling." Furthermore, the server applies an emotion recognition engine (e.g., IBM Watson Tone Analyzer, Sentiment Neuron, etc.) to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried."
[1317] The server searches the knowledge base for information that matches the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment."
[1318] The server generates feedback in a format easily understandable to the user, based on the information it has gathered and the emotions it has perceived. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include something like, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, consider your interests and aptitudes before making a decision."
[1319] Finally, the server sends the generated feedback to the terminal. The terminal displays the received feedback to the user. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. Appropriate encouragement and warnings are also displayed based on emotion recognition.
[1320] Example of a prompt:
[1321] "I'm struggling to decide whether to go to college after high school or get a job. Could you please give me some advice?"
[1322] This invention allows users to receive personalized advice that utilizes emotion recognition, enabling them to make important decisions based on more objective and emotionally sensitive information.
[1323] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1324] Step 1:
[1325] The user uses their device to input their concerns or problems in text format. Specifically, the user enters text into the input box and clicks the "Send" button.
[1326] Input: Text data from the user (e.g., "I'm struggling to decide whether to go to college after high school or get a job.")
[1327] Output: Text data sent from the terminal
[1328] Step 2:
[1329] The server receives the input data sent from the terminal. The server performs a format check to ensure that the received data does not contain spaces or inappropriate characters. Once the format check is complete, it proceeds to the next step. Specifically, the server checks the length and format of the text.
[1330] Input: Text data sent from the device
[1331] Output: Format-checked text data
[1332] Step 3:
[1333] The server processes format-checked text data into a natural language processing engine. The natural language processing engine analyzes the text data and extracts key topics and issues. For example, it identifies keywords such as "further education," "employment," and "worrying." In concrete terms, the server passes the text data to the natural language processing engine and receives the analysis results.
[1334] Input: Format-checked text data
[1335] Output: Extracted keywords and topics
[1336] Step 4:
[1337] The server determines the appropriate category based on the extracted keywords and context. For example, it might be classified under the category "career counseling." Specifically, the server applies a category determination algorithm to the keywords obtained from the natural language processing engine to determine the category.
[1338] Input: Extracted keywords or topics
[1339] Output: Identified Category
[1340] Step 5:
[1341] The server applies an emotion recognition engine to the input data to recognize the user's emotions. The emotion recognition engine identifies positive, negative, and neutral emotions from the input text. For example, it recognizes a negative emotion from a word like "worried." In practice, the server passes the text data to the emotion recognition engine and receives the result of the emotion recognition.
[1342] Input: Format-checked text data
[1343] Output: Recognized emotions
[1344] Step 6:
[1345] The server searches and retrieves information from the knowledge base that corresponds to the identified category. The knowledge base is a database that stores information related to topics and issues, such as "advantages and disadvantages of further education" or "advantages and disadvantages of employment." Specifically, the server uses keywords corresponding to the category to search for relevant information from the knowledge base.
[1346] Input: Identified Category
[1347] Output: Related information obtained
[1348] Step 7:
[1349] Based on the information acquired by the server and the emotions recognized, feedback is generated in a format that is easy for the user to understand. The feedback is formatted to include specific advice tailored to the user's situation and emotions. For example, it might include content such as, "Going to university offers opportunities to deepen your specialized knowledge, while getting a job provides you with immediate work experience. I understand your concerns, but first, let's consider your interests and aptitudes before making a decision." Specifically, the server combines the acquired information and the results of emotion recognition to construct the feedback text using a template-based feedback generation engine.
[1350] Input: Acquired relevant information and perceived emotions
[1351] Output: Generated feedback text
[1352] Step 8:
[1353] The server generates feedback and sends it to the terminal. The terminal then displays the received feedback to the user. Specifically, the server generates feedback and sends it to the terminal, which then displays it on the user interface. The user can review this feedback on the terminal and re-evaluate their decision based on the information obtained. For example, the advantages and disadvantages of "going to university" and "getting a job" are listed and presented in a format that is easy for the user to compare. In addition, appropriate encouragement and warnings are displayed based on emotion recognition.
[1354] Input: Generated feedback text
[1355] Output: Feedback displayed on the user interface
[1356] (Application Example 2)
[1357] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1358] Traditional food delivery services fail to improve user satisfaction because they make recommendations without considering the user's emotions or health condition. Furthermore, providing personalized feedback is difficult, often leaving users struggling to make appropriate meal choices when seeking relaxation or health benefits.
[1359] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[1360] In this invention, the server includes means for the user to input their problems and concerns in text format using a terminal; means for receiving input data from the terminal and performing format checks; means for analyzing the input text data using a natural language processing engine and extracting major topics and problems; means for determining appropriate categories based on the extracted topics and problems; means for analyzing emotions based on the user's input data and calculating an emotion score; means for searching and obtaining information related to the relevant category from a knowledge base; means for generating feedback in a format that is easy for the user to understand based on the obtained information and emotion score; and means for transmitting the generated feedback to the terminal. This enables personalized meal recommendations tailored to the user's emotions and health condition.
[1361] "A means for users to input their own problems and concerns in text format using a terminal" refers to a means by which users provide text data to a terminal via an input device.
[1362] "Means for receiving input data from a terminal and performing format checks" refers to means for verifying the data received by the terminal and confirming the consistency of its format and content.
[1363] "A means of analyzing input text data using a natural language processing engine and extracting key topics and issues" refers to a method of identifying important information and problems from input data using text analysis technology.
[1364] "Means for determining appropriate categories based on extracted topics and issues" refers to methods for determining relevant categories based on analyzed information.
[1365] "A means of analyzing emotions based on user input data and calculating an emotion score" refers to a method of evaluating the emotional state from the user's text data and quantifying its intensity and type.
[1366] "Means of searching for and obtaining information related to the relevant category from a knowledge base" refers to methods of finding and retrieving relevant data from a database.
[1367] "Means for generating user-friendly feedback based on acquired information and sentiment scores" refers to methods for creating advice and suggestions in a user-friendly format based on collected data and sentiment evaluations.
[1368] "Means for sending generated feedback to a terminal" refers to means of sending the created advice and information to a device used by the user.
[1369] This embodiment of the invention introduces a system that provides personalized meal recommendations using sentiment analysis to users of a food delivery service.
[1370] Hardware and software configuration
[1371] This system uses the following hardware and software:
[1372] Hardware: User devices such as smartphones and tablets
[1373] Software: Python, TextBlob (sentiment analysis library), API communication library (requests)
[1374] The server performs the following main tasks:
[1375] 1. User Input: Users use a terminal to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." The input data is sent to the server via the terminal.
[1376] 2. Data reception and format check: The server receives the input data sent from the terminal and performs a format check. If there are no format issues, the process proceeds to the next step.
[1377] 3. Natural Language Processing and Sentiment Analysis: The server processes the received input data using a natural language processing engine to extract key topics and issues. It also uses a sentiment analysis library to evaluate the user's emotions from the input data and calculate an emotion score. For example, it recognizes a negative emotion from the text expression "I'm extremely stressed."
[1378] 4. Category Identification and Information Retrieval: Based on the extracted topics and sentiment scores, the server identifies the appropriate category. For example, the "Healthy Eating" category might be identified. Based on this information, the server searches the knowledge base for and retrieves information related to that category.
[1379] 5. Feedback Generation: Based on the acquired information and sentiment score, feedback is generated in a format that is easy for the user to understand. For example, specific suggestions such as, "Considering your current state, we recommend salads and smoothies as healthy meals to reduce stress" are generated.
[1380] 6. Sending Feedback: The generated feedback is sent from the server to the terminal and displayed to the user.
[1381] Specific example
[1382] 1. Example input: I'm super stressed out today. I want to eat something light and healthy.
[1383] 2. Sentiment Analysis: Sentiment Score: -0.5 (Negative)
[1384] 3. Keyword extraction: stress, health
[1385] 4. Category Identification: Healthy Eating
[1386] 5. Feedback generation: Considering your current condition, we recommend salads and smoothies as healthy meals to reduce stress.
[1387] This will enable personalized meal recommendations tailored to the user's emotions and health condition.
[1388] Example of a prompt
[1389] User input: I'm super stressed out today. I want to eat something light and healthy.
[1390] Output: Sentiment score: -0.5, Keywords: Stress, Healthy, Recommended foods: Salad, Smoothie
[1391] This invention realizes a system in which a terminal and a server cooperate to provide more personalized advice to the user.
[1392] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1393] Step 1:
[1394] The user uses their device to input their problems or concerns in text format. For example, they might input, "I'm super stressed today. I want to eat something light and healthy." This input data is then sent from the user's device to the server.
[1395] Input: Text data of the user's problems and concerns
[1396] Output: Text data sent to the server
[1397] Step 2:
[1398] The server receives the input data sent from the terminal. The server then performs a format check on this data to ensure that it is free of blanks and formatting issues. Data that passes the format check proceeds to the next processing step.
[1399] Input: Text data received from the terminal
[1400] Output: Text data that passed the format check.
[1401] Step 3:
[1402] The server analyzes input data that has passed format checks using a natural language processing engine. Specifically, it extracts key topics and issues from text data using libraries such as TextBlob. It also performs sentiment analysis and calculates sentiment scores using TextBlob. For example, it recognizes negative emotions from expressions like "I'm so stressed out."
[1403] Input: Text data that has passed format checks.
[1404] Output: Extracted topics and issues, and sentiment scores.
[1405] Step 4:
[1406] The server determines the appropriate category based on the extracted topics and sentiment scores. For example, it might identify the "healthy eating" category. This category information is then used in the next information retrieval step.
[1407] Input: Extracted topics and issues, and sentiment scores
[1408] Output: Identified Category
[1409] Step 5:
[1410] The server searches its knowledge base for and retrieves information related to the identified category. For example, it retrieves information related to "healthy eating" from the database. This information is then used in the next feedback generation step.
[1411] Input: Identified Category
[1412] Output: Information related to the category
[1413] Step 6:
[1414] The server generates feedback in a user-friendly format based on the acquired information and sentiment score. For example, it might generate specific suggestions such as, "We recommend salads and smoothies as healthy foods to reduce stress."
[1415] Input: Acquired information and sentiment score
[1416] Output: Generated feedback
[1417] Step 7:
[1418] The server sends the generated feedback to the terminal. The user terminal receives this feedback and displays it to the user. The user can then make a decision based on this feedback.
[1419] Input: Generated feedback
[1420] Output: Feedback sent to the user terminal
[1421] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1422] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1423] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1424] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1425] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1426] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1427] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1428] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1429] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1430] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1431] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1432] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1433] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1434] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1435] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1436] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1437] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1438] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1439] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1440] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1441] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1442] The following is further disclosed regarding the embodiments described above.
[1443] (Claim 1)
[1444] A means for users to input their problems and concerns in text format using their devices,
[1445] A means of receiving input data from a terminal and performing a format check,
[1446] A method for analyzing input text data using a natural language processing engine and extracting key topics and issues,
[1447] A means of determining the appropriate category based on the extracted topics and issues,
[1448] A means of searching for and retrieving information related to the relevant category from a knowledge base,
[1449] A means of generating feedback in a format that is easy for users to understand based on the acquired information,
[1450] A system including means for sending generated feedback to a terminal.
[1451] (Claim 2)
[1452] The system according to claim 1, wherein the feedback includes general knowledge regarding the advantages and disadvantages of attending university and the advantages and disadvantages of employment.
[1453] (Claim 3)
[1454] The system according to claim 1, wherein the natural language processing engine extracts key topics and issues based on known keywords and context when analyzing user input data.
[1455] "Example 1"
[1456] (Claim 1)
[1457] A means for users to input their problems and concerns in text format using their devices,
[1458] A means of receiving input data from a terminal and performing a format check,
[1459] A method for analyzing input text data using a natural language processing engine and extracting key topics and issues,
[1460] A means of determining the appropriate category based on the extracted topics and issues,
[1461] A means of searching and retrieving information related to the relevant category from the base data,
[1462] A means of generating feedback in a format that is easy for users to understand based on the acquired information,
[1463] A means of sending the generated feedback to the terminal,
[1464] A system that includes means for reviewing user feedback and re-evaluating decisions.
[1465] (Claim 2)
[1466] The system according to claim 1, wherein the feedback includes general knowledge regarding the advantages and disadvantages of career choices.
[1467] (Claim 3)
[1468] The system according to claim 1, wherein the natural language processing engine extracts key topics and issues based on known keywords and context when analyzing user input data.
[1469] "Application Example 1"
[1470] (Claim 1)
[1471] A means for users to input their problems and concerns in text format using their devices,
[1472] A means of receiving input data from a terminal and performing a format check,
[1473] A method for analyzing input text data using a natural language processing engine and extracting key topics and issues,
[1474] A means of determining the appropriate category based on the extracted topics and issues,
[1475] A means of searching for and retrieving information related to the relevant category from a knowledge base,
[1476] A means of generating feedback in a format that is easy for users to understand based on the acquired information,
[1477] A means of sending the generated feedback to the terminal,
[1478] A means by which users input questions through a terminal in a physical store, and based on that, appropriate products and services are recommended.
[1479] A system that includes this.
[1480] (Claim 2)
[1481] The system according to claim 1, wherein the feedback includes general knowledge regarding the advantages and disadvantages of attending university and the advantages and disadvantages of employment.
[1482] (Claim 3)
[1483] The system according to claim 1, wherein the natural language processing engine extracts key topics and issues based on known keywords and context when analyzing user input data.
[1484] "Example 2 of combining an emotion engine"
[1485] (Claim 1)
[1486] A means for users to input their problems and concerns in text format using their devices,
[1487] A means of receiving input data from a terminal and performing a format check,
[1488] A method for analyzing input text data using a natural language processing engine and extracting key topics and issues,
[1489] A means of determining the appropriate category based on the extracted topics and issues,
[1490] A means of recognizing emotions from user input data using an emotion recognition engine,
[1491] A means of searching for and retrieving information related to the relevant category from a knowledge base,
[1492] A means of generating feedback in a user-friendly format based on acquired information and recognized emotions,
[1493] A system including means for sending generated feedback to a terminal.
[1494] (Claim 2)
[1495] The system according to claim 1, wherein the feedback includes general knowledge regarding the advantages and disadvantages of attending university and the advantages and disadvantages of employment.
[1496] (Claim 3)
[1497] The system according to claim 1, wherein the natural language processing engine extracts key topics and issues based on known keywords and context when analyzing user input data.
[1498] "Application example 2 when combining with an emotional engine"
[1499] (Claim 1)
[1500] A means for users to input their problems and concerns in text format using their devices,
[1501] A means of receiving input data from a terminal and performing a format check,
[1502] A method for analyzing input text data using a natural language processing engine and extracting key topics and issues,
[1503] A means of determining the appropriate category based on the extracted topics and issues,
[1504] A means for analyzing emotions based on user input data and calculating an emotion score,
[1505] A means of searching for and retrieving information related to the relevant category from a knowledge base,
[1506] A means of generating feedback in a user-friendly format based on acquired information and sentiment scores,
[1507] A system including means for sending generated feedback to a terminal.
[1508] (Claim 2)
[1509] The system according to claim 1, wherein the feedback includes general knowledge on a particular topic.
[1510] (Claim 3)
[1511] The system according to claim 1, which includes means for extracting key topics or issues based on known keywords and context when a natural language processing engine analyzes user input data. [Explanation of symbols]
[1512] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for users to input their problems and concerns in text format using their devices, A means of receiving input data from a terminal and performing a format check, A method for analyzing input text data using a natural language processing engine and extracting key topics and issues, A means of determining the appropriate category based on the extracted topics and issues, A means of searching for and retrieving information related to the relevant category from a knowledge base, A means of generating feedback in a format that is easy for users to understand based on the acquired information, A system including means for sending generated feedback to a terminal.
2. The system according to claim 1, wherein the feedback includes general knowledge regarding the advantages and disadvantages of attending university and the advantages and disadvantages of employment.
3. The system according to claim 1, wherein the natural language processing engine extracts key topics and issues based on known keywords and context when analyzing user input data.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A