System
The system addresses the challenge of cumbersome meal planning by analyzing user inputs to suggest optimal recipes and answer cooking questions, enhancing meal planning efficiency and cooking guidance.
Patent Information
- Application Number
- JP2024128576
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-02
- Publication Date
- 2026-02-16
AI Technical Summary
Existing systems fail to efficiently suggest optimal recipes that match user tastes and moods and provide detailed cooking information, including ingredient substitutions, making meal planning cumbersome and difficult.
A system that allows users to input keywords, analyzes them, searches a recipe database, selects optimal recipes, and provides answers to questions about cooking, while suggesting ingredient alternatives.
Enables quick and accurate suggestion of recipes tailored to user preferences, simplifying meal planning and providing detailed cooking guidance.
Smart Images

Figure 2026025764000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] The problem that this invention aims to solve is to reduce the effort of planning daily menus, to quickly and accurately suggest optimal recipes that match the user's tastes and moods, and to provide the ability to respond to detailed questions about cooking and substitute ingredients, so that users can easily make delicious dishes. [Means for solving the problem]
[0005] The present invention provides a system that includes a means for a user to input keywords, a means for analyzing the keywords, a means for searching a recipe database based on the keywords, a means for selecting an optimal recipe from the recipe database, a means for transmitting the selected recipe to a user terminal, a means for analyzing the user's question and generating an answer, and a means for transmitting the answer to the user terminal. This provides a system that can suggest optimal recipes that suit the user's tastes and mood based on the rough keywords entered by the user, and can also respond to questions about cooking.
[0006] A "user" is an entity that uses the system to input keywords and receive recipe suggestions.
[0007] "Keywords" are words or phrases that describe the characteristics or preferences of a dish entered by the user.
[0008] The "analyzing means" is a processing method or technology for understanding the input keywords and interpreting their meaning.
[0009] A "recipe database" is a data store that stores information about cooking steps and ingredients.
[0010] A "searching means" is a process or technique for finding relevant information from a recipe database based on the analyzed keywords.
[0011] The "selection method" refers to the algorithm or logic used to narrow down the search results to the recipes that best suit the user's needs.
[0012] "Transmission means" refers to the communication method or technology used to deliver the selected recipe or answer to the user terminal.
[0013] A "question" is a user request for more information about a recipe or for alternative ingredients.
[0014] The "means for generating an answer" is a processing method or technique for creating an appropriate answer to a user's question.
[0015] A "user terminal" is a device such as a computer device or smartphone that a user uses to access the system and receive recipe suggestions and answers. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] The present invention relates to a system that reduces the effort required for users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients.
[0038] Program processing overview
[0039] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[0040] Enter keywords and send
[0041] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[0042] Keyword Analysis
[0043] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." This analysis uses a text analysis engine to accurately understand the user's intent.
[0044] Recipe Search
[0045] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[0046] Recipe Selection
[0047] From the search results, the server selects the best recipes, using a filtering algorithm to select recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber."
[0048] Send recipe
[0049] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[0050] Answering questions
[0051] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[0052] Question analysis and answer generation
[0053] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[0054] Send response
[0055] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[0056] Through this process, users can quickly and accurately obtain detailed recipes and advice on the dishes they want to cook. The system of the present invention makes it easier to choose daily meals and improves the quality of cooking.
[0057] The processing flow will be explained below.
[0058] Step 1:
[0059] The user inputs a keyword.
[0060] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[0061] Step 2:
[0062] The terminal sends the input data to the server.
[0063] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[0064] Step 3:
[0065] The server analyzes the keywords.
[0066] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese cuisine."
[0067] Step 4:
[0068] The server searches the recipe database.
[0069] (Operation) Based on the extracted keywords, the server executes an SQL query against the recipe database to search for related recipes.
[0070] Step 5:
[0071] The server optimizes the search results.
[0072] (Operation) The server applies a filtering algorithm to the search results to select the best recipes that reflect the user's preferences. In this case, recipes related to light Japanese cuisine are selected.
[0073] Step 6:
[0074] The server sends the selected recipe to the terminal.
[0075] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[0076] Step 7:
[0077] The terminal will display the recipe.
[0078] (Operation) The terminal analyzes the response received from the server and displays recipe information (for example, "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber") on the screen for the user.
[0079] Step 8:
[0080] The user enters a recipe-related question.
[0081] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[0082] Step 9:
[0083] The terminal transmits the question data to the server.
[0084] (Operation) The device sends the question content as a request to the server via the API.
[0085] Step 10:
[0086] The server parses the question.
[0087] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[0088] Step 11:
[0089] The server searches a recipe database or knowledge base.
[0090] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[0091] Step 12:
[0092] The server generates the answer.
[0093] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[0094] Step 13:
[0095] The server generates a response and sends it to the terminal.
[0096] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[0097] Step 14:
[0098] The device will display the answer.
[0099] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[0100] This series of processes allows users to enter the necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions.
[0101] Example 1
[0102] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0103] Traditionally, planning daily menus and selecting optimal recipes has been a time-consuming and labor-intensive process for individuals. It is also difficult to easily obtain information about specific preferences and ingredient substitutions. There is a need for a system that can solve these problems and assist users in menu selection.
[0104] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0105] In this invention, the server includes means for a user to input information, means for analyzing the information, means for searching a database based on the analysis, means for selecting optimal data from the database, means for transmitting the selected data to a terminal, means for analyzing the user's additional information and generating a response, and means for transmitting the response to the terminal. This allows users to quickly obtain optimal recipes and related information that match their preferences, making daily menu selection easy and effective.
[0106] "Information" refers to text data and keywords entered by the user.
[0107] "Analyzing" refers to the process of processing information entered by a user to understand its meaning and importance.
[0108] A "database" refers to a collection of information that stores a large amount of recipe information and related data.
[0109] "Searching" refers to the process of finding relevant information in a database based on the analyzed information.
[0110] "Selecting" refers to the process of choosing the most appropriate information from the search results.
[0111] "Terminal" refers to an electronic device used by a user to enter information and receive results.
[0112] "Additional Information" refers to any questions or requests that a user provides after initially entering information.
[0113] "Response" refers to the answer or suggestion that the server generates based on additional information that it analyzes.
[0114] This invention relates to a system that reduces the effort required for users to plan their daily meals and quickly suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients.
[0115] This system is mainly composed of a server and a user terminal, and operates as follows.
[0116] First, the user inputs a keyword for the desired dish into their device. For example, the user might input, "I want to eat a light Japanese dish today." Then, the device sends this keyword to the server.
[0117] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3). As a result of the analysis, key keywords such as "light" and "Japanese cuisine" are extracted. Based on this analyzed information, the server searches a recipe database. This recipe database is managed using a database management system such as MySQL and contains a large amount of recipe information.
[0118] The server uses an SQL query to search the recipe database and retrieve recipes that match the analysis results. The retrieved recipe information is then narrowed down using a filtering algorithm to select the optimal recipe. The selected recipe is converted to JSON format and sent to the device. The device then displays the received recipe on the screen and provides it to the user.
[0119] Furthermore, the system allows users to input questions related to the selected recipe. For example, a question such as "Can I use Spanish mackerel instead of sea bream?" can be input into the device. The device then sends this question to the server. The server analyzes the question, searches for relevant information in a recipe database or knowledge base as necessary, and generates an appropriate answer. This generated answer is then converted back to JSON format and sent to the device. The device then displays the received answer on the screen and provides it to the user.
[0120] This allows users to quickly obtain detailed recipes and advice on the dishes they want to cook, making daily meal choices easier and improving the quality of their cooking.
[0121] Specific examples
[0122] For example, a user uses the system as follows:
[0123] User Input:
[0124] "I want to eat light Japanese food today."
[0125] System response:
[0126] "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber"
[0127] User Question:
[0128] "Can I use Spanish mackerel instead of sea bream?"
[0129] System response:
[0130] "There's no problem using Spanish mackerel."
[0131] In this way, users can receive menu suggestions tailored to their needs and get quick answers to specific questions.
[0132] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0133] Program processing flow
[0134] Step 1: Enter keywords
[0135] The user inputs keywords for the desired dish into their own terminal. For example, the user inputs "I want to eat light Japanese food today." This input data is collected by the user terminal via a text box.
[0136] Input: Text entered by the user
[0137] Output: The keyword entered in the text box
[0138] Step 2: Submit your keywords
[0139] The terminal sends the input keyword to the server using an HTTP POST request, and the input data is sent to the server in JSON format. Specifically, it is sent to the server as a JSON object.
[0140] Input: The keyword entered in the text box
[0141] Output: Data in JSON object format
[0142] Step 3: Keyword analysis
[0143] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3) to extract key elements of the keywords. For example, key keywords such as "light" and "Japanese cuisine" are extracted.
[0144] Input: Data in JSON object format
[0145] Output: Extracted keywords (e.g., "light" and "Japanese food")
[0146] Step 4: Find a recipe
[0147] The server searches the database based on the extracted keywords, specifically using an SQL query to retrieve recipes related to "Japanese cuisine" and "light."
[0148] Input: Parsed keyword
[0149] Output: Recipe information as search results
[0150] Step 5: Recipe Selection
[0151] The server selects the best recipe from the search results using a filtering algorithm, such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," or "lightly pickled cucumber."
[0152] Input: Recipe information as search results
[0153] Output: Selected recipe information
[0154] Step 6: Submit the recipe
[0155] The server sends the selected recipe information to the terminal. The data is sent in JSON format again to the user terminal. The user terminal receives this data and displays it on the screen.
[0156] Input: Selected recipe information
[0157] Output: Recipe information displayed on the user's device
[0158] Step 7: Enter your question
[0159] The user enters a question related to the selected recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is again collected via a text box.
[0160] Input: Text entered by the user
[0161] Output: The question entered in the text box
[0162] Step 8: Submit your question
[0163] The device sends the question entered by the user back to the server using an HTTP POST request, with the input data sent to the server in JSON format.
[0164] Input: The question entered in the text box
[0165] Output: Data in JSON object format
[0166] Step 9: Question Analysis
[0167] The server analyzes the received question, uses a natural language processing engine to understand the content of the question, and prepares an appropriate answer based on the results of this analysis.
[0168] Input: Data in JSON object format
[0169] Output: Parsed question
[0170] Step 10: Answer Generation
[0171] The server generates the best answer to the user's question. If necessary, it searches for relevant information from a database or knowledge base and generates an answer based on this information. For example, the server might generate an answer such as "It's okay to use Spanish mackerel instead of sea bream."
[0172] Input: Parsed question content
[0173] Output: The generated answer
[0174] Step 11: Submit your response
[0175] The server sends the generated response to the terminal, again in JSON format, which is then sent to the user's terminal. The user's terminal receives this data and displays it on the screen.
[0176] Input: Generated Answer
[0177] Output: The answer displayed on the user's terminal
[0178] (Application example 1)
[0179] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0180] Planning daily menus is a burden for many users, and even more effort is required when considering health conditions and preferences for specific ingredients. Furthermore, the process of efficiently ordering the necessary ingredients by connecting with external food delivery services is cumbersome. There is a need for a system that solves these problems and allows users to easily find healthy recipes that suit their preferences.
[0181] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0182] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a recipe database based on the keywords, means for selecting an optimal recipe from the recipe database, means for transmitting the selected recipe to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for selecting necessary ingredients and ordering the ingredients using an external service, and means for suggesting recipes using the user's health information. This allows users to easily obtain healthy recipes that suit their preferences while simplifying a series of procedures.
[0183] The "means for the user to input keywords" is an interface that allows the user to input keywords related to the dish they desire into the terminal.
[0184] The "means for analyzing the keywords" provides a function for analyzing input keywords and extracting important elements.
[0185] The "means for searching the recipe database based on the keywords" refers to an algorithm or technique for searching related recipe information in the recipe database using the analyzed keywords.
[0186] The "means for selecting the most suitable recipe from the recipe database" refers to an evaluation and filtering algorithm for selecting from the search results the recipe that best meets the user's desires.
[0187] The "means for transmitting the selected recipe to the user terminal" refers to a communication means for transmitting the selected recipe information as data to the terminal used by the user.
[0188] The "means for analyzing a user's question and generating an answer" is a technology for analyzing the content of a question entered by a user and generating an appropriate answer to that question.
[0189] The "means for transmitting the answer to the user terminal" refers to a communication means for transmitting the generated answer to the user terminal and displaying it.
[0190] "Means of selecting the necessary ingredients and ordering them using an external service" refers to the function of identifying the necessary ingredients based on the selected recipe and ordering them through an external food delivery service.
[0191] "Means for suggesting recipes using the user's health information" refers to technology that analyzes the user's health data and dietary history and suggests optimal health-conscious recipes based on that data.
[0192] This system reduces the effort required for users to plan their daily meals and suggests optimal recipes based on health information and preferences. This system is implemented using specific hardware and software, and is built around a smartphone application that is easy for users to operate.
[0193] Overall system configuration
[0194] User device:
[0195] The user device is typically a smartphone, providing an interface for users to input keywords and view suggested recipes and answers, including keyboard input, touchscreen operation, and voice input.
[0196] server:
[0197] The server mainly runs on a cloud server (e.g. AWS EC2) and has the following main functions:
[0198] Keyword analysis engine: Uses the Google Cloud Natural Language API to analyze keywords entered by the user.
[0199] Recipe database: A large amount of recipe information is stored in a database such as MySQL, and searches are performed using SQL queries.
[0200] Filtering algorithm: Selects the best recipes based on user preferences and health data.
[0201] Delivery integration API: Uses APIs (e.g., Uber Eats API) to integrate with partner food delivery services.
[0202] Question analysis and answer generation: Use a generative AI model to generate appropriate answers to user questions.
[0203] Specific processing of the program
[0204] 1. Keyword input and sending process
[0205] The user enters a keyword into the smartphone's application interface and sends the data to the server.
[0206] 2. Keyword analysis processing
[0207] The server analyzes the received keywords using the Google Cloud Natural Language API and extracts important elements. This analysis allows the server to accurately understand the user's intent.
[0208] 3. Recipe search process
[0209] The server searches for recipe information in the MySQL database based on the analysis results. For example, if a user enters "I want to eat light Japanese food," it executes an SQL query based on the keywords "light" and "Japanese food."
[0210] 4. Optimal recipe selection process
[0211] From the search results, the optimal recipes are selected based on the user's history, preferences, and health data, and are evaluated using a filtering algorithm.
[0212] 5. Recipe sending process
[0213] The selected recipe information is converted to JSON format and sent to the user's device, where the user can check the recipe on their smartphone screen.
[0214] 6. Question handling
[0215] When a user enters a question related to a recipe, that question is also sent to the server, which uses the generative AI model to analyze the question and generate an appropriate answer.
[0216] 7. Ingredient selection and order processing
[0217] Based on the selected recipe, the necessary ingredients are identified and an order is generated from an external delivery service, using APIs such as Uber Eats.
[0218] 8. Health Information Linkage Processing
[0219] It analyzes the user's health data and suggests healthy recipes based on that data. The information is obtained from healthcare devices and apps with the user's consent.
[0220] Specific examples
[0221] As an example, let's consider the case where a user enters "I want to eat light Japanese food today" into a smartphone app. This input data is sent to the server, where the Google Cloud Natural Language API analyzes the keywords. Then, based on the analyzed keywords, a MySQL database is searched for recipes that match "light" and "Japanese food," and the most suitable recipe is selected. This recipe information is then sent to the user's smartphone in JSON format and displayed on the screen.
[0222] If a user asks, "Can I use another fish instead of grilled salted sea bream?", the generative AI model will analyze the question, generate an answer such as "You can also use Spanish mackerel," and send it to the user's device. Furthermore, the necessary ingredients will be automatically selected and an order will be placed through a partner delivery service.
[0223] An example prompt sentence would be entered as follows:
[0224] "Tell me some light Japanese recipes."
[0225] "Suggest an alternative ingredient for this recipe"
[0226] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0227] Step 1: Enter keywords and send
[0228] The user uses the smartphone's application interface to input keywords related to the desired dish. For example, they might input a desired keyword such as "I want to eat a light Japanese dish today." The input keywords are sent from the device to the server. The input data is in the form of text data.
[0229] Step 2: Keyword analysis process
[0230] The server analyzes the received keywords using the Google Cloud Natural Language API. It extracts important elements from the analyzed keywords and obtains information such as "light" and "Japanese cuisine." This analysis allows the system to accurately understand the user's intent. The input data is text data, and the output data is a list of analyzed keywords.
[0231] Step 3: Recipe search process
[0232] The server searches for recipe information in the MySQL database based on the analyzed keywords. It uses an SQL query to search for recipes related to "light" and "Japanese food." This search results in a list of recipe candidates. The input data is the analyzed keyword list, and the output data is the search result recipe list.
[0233] Step 4: Optimal recipe selection process
[0234] The server selects the optimal recipe from the search result recipe list based on the user's preferences and health data. It uses a filtering algorithm to select the recipe that best suits the user's past selection history and current health status. The input data is the search result recipe list and the user's preference data and health data, and the output data is the optimal recipe.
[0235] Step 5: Recipe submission process
[0236] The server converts the selected recipe information into JSON format and sends it to the user's device. The user can then check the recipe on the device screen. The input data is the selected recipe information, and the output data is the recipe data in JSON format.
[0237] Step 6: Response to questions
[0238] If the user has any questions about the selected recipe, they can again input their questions using the smartphone application interface. For example, they can input a question such as, "Can I use Spanish mackerel instead of sea bream?" The input question is sent from the device to the server. The input data is text data.
[0239] Step 7: Question analysis and answer generation
[0240] The server analyzes the received question using a generative AI model and generates an appropriate answer. If necessary, it searches for related information from a recipe database or knowledge base to generate an answer. For example, the answer generated may be "It's okay to use Spanish mackerel instead of sea bream." The input data is the question text data, and the output data is the generated answer text data.
[0241] Step 8: Response submission process
[0242] The server converts the generated answer into JSON format and sends it to the user's device. The user can check the answer on the device screen. The input data is the generated answer text data, and the output data is the JSON format answer data.
[0243] Step 9: Ingredient selection and order processing
[0244] The server identifies the necessary ingredients based on the selected recipe and generates an order to an external delivery service. This process uses an external service API, such as the Uber Eats API, to order the ingredients. The input data is the selected recipe information, and the output data is an order request to the delivery service.
[0245] Step 10: Health information linkage processing
[0246] The server analyzes the user's health data and suggests healthy recipes based on that data. Specifically, it analyzes the health data provided by the user (e.g., calorie consumption, intake of specific nutrients) and suggests optimal recipes. The input data is the user's health data, and the output data is healthy recipe suggestions.
[0247] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0248] This invention relates to a system that reduces the effort required by users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients. It also combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[0249] Program processing overview
[0250] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[0251] Enter keywords and send
[0252] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[0253] Keyword analysis and emotion recognition
[0254] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." It then uses an emotion engine to recognize emotions from the user's input and detects that the user has the motivated emotion of "wanting to eat."
[0255] Recipe Search
[0256] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[0257] Recipe Selection
[0258] From the search results, the server selects the most suitable recipe, using a filtering algorithm and emotion recognition results. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[0259] Send recipe
[0260] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[0261] Answering questions
[0262] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[0263] Question analysis and answer generation
[0264] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[0265] Send response
[0266] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[0267] Through this process, users can quickly and accurately obtain detailed recipes and advice for their desired dishes. Furthermore, by utilizing the emotion engine, recipe suggestions and alternative ingredient suggestions can be made based on the user's emotional state, further increasing user satisfaction. The system of the present invention makes daily meal selections easier and improves the quality of cooking.
[0268] The processing flow will be explained below.
[0269] Step 1:
[0270] The user inputs a keyword.
[0271] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[0272] Step 2:
[0273] The terminal sends the input data to the server.
[0274] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[0275] Step 3:
[0276] The server analyzes keywords and recognizes emotions.
[0277] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's motivational emotion of "wanting to eat."
[0278] Step 4:
[0279] The server searches the recipe database.
[0280] (Operation) Based on the analysis results, the server executes an SQL query against the recipe database to retrieve recipes related to "light" and "Japanese cuisine." The recipe database stores numerous cooking instructions and ingredient information.
[0281] Step 5:
[0282] The server optimizes the search results.
[0283] (Operation) The server runs the search results through a filtering algorithm to select the best recipe that reflects the user's preferences. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[0284] Step 6:
[0285] The server sends the selected recipe to the terminal.
[0286] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[0287] Step 7:
[0288] The terminal will display the recipe.
[0289] (Operation) The terminal analyzes the response received from the server and displays the recipe information on the screen for the user.
[0290] Step 8:
[0291] The user enters a recipe-related question.
[0292] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[0293] Step 9:
[0294] The terminal transmits the question data to the server.
[0295] (Operation) The device sends the question content as a request to the server via the API.
[0296] Step 10:
[0297] The server parses the question.
[0298] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[0299] Step 11:
[0300] The server searches a recipe database or knowledge base.
[0301] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[0302] Step 12:
[0303] The server generates the answer.
[0304] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[0305] Step 13:
[0306] The server generates a response and sends it to the terminal.
[0307] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[0308] Step 14:
[0309] The device will display the answer.
[0310] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[0311] Through this process, users can input necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions. Furthermore, by utilizing an emotion engine, recipe suggestions and alternative ingredient suggestions can be made according to the user's emotional state, further increasing user satisfaction.
[0312] Example 2
[0313] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0314] Conventional recipe suggestion systems have difficulty in sufficiently reducing the effort required for users to plan their daily meals. In addition, they are not able to adequately respond to users' emotional states or specific questions, making it difficult to improve satisfaction.
[0315] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0316] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for transmitting selected data to a user terminal, means for analyzing the user's question and generating an answer, and means for recognizing emotions, thereby enabling optimal recipe suggestions that take the user's emotional state into consideration and appropriate answers to specific questions.
[0317] "Means for users to input keywords" refers to an interface that allows users to input keywords such as desired dishes and ingredients in text format.
[0318] "Means for analyzing keywords" refers to a function that analyzes input keywords and performs processing to extract important words and phrases.
[0319] The "means for searching a database based on a keyword" refers to a function for searching a database for corresponding data based on an extracted keyword.
[0320] "Means for selecting optimal data from a database" refers to algorithms and filtering used to select the data that best matches the conditions from the search results.
[0321] "Means for transmitting selected data to the user terminal" refers to a communication function for transmitting optimal data to the user terminal.
[0322] "Means for analyzing a user's question and generating an answer" refers to a processing function for analyzing a user's question and generating an appropriate answer.
[0323] The "means for transmitting an answer to a user terminal" refers to a communication function for transmitting the generated answer to a user terminal.
[0324] "Emotion recognition means" refers to a function for analyzing and recognizing the emotional state of a user from their input.
[0325] This invention is a system that reduces the effort required for users to plan their daily meals and suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients. Furthermore, it combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[0326] The system consists of a terminal used by the user and a server that processes the data. The terminal is assumed to be a general device such as a smartphone or PC, and provides an interface for users to input keywords and questions. The server receives the data input from the user and runs software to perform various processing.
[0327] Specific software includes natural language processing libraries (e.g., NLTK and spaCy) used for keyword analysis, engines used for emotion recognition (e.g., Google Cloud Natural Language API), SQL query techniques used for database searches, filtering algorithms, etc. The server coordinates these pieces of software to provide users with the best recipes and answers.
[0328] The specific process is as follows: First, the user enters keywords such as "I want to eat light Japanese food today" into the device. This input data is sent from the device to the server. The server analyzes the keywords and extracts important information such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's emotions. Next, the server searches the database based on the analysis results and selects the optimal recipe. The selected recipe information is converted to JSON format and sent to the device. The device then displays the received recipe on the screen.
[0329] Furthermore, if the user enters a question about the selected recipe, the question is sent again to the server. The server analyzes the question and generates an appropriate answer. The generated answer is sent to the device and displayed on the screen. Through these processes, the user can quickly and accurately obtain detailed recipes and advice about the dish they want.
[0330] Examples of prompts include "I'd like to eat a light Japanese dish today" or "Can I use mackerel instead of sea bream?" This allows the system to suggest recipes and answer questions based on the user's specific needs.
[0331] In this way, this system significantly reduces the effort required to plan meals by providing optimal recipe information and advice tailored to the user's needs, making daily meal choices easier.
[0332] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0333] Step 1:
[0334] The user inputs a keyword.
[0335] The user enters "I want to eat light Japanese food today" into the text input field of the device. This input data is immediately saved in the device.
[0336] Step 2:
[0337] The terminal sends input data.
[0338] The device converts the input keywords into JSON format and sends it to the server using an HTTP POST request. Specifically, the input data is sent in the format {"input": "I want to eat light Japanese food today"}.
[0339] Step 3:
[0340] The server analyzes the keywords.
[0341] The server analyzes the received input data and extracts important keywords. Specifically, it uses a natural language processing library (NLTK or spaCy) to extract "light" and "Japanese food" from the sentence "I want to eat light Japanese food today." Input: {"input": "I want to eat light Japanese food today"}, Output: {"keywords": ["light", "Japanese food"]}.
[0342] Step 4:
[0343] The server recognizes emotions.
[0344] The server uses an emotion recognition engine (Google Cloud Natural Language API) to determine the emotion of the content entered by the user. Specifically, it sends text to the API and determines from the results that the user has a positive emotion (positive motivation). Input: {"input": "I want to eat light Japanese food today"}, Output: {"emotion": "positive_intent"}.
[0345] Step 5:
[0346] The server searches the database.
[0347] The server searches the recipe database based on the extracted keywords. Specifically, it uses an SQL query to retrieve recipes that are "light" and "Japanese food" from the database. Input: {"keywords": ["light", "Japanese food"]}, Output: Data containing the search results from the database.
[0348] Step 6:
[0349] The server selects the best recipe.
[0350] The server uses filtering algorithms and emotion recognition results to select the best recipe from the search results. Specifically, it selects the recipe with the highest emotion score from candidates that match "light" and "Japanese cuisine." Input: Search results from the database, Output: Selected recipe.
[0351] Step 7:
[0352] The server sends the selected recipe.
[0353] The server converts the selected recipe information into JSON format and sends it to the user's device using an HTTP response. Input: Selected recipe, Output: JSON data in {"recipe": {...}} format.
[0354] Step 8:
[0355] The terminal will display the recipe.
[0356] The device analyzes the received recipe information and displays it to the user. Specifically, it uses HTML and JavaScript to display the recipe details on the screen. Input: JSON data in {"recipe": {...}} format, Output: Recipe information displayed on the screen.
[0357] Step 9:
[0358] The user enters a question about the recipe.
[0359] The user inputs a question for the provided recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is also stored in the terminal.
[0360] Step 10:
[0361] The terminal transmits the query data.
[0362] The terminal converts the input question back into JSON format and sends it to the server using an HTTP POST request. Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: Request sent to the server.
[0363] Step 11:
[0364] The server analyzes the question and generates an answer.
[0365] The server analyzes the received question and queries a database or knowledge base to generate an appropriate answer. For example, in response to the question "Can I use Spanish mackerel instead of sea bream?", it generates the answer "Spanish mackerel is fine too." Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: {"answer": "Spanish mackerel is fine too."}
[0366] Step 12:
[0367] The server sends the answer.
[0368] The server converts the generated answer back into JSON format and sends it to the user's terminal using an HTTP response. Input: Generated answer, Output: JSON data in the format {"answer": "Spanish mackerel is fine too."}
[0369] Step 13:
[0370] The device will display the answer.
[0371] The device analyzes the received answer and displays it to the user. Specifically, the answer is displayed in a chat box. Input: JSON data in the format {"answer": "Spanish mackerel is fine too."}, Output: Answer information displayed on the screen.
[0372] (Application example 2)
[0373] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0374] There is a growing demand for systems that reduce the effort required by users to plan their daily meals and easily suggest optimal recipes. There is also a need for systems that take into account the user's emotions and preferences to provide more personalized suggestions. Furthermore, there is also a demand for systems that can link with external services and handle everything from suggesting recipes to actually ordering meals. However, it has been difficult for conventional systems to comprehensively address all of these issues.
[0375] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0376] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for selecting optimal information from the database, means for transmitting the selected information to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for recognizing the user's emotion using an emotion engine, means for filtering information based on the emotion, and means for linking with external services. This makes it possible to select recipes and suggest optimal meals based on the keywords and emotions input by the user, and by linking with external services, the suggested meals can also be actually ordered.
[0377] The "means for users to input keywords" refers to an interface that allows users to input requests or questions to the system by text, voice, or the like.
[0378] "Means for analyzing keywords" is a function for analyzing input keywords using techniques such as natural language processing and extracting important information.
[0379] A "means for searching the database" is an algorithm or mechanism for quickly searching pre-stored recipes and related information.
[0380] The "means for selecting optimal information" is a filtering mechanism for evaluating the necessary and optimal information from the retrieved data and providing it to the user.
[0381] The "means for transmitting selected information to a user terminal" is a communication function for transmitting the selected information to the user's device and displaying it.
[0382] The "means for analyzing a user's question and generating an answer" is a processing function for generating appropriate answers or suggestions in response to additional questions or requests from the user.
[0383] The "means for transmitting the answer to the user terminal" is a communication function for transmitting the generated answer back to the user's device and displaying it.
[0384] The "means for recognizing emotions" refers to an emotion engine or analysis algorithm for analyzing emotions and moods from user input.
[0385] "Means for filtering information" refers to a filtering mechanism for selecting information to be provided based on emotions, preferences, etc.
[0386] "Means for linking with external services" refers to an API linking function that links with external delivery services and e-commerce sites based on proposed recipes and information, and processes orders, etc.
[0387] The present invention provides a system that reduces the effort required for users to plan their daily menus and easily suggests optimal recipes. Specific embodiments for carrying out the present invention will be described below.
[0388] System Configuration
[0389] This system operates in cooperation with a user terminal and a server. The user terminal is a smartphone or smart glasses, and the server is a high-performance computing environment. The main hardware and software used are as follows:
[0390] Frontend: React Native (smartphone app)
[0391] Backend: Node.js + Express (server side)
[0392] Database: MySQL (recipe database), MongoDB (user data)
[0393] Natural Language Processing: Google Natural Language API
[0394] Sentiment analysis: IBM Watson Tone Analyzer
[0395] AI model: OpenAI GPT-3.5
[0396] External service integration: UberEats API
[0397] Process Overview
[0398] The operation of this system begins when the user inputs a keyword. When the user inputs "I want to eat healthy food today" via a smartphone or smart glasses, the following process takes place.
[0399] Receiving and analyzing user input: Keywords entered by the user are sent from the terminal to the server and analyzed using natural language processing.
[0400] Emotion recognition: Keyword analysis is performed using the Google Natural Language API, and at the same time, user emotions are analyzed using IBM Watson Tone Analyzer.
[0401] Recipe search and selection: Based on the analysis results, the optimal recipe that meets the specified criteria is searched from the MySQL database.
[0402] Recipe suggestion generation: The selected recipes are linked to a food delivery service and displayed on the user's device as an orderable menu.
[0403] Answering questions: When a user enters a question, the question is sent back to the server, which uses OpenAI GPT-3.5 to generate an appropriate answer.
[0404] Specific examples
[0405] For example, if a user inputs "I want to eat healthy food today," the system will do the following:
[0406] 1. Receiving and analyzing keywords
[0407] User: Enters "I want to eat healthy food today" into a smartphone app.
[0408] Server: The keyword "healthy" is extracted using Google Natural Language API, and the emotion "health-conscious" is recognized using IBM Watson Tone Analyzer.
[0409] 2. Search and select recipes
[0410] Server: Search the MySQL database for "steamed vegetable salad" and "healthy steamed chicken breast" dishes that are "healthy" for your health.
[0411] 3. Provision of Information
[0412] Server: Converts the selected dish into JSON format and sends it to the user's device.
[0413] User: The recipe will be displayed on the device along with a link to order it from a food delivery service.
[0414] 4. Responding to Questions
[0415] User: "Can I use salmon instead of chicken breast?"
[0416] Server: Using OpenAI GPT-3.5, generate "Salmon is OK too" and send it to the user device.
[0417] Prompt Sentence Examples
[0418] User input: "I want to eat healthy food today"
[0419] Prompt: "The user is looking for healthy food. Please choose the best recipe from the options below and provide a food delivery link, taking their sentiment into consideration."
[0420] In this way, the system suggests optimal recipes based on the user's keywords and emotions, and by linking with external services, it can provide consistent support right up to ordering the food.
[0421] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0422] Step 1:
[0423] Keyword input
[0424] The user inputs a keyword such as "I want to eat healthy food today" through a smartphone or smart glasses application. The input keyword is sent from the device to the server.
[0425] Input: Enter the text "I want to eat healthy food today."
[0426] Output: This text data is sent to the server.
[0427] Step 2:
[0428] Keyword analysis and emotion recognition
[0429] The server analyzes the received keywords using the Google Natural Language API. This analysis extracts the important keyword "healthy." At the same time, it uses IBM Watson Tone Analyzer to analyze the user's emotions and recognize the emotion "health-conscious."
[0430] Input: User's keyword text data.
[0431] Output: The keyword "healthy" and the sentiment data "health-conscious."
[0432] Step 3:
[0433] Recipe Search
[0434] Based on the analysis results, the server searches for relevant recipes in the MySQL database. Specifically, it retrieves recipes related to the keyword "healthy" using an SQL query.
[0435] Input: Extracted keywords and sentiment data.
[0436] Output: Recipe data from search results such as "Steamed vegetable salad" and "Healthy steamed chicken breast."
[0437] Step 4:
[0438] Recipe Selection
[0439] The server selects the optimal recipe from the search results, taking into account the results of emotion recognition, and chooses the recipe that best suits the user's needs.
[0440] Input: Recipe data and sentiment data from search results.
[0441] Output: Selected recipes such as "Steamed Vegetable Salad" and "Healthy Steamed Chicken Breast."
[0442] Step 5:
[0443] Send recipe
[0444] The selected recipe information is converted into JSON format and sent to the user's device.
[0445] Input: Selected recipe data.
[0446] Output: Recipe data in JSON format.
[0447] Step 6:
[0448] Recipe display
[0449] The device parses the received JSON-formatted recipe data and displays it on the screen, allowing the user to check the suggested recipes.
[0450] Input: Recipe data in JSON format.
[0451] Output: Recipe information displayed on screen.
[0452] Step 7:
[0453] Enter a question
[0454] The user enters a question related to the suggested recipe, for example, "Can I use salmon instead of chicken breast?" The question is sent from the device to the server.
[0455] Input: Question text data.
[0456] Output: Sends the question text data to the server.
[0457] Step 8:
[0458] Question analysis and answer generation
[0459] The server analyzes the question and generates an appropriate answer using OpenAI GPT-3.5.
[0460] Input: Question text data.
[0461] Output: The generated response data.
[0462] Step 9:
[0463] Send response
[0464] The generated answer is converted into JSON format and sent to the user's device.
[0465] Input: The generated response data.
[0466] Output: Response data in JSON format.
[0467] Step 10:
[0468] Answer display
[0469] The device parses the received JSON-formatted answer data and displays it on the screen, allowing the user to check the suggested answers.
[0470] Input: Response data in JSON format.
[0471] Output: Answer information displayed on the screen.
[0472] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0473] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0474] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0475] [Second embodiment]
[0476] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0477] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0478] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0479] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0480] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0481] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0482] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0483] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0484] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0485] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0486] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0487] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0488] The present invention relates to a system that reduces the effort required for users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients.
[0489] Program processing overview
[0490] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[0491] Enter keywords and send
[0492] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[0493] Keyword Analysis
[0494] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." This analysis uses a text analysis engine to accurately understand the user's intent.
[0495] Recipe Search
[0496] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[0497] Recipe Selection
[0498] From the search results, the server selects the best recipes, using a filtering algorithm to select recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber."
[0499] Send recipe
[0500] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[0501] Answering questions
[0502] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[0503] Question analysis and answer generation
[0504] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[0505] Send response
[0506] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[0507] Through this process, users can quickly and accurately obtain detailed recipes and advice on the dishes they want to cook. The system of the present invention makes it easier to choose daily meals and improves the quality of cooking.
[0508] The processing flow will be explained below.
[0509] Step 1:
[0510] The user inputs a keyword.
[0511] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[0512] Step 2:
[0513] The terminal sends the input data to the server.
[0514] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[0515] Step 3:
[0516] The server analyzes the keywords.
[0517] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese cuisine."
[0518] Step 4:
[0519] The server searches the recipe database.
[0520] (Operation) Based on the extracted keywords, the server executes an SQL query against the recipe database to search for related recipes.
[0521] Step 5:
[0522] The server optimizes the search results.
[0523] (Operation) The server applies a filtering algorithm to the search results to select the best recipes that reflect the user's preferences. In this case, recipes related to light Japanese cuisine are selected.
[0524] Step 6:
[0525] The server sends the selected recipe to the terminal.
[0526] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[0527] Step 7:
[0528] The terminal will display the recipe.
[0529] (Operation) The terminal analyzes the response received from the server and displays recipe information (for example, "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber") on the screen for the user.
[0530] Step 8:
[0531] The user enters a recipe-related question.
[0532] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[0533] Step 9:
[0534] The terminal transmits the question data to the server.
[0535] (Operation) The device sends the question content as a request to the server via the API.
[0536] Step 10:
[0537] The server parses the question.
[0538] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[0539] Step 11:
[0540] The server searches a recipe database or knowledge base.
[0541] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[0542] Step 12:
[0543] The server generates the answer.
[0544] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[0545] Step 13:
[0546] The server generates a response and sends it to the terminal.
[0547] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[0548] Step 14:
[0549] The device will display the answer.
[0550] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[0551] This series of processes allows users to enter the necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions.
[0552] Example 1
[0553] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0554] Traditionally, planning daily menus and selecting optimal recipes has been a time-consuming and labor-intensive process for individuals. It is also difficult to easily obtain information about specific preferences and ingredient substitutions. There is a need for a system that can solve these problems and assist users in menu selection.
[0555] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0556] In this invention, the server includes means for a user to input information, means for analyzing the information, means for searching a database based on the analysis, means for selecting optimal data from the database, means for transmitting the selected data to a terminal, means for analyzing the user's additional information and generating a response, and means for transmitting the response to the terminal. This allows users to quickly obtain optimal recipes and related information that match their preferences, making daily menu selection easy and effective.
[0557] "Information" refers to text data and keywords entered by the user.
[0558] "Analyzing" refers to the process of processing information entered by a user to understand its meaning and importance.
[0559] A "database" refers to a collection of information that stores a large amount of recipe information and related data.
[0560] "Searching" refers to the process of finding relevant information in a database based on the analyzed information.
[0561] "Selecting" refers to the process of choosing the most appropriate information from the search results.
[0562] "Terminal" refers to an electronic device used by a user to enter information and receive results.
[0563] "Additional Information" refers to any questions or requests that a user provides after initially entering information.
[0564] "Response" refers to the answer or suggestion that the server generates based on additional information that it analyzes.
[0565] This invention relates to a system that reduces the effort required for users to plan their daily meals and quickly suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients.
[0566] This system is mainly composed of a server and a user terminal, and operates as follows.
[0567] First, the user inputs a keyword for the desired dish into their device. For example, the user might input, "I want to eat a light Japanese dish today." Then, the device sends this keyword to the server.
[0568] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3). As a result of the analysis, key keywords such as "light" and "Japanese cuisine" are extracted. Based on this analyzed information, the server searches a recipe database. This recipe database is managed using a database management system such as MySQL and contains a large amount of recipe information.
[0569] The server uses an SQL query to search the recipe database and retrieve recipes that match the analysis results. The retrieved recipe information is then narrowed down using a filtering algorithm to select the optimal recipe. The selected recipe is converted to JSON format and sent to the device. The device then displays the received recipe on the screen and provides it to the user.
[0570] Furthermore, the system allows users to input questions related to the selected recipe. For example, a question such as "Can I use Spanish mackerel instead of sea bream?" can be input into the device. The device then sends this question to the server. The server analyzes the question, searches for relevant information in a recipe database or knowledge base as necessary, and generates an appropriate answer. This generated answer is then converted back to JSON format and sent to the device. The device then displays the received answer on the screen and provides it to the user.
[0571] This allows users to quickly obtain detailed recipes and advice on the dishes they want to cook, making daily meal choices easier and improving the quality of their cooking.
[0572] Specific examples
[0573] For example, a user uses the system as follows:
[0574] User Input:
[0575] "I want to eat light Japanese food today."
[0576] System response:
[0577] "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber"
[0578] User Question:
[0579] "Can I use Spanish mackerel instead of sea bream?"
[0580] System response:
[0581] "There's no problem using Spanish mackerel."
[0582] In this way, users can receive menu suggestions tailored to their needs and get quick answers to specific questions.
[0583] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0584] Program processing flow
[0585] Step 1: Enter keywords
[0586] The user inputs keywords for the desired dish into their own terminal. For example, the user inputs "I want to eat light Japanese food today." This input data is collected by the user terminal via a text box.
[0587] Input: Text entered by the user
[0588] Output: The keyword entered in the text box
[0589] Step 2: Submit your keywords
[0590] The terminal sends the input keyword to the server using an HTTP POST request, and the input data is sent to the server in JSON format. Specifically, it is sent to the server as a JSON object.
[0591] Input: The keyword entered in the text box
[0592] Output: Data in JSON object format
[0593] Step 3: Keyword analysis
[0594] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3) to extract key elements of the keywords. For example, key keywords such as "light" and "Japanese cuisine" are extracted.
[0595] Input: Data in JSON object format
[0596] Output: Extracted keywords (e.g., "light" and "Japanese food")
[0597] Step 4: Find a recipe
[0598] The server searches the database based on the extracted keywords, specifically using an SQL query to retrieve recipes related to "Japanese cuisine" and "light."
[0599] Input: Parsed keyword
[0600] Output: Recipe information as search results
[0601] Step 5: Recipe Selection
[0602] The server selects the best recipe from the search results using a filtering algorithm, such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," or "lightly pickled cucumber."
[0603] Input: Recipe information as search results
[0604] Output: Selected recipe information
[0605] Step 6: Submit the recipe
[0606] The server sends the selected recipe information to the terminal. The data is sent in JSON format again to the user terminal. The user terminal receives this data and displays it on the screen.
[0607] Input: Selected recipe information
[0608] Output: Recipe information displayed on the user's device
[0609] Step 7: Enter your question
[0610] The user enters a question related to the selected recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is again collected via a text box.
[0611] Input: Text entered by the user
[0612] Output: The question entered in the text box
[0613] Step 8: Submit your question
[0614] The device sends the question entered by the user back to the server using an HTTP POST request, with the input data sent to the server in JSON format.
[0615] Input: The question entered in the text box
[0616] Output: Data in JSON object format
[0617] Step 9: Question Analysis
[0618] The server analyzes the received question, uses a natural language processing engine to understand the content of the question, and prepares an appropriate answer based on the results of this analysis.
[0619] Input: Data in JSON object format
[0620] Output: Parsed question
[0621] Step 10: Answer Generation
[0622] The server generates the best answer to the user's question. If necessary, it searches for relevant information from a database or knowledge base and generates an answer based on this information. For example, the server might generate an answer such as "It's okay to use Spanish mackerel instead of sea bream."
[0623] Input: Parsed question content
[0624] Output: The generated answer
[0625] Step 11: Submit your response
[0626] The server sends the generated response to the terminal, again in JSON format, which is then sent to the user's terminal. The user's terminal receives this data and displays it on the screen.
[0627] Input: Generated Answer
[0628] Output: The answer displayed on the user's terminal
[0629] (Application example 1)
[0630] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0631] Planning daily menus is a burden for many users, and even more effort is required when considering health conditions and preferences for specific ingredients. Furthermore, the process of efficiently ordering the necessary ingredients by connecting with external food delivery services is cumbersome. There is a need for a system that solves these problems and allows users to easily find healthy recipes that suit their preferences.
[0632] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0633] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a recipe database based on the keywords, means for selecting an optimal recipe from the recipe database, means for transmitting the selected recipe to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for selecting necessary ingredients and ordering the ingredients using an external service, and means for suggesting recipes using the user's health information. This allows users to easily obtain healthy recipes that suit their preferences while simplifying a series of procedures.
[0634] The "means for the user to input keywords" is an interface that allows the user to input keywords related to the dish they desire into the terminal.
[0635] The "means for analyzing the keywords" provides a function for analyzing input keywords and extracting important elements.
[0636] The "means for searching the recipe database based on the keywords" refers to an algorithm or technique for searching related recipe information in the recipe database using the analyzed keywords.
[0637] The "means for selecting the most suitable recipe from the recipe database" refers to an evaluation and filtering algorithm for selecting from the search results the recipe that best meets the user's desires.
[0638] The "means for transmitting the selected recipe to the user terminal" refers to a communication means for transmitting the selected recipe information as data to the terminal used by the user.
[0639] The "means for analyzing a user's question and generating an answer" is a technology for analyzing the content of a question entered by a user and generating an appropriate answer to that question.
[0640] The "means for transmitting the answer to the user terminal" refers to a communication means for transmitting the generated answer to the user terminal and displaying it.
[0641] "Means of selecting the necessary ingredients and ordering them using an external service" refers to the function of identifying the necessary ingredients based on the selected recipe and ordering them through an external food delivery service.
[0642] "Means for suggesting recipes using the user's health information" refers to technology that analyzes the user's health data and dietary history and suggests optimal health-conscious recipes based on that data.
[0643] This system reduces the effort required for users to plan their daily meals and suggests optimal recipes based on health information and preferences. This system is implemented using specific hardware and software, and is built around a smartphone application that is easy for users to operate.
[0644] Overall system configuration
[0645] User device:
[0646] The user device is typically a smartphone, providing an interface for users to input keywords and view suggested recipes and answers, including keyboard input, touchscreen operation, and voice input.
[0647] server:
[0648] The server mainly runs on a cloud server (e.g. AWS EC2) and has the following main functions:
[0649] Keyword analysis engine: Uses the Google Cloud Natural Language API to analyze keywords entered by the user.
[0650] Recipe database: A large amount of recipe information is stored in a database such as MySQL, and searches are performed using SQL queries.
[0651] Filtering algorithm: Selects the best recipes based on user preferences and health data.
[0652] Delivery integration API: Uses APIs (e.g., Uber Eats API) to integrate with partner food delivery services.
[0653] Question analysis and answer generation: Use a generative AI model to generate appropriate answers to user questions.
[0654] Specific processing of the program
[0655] 1. Keyword input and sending process
[0656] The user enters a keyword into the smartphone's application interface and sends the data to the server.
[0657] 2. Keyword analysis processing
[0658] The server analyzes the received keywords using the Google Cloud Natural Language API and extracts important elements. This analysis allows the server to accurately understand the user's intent.
[0659] 3. Recipe search process
[0660] The server searches for recipe information in the MySQL database based on the analysis results. For example, if a user enters "I want to eat light Japanese food," it executes an SQL query based on the keywords "light" and "Japanese food."
[0661] 4. Optimal recipe selection process
[0662] From the search results, the optimal recipes are selected based on the user's history, preferences, and health data, and are evaluated using a filtering algorithm.
[0663] 5. Recipe sending process
[0664] The selected recipe information is converted to JSON format and sent to the user's device, where the user can check the recipe on their smartphone screen.
[0665] 6. Question handling
[0666] When a user enters a question related to a recipe, that question is also sent to the server, which uses the generative AI model to analyze the question and generate an appropriate answer.
[0667] 7. Ingredient selection and order processing
[0668] Based on the selected recipe, the necessary ingredients are identified and an order is generated from an external delivery service, using APIs such as Uber Eats.
[0669] 8. Health Information Linkage Processing
[0670] It analyzes the user's health data and suggests healthy recipes based on that data. The information is obtained from healthcare devices and apps with the user's consent.
[0671] Specific examples
[0672] As an example, let's consider the case where a user enters "I want to eat light Japanese food today" into a smartphone app. This input data is sent to the server, where the Google Cloud Natural Language API analyzes the keywords. Then, based on the analyzed keywords, a MySQL database is searched for recipes that match "light" and "Japanese food," and the most suitable recipe is selected. This recipe information is then sent to the user's smartphone in JSON format and displayed on the screen.
[0673] If a user asks, "Can I use another fish instead of grilled salted sea bream?", the generative AI model will analyze the question, generate an answer such as "You can also use Spanish mackerel," and send it to the user's device. Furthermore, the necessary ingredients will be automatically selected and an order will be placed through a partner delivery service.
[0674] An example prompt sentence would be entered as follows:
[0675] "Tell me some light Japanese recipes."
[0676] "Suggest an alternative ingredient for this recipe"
[0677] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0678] Step 1: Enter keywords and send
[0679] The user uses the smartphone's application interface to input keywords related to the desired dish. For example, they might input a desired keyword such as "I want to eat a light Japanese dish today." The input keywords are sent from the device to the server. The input data is in the form of text data.
[0680] Step 2: Keyword analysis process
[0681] The server analyzes the received keywords using the Google Cloud Natural Language API. It extracts important elements from the analyzed keywords and obtains information such as "light" and "Japanese cuisine." This analysis allows the system to accurately understand the user's intent. The input data is text data, and the output data is a list of analyzed keywords.
[0682] Step 3: Recipe search process
[0683] The server searches for recipe information in the MySQL database based on the analyzed keywords. It uses an SQL query to search for recipes related to "light" and "Japanese food." This search results in a list of recipe candidates. The input data is the analyzed keyword list, and the output data is the search result recipe list.
[0684] Step 4: Optimal recipe selection process
[0685] The server selects the optimal recipe from the search result recipe list based on the user's preferences and health data. It uses a filtering algorithm to select the recipe that best suits the user's past selection history and current health status. The input data is the search result recipe list and the user's preference data and health data, and the output data is the optimal recipe.
[0686] Step 5: Recipe submission process
[0687] The server converts the selected recipe information into JSON format and sends it to the user's device. The user can then check the recipe on the device screen. The input data is the selected recipe information, and the output data is the recipe data in JSON format.
[0688] Step 6: Response to questions
[0689] If the user has any questions about the selected recipe, they can again input their questions using the smartphone application interface. For example, they can input a question such as, "Can I use Spanish mackerel instead of sea bream?" The input question is sent from the device to the server. The input data is text data.
[0690] Step 7: Question analysis and answer generation
[0691] The server analyzes the received question using a generative AI model and generates an appropriate answer. If necessary, it searches for related information from a recipe database or knowledge base to generate an answer. For example, the answer generated may be "It's okay to use Spanish mackerel instead of sea bream." The input data is the question text data, and the output data is the generated answer text data.
[0692] Step 8: Response submission process
[0693] The server converts the generated answer into JSON format and sends it to the user's device. The user can check the answer on the device screen. The input data is the generated answer text data, and the output data is the JSON format answer data.
[0694] Step 9: Ingredient selection and order processing
[0695] The server identifies the necessary ingredients based on the selected recipe and generates an order to an external delivery service. This process uses an external service API, such as the Uber Eats API, to order the ingredients. The input data is the selected recipe information, and the output data is an order request to the delivery service.
[0696] Step 10: Health information linkage processing
[0697] The server analyzes the user's health data and suggests healthy recipes based on that data. Specifically, it analyzes the health data provided by the user (e.g., calorie consumption, intake of specific nutrients) and suggests optimal recipes. The input data is the user's health data, and the output data is healthy recipe suggestions.
[0698] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0699] This invention relates to a system that reduces the effort required by users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients. It also combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[0700] Program processing overview
[0701] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[0702] Enter keywords and send
[0703] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[0704] Keyword analysis and emotion recognition
[0705] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." It then uses an emotion engine to recognize emotions from the user's input and detects that the user has the motivated emotion of "wanting to eat."
[0706] Recipe Search
[0707] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[0708] Recipe Selection
[0709] From the search results, the server selects the most suitable recipe, using a filtering algorithm and emotion recognition results. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[0710] Send recipe
[0711] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[0712] Answering questions
[0713] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[0714] Question analysis and answer generation
[0715] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[0716] Send response
[0717] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[0718] Through this process, users can quickly and accurately obtain detailed recipes and advice for their desired dishes. Furthermore, by utilizing the emotion engine, recipe suggestions and alternative ingredient suggestions can be made based on the user's emotional state, further increasing user satisfaction. The system of the present invention makes daily meal selections easier and improves the quality of cooking.
[0719] The processing flow will be explained below.
[0720] Step 1:
[0721] The user inputs a keyword.
[0722] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[0723] Step 2:
[0724] The terminal sends the input data to the server.
[0725] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[0726] Step 3:
[0727] The server analyzes keywords and recognizes emotions.
[0728] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's motivational emotion of "wanting to eat."
[0729] Step 4:
[0730] The server searches the recipe database.
[0731] (Operation) Based on the analysis results, the server executes an SQL query against the recipe database to retrieve recipes related to "light" and "Japanese cuisine." The recipe database stores numerous cooking instructions and ingredient information.
[0732] Step 5:
[0733] The server optimizes the search results.
[0734] (Operation) The server runs the search results through a filtering algorithm to select the best recipe that reflects the user's preferences. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[0735] Step 6:
[0736] The server sends the selected recipe to the terminal.
[0737] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[0738] Step 7:
[0739] The terminal will display the recipe.
[0740] (Operation) The terminal analyzes the response received from the server and displays the recipe information on the screen for the user.
[0741] Step 8:
[0742] The user enters a recipe-related question.
[0743] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[0744] Step 9:
[0745] The terminal transmits the question data to the server.
[0746] (Operation) The device sends the question content as a request to the server via the API.
[0747] Step 10:
[0748] The server parses the question.
[0749] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[0750] Step 11:
[0751] The server searches a recipe database or knowledge base.
[0752] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[0753] Step 12:
[0754] The server generates the answer.
[0755] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[0756] Step 13:
[0757] The server generates a response and sends it to the terminal.
[0758] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[0759] Step 14:
[0760] The device will display the answer.
[0761] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[0762] Through this process, users can input necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions. Furthermore, by utilizing an emotion engine, recipe suggestions and alternative ingredient suggestions can be made according to the user's emotional state, further increasing user satisfaction.
[0763] Example 2
[0764] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0765] Conventional recipe suggestion systems have difficulty in sufficiently reducing the effort required for users to plan their daily meals. In addition, they are not able to adequately respond to users' emotional states or specific questions, making it difficult to improve satisfaction.
[0766] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0767] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for transmitting selected data to a user terminal, means for analyzing the user's question and generating an answer, and means for recognizing emotions, thereby enabling optimal recipe suggestions that take the user's emotional state into consideration and appropriate answers to specific questions.
[0768] "Means for users to input keywords" refers to an interface that allows users to input keywords such as desired dishes and ingredients in text format.
[0769] "Means for analyzing keywords" refers to a function that analyzes input keywords and performs processing to extract important words and phrases.
[0770] The "means for searching a database based on a keyword" refers to a function for searching a database for corresponding data based on an extracted keyword.
[0771] "Means for selecting optimal data from a database" refers to algorithms and filtering used to select the data that best matches the conditions from the search results.
[0772] "Means for transmitting selected data to the user terminal" refers to a communication function for transmitting optimal data to the user terminal.
[0773] "Means for analyzing a user's question and generating an answer" refers to a processing function for analyzing a user's question and generating an appropriate answer.
[0774] The "means for transmitting an answer to a user terminal" refers to a communication function for transmitting the generated answer to a user terminal.
[0775] "Emotion recognition means" refers to a function for analyzing and recognizing the emotional state of a user from their input.
[0776] This invention is a system that reduces the effort required for users to plan their daily meals and suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients. Furthermore, it combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[0777] The system consists of a terminal used by the user and a server that processes the data. The terminal is assumed to be a general device such as a smartphone or PC, and provides an interface for users to input keywords and questions. The server receives the data input from the user and runs software to perform various processing.
[0778] Specific software includes natural language processing libraries (e.g., NLTK and spaCy) used for keyword analysis, engines used for emotion recognition (e.g., Google Cloud Natural Language API), SQL query techniques used for database searches, filtering algorithms, etc. The server coordinates these pieces of software to provide users with the best recipes and answers.
[0779] The specific process is as follows: First, the user enters keywords such as "I want to eat light Japanese food today" into the device. This input data is sent from the device to the server. The server analyzes the keywords and extracts important information such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's emotions. Next, the server searches the database based on the analysis results and selects the optimal recipe. The selected recipe information is converted to JSON format and sent to the device. The device then displays the received recipe on the screen.
[0780] Furthermore, if the user enters a question about the selected recipe, the question is sent again to the server. The server analyzes the question and generates an appropriate answer. The generated answer is sent to the device and displayed on the screen. Through these processes, the user can quickly and accurately obtain detailed recipes and advice about the dish they want.
[0781] Examples of prompts include "I'd like to eat a light Japanese dish today" or "Can I use mackerel instead of sea bream?" This allows the system to suggest recipes and answer questions based on the user's specific needs.
[0782] In this way, this system significantly reduces the effort required to plan meals by providing optimal recipe information and advice tailored to the user's needs, making daily meal choices easier.
[0783] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0784] Step 1:
[0785] The user inputs a keyword.
[0786] The user enters "I want to eat light Japanese food today" into the text input field of the device. This input data is immediately saved in the device.
[0787] Step 2:
[0788] The terminal sends input data.
[0789] The device converts the input keywords into JSON format and sends it to the server using an HTTP POST request. Specifically, the input data is sent in the format {"input": "I want to eat light Japanese food today"}.
[0790] Step 3:
[0791] The server analyzes the keywords.
[0792] The server analyzes the received input data and extracts important keywords. Specifically, it uses a natural language processing library (NLTK or spaCy) to extract "light" and "Japanese food" from the sentence "I want to eat light Japanese food today." Input: {"input": "I want to eat light Japanese food today"}, Output: {"keywords": ["light", "Japanese food"]}.
[0793] Step 4:
[0794] The server recognizes emotions.
[0795] The server uses an emotion recognition engine (Google Cloud Natural Language API) to determine the emotion of the content entered by the user. Specifically, it sends text to the API and determines from the results that the user has a positive emotion (positive motivation). Input: {"input": "I want to eat light Japanese food today"}, Output: {"emotion": "positive_intent"}.
[0796] Step 5:
[0797] The server searches the database.
[0798] The server searches the recipe database based on the extracted keywords. Specifically, it uses an SQL query to retrieve recipes that are "light" and "Japanese food" from the database. Input: {"keywords": ["light", "Japanese food"]}, Output: Data containing the search results from the database.
[0799] Step 6:
[0800] The server selects the best recipe.
[0801] The server uses filtering algorithms and emotion recognition results to select the best recipe from the search results. Specifically, it selects the recipe with the highest emotion score from candidates that match "light" and "Japanese cuisine." Input: Search results from the database, Output: Selected recipe.
[0802] Step 7:
[0803] The server sends the selected recipe.
[0804] The server converts the selected recipe information into JSON format and sends it to the user's device using an HTTP response. Input: Selected recipe, Output: JSON data in {"recipe": {...}} format.
[0805] Step 8:
[0806] The terminal will display the recipe.
[0807] The device analyzes the received recipe information and displays it to the user. Specifically, it uses HTML and JavaScript to display the recipe details on the screen. Input: JSON data in {"recipe": {...}} format, Output: Recipe information displayed on the screen.
[0808] Step 9:
[0809] The user enters a question about the recipe.
[0810] The user inputs a question for the provided recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is also stored in the terminal.
[0811] Step 10:
[0812] The terminal transmits the query data.
[0813] The terminal converts the input question back into JSON format and sends it to the server using an HTTP POST request. Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: Request sent to the server.
[0814] Step 11:
[0815] The server analyzes the question and generates an answer.
[0816] The server analyzes the received question and queries a database or knowledge base to generate an appropriate answer. For example, in response to the question "Can I use Spanish mackerel instead of sea bream?", it generates the answer "Spanish mackerel is fine too." Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: {"answer": "Spanish mackerel is fine too."}
[0817] Step 12:
[0818] The server sends the answer.
[0819] The server converts the generated answer back into JSON format and sends it to the user's terminal using an HTTP response. Input: Generated answer, Output: JSON data in the format {"answer": "Spanish mackerel is fine too."}
[0820] Step 13:
[0821] The device will display the answer.
[0822] The device analyzes the received answer and displays it to the user. Specifically, the answer is displayed in a chat box. Input: JSON data in the format {"answer": "Spanish mackerel is fine too."}, Output: Answer information displayed on the screen.
[0823] (Application example 2)
[0824] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0825] There is a growing demand for systems that reduce the effort required by users to plan their daily meals and easily suggest optimal recipes. There is also a need for systems that take into account the user's emotions and preferences to provide more personalized suggestions. Furthermore, there is also a demand for systems that can link with external services and handle everything from suggesting recipes to actually ordering meals. However, it has been difficult for conventional systems to comprehensively address all of these issues.
[0826] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0827] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for selecting optimal information from the database, means for transmitting the selected information to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for recognizing the user's emotion using an emotion engine, means for filtering information based on the emotion, and means for linking with external services. This makes it possible to select recipes and suggest optimal meals based on the keywords and emotions input by the user, and by linking with external services, the suggested meals can also be actually ordered.
[0828] The "means for users to input keywords" refers to an interface that allows users to input requests or questions to the system by text, voice, or the like.
[0829] "Means for analyzing keywords" is a function for analyzing input keywords using techniques such as natural language processing and extracting important information.
[0830] A "means for searching the database" is an algorithm or mechanism for quickly searching pre-stored recipes and related information.
[0831] The "means for selecting optimal information" is a filtering mechanism for evaluating the necessary and optimal information from the retrieved data and providing it to the user.
[0832] The "means for transmitting selected information to a user terminal" is a communication function for transmitting the selected information to the user's device and displaying it.
[0833] The "means for analyzing a user's question and generating an answer" is a processing function for generating appropriate answers or suggestions in response to additional questions or requests from the user.
[0834] The "means for transmitting the answer to the user terminal" is a communication function for transmitting the generated answer back to the user's device and displaying it.
[0835] The "means for recognizing emotions" refers to an emotion engine or analysis algorithm for analyzing emotions and moods from user input.
[0836] "Means for filtering information" refers to a filtering mechanism for selecting information to be provided based on emotions, preferences, etc.
[0837] "Means for linking with external services" refers to an API linking function that links with external delivery services and e-commerce sites based on proposed recipes and information, and processes orders, etc.
[0838] The present invention provides a system that reduces the effort required for users to plan their daily menus and easily suggests optimal recipes. Specific embodiments for carrying out the present invention will be described below.
[0839] System Configuration
[0840] This system operates in cooperation with a user terminal and a server. The user terminal is a smartphone or smart glasses, and the server is a high-performance computing environment. The main hardware and software used are as follows:
[0841] Frontend: React Native (smartphone app)
[0842] Backend: Node.js + Express (server side)
[0843] Database: MySQL (recipe database), MongoDB (user data)
[0844] Natural Language Processing: Google Natural Language API
[0845] Sentiment analysis: IBM Watson Tone Analyzer
[0846] AI model: OpenAI GPT-3.5
[0847] External service integration: UberEats API
[0848] Process Overview
[0849] The operation of this system begins when the user inputs a keyword. When the user inputs "I want to eat healthy food today" via a smartphone or smart glasses, the following process takes place.
[0850] Receiving and analyzing user input: Keywords entered by the user are sent from the terminal to the server and analyzed using natural language processing.
[0851] Emotion recognition: Keyword analysis is performed using the Google Natural Language API, and at the same time, user emotions are analyzed using IBM Watson Tone Analyzer.
[0852] Recipe search and selection: Based on the analysis results, the optimal recipe that meets the specified criteria is searched from the MySQL database.
[0853] Recipe suggestion generation: The selected recipes are linked to a food delivery service and displayed on the user's device as an orderable menu.
[0854] Answering questions: When a user enters a question, the question is sent back to the server, which uses OpenAI GPT-3.5 to generate an appropriate answer.
[0855] Specific examples
[0856] For example, if a user inputs "I want to eat healthy food today," the system will do the following:
[0857] 1. Receiving and analyzing keywords
[0858] User: Enters "I want to eat healthy food today" into a smartphone app.
[0859] Server: The keyword "healthy" is extracted using Google Natural Language API, and the emotion "health-conscious" is recognized using IBM Watson Tone Analyzer.
[0860] 2. Search and select recipes
[0861] Server: Search the MySQL database for "steamed vegetable salad" and "healthy steamed chicken breast" dishes that are "healthy" for your health.
[0862] 3. Provision of Information
[0863] Server: Converts the selected dish into JSON format and sends it to the user's device.
[0864] User: The recipe will be displayed on the device along with a link to order it from a food delivery service.
[0865] 4. Responding to Questions
[0866] User: "Can I use salmon instead of chicken breast?"
[0867] Server: Using OpenAI GPT-3.5, generate "Salmon is OK too" and send it to the user device.
[0868] Prompt Sentence Examples
[0869] User input: "I want to eat healthy food today"
[0870] Prompt: "The user is looking for healthy food. Please choose the best recipe from the options below and provide a food delivery link, taking their sentiment into consideration."
[0871] In this way, the system suggests optimal recipes based on the user's keywords and emotions, and by linking with external services, it can provide consistent support right up to ordering the food.
[0872] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0873] Step 1:
[0874] Keyword input
[0875] The user inputs a keyword such as "I want to eat healthy food today" through a smartphone or smart glasses application. The input keyword is sent from the device to the server.
[0876] Input: Enter the text "I want to eat healthy food today."
[0877] Output: This text data is sent to the server.
[0878] Step 2:
[0879] Keyword analysis and emotion recognition
[0880] The server analyzes the received keywords using the Google Natural Language API. This analysis extracts the important keyword "healthy." At the same time, it uses IBM Watson Tone Analyzer to analyze the user's emotions and recognize the emotion "health-conscious."
[0881] Input: User's keyword text data.
[0882] Output: The keyword "healthy" and the sentiment data "health-conscious."
[0883] Step 3:
[0884] Recipe Search
[0885] Based on the analysis results, the server searches for relevant recipes in the MySQL database. Specifically, it retrieves recipes related to the keyword "healthy" using an SQL query.
[0886] Input: Extracted keywords and sentiment data.
[0887] Output: Recipe data from search results such as "Steamed vegetable salad" and "Healthy steamed chicken breast."
[0888] Step 4:
[0889] Recipe Selection
[0890] The server selects the optimal recipe from the search results, taking into account the results of emotion recognition, and chooses the recipe that best suits the user's needs.
[0891] Input: Recipe data and sentiment data from search results.
[0892] Output: Selected recipes such as "Steamed Vegetable Salad" and "Healthy Steamed Chicken Breast."
[0893] Step 5:
[0894] Send recipe
[0895] The selected recipe information is converted into JSON format and sent to the user's device.
[0896] Input: Selected recipe data.
[0897] Output: Recipe data in JSON format.
[0898] Step 6:
[0899] Recipe display
[0900] The device parses the received JSON-formatted recipe data and displays it on the screen, allowing the user to check the suggested recipes.
[0901] Input: Recipe data in JSON format.
[0902] Output: Recipe information displayed on screen.
[0903] Step 7:
[0904] Enter a question
[0905] The user enters a question related to the suggested recipe, for example, "Can I use salmon instead of chicken breast?" The question is sent from the device to the server.
[0906] Input: Question text data.
[0907] Output: Sends the question text data to the server.
[0908] Step 8:
[0909] Question analysis and answer generation
[0910] The server analyzes the question and generates an appropriate answer using OpenAI GPT-3.5.
[0911] Input: Question text data.
[0912] Output: The generated response data.
[0913] Step 9:
[0914] Send response
[0915] The generated answer is converted into JSON format and sent to the user's device.
[0916] Input: The generated response data.
[0917] Output: Response data in JSON format.
[0918] Step 10:
[0919] Answer display
[0920] The device parses the received JSON-formatted answer data and displays it on the screen, allowing the user to check the suggested answers.
[0921] Input: Response data in JSON format.
[0922] Output: Answer information displayed on the screen.
[0923] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0924] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0925] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0926] [Third embodiment]
[0927] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0928] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0929] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0930] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0931] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0932] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0933] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0934] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0935] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0936] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0937] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0938] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0939] The present invention relates to a system that reduces the effort required for users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients.
[0940] Program processing overview
[0941] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[0942] Enter keywords and send
[0943] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[0944] Keyword Analysis
[0945] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." This analysis uses a text analysis engine to accurately understand the user's intent.
[0946] Recipe Search
[0947] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[0948] Recipe Selection
[0949] From the search results, the server selects the best recipes, using a filtering algorithm to select recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber."
[0950] Send recipe
[0951] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[0952] Answering questions
[0953] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[0954] Question analysis and answer generation
[0955] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[0956] Send response
[0957] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[0958] Through this process, users can quickly and accurately obtain detailed recipes and advice on the dishes they want to cook. The system of the present invention makes it easier to choose daily meals and improves the quality of cooking.
[0959] The processing flow will be explained below.
[0960] Step 1:
[0961] The user inputs a keyword.
[0962] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[0963] Step 2:
[0964] The terminal sends the input data to the server.
[0965] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[0966] Step 3:
[0967] The server analyzes the keywords.
[0968] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese cuisine."
[0969] Step 4:
[0970] The server searches the recipe database.
[0971] (Operation) Based on the extracted keywords, the server executes an SQL query against the recipe database to search for related recipes.
[0972] Step 5:
[0973] The server optimizes the search results.
[0974] (Operation) The server applies a filtering algorithm to the search results to select the best recipes that reflect the user's preferences. In this case, recipes related to light Japanese cuisine are selected.
[0975] Step 6:
[0976] The server sends the selected recipe to the terminal.
[0977] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[0978] Step 7:
[0979] The terminal will display the recipe.
[0980] (Operation) The terminal analyzes the response received from the server and displays recipe information (for example, "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber") on the screen for the user.
[0981] Step 8:
[0982] The user enters a recipe-related question.
[0983] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[0984] Step 9:
[0985] The terminal transmits the question data to the server.
[0986] (Operation) The device sends the question content as a request to the server via the API.
[0987] Step 10:
[0988] The server parses the question.
[0989] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[0990] Step 11:
[0991] The server searches a recipe database or knowledge base.
[0992] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[0993] Step 12:
[0994] The server generates the answer.
[0995] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[0996] Step 13:
[0997] The server generates a response and sends it to the terminal.
[0998] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[0999] Step 14:
[1000] The device will display the answer.
[1001] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[1002] This series of processes allows users to enter the necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions.
[1003] Example 1
[1004] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1005] Traditionally, planning daily menus and selecting optimal recipes has been a time-consuming and labor-intensive process for individuals. It is also difficult to easily obtain information about specific preferences and ingredient substitutions. There is a need for a system that can solve these problems and assist users in menu selection.
[1006] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1007] In this invention, the server includes means for a user to input information, means for analyzing the information, means for searching a database based on the analysis, means for selecting optimal data from the database, means for transmitting the selected data to a terminal, means for analyzing the user's additional information and generating a response, and means for transmitting the response to the terminal. This allows users to quickly obtain optimal recipes and related information that match their preferences, making daily menu selection easy and effective.
[1008] "Information" refers to text data and keywords entered by the user.
[1009] "Analyzing" refers to the process of processing information entered by a user to understand its meaning and importance.
[1010] A "database" refers to a collection of information that stores a large amount of recipe information and related data.
[1011] "Searching" refers to the process of finding relevant information in a database based on the analyzed information.
[1012] "Selecting" refers to the process of choosing the most appropriate information from the search results.
[1013] "Terminal" refers to an electronic device used by a user to enter information and receive results.
[1014] "Additional Information" refers to any questions or requests that a user provides after the initial information input.
[1015] "Response" refers to the answer or suggestion that the server generates based on additional information that it analyzes.
[1016] This invention relates to a system that reduces the effort required for users to plan their daily meals and quickly suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients.
[1017] This system is mainly composed of a server and a user terminal, and operates as follows.
[1018] First, the user inputs a keyword for the desired dish into their device. For example, the user might input, "I want to eat a light Japanese dish today." Then, the device sends this keyword to the server.
[1019] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3). As a result of the analysis, key keywords such as "light" and "Japanese cuisine" are extracted. Based on this analyzed information, the server searches a recipe database. This recipe database is managed using a database management system such as MySQL and contains a large amount of recipe information.
[1020] The server uses an SQL query to search the recipe database and retrieve recipes that match the analysis results. The retrieved recipe information is then narrowed down using a filtering algorithm to select the optimal recipe. The selected recipe is converted to JSON format and sent to the device. The device then displays the received recipe on the screen and provides it to the user.
[1021] Furthermore, the system allows users to input questions related to the selected recipe. For example, a question such as "Can I use Spanish mackerel instead of sea bream?" can be input into the device. The device then sends this question to the server. The server analyzes the question, searches for relevant information in a recipe database or knowledge base as necessary, and generates an appropriate answer. This generated answer is then converted back to JSON format and sent to the device. The device then displays the received answer on the screen and provides it to the user.
[1022] This allows users to quickly obtain detailed recipes and advice on the dishes they want to cook, making daily meal choices easier and improving the quality of their cooking.
[1023] Specific examples
[1024] For example, a user uses the system as follows:
[1025] User Input:
[1026] "I want to eat light Japanese food today."
[1027] System response:
[1028] "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber"
[1029] User Question:
[1030] "Can I use Spanish mackerel instead of sea bream?"
[1031] System response:
[1032] "There's no problem using Spanish mackerel."
[1033] In this way, users can receive menu suggestions tailored to their needs and get quick answers to specific questions.
[1034] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1035] Program processing flow
[1036] Step 1: Enter keywords
[1037] The user inputs keywords for the desired dish into their own terminal. For example, the user inputs "I want to eat light Japanese food today." This input data is collected by the user terminal via a text box.
[1038] Input: Text entered by the user
[1039] Output: The keyword entered in the text box
[1040] Step 2: Submit your keywords
[1041] The terminal sends the input keyword to the server using an HTTP POST request, and the input data is sent to the server in JSON format. Specifically, it is sent to the server as a JSON object.
[1042] Input: The keyword entered in the text box
[1043] Output: Data in JSON object format
[1044] Step 3: Keyword analysis
[1045] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3) to extract key elements of the keywords. For example, key keywords such as "light" and "Japanese cuisine" are extracted.
[1046] Input: Data in JSON object format
[1047] Output: Extracted keywords (e.g., "light" and "Japanese food")
[1048] Step 4: Find a recipe
[1049] The server searches the database based on the extracted keywords, specifically using an SQL query to retrieve recipes related to "Japanese cuisine" and "light."
[1050] Input: Parsed keyword
[1051] Output: Recipe information as search results
[1052] Step 5: Recipe Selection
[1053] The server selects the best recipe from the search results using a filtering algorithm, such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," or "lightly pickled cucumber."
[1054] Input: Recipe information as search results
[1055] Output: Selected recipe information
[1056] Step 6: Submit the recipe
[1057] The server sends the selected recipe information to the terminal. The data is sent in JSON format again to the user terminal. The user terminal receives this data and displays it on the screen.
[1058] Input: Selected recipe information
[1059] Output: Recipe information displayed on the user's device
[1060] Step 7: Enter your question
[1061] The user enters a question related to the selected recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is again collected via a text box.
[1062] Input: Text entered by the user
[1063] Output: The question entered in the text box
[1064] Step 8: Submit your question
[1065] The device sends the question entered by the user back to the server using an HTTP POST request, with the input data sent to the server in JSON format.
[1066] Input: The question entered in the text box
[1067] Output: Data in JSON object format
[1068] Step 9: Question Analysis
[1069] The server analyzes the received question, uses a natural language processing engine to understand the content of the question, and prepares an appropriate answer based on the results of this analysis.
[1070] Input: Data in JSON object format
[1071] Output: Parsed question
[1072] Step 10: Answer Generation
[1073] The server generates the best answer to the user's question. If necessary, it searches for relevant information from a database or knowledge base and generates an answer based on this information. For example, the server might generate an answer such as "It's okay to use Spanish mackerel instead of sea bream."
[1074] Input: Parsed question content
[1075] Output: The generated answer
[1076] Step 11: Submit your response
[1077] The server sends the generated response to the terminal, again in JSON format, which is then sent to the user's terminal. The user's terminal receives this data and displays it on the screen.
[1078] Input: Generated Answer
[1079] Output: The answer displayed on the user's terminal
[1080] (Application example 1)
[1081] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1082] Planning daily menus is a burden for many users, and even more effort is required when considering health conditions and preferences for specific ingredients. Furthermore, the process of efficiently ordering the necessary ingredients by connecting with external food delivery services is cumbersome. There is a need for a system that solves these problems and allows users to easily find healthy recipes that suit their preferences.
[1083] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1084] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a recipe database based on the keywords, means for selecting an optimal recipe from the recipe database, means for transmitting the selected recipe to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for selecting necessary ingredients and ordering the ingredients using an external service, and means for suggesting recipes using the user's health information. This allows users to easily obtain healthy recipes that suit their preferences while simplifying a series of procedures.
[1085] The "means for the user to input keywords" is an interface that allows the user to input keywords related to the dish they desire into the terminal.
[1086] The "means for analyzing the keywords" provides a function for analyzing input keywords and extracting important elements.
[1087] The "means for searching the recipe database based on the keywords" refers to an algorithm or technique for searching related recipe information in the recipe database using the analyzed keywords.
[1088] The "means for selecting the most suitable recipe from the recipe database" refers to an evaluation and filtering algorithm for selecting from the search results the recipe that best meets the user's desires.
[1089] The "means for transmitting the selected recipe to the user terminal" refers to a communication means for transmitting the selected recipe information as data to the terminal used by the user.
[1090] The "means for analyzing a user's question and generating an answer" is a technology for analyzing the content of a question entered by a user and generating an appropriate answer to that question.
[1091] The "means for transmitting the answer to the user terminal" refers to a communication means for transmitting the generated answer to the user terminal and displaying it.
[1092] "Means of selecting the necessary ingredients and ordering them using an external service" refers to the function of identifying the necessary ingredients based on the selected recipe and ordering them through an external food delivery service.
[1093] "Means for suggesting recipes using the user's health information" refers to technology that analyzes the user's health data and dietary history and suggests optimal health-conscious recipes based on that data.
[1094] This system reduces the effort required for users to plan their daily meals and suggests optimal recipes based on health information and preferences. This system is implemented using specific hardware and software, and is built around a smartphone application that is easy for users to operate.
[1095] Overall system configuration
[1096] User device:
[1097] The user device is typically a smartphone, providing an interface for users to input keywords and view suggested recipes and answers, including keyboard input, touchscreen operation, and voice input.
[1098] server:
[1099] The server mainly runs on a cloud server (e.g. AWS EC2) and has the following main functions:
[1100] Keyword analysis engine: Uses the Google Cloud Natural Language API to analyze keywords entered by the user.
[1101] Recipe database: A large amount of recipe information is stored in a database such as MySQL, and searches are performed using SQL queries.
[1102] Filtering algorithm: Selects the best recipes based on user preferences and health data.
[1103] Delivery integration API: Uses APIs (e.g., Uber Eats API) to integrate with partner food delivery services.
[1104] Question analysis and answer generation: Use a generative AI model to generate appropriate answers to user questions.
[1105] Specific processing of the program
[1106] 1. Keyword input and sending process
[1107] The user enters a keyword into the smartphone's application interface and sends the data to the server.
[1108] 2. Keyword analysis processing
[1109] The server analyzes the received keywords using the Google Cloud Natural Language API and extracts important elements, allowing it to accurately understand the user's intent.
[1110] 3. Recipe search process
[1111] The server searches for recipe information in the MySQL database based on the analysis results. For example, if a user enters "I want to eat light Japanese food," it executes an SQL query based on the keywords "light" and "Japanese food."
[1112] 4. Optimal recipe selection process
[1113] From the search results, the optimal recipes are selected based on the user's history, preferences, and health data, and are evaluated using a filtering algorithm.
[1114] 5. Recipe sending process
[1115] The selected recipe information is converted to JSON format and sent to the user's device, where the user can check the recipe on their smartphone screen.
[1116] 6. Question handling
[1117] When a user enters a question related to a recipe, that question is also sent to the server, which uses the generative AI model to analyze the question and generate an appropriate answer.
[1118] 7. Ingredient selection and order processing
[1119] Based on the selected recipe, the necessary ingredients are identified and an order is generated from an external delivery service, using APIs such as Uber Eats.
[1120] 8. Health Information Linkage Processing
[1121] It analyzes the user's health data and suggests healthy recipes based on that data. The information is obtained from healthcare devices and apps with the user's consent.
[1122] Specific examples
[1123] As an example, let's consider the case where a user enters "I want to eat light Japanese food today" into a smartphone app. This input data is sent to the server, where the Google Cloud Natural Language API analyzes the keywords. Then, based on the analyzed keywords, a MySQL database is searched for recipes that match "light" and "Japanese food," and the most suitable recipe is selected. This recipe information is then sent to the user's smartphone in JSON format and displayed on the screen.
[1124] If a user asks, "Can I use another fish instead of grilled salted sea bream?", the generative AI model will analyze the question, generate an answer such as "You can also use Spanish mackerel," and send it to the user's device. Furthermore, the necessary ingredients will be automatically selected and an order will be placed through a partner delivery service.
[1125] An example prompt sentence would be entered as follows:
[1126] "Tell me some light Japanese recipes."
[1127] "Suggest an alternative ingredient for this recipe"
[1128] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1129] Step 1: Enter keywords and send
[1130] The user uses the smartphone's application interface to input keywords related to the desired dish. For example, they might input a desired keyword such as "I want to eat a light Japanese dish today." The input keywords are sent from the device to the server. The input data is in the form of text data.
[1131] Step 2: Keyword analysis process
[1132] The server analyzes the received keywords using the Google Cloud Natural Language API. It extracts important elements from the analyzed keywords and obtains information such as "light" and "Japanese cuisine." This analysis allows the system to accurately understand the user's intent. The input data is text data, and the output data is a list of analyzed keywords.
[1133] Step 3: Recipe search process
[1134] The server searches for recipe information in the MySQL database based on the analyzed keywords. It uses an SQL query to search for recipes related to "light" and "Japanese food." This search results in a list of recipe candidates. The input data is the analyzed keyword list, and the output data is the search result recipe list.
[1135] Step 4: Optimal recipe selection process
[1136] The server selects the optimal recipe from the search result recipe list based on the user's preferences and health data. It uses a filtering algorithm to select the recipe that best suits the user's past selection history and current health status. The input data is the search result recipe list and the user's preference data and health data, and the output data is the optimal recipe.
[1137] Step 5: Recipe submission process
[1138] The server converts the selected recipe information into JSON format and sends it to the user's device. The user can then check the recipe on the device screen. The input data is the selected recipe information, and the output data is the recipe data in JSON format.
[1139] Step 6: Response to questions
[1140] If the user has any questions about the selected recipe, they can again input their questions using the smartphone application interface. For example, they can input a question such as, "Can I use Spanish mackerel instead of sea bream?" The input question is sent from the device to the server. The input data is text data.
[1141] Step 7: Question analysis and answer generation
[1142] The server analyzes the received question using a generative AI model and generates an appropriate answer. If necessary, it searches for related information from a recipe database or knowledge base to generate an answer. For example, the answer generated may be "It's okay to use Spanish mackerel instead of sea bream." The input data is the question text data, and the output data is the generated answer text data.
[1143] Step 8: Response submission process
[1144] The server converts the generated answer into JSON format and sends it to the user's device. The user can check the answer on the device screen. The input data is the generated answer text data, and the output data is the JSON format answer data.
[1145] Step 9: Ingredient selection and order processing
[1146] The server identifies the necessary ingredients based on the selected recipe and generates an order to an external delivery service. This process uses an external service API, such as the Uber Eats API, to order the ingredients. The input data is the selected recipe information, and the output data is an order request to the delivery service.
[1147] Step 10: Health information linkage processing
[1148] The server analyzes the user's health data and suggests healthy recipes based on that data. Specifically, it analyzes the health data provided by the user (e.g., calorie consumption, intake of specific nutrients) and suggests optimal recipes. The input data is the user's health data, and the output data is healthy recipe suggestions.
[1149] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1150] This invention relates to a system that reduces the effort required by users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients. It also combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[1151] Program processing overview
[1152] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[1153] Enter keywords and send
[1154] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[1155] Keyword analysis and emotion recognition
[1156] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." It then uses an emotion engine to recognize emotions from the user's input and detects that the user has the motivated emotion of "wanting to eat."
[1157] Recipe Search
[1158] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[1159] Recipe Selection
[1160] From the search results, the server selects the most suitable recipe, using a filtering algorithm and emotion recognition results. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[1161] Send recipe
[1162] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[1163] Answering questions
[1164] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[1165] Question analysis and answer generation
[1166] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[1167] Send response
[1168] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[1169] Through this process, users can quickly and accurately obtain detailed recipes and advice for their desired dishes. Furthermore, by utilizing the emotion engine, recipe suggestions and alternative ingredient suggestions can be made based on the user's emotional state, further increasing user satisfaction. The system of the present invention makes daily meal selections easier and improves the quality of cooking.
[1170] The processing flow will be explained below.
[1171] Step 1:
[1172] The user inputs a keyword.
[1173] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[1174] Step 2:
[1175] The terminal sends the input data to the server.
[1176] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[1177] Step 3:
[1178] The server analyzes keywords and recognizes emotions.
[1179] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's motivational emotion of "wanting to eat."
[1180] Step 4:
[1181] The server searches the recipe database.
[1182] (Operation) Based on the analysis results, the server executes an SQL query against the recipe database to retrieve recipes related to "light" and "Japanese cuisine." The recipe database stores numerous cooking instructions and ingredient information.
[1183] Step 5:
[1184] The server optimizes the search results.
[1185] (Operation) The server runs the search results through a filtering algorithm to select the best recipe that reflects the user's preferences. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[1186] Step 6:
[1187] The server sends the selected recipe to the terminal.
[1188] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[1189] Step 7:
[1190] The terminal will display the recipe.
[1191] (Operation) The terminal analyzes the response received from the server and displays the recipe information on the screen for the user.
[1192] Step 8:
[1193] The user enters a recipe-related question.
[1194] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[1195] Step 9:
[1196] The terminal transmits the question data to the server.
[1197] (Operation) The device sends the question content as a request to the server via the API.
[1198] Step 10:
[1199] The server parses the question.
[1200] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[1201] Step 11:
[1202] The server searches a recipe database or knowledge base.
[1203] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[1204] Step 12:
[1205] The server generates the answer.
[1206] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[1207] Step 13:
[1208] The server generates a response and sends it to the terminal.
[1209] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[1210] Step 14:
[1211] The device will display the answer.
[1212] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[1213] Through this process, users can input necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions. Furthermore, by utilizing an emotion engine, recipe suggestions and alternative ingredient suggestions can be made according to the user's emotional state, further increasing user satisfaction.
[1214] Example 2
[1215] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1216] Conventional recipe suggestion systems have difficulty in sufficiently reducing the effort required for users to plan their daily meals. In addition, they are not able to adequately respond to users' emotional states or specific questions, making it difficult to improve satisfaction.
[1217] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1218] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for transmitting selected data to a user terminal, means for analyzing the user's question and generating an answer, and means for recognizing emotions, thereby enabling optimal recipe suggestions that take the user's emotional state into consideration and appropriate answers to specific questions.
[1219] "Means for users to input keywords" refers to an interface that allows users to input keywords such as desired dishes and ingredients in text format.
[1220] "Means for analyzing keywords" refers to a function that analyzes input keywords and performs processing to extract important words and phrases.
[1221] The "means for searching a database based on a keyword" refers to a function for searching a database for corresponding data based on an extracted keyword.
[1222] "Means for selecting optimal data from a database" refers to algorithms and filtering used to select the data that best matches the conditions from the search results.
[1223] "Means for transmitting selected data to the user terminal" refers to a communication function for transmitting optimal data to the user terminal.
[1224] "Means for analyzing a user's question and generating an answer" refers to a processing function for analyzing a user's question and generating an appropriate answer.
[1225] "Means for transmitting an answer to a user terminal" refers to a communication function for transmitting the generated answer to a user terminal.
[1226] "Emotion recognition means" refers to a function for analyzing and recognizing the emotional state of a user from their input.
[1227] This invention is a system that reduces the effort required for users to plan their daily meals and suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients. Furthermore, it combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[1228] The system consists of a terminal used by the user and a server that processes the data. The terminal is assumed to be a general device such as a smartphone or PC, and provides an interface for users to input keywords and questions. The server receives the data input from the user and runs software to perform various processing.
[1229] Specific software includes natural language processing libraries (e.g., NLTK and spaCy) used for keyword analysis, engines used for emotion recognition (e.g., Google Cloud Natural Language API), SQL query techniques used for database searches, filtering algorithms, etc. The server coordinates these pieces of software to provide users with the best recipes and answers.
[1230] The specific process is as follows: First, the user enters keywords such as "I want to eat light Japanese food today" into the device. This input data is sent from the device to the server. The server analyzes the keywords and extracts important information such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's emotions. Next, the server searches the database based on the analysis results and selects the optimal recipe. The selected recipe information is converted to JSON format and sent to the device. The device then displays the received recipe on the screen.
[1231] Furthermore, if the user enters a question about the selected recipe, the question is sent again to the server. The server analyzes the question and generates an appropriate answer. The generated answer is sent to the device and displayed on the screen. Through these processes, the user can quickly and accurately obtain detailed recipes and advice about the dish they want.
[1232] Examples of prompts include "I'd like to eat a light Japanese meal today" or "Can I use mackerel instead of sea bream?" This allows the system to suggest recipes and answer questions based on the user's specific needs.
[1233] In this way, this system significantly reduces the effort required to plan meals by providing optimal recipe information and advice tailored to the user's needs, making daily meal choices easier.
[1234] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1235] Step 1:
[1236] The user inputs a keyword.
[1237] The user enters "I want to eat light Japanese food today" into the text input field of the device. This input data is immediately saved in the device.
[1238] Step 2:
[1239] The terminal sends input data.
[1240] The device converts the input keywords into JSON format and sends it to the server using an HTTP POST request. Specifically, the input data is sent in the format {"input": "I want to eat light Japanese food today"}.
[1241] Step 3:
[1242] The server analyzes the keywords.
[1243] The server analyzes the received input data and extracts important keywords. Specifically, it uses a natural language processing library (NLTK or spaCy) to extract "light" and "Japanese food" from the sentence "I want to eat light Japanese food today." Input: {"input": "I want to eat light Japanese food today"}, Output: {"keywords": ["light", "Japanese food"]}.
[1244] Step 4:
[1245] The server recognizes emotions.
[1246] The server uses an emotion recognition engine (Google Cloud Natural Language API) to determine the emotion of the content entered by the user. Specifically, it sends text to the API and determines from the results that the user has a positive emotion (positive motivation). Input: {"input": "I want to eat light Japanese food today"}, Output: {"emotion": "positive_intent"}.
[1247] Step 5:
[1248] The server searches the database.
[1249] The server searches the recipe database based on the extracted keywords. Specifically, it uses an SQL query to retrieve recipes that are "light" and "Japanese food" from the database. Input: {"keywords": ["light", "Japanese food"]}, Output: Data containing the search results from the database.
[1250] Step 6:
[1251] The server selects the best recipe.
[1252] The server uses filtering algorithms and emotion recognition results to select the best recipe from the search results. Specifically, it selects the recipe with the highest emotion score from candidates that match "light" and "Japanese cuisine." Input: Search results from the database, Output: Selected recipe.
[1253] Step 7:
[1254] The server sends the selected recipe.
[1255] The server converts the selected recipe information into JSON format and sends it to the user's device using an HTTP response. Input: Selected recipe, Output: JSON data in {"recipe": {...}} format.
[1256] Step 8:
[1257] The terminal will display the recipe.
[1258] The device analyzes the received recipe information and displays it to the user. Specifically, it uses HTML and JavaScript to display the recipe details on the screen. Input: JSON data in {"recipe": {...}} format, Output: Recipe information displayed on the screen.
[1259] Step 9:
[1260] The user enters a question about the recipe.
[1261] The user inputs a question for the provided recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is also stored in the terminal.
[1262] Step 10:
[1263] The terminal transmits the query data.
[1264] The terminal converts the input question back into JSON format and sends it to the server using an HTTP POST request. Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: Request sent to the server.
[1265] Step 11:
[1266] The server analyzes the question and generates an answer.
[1267] The server analyzes the received question and queries a database or knowledge base to generate an appropriate answer. For example, in response to the question "Can I use Spanish mackerel instead of sea bream?", it generates the answer "Spanish mackerel is fine too." Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: {"answer": "Spanish mackerel is fine too."}
[1268] Step 12:
[1269] The server sends the answer.
[1270] The server converts the generated answer back into JSON format and sends it to the user's terminal using an HTTP response. Input: Generated answer, Output: JSON data in the format {"answer": "Spanish mackerel is fine too."}
[1271] Step 13:
[1272] The device will display the answer.
[1273] The device analyzes the received answer and displays it to the user. Specifically, the answer is displayed in a chat box. Input: JSON data in the format {"answer": "Spanish mackerel is fine too."}, Output: Answer information displayed on the screen.
[1274] (Application example 2)
[1275] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1276] There is a growing demand for systems that reduce the effort required by users to plan their daily meals and easily suggest optimal recipes. There is also a need for systems that take into account the user's emotions and preferences to provide more personalized suggestions. Furthermore, there is also a demand for systems that can link with external services and handle everything from suggesting recipes to actually ordering meals. However, it has been difficult for conventional systems to comprehensively address all of these issues.
[1277] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1278] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for selecting optimal information from the database, means for transmitting the selected information to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for recognizing the user's emotion using an emotion engine, means for filtering information based on the emotion, and means for linking with external services. This makes it possible to select recipes and suggest optimal meals based on the keywords and emotions input by the user, and by linking with external services, the suggested meals can also be actually ordered.
[1279] The "means for users to input keywords" refers to an interface that allows users to input requests or questions to the system by text, voice, or the like.
[1280] "Means for analyzing keywords" is a function for analyzing input keywords using techniques such as natural language processing and extracting important information.
[1281] A "means for searching the database" is an algorithm or mechanism for quickly searching pre-stored recipes and related information.
[1282] The "means for selecting optimal information" is a filtering mechanism for evaluating the necessary and optimal information from the retrieved data and providing it to the user.
[1283] The "means for transmitting selected information to a user terminal" is a communication function for transmitting the selected information to the user's device and displaying it.
[1284] The "means for analyzing a user's question and generating an answer" is a processing function for generating appropriate answers or suggestions in response to additional questions or requests from the user.
[1285] The "means for transmitting the answer to the user terminal" is a communication function for transmitting the generated answer back to the user's device and displaying it.
[1286] The "means for recognizing emotions" refers to an emotion engine or analysis algorithm for analyzing emotions and moods from user input.
[1287] "Means for filtering information" refers to a filtering mechanism for selecting information to be provided based on emotions, preferences, etc.
[1288] "Means for linking with external services" refers to an API linking function that links with external delivery services and e-commerce sites based on proposed recipes and information, and processes orders, etc.
[1289] The present invention provides a system that reduces the effort required for users to plan their daily menus and easily suggests optimal recipes. Specific embodiments for carrying out the present invention will be described below.
[1290] System Configuration
[1291] This system operates in cooperation with a user terminal and a server. The user terminal is a smartphone or smart glasses, and the server is a high-performance computing environment. The main hardware and software used are as follows:
[1292] Frontend: React Native (smartphone app)
[1293] Backend: Node.js + Express (server side)
[1294] Database: MySQL (recipe database), MongoDB (user data)
[1295] Natural Language Processing: Google Natural Language API
[1296] Sentiment analysis: IBM Watson Tone Analyzer
[1297] AI model: OpenAI GPT-3.5
[1298] External service integration: UberEats API
[1299] Process Overview
[1300] The operation of this system begins when the user inputs a keyword. When the user inputs "I want to eat healthy food today" via a smartphone or smart glasses, the following process takes place.
[1301] Receiving and analyzing user input: Keywords entered by the user are sent from the terminal to the server and analyzed using natural language processing.
[1302] Emotion recognition: Keyword analysis is performed using the Google Natural Language API, and at the same time, user emotions are analyzed using IBM Watson Tone Analyzer.
[1303] Recipe search and selection: Based on the analysis results, the optimal recipe that meets the specified criteria is searched from the MySQL database.
[1304] Recipe suggestion generation: The selected recipes are linked to a food delivery service and displayed on the user's device as an orderable menu.
[1305] Answering questions: When a user enters a question, the question is sent back to the server, which uses OpenAI GPT-3.5 to generate an appropriate answer.
[1306] Specific examples
[1307] For example, if a user inputs "I want to eat healthy food today," the system will do the following:
[1308] 1. Receiving and analyzing keywords
[1309] User: Enters "I want to eat healthy food today" into a smartphone app.
[1310] Server: The keyword "healthy" is extracted using Google Natural Language API, and the emotion "health-conscious" is recognized using IBM Watson Tone Analyzer.
[1311] 2. Search and select recipes
[1312] Server: Search the MySQL database for "steamed vegetable salad" and "healthy steamed chicken breast" dishes that are "healthy" for your health.
[1313] 3. Provision of Information
[1314] Server: Converts the selected dish into JSON format and sends it to the user's device.
[1315] User: The recipe will be displayed on the device along with a link to order it from a food delivery service.
[1316] 4. Responding to Questions
[1317] User: "Can I use salmon instead of chicken breast?"
[1318] Server: Using OpenAI GPT-3.5, generate "Salmon is OK too" and send it to the user device.
[1319] Prompt Sentence Examples
[1320] User input: "I want to eat healthy food today"
[1321] Prompt: "The user is looking for healthy food. Please choose the best recipe from the options below and provide a food delivery link, taking their sentiment into consideration."
[1322] In this way, the system suggests optimal recipes based on the user's keywords and emotions, and by linking with external services, it can provide consistent support right up to ordering the food.
[1323] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1324] Step 1:
[1325] Keyword input
[1326] The user inputs a keyword such as "I want to eat healthy food today" through a smartphone or smart glasses application. The input keyword is sent from the device to the server.
[1327] Input: Enter the text "I want to eat healthy food today."
[1328] Output: This text data is sent to the server.
[1329] Step 2:
[1330] Keyword analysis and emotion recognition
[1331] The server analyzes the received keywords using the Google Natural Language API. This analysis extracts the important keyword "healthy." At the same time, it uses IBM Watson Tone Analyzer to analyze the user's emotions and recognize the emotion "health-conscious."
[1332] Input: User's keyword text data.
[1333] Output: The keyword "healthy" and the sentiment data "health-conscious."
[1334] Step 3:
[1335] Recipe Search
[1336] Based on the analysis results, the server searches for relevant recipes in the MySQL database. Specifically, it retrieves recipes related to the keyword "healthy" using an SQL query.
[1337] Input: Extracted keywords and sentiment data.
[1338] Output: Recipe data from search results such as "Steamed vegetable salad" and "Healthy steamed chicken breast."
[1339] Step 4:
[1340] Recipe Selection
[1341] The server selects the optimal recipe from the search results, taking into account the results of emotion recognition, and chooses the recipe that best suits the user's needs.
[1342] Input: Recipe data and sentiment data from search results.
[1343] Output: Selected recipes such as "Steamed Vegetable Salad" and "Healthy Steamed Chicken Breast."
[1344] Step 5:
[1345] Send recipe
[1346] The selected recipe information is converted into JSON format and sent to the user's device.
[1347] Input: Selected recipe data.
[1348] Output: Recipe data in JSON format.
[1349] Step 6:
[1350] Recipe Display
[1351] The device parses the received JSON-formatted recipe data and displays it on the screen, allowing the user to check the suggested recipes.
[1352] Input: Recipe data in JSON format.
[1353] Output: Recipe information displayed on screen.
[1354] Step 7:
[1355] Enter a question
[1356] The user enters a question related to the suggested recipe, for example, "Can I use salmon instead of chicken breast?" The question is sent from the device to the server.
[1357] Input: Question text data.
[1358] Output: Sends the question text data to the server.
[1359] Step 8:
[1360] Question analysis and answer generation
[1361] The server analyzes the question and generates an appropriate answer using OpenAI GPT-3.5.
[1362] Input: Question text data.
[1363] Output: The generated response data.
[1364] Step 9:
[1365] Send response
[1366] The generated answer is converted into JSON format and sent to the user's device.
[1367] Input: The generated response data.
[1368] Output: Response data in JSON format.
[1369] Step 10:
[1370] Answer display
[1371] The device parses the received JSON-formatted answer data and displays it on the screen, allowing the user to check the suggested answers.
[1372] Input: Response data in JSON format.
[1373] Output: Answer information displayed on the screen.
[1374] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1375] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1376] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1377] [Fourth embodiment]
[1378] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1379] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1380] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1381] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1382] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1383] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1384] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1385] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1386] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1387] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1388] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1389] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1390] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1391] The present invention relates to a system that reduces the effort required for users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients.
[1392] Program processing overview
[1393] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[1394] Enter keywords and send
[1395] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[1396] Keyword Analysis
[1397] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." This analysis uses a text analysis engine to accurately understand the user's intent.
[1398] Recipe Search
[1399] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[1400] Recipe Selection
[1401] From the search results, the server selects the best recipes, using a filtering algorithm to select recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber."
[1402] Send recipe
[1403] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[1404] Answering questions
[1405] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[1406] Question analysis and answer generation
[1407] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[1408] Send response
[1409] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[1410] Through this process, users can quickly and accurately obtain detailed recipes and advice on the dishes they want to cook. The system of the present invention makes it easier to choose daily meals and improves the quality of cooking.
[1411] The processing flow will be explained below.
[1412] Step 1:
[1413] The user inputs a keyword.
[1414] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[1415] Step 2:
[1416] The terminal sends the input data to the server.
[1417] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[1418] Step 3:
[1419] The server analyzes the keywords.
[1420] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese cuisine."
[1421] Step 4:
[1422] The server searches the recipe database.
[1423] (Operation) Based on the extracted keywords, the server executes an SQL query against the recipe database to search for related recipes.
[1424] Step 5:
[1425] The server optimizes the search results.
[1426] (Operation) The server applies a filtering algorithm to the search results to select the best recipes that reflect the user's preferences. In this case, recipes related to light Japanese cuisine are selected.
[1427] Step 6:
[1428] The server sends the selected recipe to the terminal.
[1429] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[1430] Step 7:
[1431] The terminal will display the recipe.
[1432] (Operation) The terminal analyzes the response received from the server and displays recipe information (for example, "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber") on the screen for the user.
[1433] Step 8:
[1434] The user enters a recipe-related question.
[1435] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[1436] Step 9:
[1437] The terminal transmits the question data to the server.
[1438] (Operation) The device sends the question content as a request to the server via the API.
[1439] Step 10:
[1440] The server parses the question.
[1441] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[1442] Step 11:
[1443] The server searches a recipe database or knowledge base.
[1444] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[1445] Step 12:
[1446] The server generates the answer.
[1447] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[1448] Step 13:
[1449] The server generates a response and sends it to the terminal.
[1450] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[1451] Step 14:
[1452] The device will display the answer.
[1453] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[1454] This series of processes allows users to enter the necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions.
[1455] Example 1
[1456] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1457] Traditionally, planning daily menus and selecting optimal recipes has been a time-consuming and labor-intensive process for individuals. It is also difficult to easily obtain information about specific preferences and ingredient substitutions. There is a need for a system that can solve these problems and assist users in menu selection.
[1458] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1459] In this invention, the server includes means for a user to input information, means for analyzing the information, means for searching a database based on the analysis, means for selecting optimal data from the database, means for transmitting the selected data to a terminal, means for analyzing the user's additional information and generating a response, and means for transmitting the response to the terminal. This allows users to quickly obtain optimal recipes and related information that match their preferences, making daily menu selection easy and effective.
[1460] "Information" refers to text data and keywords entered by the user.
[1461] "Analyzing" refers to the process of processing information entered by a user to understand its meaning and importance.
[1462] A "database" refers to a collection of information that stores a large amount of recipe information and related data.
[1463] "Searching" refers to the process of finding relevant information in a database based on the analyzed information.
[1464] "Selecting" refers to the process of choosing the most appropriate information from the search results.
[1465] "Terminal" refers to an electronic device used by a user to enter information and receive results.
[1466] "Additional Information" refers to any questions or requests that a user provides after the initial information input.
[1467] "Response" refers to the answer or suggestion that the server generates based on additional information that it analyzes.
[1468] This invention relates to a system that reduces the effort required for users to plan their daily meals and quickly suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients.
[1469] This system is mainly composed of a server and a user terminal, and operates as follows.
[1470] First, the user inputs a keyword for the desired dish into their device. For example, the user might input, "I want to eat a light Japanese dish today." Then, the device sends this keyword to the server.
[1471] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3). As a result of the analysis, key keywords such as "light" and "Japanese cuisine" are extracted. Based on this analyzed information, the server searches a recipe database. This recipe database is managed using a database management system such as MySQL and contains a large amount of recipe information.
[1472] The server uses an SQL query to search the recipe database and retrieve recipes that match the analysis results. The retrieved recipe information is then narrowed down using a filtering algorithm to select the optimal recipe. The selected recipe is converted to JSON format and sent to the device. The device then displays the received recipe on the screen and provides it to the user.
[1473] Furthermore, the system allows users to input questions related to the selected recipe. For example, a question such as "Can I use Spanish mackerel instead of sea bream?" can be input into the device. The device then sends this question to the server. The server analyzes the question, searches for relevant information in a recipe database or knowledge base as necessary, and generates an appropriate answer. This generated answer is then converted back to JSON format and sent to the device. The device then displays the received answer on the screen and provides it to the user.
[1474] This allows users to quickly obtain detailed recipes and advice on the dishes they want to cook, making daily meal choices easier and improving the quality of their cooking.
[1475] Specific examples
[1476] For example, a user uses the system as follows:
[1477] User Input:
[1478] "I want to eat light Japanese food today."
[1479] System response:
[1480] "Grilled salted sea bream," "Miso soup with wakame seaweed and tofu," and "Lightly pickled cucumber"
[1481] User Question:
[1482] "Can I use Spanish mackerel instead of sea bream?"
[1483] System response:
[1484] "There's no problem using Spanish mackerel."
[1485] In this way, users can receive menu suggestions tailored to their needs and get quick answers to specific questions.
[1486] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1487] Program processing flow
[1488] Step 1: Enter keywords
[1489] The user inputs keywords for the desired dish into their own terminal. For example, the user inputs "I want to eat light Japanese food today." This input data is collected by the user terminal via a text box.
[1490] Input: Text entered by the user
[1491] Output: The keyword entered in the text box
[1492] Step 2: Submit your keywords
[1493] The terminal sends the input keyword to the server using an HTTP POST request, and the input data is sent to the server in JSON format. Specifically, it is sent to the server as a JSON object.
[1494] Input: The keyword entered in the text box
[1495] Output: Data in JSON object format
[1496] Step 3: Keyword analysis
[1497] The server analyzes the received keywords using a natural language processing engine (e.g., OpenAI GPT-3) to extract key elements of the keywords. For example, key keywords such as "light" and "Japanese cuisine" are extracted.
[1498] Input: Data in JSON object format
[1499] Output: Extracted keywords (e.g., "light" and "Japanese food")
[1500] Step 4: Find a recipe
[1501] The server searches the database based on the extracted keywords, specifically using an SQL query to retrieve recipes related to "Japanese cuisine" and "light."
[1502] Input: Parsed keyword
[1503] Output: Recipe information as search results
[1504] Step 5: Recipe Selection
[1505] The server selects the best recipe from the search results using a filtering algorithm, such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," or "lightly pickled cucumber."
[1506] Input: Recipe information as search results
[1507] Output: Selected recipe information
[1508] Step 6: Submit the recipe
[1509] The server sends the selected recipe information to the terminal. The data is sent in JSON format again to the user terminal. The user terminal receives this data and displays it on the screen.
[1510] Input: Selected recipe information
[1511] Output: Recipe information displayed on the user's device
[1512] Step 7: Enter your question
[1513] The user enters a question related to the selected recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is again collected via a text box.
[1514] Input: Text entered by the user
[1515] Output: The question entered in the text box
[1516] Step 8: Submit your question
[1517] The device sends the question entered by the user back to the server using an HTTP POST request, with the input data sent to the server in JSON format.
[1518] Input: The question entered in the text box
[1519] Output: Data in JSON object format
[1520] Step 9: Question Analysis
[1521] The server analyzes the received question, uses a natural language processing engine to understand the content of the question, and prepares an appropriate answer based on the results of this analysis.
[1522] Input: Data in JSON object format
[1523] Output: Parsed question
[1524] Step 10: Answer Generation
[1525] The server generates the best answer to the user's question. If necessary, it searches for relevant information from a database or knowledge base and generates an answer based on this information. For example, the server might generate an answer such as "It's okay to use Spanish mackerel instead of sea bream."
[1526] Input: Parsed question content
[1527] Output: The generated answer
[1528] Step 11: Submit your response
[1529] The server sends the generated response to the terminal, again in JSON format, which is then sent to the user's terminal. The user's terminal receives this data and displays it on the screen.
[1530] Input: Generated Answer
[1531] Output: The answer displayed on the user's terminal
[1532] (Application example 1)
[1533] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1534] Planning daily menus is a burden for many users, and even more effort is required when considering health conditions and preferences for specific ingredients. Furthermore, the process of efficiently ordering the necessary ingredients by connecting with external food delivery services is cumbersome. There is a need for a system that solves these problems and allows users to easily find healthy recipes that suit their preferences.
[1535] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1536] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a recipe database based on the keywords, means for selecting an optimal recipe from the recipe database, means for transmitting the selected recipe to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for selecting necessary ingredients and ordering the ingredients using an external service, and means for suggesting recipes using the user's health information. This allows users to easily obtain healthy recipes that suit their preferences while simplifying a series of procedures.
[1537] The "means for the user to input keywords" is an interface that allows the user to input keywords related to the dish they desire into the terminal.
[1538] The "means for analyzing the keywords" provides a function for analyzing input keywords and extracting important elements.
[1539] The "means for searching the recipe database based on the keywords" refers to an algorithm or technique for searching related recipe information in the recipe database using the analyzed keywords.
[1540] The "means for selecting the most suitable recipe from the recipe database" refers to an evaluation and filtering algorithm for selecting from the search results the recipe that best meets the user's desires.
[1541] The "means for transmitting the selected recipe to the user terminal" refers to a communication means for transmitting the selected recipe information as data to the terminal used by the user.
[1542] The "means for analyzing a user's question and generating an answer" is a technology for analyzing the content of a question entered by a user and generating an appropriate answer to that question.
[1543] The "means for transmitting the answer to the user terminal" refers to a communication means for transmitting the generated answer to the user terminal and displaying it.
[1544] "Means of selecting the necessary ingredients and ordering them using an external service" refers to the function of identifying the necessary ingredients based on the selected recipe and ordering them through an external food delivery service.
[1545] "Means for suggesting recipes using the user's health information" refers to technology that analyzes the user's health data and dietary history and suggests optimal health-conscious recipes based on that data.
[1546] This system reduces the effort required for users to plan their daily meals and suggests optimal recipes based on health information and preferences. This system is implemented using specific hardware and software, and is built around a smartphone application that is easy for users to operate.
[1547] Overall system configuration
[1548] User device:
[1549] The user device is typically a smartphone, providing an interface for users to input keywords and view suggested recipes and answers, including keyboard input, touchscreen operation, and voice input.
[1550] server:
[1551] The server mainly runs on a cloud server (e.g. AWS EC2) and has the following main functions:
[1552] Keyword analysis engine: Uses the Google Cloud Natural Language API to analyze keywords entered by the user.
[1553] Recipe database: A large amount of recipe information is stored in a database such as MySQL, and searches are performed using SQL queries.
[1554] Filtering algorithm: Selects the best recipes based on user preferences and health data.
[1555] Delivery integration API: Uses APIs (e.g., Uber Eats API) to integrate with partner food delivery services.
[1556] Question analysis and answer generation: Use a generative AI model to generate appropriate answers to user questions.
[1557] Specific processing of the program
[1558] 1. Keyword input and sending process
[1559] The user enters a keyword into the smartphone's application interface and sends the data to the server.
[1560] 2. Keyword analysis processing
[1561] The server analyzes the received keywords using the Google Cloud Natural Language API and extracts important elements, allowing it to accurately understand the user's intent.
[1562] 3. Recipe search process
[1563] The server searches for recipe information in the MySQL database based on the analysis results. For example, if a user enters "I want to eat light Japanese food," it executes an SQL query based on the keywords "light" and "Japanese food."
[1564] 4. Optimal recipe selection process
[1565] From the search results, the optimal recipes are selected based on the user's history, preferences, and health data, and are evaluated using a filtering algorithm.
[1566] 5. Recipe sending process
[1567] The selected recipe information is converted to JSON format and sent to the user's device, where the user can check the recipe on their smartphone screen.
[1568] 6. Question handling
[1569] When a user enters a question related to a recipe, that question is also sent to the server, which uses the generative AI model to analyze the question and generate an appropriate answer.
[1570] 7. Ingredient selection and order processing
[1571] Based on the selected recipe, the necessary ingredients are identified and an order is generated from an external delivery service, using APIs such as Uber Eats.
[1572] 8. Health Information Linkage Processing
[1573] It analyzes the user's health data and suggests healthy recipes based on that data. The information is obtained from healthcare devices and apps with the user's consent.
[1574] Specific examples
[1575] As an example, let's consider the case where a user enters "I want to eat light Japanese food today" into a smartphone app. This input data is sent to the server, where the Google Cloud Natural Language API analyzes the keywords. Then, based on the analyzed keywords, a MySQL database is searched for recipes that match "light" and "Japanese food," and the most suitable recipe is selected. This recipe information is then sent to the user's smartphone in JSON format and displayed on the screen.
[1576] If a user asks, "Can I use another fish instead of grilled salted sea bream?", the generative AI model will analyze the question, generate an answer such as "You can also use Spanish mackerel," and send it to the user's device. Furthermore, the necessary ingredients will be automatically selected and an order will be placed through a partner delivery service.
[1577] An example prompt sentence would be entered as follows:
[1578] "Tell me some light Japanese recipes."
[1579] "Suggest an alternative ingredient for this recipe"
[1580] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1581] Step 1: Enter keywords and send
[1582] The user uses the smartphone's application interface to input keywords related to the desired dish. For example, they might input a desired keyword such as "I want to eat a light Japanese dish today." The input keywords are sent from the device to the server. The input data is in the form of text data.
[1583] Step 2: Keyword analysis process
[1584] The server analyzes the received keywords using the Google Cloud Natural Language API. It extracts important elements from the analyzed keywords and obtains information such as "light" and "Japanese cuisine." This analysis allows the system to accurately understand the user's intent. The input data is text data, and the output data is a list of analyzed keywords.
[1585] Step 3: Recipe search process
[1586] The server searches for recipe information in the MySQL database based on the analyzed keywords. It uses an SQL query to search for recipes related to "light" and "Japanese food." This search results in a list of recipe candidates. The input data is the analyzed keyword list, and the output data is the search result recipe list.
[1587] Step 4: Optimal recipe selection process
[1588] The server selects the optimal recipe from the search result recipe list based on the user's preferences and health data. It uses a filtering algorithm to select the recipe that best suits the user's past selection history and current health status. The input data is the search result recipe list and the user's preference data and health data, and the output data is the optimal recipe.
[1589] Step 5: Recipe submission process
[1590] The server converts the selected recipe information into JSON format and sends it to the user's device. The user can then check the recipe on the device screen. The input data is the selected recipe information, and the output data is the recipe data in JSON format.
[1591] Step 6: Response to questions
[1592] If the user has any questions about the selected recipe, they can again input their questions using the smartphone application interface. For example, they can input a question such as, "Can I use Spanish mackerel instead of sea bream?" The input question is sent from the device to the server. The input data is text data.
[1593] Step 7: Question analysis and answer generation
[1594] The server analyzes the received question using a generative AI model and generates an appropriate answer. If necessary, it searches for related information from a recipe database or knowledge base to generate an answer. For example, the answer generated may be "It's okay to use Spanish mackerel instead of sea bream." The input data is the question text data, and the output data is the generated answer text data.
[1595] Step 8: Response submission process
[1596] The server converts the generated answer into JSON format and sends it to the user's device. The user can check the answer on the device screen. The input data is the generated answer text data, and the output data is the JSON format answer data.
[1597] Step 9: Ingredient selection and order processing
[1598] The server identifies the necessary ingredients based on the selected recipe and generates an order to an external delivery service. This process uses an external service API, such as the Uber Eats API, to order the ingredients. The input data is the selected recipe information, and the output data is an order request to the delivery service.
[1599] Step 10: Health information linkage processing
[1600] The server analyzes the user's health data and suggests healthy recipes based on that data. Specifically, it analyzes the health data provided by the user (e.g., calorie consumption, intake of specific nutrients) and suggests optimal recipes. The input data is the user's health data, and the output data is healthy recipe suggestions.
[1601] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1602] This invention relates to a system that reduces the effort required by users to plan their daily meals and easily suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. The system also generates appropriate answers to user questions and suggests alternative ingredients. It also combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[1603] Program processing overview
[1604] This system operates in cooperation with the server and the user's terminal. Below is a specific example of processing when the user requests, "I want to eat a light Japanese meal today."
[1605] Enter keywords and send
[1606] When a user inputs a keyword, the user terminal sends the input data to the server. For example, if the user inputs "I want to eat light Japanese food today," the input data is sent from the terminal to the server.
[1607] Keyword analysis and emotion recognition
[1608] The server analyzes the received keywords and extracts the important keywords "light" and "Japanese food." It then uses an emotion engine to recognize emotions from the user's input and detects that the user has the motivated emotion of "wanting to eat."
[1609] Recipe Search
[1610] The server searches the recipe database based on the analysis results. At this time, it retrieves recipes related to "light" and "Japanese cuisine" using SQL queries. The recipe database stores a large number of cooking procedures and ingredient information.
[1611] Recipe Selection
[1612] From the search results, the server selects the most suitable recipe, using a filtering algorithm and emotion recognition results. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[1613] Send recipe
[1614] The selected recipe information is converted to JSON format and sent to the user's device, which then displays the received recipe on the screen and provides it to the user.
[1615] Answering questions
[1616] When the user inputs a question related to the selected recipe, the question is again sent from the terminal to the server. For example, the user asks, "Can I use Spanish mackerel instead of sea bream?"
[1617] Question analysis and answer generation
[1618] The server analyzes the question and generates an appropriate answer. If necessary, the server searches for relevant information in a recipe database or knowledge base to find the best answer. In this case, the answer generated is "It's fine to use Spanish mackerel instead of sea bream."
[1619] Send response
[1620] The generated answer is converted into JSON format and sent to the user's device, which displays the received answer on the screen and provides it to the user.
[1621] Through this process, users can quickly and accurately obtain detailed recipes and advice for their desired dishes. Furthermore, by utilizing the emotion engine, recipe suggestions and alternative ingredient suggestions can be made based on the user's emotional state, further increasing user satisfaction. The system of the present invention makes daily meal selections easier and improves the quality of cooking.
[1622] The processing flow will be explained below.
[1623] Step 1:
[1624] The user inputs a keyword.
[1625] (Action) The user enters a keyword such as "light Japanese food" into the input field on the device and presses the search button.
[1626] Step 2:
[1627] The terminal sends the input data to the server.
[1628] (Operation) The terminal sends the keyword entered by the user as a request to the server via the API.
[1629] Step 3:
[1630] The server analyzes keywords and recognizes emotions.
[1631] (Operation) The server analyzes the received request and uses a text analysis engine to extract important keywords such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's motivational emotion of "wanting to eat."
[1632] Step 4:
[1633] The server searches the recipe database.
[1634] (Operation) Based on the analysis results, the server executes an SQL query against the recipe database to retrieve recipes related to "light" and "Japanese cuisine." The recipe database stores numerous cooking instructions and ingredient information.
[1635] Step 5:
[1636] The server optimizes the search results.
[1637] (Operation) The server runs the search results through a filtering algorithm to select the best recipe that reflects the user's preferences. For example, recipes such as "grilled salted sea bream," "miso soup with wakame seaweed and tofu," and "lightly pickled cucumber" are selected.
[1638] Step 6:
[1639] The server sends the selected recipe to the terminal.
[1640] (Operation) The server converts the selected recipe into JSON format and sends it to the terminal as a response.
[1641] Step 7:
[1642] The terminal will display the recipe.
[1643] (Operation) The terminal analyzes the response received from the server and displays the recipe information on the screen for the user.
[1644] Step 8:
[1645] The user enters a recipe-related question.
[1646] (Action) The user enters a question about the provided recipe (e.g., "Can I use Spanish mackerel instead of sea bream?") and presses the submit button.
[1647] Step 9:
[1648] The terminal transmits the question data to the server.
[1649] (Operation) The device sends the question content as a request to the server via the API.
[1650] Step 10:
[1651] The server parses the question.
[1652] (Operation) The server analyzes the received request and uses a text analysis engine to understand the question.
[1653] Step 11:
[1654] The server searches a recipe database or knowledge base.
[1655] (Operation) The server searches a recipe database or knowledge base to find an appropriate answer to the question.
[1656] Step 12:
[1657] The server generates the answer.
[1658] (Operation) The server generates an answer to the user's question based on the search results and information from the knowledge base. In this case, the answer generated is "It's okay to use Spanish mackerel instead of sea bream."
[1659] Step 13:
[1660] The server generates a response and sends it to the terminal.
[1661] (Operation) The server converts the generated answer into JSON format and sends it to the user device as a response.
[1662] Step 14:
[1663] The device will display the answer.
[1664] (Operation) The terminal analyzes the response received from the server and displays it on the screen for the user. The user confirms that "it is okay to use Spanish mackerel."
[1665] Through this process, users can input necessary keywords, receive suggestions for related recipes, and quickly respond to detailed questions. Furthermore, by utilizing an emotion engine, recipe suggestions and alternative ingredient suggestions can be made according to the user's emotional state, further increasing user satisfaction.
[1666] Example 2
[1667] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1668] Conventional recipe suggestion systems have difficulty in sufficiently reducing the effort required for users to plan their daily meals. In addition, they are not able to adequately respond to users' emotional states or specific questions, making it difficult to improve satisfaction.
[1669] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1670] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for transmitting selected data to a user terminal, means for analyzing the user's question and generating an answer, and means for recognizing emotions, thereby enabling optimal recipe suggestions that take the user's emotional state into consideration and appropriate answers to specific questions.
[1671] "Means for users to input keywords" refers to an interface that allows users to input keywords such as desired dishes and ingredients in text format.
[1672] "Means for analyzing keywords" refers to a function that analyzes input keywords and performs processing to extract important words and phrases.
[1673] The "means for searching a database based on a keyword" refers to a function for searching a database for corresponding data based on an extracted keyword.
[1674] "Means for selecting optimal data from a database" refers to algorithms and filtering used to select the data that best matches the conditions from the search results.
[1675] "Means for transmitting selected data to the user terminal" refers to a communication function for transmitting optimal data to the user terminal.
[1676] "Means for analyzing a user's question and generating an answer" refers to a processing function for analyzing a user's question and generating an appropriate answer.
[1677] "Means for transmitting an answer to a user terminal" refers to a communication function for transmitting the generated answer to a user terminal.
[1678] "Emotion recognition means" refers to a function for analyzing and recognizing the emotional state of a user from their input.
[1679] This invention is a system that reduces the effort required for users to plan their daily meals and suggests optimal recipes. This system analyzes keywords entered by the user, searches a database for optimal recipes based on those keywords, and provides the selected recipe to the user. It also generates appropriate answers to user questions and suggests alternative ingredients. Furthermore, it combines an emotion engine that recognizes emotions from the user's input to suggest recipes that reflect the user's emotions.
[1680] The system consists of a terminal used by the user and a server that processes the data. The terminal is assumed to be a general device such as a smartphone or PC, and provides an interface for users to input keywords and questions. The server receives the data input from the user and runs software to perform various processing.
[1681] Specific software includes natural language processing libraries (e.g., NLTK and spaCy) used for keyword analysis, engines used for emotion recognition (e.g., Google Cloud Natural Language API), SQL query techniques used for database searches, filtering algorithms, etc. The server coordinates these pieces of software to provide users with the best recipes and answers.
[1682] The specific process is as follows: First, the user enters keywords such as "I want to eat light Japanese food today" into the device. This input data is sent from the device to the server. The server analyzes the keywords and extracts important information such as "light" and "Japanese food." It also uses an emotion engine to recognize the user's emotions. Next, the server searches the database based on the analysis results and selects the optimal recipe. The selected recipe information is converted to JSON format and sent to the device. The device then displays the received recipe on the screen.
[1683] Furthermore, if the user enters a question about the selected recipe, the question is sent again to the server. The server analyzes the question and generates an appropriate answer. The generated answer is sent to the device and displayed on the screen. Through these processes, the user can quickly and accurately obtain detailed recipes and advice about the dish they want.
[1684] Examples of prompts include "I'd like to eat a light Japanese meal today" or "Can I use mackerel instead of sea bream?" This allows the system to suggest recipes and answer questions based on the user's specific needs.
[1685] In this way, this system significantly reduces the effort required to plan meals by providing optimal recipe information and advice tailored to the user's needs, making daily meal choices easier.
[1686] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1687] Step 1:
[1688] The user inputs a keyword.
[1689] The user enters "I want to eat light Japanese food today" into the text input field of the device. This input data is immediately saved in the device.
[1690] Step 2:
[1691] The terminal sends input data.
[1692] The device converts the input keywords into JSON format and sends it to the server using an HTTP POST request. Specifically, the input data is sent in the format {"input": "I want to eat light Japanese food today"}.
[1693] Step 3:
[1694] The server analyzes the keywords.
[1695] The server analyzes the received input data and extracts important keywords. Specifically, it uses a natural language processing library (NLTK or spaCy) to extract "light" and "Japanese food" from the sentence "I want to eat light Japanese food today." Input: {"input": "I want to eat light Japanese food today"}, Output: {"keywords": ["light", "Japanese food"]}.
[1696] Step 4:
[1697] The server recognizes emotions.
[1698] The server uses an emotion recognition engine (Google Cloud Natural Language API) to determine the emotion of the content entered by the user. Specifically, it sends text to the API and determines from the results that the user has a positive emotion (positive motivation). Input: {"input": "I want to eat light Japanese food today"}, Output: {"emotion": "positive_intent"}.
[1699] Step 5:
[1700] The server searches the database.
[1701] The server searches the recipe database based on the extracted keywords. Specifically, it uses an SQL query to retrieve recipes that are "light" and "Japanese food" from the database. Input: {"keywords": ["light", "Japanese food"]}, Output: Data containing the search results from the database.
[1702] Step 6:
[1703] The server selects the best recipe.
[1704] The server uses filtering algorithms and emotion recognition results to select the best recipe from the search results. Specifically, it selects the recipe with the highest emotion score from candidates that match "light" and "Japanese cuisine." Input: Search results from the database, Output: Selected recipe.
[1705] Step 7:
[1706] The server sends the selected recipe.
[1707] The server converts the selected recipe information into JSON format and sends it to the user's device using an HTTP response. Input: Selected recipe, Output: JSON data in {"recipe": {...}} format.
[1708] Step 8:
[1709] The terminal will display the recipe.
[1710] The device analyzes the received recipe information and displays it to the user. Specifically, it uses HTML and JavaScript to display the recipe details on the screen. Input: JSON data in {"recipe": {...}} format, Output: Recipe information displayed on the screen.
[1711] Step 9:
[1712] The user enters a question about the recipe.
[1713] The user inputs a question for the provided recipe, for example, "Can I use Spanish mackerel instead of sea bream?" This input data is also stored in the terminal.
[1714] Step 10:
[1715] The terminal transmits the query data.
[1716] The terminal converts the input question back into JSON format and sends it to the server using an HTTP POST request. Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: Request sent to the server.
[1717] Step 11:
[1718] The server analyzes the question and generates an answer.
[1719] The server analyzes the received question and queries a database or knowledge base to generate an appropriate answer. For example, in response to the question "Can I use Spanish mackerel instead of sea bream?", it generates the answer "Spanish mackerel is fine too." Input: {"question": "Can I use Spanish mackerel instead of sea bream?"}, Output: {"answer": "Spanish mackerel is fine too."}
[1720] Step 12:
[1721] The server sends the answer.
[1722] The server converts the generated answer back into JSON format and sends it to the user's terminal using an HTTP response. Input: Generated answer, Output: JSON data in the format {"answer": "Spanish mackerel is fine too."}
[1723] Step 13:
[1724] The device will display the answer.
[1725] The device analyzes the received answer and displays it to the user. Specifically, the answer is displayed in a chat box. Input: JSON data in the format {"answer": "Spanish mackerel is fine too."}, Output: Answer information displayed on the screen.
[1726] (Application example 2)
[1727] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1728] There is a growing demand for systems that reduce the effort required by users to plan their daily meals and easily suggest optimal recipes. There is also a need for systems that take into account the user's emotions and preferences to provide more personalized suggestions. Furthermore, there is also a demand for systems that can link with external services and handle everything from suggesting recipes to actually ordering meals. However, it has been difficult for conventional systems to comprehensively address all of these issues.
[1729] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1730] In this invention, the server includes means for a user to input keywords, means for analyzing the keywords, means for searching a database based on the keywords, means for selecting optimal information from the database, means for transmitting the selected information to a user terminal, means for analyzing the user's question and generating an answer, means for transmitting the answer to the user terminal, means for recognizing the user's emotion using an emotion engine, means for filtering information based on the emotion, and means for linking with external services. This makes it possible to select recipes and suggest optimal meals based on the keywords and emotions input by the user, and by linking with external services, the suggested meals can also be actually ordered.
[1731] The "means for users to input keywords" refers to an interface that allows users to input requests or questions to the system by text, voice, or the like.
[1732] "Means for analyzing keywords" is a function for analyzing input keywords using techniques such as natural language processing and extracting important information.
[1733] A "means for searching the database" is an algorithm or mechanism for quickly searching pre-stored recipes and related information.
[1734] The "means for selecting optimal information" is a filtering mechanism for evaluating the necessary and optimal information from the retrieved data and providing it to the user.
[1735] The "means for transmitting selected information to a user terminal" is a communication function for transmitting the selected information to the user's device and displaying it.
[1736] The "means for analyzing a user's question and generating an answer" is a processing function for generating appropriate answers or suggestions in response to additional questions or requests from the user.
[1737] The "means for transmitting the answer to the user terminal" is a communication function for transmitting the generated answer back to the user's device and displaying it.
[1738] The "means for recognizing emotions" refers to an emotion engine or analysis algorithm for analyzing emotions and moods from user input.
[1739] "Means for filtering information" refers to a filtering mechanism for selecting information to be provided based on emotions, preferences, etc.
[1740] "Means for linking with external services" refers to an API linking function that links with external delivery services and e-commerce sites based on proposed recipes and information, and processes orders, etc.
[1741] The present invention provides a system that reduces the effort required for users to plan their daily menus and easily suggests optimal recipes. Specific embodiments for carrying out the present invention will be described below.
[1742] System Configuration
[1743] This system operates in cooperation with a user terminal and a server. The user terminal is a smartphone or smart glasses, and the server is a high-performance computing environment. The main hardware and software used are as follows:
[1744] Frontend: React Native (smartphone app)
[1745] Backend: Node.js + Express (server side)
[1746] Database: MySQL (recipe database), MongoDB (user data)
[1747] Natural Language Processing: Google Natural Language API
[1748] Sentiment analysis: IBM Watson Tone Analyzer
[1749] AI model: OpenAI GPT-3.5
[1750] External service integration: UberEats API
[1751] Process Overview
[1752] The operation of this system begins when the user inputs a keyword. When the user inputs "I want to eat healthy food today" via a smartphone or smart glasses, the following process takes place.
[1753] Receiving and analyzing user input: Keywords entered by the user are sent from the terminal to the server and analyzed using natural language processing.
[1754] Emotion recognition: Keyword analysis is performed using the Google Natural Language API, and at the same time, user emotions are analyzed using IBM Watson Tone Analyzer.
[1755] Recipe search and selection: Based on the analysis results, the optimal recipe that meets the specified criteria is searched from the MySQL database.
[1756] Recipe suggestion generation: The selected recipes are linked to a food delivery service and displayed on the user's device as an orderable menu.
[1757] Answering questions: When a user enters a question, the question is sent back to the server, which uses OpenAI GPT-3.5 to generate an appropriate answer.
[1758] Specific examples
[1759] For example, if a user inputs "I want to eat healthy food today," the system will do the following:
[1760] 1. Receiving and analyzing keywords
[1761] User: Enters "I want to eat healthy food today" into a smartphone app.
[1762] Server: The keyword "healthy" is extracted using Google Natural Language API, and the emotion "health-conscious" is recognized using IBM Watson Tone Analyzer.
[1763] 2. Search and select recipes
[1764] Server: Search the MySQL database for "steamed vegetable salad" and "healthy steamed chicken breast" dishes that are "healthy" for your health.
[1765] 3. Provision of Information
[1766] Server: Converts the selected dish into JSON format and sends it to the user's device.
[1767] User: The recipe will be displayed on the device along with a link to order it from a food delivery service.
[1768] 4. Responding to Questions
[1769] User: "Can I use salmon instead of chicken breast?"
[1770] Server: Using OpenAI GPT-3.5, generate "Salmon is OK too" and send it to the user device.
[1771] Prompt Sentence Examples
[1772] User input: "I want to eat healthy food today"
[1773] Prompt: "The user is looking for healthy food. Please choose the best recipe from the options below and provide a food delivery link, taking their sentiment into consideration."
[1774] In this way, the system suggests optimal recipes based on the user's keywords and emotions, and by linking with external services, it can provide consistent support right up to ordering the food.
[1775] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1776] Step 1:
[1777] Keyword input
[1778] The user inputs a keyword such as "I want to eat healthy food today" through a smartphone or smart glasses application. The input keyword is sent from the device to the server.
[1779] Input: Enter the text "I want to eat healthy food today."
[1780] Output: This text data is sent to the server.
[1781] Step 2:
[1782] Keyword analysis and emotion recognition
[1783] The server analyzes the received keywords using the Google Natural Language API. This analysis extracts the important keyword "healthy." At the same time, it uses IBM Watson Tone Analyzer to analyze the user's emotions and recognize the emotion "health-conscious."
[1784] Input: User's keyword text data.
[1785] Output: The keyword "healthy" and the sentiment data "health-conscious."
[1786] Step 3:
[1787] Recipe Search
[1788] Based on the analysis results, the server searches for relevant recipes in the MySQL database. Specifically, it retrieves recipes related to the keyword "healthy" using an SQL query.
[1789] Input: Extracted keywords and sentiment data.
[1790] Output: Recipe data from search results such as "Steamed vegetable salad" and "Healthy steamed chicken breast."
[1791] Step 4:
[1792] Recipe Selection
[1793] The server selects the optimal recipe from the search results, taking into account the results of emotion recognition, and chooses the recipe that best suits the user's needs.
[1794] Input: Recipe data and sentiment data from search results.
[1795] Output: Selected recipes such as "Steamed Vegetable Salad" and "Healthy Steamed Chicken Breast."
[1796] Step 5:
[1797] Send recipe
[1798] The selected recipe information is converted into JSON format and sent to the user's device.
[1799] Input: Selected recipe data.
[1800] Output: Recipe data in JSON format.
[1801] Step 6:
[1802] Recipe Display
[1803] The device parses the received JSON-formatted recipe data and displays it on the screen, allowing the user to check the suggested recipes.
[1804] Input: Recipe data in JSON format.
[1805] Output: Recipe information displayed on screen.
[1806] Step 7:
[1807] Enter a question
[1808] The user enters a question related to the suggested recipe, for example, "Can I use salmon instead of chicken breast?" The question is sent from the device to the server.
[1809] Input: Question text data.
[1810] Output: Sends the question text data to the server.
[1811] Step 8:
[1812] Question analysis and answer generation
[1813] The server analyzes the question and generates an appropriate answer using OpenAI GPT-3.5.
[1814] Input: Question text data.
[1815] Output: The generated response data.
[1816] Step 9:
[1817] Send response
[1818] The generated answer is converted into JSON format and sent to the user's device.
[1819] Input: The generated response data.
[1820] Output: Response data in JSON format.
[1821] Step 10:
[1822] Answer display
[1823] The device parses the received JSON-formatted answer data and displays it on the screen, allowing the user to check the suggested answers.
[1824] Input: Response data in JSON format.
[1825] Output: Answer information displayed on the screen.
[1826] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1827] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1828] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1829] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1830] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1831] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1832] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1833] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1834] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1835] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1836] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1837] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1838] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1839] 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.
[1840] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1841] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1842] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1843] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1844] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1845] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1846] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1847] The following is further disclosed regarding the above embodiment.
[1848] (Claim 1)
[1849] a means for a user to input a keyword;
[1850] means for analyzing the keywords;
[1851] A means for searching a recipe database based on the keyword;
[1852] means for selecting an optimum recipe from the recipe database;
[1853] means for transmitting the selected recipe to a user terminal;
[1854] means for analyzing a user's question and generating an answer;
[1855] means for transmitting the response to a user terminal;
[1856] A system including:
[1857] (Claim 2)
[1858] 10. The system of claim 1, further comprising means for filtering recipes based on user preferences.
[1859] (Claim 3)
[1860] 10. The system of claim 1, further comprising means for suggesting alternative ingredients for a recipe.
[1861] "Example 1"
[1862] (Claim 1)
[1863] a means for a user to input information;
[1864] means for analyzing said information;
[1865] means for searching a database based on said analysis;
[1866] means for selecting optimal data from the database;
[1867] means for transmitting the selected data to a terminal;
[1868] means for parsing the user's additional information and generating a response;
[1869] means for transmitting the response to a terminal;
[1870] A system including:
[1871] (Claim 2)
[1872] 10. The system of claim 1, further comprising means for filtering data based on user preferences.
[1873] (Claim 3)
[1874] 10. The system of claim 1, further comprising: means for suggesting alternative information for the data.
[1875] "Application Example 1"
[1876] (Claim 1)
[1877] a means for a user to input a keyword;
[1878] means for analyzing the keywords;
[1879] A means for searching a recipe database based on the keyword;
[1880] means for selecting an optimum recipe from the recipe database;
[1881] means for transmitting the selected recipe to a user terminal;
[1882] means for analyzing a user's question and generating an answer;
[1883] means for transmitting the response to a user terminal;
[1884] A means to select the necessary ingredients and order them using an external service,
[1885] A means for suggesting recipes using a user's health information;
[1886] A system including:
[1887] (Claim 2)
[1888] 10. The system of claim 1, further comprising means for filtering recipes based on user preferences.
[1889] (Claim 3)
[1890] 10. The system of claim 1, further comprising means for suggesting alternative ingredients for a recipe.
[1891] "Example 2: Combining Emotion Engines"
[1892] (Claim 1)
[1893] a means for a user to input a keyword;
[1894] means for analyzing the keywords;
[1895] means for searching a database based on said keywords;
[1896] means for selecting optimal data from the database;
[1897] means for transmitting the selected data to a user terminal;
[1898] means for analyzing a user's question and generating an answer;
[1899] means for transmitting the response to a user terminal;
[1900] A system including an emotion recognition means.
[1901] (Claim 2)
[1902] 10. The system of claim 1, further comprising means for filtering recipes based on the emotional state of the user.
[1903] (Claim 3)
[1904] 10. The system of claim 1, further comprising means for suggesting alternative ingredients for a recipe.
[1905] "Application example 2 when combining emotion engines"
[1906] (Claim 1)
[1907] a means for a user to input a keyword;
[1908] means for analyzing the keywords;
[1909] means for searching a database based on said keywords;
[1910] means for selecting optimal information from the database;
[1911] means for transmitting the selected information to a user terminal;
[1912] means for analyzing a user's question and generating an answer;
[1913] means for transmitting the response to a user terminal;
[1914] means for recognizing a user's emotion using an emotion engine;
[1915] means for filtering information based on said emotion;
[1916] A system that includes means for linking with external services.
[1917] (Claim 2)
[1918] 10. The system of claim 1, further comprising means for filtering information based on user preferences.
[1919] (Claim 3)
[1920] 10. The system of claim 1, further comprising means for suggesting alternatives to the information. [Explanation of symbols]
[1921] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. a means for a user to input a keyword; means for analyzing the keywords; A means for searching a recipe database based on the keyword; means for selecting an optimum recipe from the recipe database; means for transmitting the selected recipe to a user terminal; means for analyzing a user's question and generating an answer; means for transmitting the response to a user terminal; A system including:
2. The system of claim 1 further comprising means for filtering recipes based on user preferences.
3. The system of claim 1 further comprising means for suggesting alternative ingredients for a recipe.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A