System
A system that accepts user input, searches a recipe database, responds to questions, and uses ingredient registration to suggest personalized recipes, addressing the inefficiencies in daily menu planning and reducing food waste.
Patent Information
- Application Number
- JP2024131449
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2026-02-20
AI Technical Summary
Planning daily menus is burdensome, especially for busy individuals, often leading to inefficient use of ingredients and food waste, as existing systems fail to tailor recipes to user questions or account for available home ingredients.
A system that accepts user keywords, searches a recipe database, responds to follow-up questions, registers available ingredients, and uses selection history to suggest personalized recipes, integrating a terminal, server, and recipe database.
Enables efficient recipe search, quick answers to questions, and personalized suggestions based on home ingredients and selection history, reducing the burden of daily menu planning.
Smart Images

Figure 2026028833000001_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] Planning daily menus is a burden for many people. This burden is even more pronounced in modern society, where the number of people cooking at home is increasing. Considering nutritional balance, physical condition, and how to use ingredients while preparing meals requires a lot of time and energy. Furthermore, users often fail to make effective use of the ingredients they have at home, which can lead to food waste. There is a need to solve these issues, reduce the burden of planning menus for busy people, and make healthy and delicious meals easy to achieve. [Means for solving the problem]
[0005] The present invention provides a means for accepting keywords entered from a terminal and a means for searching a recipe database based on the entered keywords. It also includes a means for sending search results to the terminal and presenting them to the user, and a means for the user to input follow-up questions for the suggested recipe. It also provides a means for searching the recipe database again based on the follow-up questions, preparing a response, and a means for sending the response to the terminal and displaying it to the user. The system also includes a means for pre-registering ingredients available at home and providing recipes based on that information with priority. It also provides a means for saving the user's selection history and reflecting it in future recipe suggestions. This allows users to easily find the optimal recipe and cook while having their questions answered, reducing the burden of daily menu planning.
[0006] A "terminal" is a device that allows a user to input keywords and displays recipe suggestions and detailed information.
[0007] "Keywords" refers to information such as ingredient names, dish names, taste preferences, and cooking methods entered by the user.
[0008] A "server" is a computer system that receives keywords sent from a terminal, searches a recipe database, and provides appropriate recipes.
[0009] A "recipe database" refers to a collection of information that stores ingredients, steps, nutritional information, etc. for various dishes.
[0010] "Search means" refers to the function of searching the recipe database based on input keywords and extracting appropriate recipes.
[0011] "Presentation means" refers to a function for transmitting search results to a terminal and displaying them to the user.
[0012] "Question input means" refers to a function that allows the user to input additional questions about the suggested recipe.
[0013] The "response preparation means" refers to a function that searches the recipe database again based on additional questions and prepares an appropriate response.
[0014] The "ingredient registration means" refers to a function that allows a user to register ingredients that they have at home in advance and prioritize the provision of recipes based on that.
[0015] The "selection history storage means" refers to a function for storing the history of recipes selected by the user and reflecting this in future recipe suggestions. [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 is a system that proposes recipes when a user inputs keywords and also responds to follow-up questions. This system functions by combining a terminal, a server, and a recipe database.
[0038] 1. Enter keywords from your device
[0039] The user logs in to the terminal and launches the menu suggestion service.
[0040] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0041] The user inputs keywords such as "chicken, easy, light" into the terminal.
[0042] The terminal receives the input keyword and sends it to the server.
[0043] 2. Server-based keyword interpretation and recipe search
[0044] The server analyzes the received keywords and divides them into individual search criteria (such as "chicken," "easy," and "light").
[0045] The server queries the recipe database to find recipes that match the criteria.
[0046] As an example, the server searches the "ingredients" field of a recipe database to retrieve recipes that contain "chicken."
[0047] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0048] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0049] 3. Displaying recipe information on the device
[0050] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[0051] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0052] The user checks the provided recipe list and selects a recipe that interests them.
[0053] 4. Response to additional questions
[0054] The user selects a particular recipe and reviews its details.
[0055] Your device will display details about the selected recipe (photos, ingredient list, instructions, etc.).
[0056] The user enters a follow-up question, such as "Can I use another ingredient instead of this one?"
[0057] The terminal sends a question to the server.
[0058] The server analyzes the question and retrieves relevant information from a database.
[0059] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0060] The server generates answers to the questions and sends them to the terminal.
[0061] The terminal displays the answer to the user.
[0062] 5. Use ingredients you have at home
[0063] The user registers ingredients they have at home in advance on the device (e.g., chicken, onions, garlic, etc.).
[0064] The server stores this information in a database and prioritizes optimal recipe suggestions, taking into account the registered ingredient information during keyword searches.
[0065] 6. Saving and using selection history
[0066] The device records the recipes selected by the user and saves them in a favorites or history list.
[0067] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[0068] Specific examples
[0069] For example, if a user inputs "chicken, simple, light," the server will search the recipe database based on this. The server will find a recipe called "lightly grilled salted chicken" which will be sent to the terminal and presented to the user. If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This will allow the user to receive detailed instructions and proceed with the cooking.
[0070] The system based on the present invention allows users to easily find the best recipes and quickly respond to questions, significantly reducing the burden of creating daily menus.
[0071] The processing flow will be explained below.
[0072] Step 1:
[0073] The user logs in to the terminal and launches the menu suggestion service.
[0074] Step 2:
[0075] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0076] Step 3:
[0077] The user inputs keywords such as "chicken, easy, light" into the terminal.
[0078] Step 4:
[0079] The terminal receives the input keyword and sends it to the server.
[0080] Step 5:
[0081] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[0082] Step 6:
[0083] The server searches the recipe database and extracts recipes that match the keywords.
[0084] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0085] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0086] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0087] Step 7:
[0088] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[0089] Step 8:
[0090] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0091] Step 9:
[0092] The user checks the provided recipe list and selects a recipe that interests them.
[0093] Step 10:
[0094] The user selects a particular recipe.
[0095] Step 11:
[0096] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[0097] Step 12:
[0098] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[0099] Step 13:
[0100] The terminal sends a follow-up question to the server.
[0101] Step 14:
[0102] The server analyzes the query and searches the recipe database again to obtain related information.
[0103] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0104] Step 15:
[0105] The server generates the answer to the question and sends it to the terminal.
[0106] Step 16:
[0107] The terminal displays the answer to the user.
[0108] Step 17:
[0109] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[0110] Step 18:
[0111] The server stores the registered ingredient information in a database.
[0112] Step 19:
[0113] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[0114] Step 20:
[0115] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[0116] Step 21:
[0117] The device will display the selected recipe in detail so that the user can refer to it at any time.
[0118] Step 22:
[0119] Your device will save this recipe to your "favorites list" or "history list."
[0120] Step 23:
[0121] The server updates the user's selection history to reflect future recipe suggestions.
[0122] Through these steps, users can easily find the best recipe and have their questions answered while they cook.
[0123] Example 1
[0124] 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."
[0125] Cooking meals at home is a significant challenge in today's busy lifestyles. While systems exist that efficiently search for recipes and suggest recipes tailored to individual user preferences, they lack the ability to tailor recipes to specific user questions or to suggest recipes that take into account home ingredients. Furthermore, systems lack the ability to improve future suggestions based on a user's selection history. Therefore, there is a need for a system that allows users to efficiently search for recipes, receive quick answers to their questions, and suggest recipes that take into account home ingredients and selection history.
[0126] 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.
[0127] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information storage device based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for re-searching the information storage device based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for pre-registering ingredients available at home and preferentially providing recipes based on the pre-registered ingredients, means for the user to select a specific recipe and check detailed information, and means for adjusting subsequent search results using the user's input history. This enables the user to efficiently search for optimal recipes, quickly obtain answers to their questions, and receive personalized suggestions based on the ingredients available at home and their selection history.
[0128] A "terminal" is an information processing device that allows a user to input information and displays search results and information.
[0129] A "server" is an information processing system that receives input information from a terminal, analyzes it, searches a database, and sends the results to the terminal.
[0130] A "keyword" is a word or phrase that a user enters to search for specific information.
[0131] An "information storage device" is a database or storage medium for storing recipes and other related information.
[0132] A "recipe" is information that describes a list of ingredients and steps for preparing a dish.
[0133] "Searching" is the process of extracting information that matches specific criteria from an information storage device.
[0134] A "response" is information or an answer that the server generates based on a follow-up question from the user.
[0135] "Ingredients" are the raw materials or ingredients used to make a dish.
[0136] "Input history" is information that records the history of searches and selections that the user has made in the past.
[0137] "Personalization" refers to providing information and services tailored to the preferences and conditions of individual users.
[0138] The present invention is a system that proposes recipes when a user inputs keywords and responds to additional questions. This system functions by combining a terminal, a server, and an information storage device.
[0139] First, the user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message urging them to "enter ingredients, dish name, taste preferences, etc." When the user enters keywords such as "chicken, easy, light," the device receives this input and sends it to the server in JSON format.
[0140] When the server receives the submitted keywords, it breaks them down into individual search criteria. For example, it might break them down into criteria like "chicken," "easy," and "light." The server then uses an SQL query to search the recipe database. Specifically, it executes a query like "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'" to extract matching recipes.
[0141] The extracted recipe information is sent from the server to the device, which then displays the received information to the user. This display method utilizes HTML and CSS to beautifully present the top five recipes in card format. The user can then select the recipes that interest them.
[0142] Next, when the user asks a question on the recipe details screen, such as "Can I use another ingredient instead of this one?", the device sends the question to the server again in JSON format. The server analyzes the question and retrieves relevant information from the database. It searches the list of ingredient substitutes, finds the relevant information, generates an answer, and sends it to the device. The device then displays the answer to the user.
[0143] In addition, if the user registers ingredients they have at home (e.g., chicken, onions, garlic, etc.) in advance on their device, the server will store them in a database and take them into consideration when searching for recipes in the future. This will result in the server preferentially suggesting the best recipes using the registered ingredients.
[0144] In addition, the device records the recipes the user selects and saves them in a favorites or history list. The server analyzes this selection history and reflects it in future recipe suggestions. For example, if a user tends to prefer "chicken" recipes, "chicken" recipes will be displayed preferentially in the next search results.
[0145] For example, if a user enters a prompt such as, "Please suggest a simple, light recipe using chicken. Also, can you tell me if garlic can be added?", the system will act on this and provide the best recipe and answers to any follow-up questions.
[0146] This system allows users to efficiently search for the best recipes, get quick answers to follow-up questions, and receive personalized suggestions based on ingredients available at home and their selection history, providing great help when planning daily meals.
[0147] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0148] Step 1:
[0149] The user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message instructing them to "enter ingredients, dish name, taste preferences, etc." The user enters the keywords "chicken, simple, light" and presses the "Search" button. This is the input. The device converts the entered keywords into JSON format and sends it to the server.
[0150] Step 2:
[0151] The server analyzes the received keywords. Specifically, it splits the keywords with spaces and separates them into search criteria such as "chicken," "easy," and "light." This becomes the input. The server generates an SQL query based on the split keywords. For example, it generates a query such as "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'." This allows it to search the information storage device for recipes that match the criteria and generate a list of relevant recipe information. This becomes the output.
[0152] Step 3:
[0153] The server sends the search results in JSON format to the terminal. Specifically, it stores the listed recipe information in a field called "recipes" and sends it. This is the input. The terminal parses the received JSON data and obtains the recipe list. This is the output.
[0154] Step 4:
[0155] The device displays the retrieved recipe information to the user. Specifically, it uses HTML and CSS to display the top five recipes in an easy-to-read card format. This is the input. The user selects the recipe of interest from the displayed recipe list. This is the output.
[0156] Step 5:
[0157] The user selects a specific recipe and checks its details. The device displays detailed information about the selected recipe (ingredients list, instructions, photos, etc.). The user types a question, such as "Can I use another ingredient instead of this one?" This is the input. The device converts the question to JSON format and sends it to the server.
[0158] Step 6:
[0159] The server analyzes the received question and retrieves relevant information from its information storage device. Specifically, it searches a list of substitute ingredients to find the appropriate substitute. For example, it executes an SQL query such as "SELECT FROM substitutes WHERE original="chicken". This is the input. It generates an answer based on the retrieved information and sends it to the terminal in JSON format. This is the output.
[0160] Step 7:
[0161] The device displays the answer received from the server to the user. Specifically, it displays an answer such as "You can use fish instead of chicken." This is the input. The user checks the answer and uses it to progress with the cooking. This is the output.
[0162] Step 8:
[0163] The user inputs ingredients they have at home (e.g., chicken, onion, garlic, etc.) into the device and presses the save button. The device sends the information in JSON format to the server, which becomes the input. The server stores the ingredient information in a database and considers it for future searches, which becomes the output.
[0164] Step 9:
[0165] The device records the recipes selected by the user and adds them to a favorites list. The server analyzes the user's behavioral history and reflects this in future recipe suggestions. Specifically, if a user prefers "chicken," the server will prioritize suggesting recipes that include "chicken" next time. This is the input and output.
[0166] In this way, this system efficiently searches for and suggests recipes based on the information entered by the user, and also responds to additional questions, supporting daily menu planning.
[0167] (Application example 1)
[0168] 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."
[0169] Conventional recipe suggestion systems make it difficult for users to quickly and efficiently find the best recipe when searching for information on desired ingredients and dishes. Furthermore, they lack the functionality to instantly order food and ingredient delivery based on recipe suggestions, which leaves users in a state of dissatisfaction. Furthermore, they lack the functionality to respond appropriately and promptly to additional questions entered by users, which leaves the user experience unsatisfied.
[0170] 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.
[0171] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information database based on the input keywords, means for sending the search results to the terminal and presenting them to the user, means for the user to input a follow-up question in response to the suggested information, means for searching the information database again based on the follow-up question and preparing a response, means for sending the response to the terminal and displaying it to the user, means for pre-registering items in the home and preferentially providing information based on the pre-registered items, means for ordering delivery of items based on the suggested information, means for sending prompts to a generative AI model to generate a response, and means for appropriately presenting the response to the user. This allows users to quickly and efficiently search for desired recipes and instantly order the necessary ingredients and foods, while also receiving appropriate responses to follow-up questions, significantly improving convenience and user experience.
[0172] A "terminal" is an electronic device that allows a user to input, confirm, and operate information.
[0173] "Keywords" are specific words or phrases that users enter when searching or making suggestions.
[0174] An "information database" is a digital storage device that stores recipes and other related information in a searchable format.
[0175] The "search results" are a list of information extracted from the information database based on the input keywords.
[0176] A "follow-up question" is an inquiry entered by a user to request further instructions or confirmation of the proposed information.
[0177] "Items in the home" refers to ingredients and products that the user has in the home and has registered in advance.
[0178] "Goods delivery" is a service that delivers ingredients and food ordered by users to a specified location.
[0179] A "generative AI model" is an algorithm and framework for using artificial intelligence to understand and generate natural language.
[0180] A "prompt sentence" is an instruction sentence that can be input into a generative AI model to obtain an appropriate response.
[0181] The system for implementing this invention searches for information based on keywords entered on a terminal, makes suggestions and answers questions, and even enables delivery orders for necessary items. The specific procedures and system configuration are described below.
[0182] System configuration
[0183] The system consists of the following main hardware and software components:
[0184] Device: A device operated by a user, such as a smartphone, tablet, or computer.
[0185] Server: A central computer that processes and manages recipes and other information.
[0186] Information database: Digital storage of information about recipes and ingredients.
[0187] Generative AI model: An artificial intelligence model that performs natural language processing and generates appropriate responses to the user's follow-up questions.
[0188] Data processing and calculation
[0189] How the system processes the data is described below.
[0190] Enter keywords and search
[0191] The server receives and analyzes keywords entered from the terminal (e.g., "chicken, easy, light"), and searches for matching recipes and ingredient information in the information database based on the analyzed keywords. The search results are sent to the terminal and presented to the user.
[0192] Recipe suggestions and additional questions
[0193] When the user selects a suggested recipe, the server displays the recipe details on the device. If the user enters an additional question (e.g., "Can I add garlic to this recipe?"), the question is sent as a prompt to the generative AI model. The generative AI model analyzes the question and generates an appropriate response. The generated response is sent to the device via the server and displayed to the user.
[0194] Home items and delivery orders
[0195] Users can register items they have at home in advance on the device. The server stores this information in a database and takes it into account when searching for keywords. The device also has a function to order delivery of the necessary ingredients and food based on the suggested recipes.
[0196] Specific examples
[0197] For example, if a user inputs "chicken, simple, light," the server will search the information database based on this and suggest "lightly grilled salted chicken." If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will send the following prompt to the generative AI model:
[0198] Example prompt:
[0199] text
[0200] Entered keywords: chicken, easy, light
[0201] Suggested recipe: Lightly grilled salted chicken
[0202] Question: I want to add garlic to lightly salted grilled chicken. Is this possible?
[0203] Generate a suitable answer to this question.
[0204] Based on this prompt, the generative AI model generates a response such as "You can add garlic to this dish," and the server displays this response to the user.
[0205] This system allows users to quickly and efficiently search for the recipes they want, easily order the ingredients and food they need, and get appropriate responses to any follow-up questions, greatly improving convenience and user experience.
[0206] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0207] Step 1:
[0208] The user logs in to the terminal and enters a keyword.
[0209] Input: User input of keywords (e.g., "chicken, easy, light")
[0210] Operation: The terminal receives the keyword entered by the user and sends it to the server.
[0211] Step 2:
[0212] The server analyzes the keywords and searches for matching recipes from an information database.
[0213] Input: Keywords sent from the device (e.g. "chicken, easy, light")
[0214] Data processing: The server separates keywords into individual conditions (e.g., "Ingredients = chicken," "Difficulty = easy," "Taste = light")
[0215] Data calculation: Search the information database and extract recipes that match the criteria
[0216] Output: List of matching recipes (e.g. "Lightly grilled chicken with salt")
[0217] Step 3:
[0218] The server sends the search results to the terminal and displays them to the user.
[0219] Input: Search results for recipes
[0220] Operation: The server formats the search results and sends them to the terminal, which displays them to the user.
[0221] Output: A list of recipes presented to the user
[0222] Step 4:
[0223] The user selects a suggested recipe and checks the details.
[0224] Input: User selection from recipe list
[0225] Behavior: The device displays the details of the selected recipe (e.g., ingredients list, instructions, etc.)
[0226] Output: Recipe details presented to the user
[0227] Step 5:
[0228] The user enters a follow-up question for the recipe.
[0229] Input: Additional questions entered by the user (e.g. "I'd like to add garlic to my grilled food, is that possible?")
[0230] Action: The device sends a follow-up question to the server.
[0231] Output: The question sent to the server
[0232] Step 6:
[0233] The server parses the follow-up questions and sends prompts to the generative AI model.
[0234] Input: User's additional question
[0235] Data processing: The server converts the question into a natural language processing prompt (e.g., "Entered keywords: chicken, easy, light. Suggested recipe: Lightly grilled salted chicken. Question: I would like to add garlic to my lightly grilled salted chicken. Is this possible?").
[0236] Data computation: Sending prompts to the generative AI model to generate appropriate responses
[0237] Output: The generated response
[0238] Step 7:
[0239] The generated response is received by the server and sent to the terminal.
[0240] Input: A response from a generative AI model (e.g., "You can add garlic to this dish.")
[0241] Operation: The server generates a response and sends it to the terminal, which displays it to the user.
[0242] Output: The response presented to the user
[0243] Step 8:
[0244] When a user orders ingredients or food, detailed order information is sent to the terminal.
[0245] Input: User request for delivery order (e.g., ingredients for a specified dish)
[0246] Operation: The terminal retrieves the order information and sends it to the server. The server registers the order with the delivery service.
[0247] Output: Delivery order confirmation and notification
[0248] 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.
[0249] This invention is a system that proposes recipes based on user input keywords and also combines an emotion engine that recognizes the user's emotions. This system includes a terminal, a server, a recipe database, and an emotion engine, and also proposes recipes based on the user's emotional state.
[0250] 1. Enter keywords from your device
[0251] The user logs in to the terminal and launches the menu suggestion service.
[0252] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0253] The user inputs keywords such as "chicken, easy, light" into the terminal.
[0254] The terminal receives the input keyword and sends it to the server.
[0255] 2. Server-based keyword interpretation and recipe search
[0256] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[0257] The server searches the recipe database and extracts recipes that match the keywords.
[0258] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0259] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0260] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0261] 3. Displaying recipe information on the device
[0262] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[0263] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0264] The user checks the provided recipe list and selects a recipe that interests them.
[0265] 4. Response to additional questions
[0266] The user selects a particular recipe and reviews its details.
[0267] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[0268] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[0269] The terminal sends a question to the server.
[0270] The server analyzes the query and searches the recipe database again to obtain related information.
[0271] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0272] The server generates the answer to the question and sends it to the terminal.
[0273] The terminal displays the answer to the user.
[0274] 5. Use ingredients you have at home
[0275] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[0276] The server stores the registered ingredient information in a database, and when searching by keyword, it takes the registered ingredient information into consideration and preferentially suggests the most suitable recipe.
[0277] 6. Saving and using selection history
[0278] The device records the recipes selected by the user and saves them in a favorites or history list.
[0279] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[0280] 7. Introducing the Emotion Engine
[0281] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[0282] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[0283] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[0284] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[0285] Specific examples
[0286] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to my grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This allows the user to receive detailed instructions and proceed with the cooking.
[0287] The system based on this invention allows users to easily find the best recipe and cook while having their questions answered. Furthermore, by incorporating an emotion engine, recipe suggestions can be made based on the user's emotional state, providing a more personalized experience. This significantly reduces the burden of daily menu planning and improves the user's dining experience.
[0288] The processing flow will be explained below.
[0289] Step 1:
[0290] The user logs in to the terminal and launches the menu suggestion service.
[0291] Step 2:
[0292] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0293] Step 3:
[0294] A user types "chicken, easy, light" into a terminal.
[0295] Step 4:
[0296] The terminal receives the input keyword and sends it to the server.
[0297] Step 5:
[0298] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[0299] Step 6:
[0300] The server searches the recipe database and extracts recipes that match the keywords.
[0301] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0302] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0303] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0304] Step 7:
[0305] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[0306] Step 8:
[0307] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0308] Step 9:
[0309] The user checks the provided recipe list and selects a recipe that interests them.
[0310] Step 10:
[0311] The user selects a particular recipe.
[0312] Step 11:
[0313] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[0314] Step 12:
[0315] The user types a follow-up question: "Can I use another ingredient instead of this one?"
[0316] Step 13:
[0317] The terminal sends a follow-up question to the server.
[0318] Step 14:
[0319] The server analyzes the query and searches the recipe database again to obtain related information.
[0320] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0321] Step 15:
[0322] The server generates the answer to the question and sends it to the terminal.
[0323] Step 16:
[0324] The terminal displays the answer to the user.
[0325] Step 17:
[0326] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[0327] Step 18:
[0328] The server stores the registered ingredient information in a database.
[0329] Step 19:
[0330] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[0331] Step 20:
[0332] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[0333] Step 21:
[0334] The device will display the selected recipe in detail so that the user can refer to it at any time.
[0335] Step 22:
[0336] Your device will save this recipe to your "favorites list" or "history list."
[0337] Step 23:
[0338] The server updates the user's selection history to reflect future recipe suggestions.
[0339] Step 24:
[0340] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[0341] Step 25:
[0342] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[0343] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[0344] Step 26:
[0345] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[0346] Step 27:
[0347] The server integrates the emotion data from the emotion engine with the keyword search results, lists the optimal recipes, and sends them to the device.
[0348] Step 28:
[0349] The terminal displays a recipe list based on the emotion data to the user, highlighting recipes that match the user's emotional state.
[0350] Step 29:
[0351] The user checks the provided recipe list and selects a recipe that interests them.
[0352] Step 30:
[0353] The device will display the details of the selected recipe and provide step-by-step instructions.
[0354] Through these steps, users can easily find the best recipe and have their questions answered while cooking. Furthermore, by incorporating an emotion engine, the system can suggest recipes based on the user's emotional state, providing a more personalized experience.
[0355] Example 2
[0356] 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."
[0357] Conventional recipe suggestion systems have made it difficult for users to find recipes that match their specific needs or emotions. In addition, they lack suggestions that take into account the ingredients a user has or their past selection history, making everyday cooking decisions cumbersome.
[0358] 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.
[0359] In this invention, the server includes means for accepting keywords input from a terminal, means for searching a database based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for searching the database again based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for registering ingredients available at home in advance and preferentially providing recipes based on that, and means for analyzing the user's emotional state using an emotion recognition engine and providing recipes according to that state. This allows users to easily find recipes that suit their needs and emotions.
[0360] A "terminal" is a device that allows a user to input keywords and view recipes.
[0361] A "server" is a central processing unit that analyzes keywords and searches the database.
[0362] A "database" is a collection of data in which recipe information is stored.
[0363] A "keyword" is a word or phrase that indicates a search condition that a user enters into a terminal.
[0364] "Searching" is the process of locating relevant information in a database based on entered keywords.
[0365] "Sending results" refers to the act of the server sending the data obtained by the search to the terminal.
[0366] "Presenting" refers to the act of the terminal displaying search results to the user.
[0367] "Follow-up questions" are questions that the user can ask to request more information or modifications to the suggested recipe.
[0368] "Ingredients" refers to the ingredients and seasonings used to make a dish.
[0369] "Registering" is the process of entering and saving ingredients and food items in your home into the system.
[0370] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[0371] "Analysis" is the process of analyzing data or input information to derive meaning and relationships.
[0372] "Experts" are people with advanced knowledge and experience in a particular field, such as nutritionists or professional chefs.
[0373] "Nutritional balance" refers to the proper distribution of all nutrients necessary to achieve a healthy diet.
[0374] "Expertise" refers to having deep understanding and skills in a particular field.
[0375] The present invention is a system that proposes recipes based on keywords entered by a user and combines them with an emotion engine that recognizes the user's emotional state. This system includes a terminal, a server, a database, and an emotion engine. The following describes a detailed embodiment of this system and its operation.
[0376] Terminal
[0377] The terminal is a device that provides an interface with the user and allows them to input keywords and view recipes. Specifically, this can be a PC, tablet, or smartphone. The terminal begins when the user logs in and launches the menu suggestion service. The user enters keywords such as ingredients, dish name, and taste preferences into the search bar displayed on the screen. For example, the user might enter "chicken, easy, light." The terminal then sends the entered keywords to the server.
[0378] Servers and Databases
[0379] The server is a central processing unit that searches a database based on search criteria and keywords. The server analyzes the keywords entered and breaks them down into individual criteria. For example, it categorizes them into criteria such as "chicken," "easy," and "light." Based on these criteria, the server searches the database to extract relevant recipes. This database contains recipes based on a variety of ingredients, cooking methods, flavors, and nutritional balance.
[0380] Recipe information presentation
[0381] The search results are sent to the device and suggested to the user. This is usually done as an HTTP response with JSON formatted data. The device receives this and displays the recipe in a format that is easy for the user to view. The user can select from the list of suggested recipes and have detailed information about them displayed on the device. The detailed information can include a photo of the recipe, a list of ingredients, instructions, etc.
[0382] Responding to additional questions
[0383] Users can ask follow-up questions about a particular recipe, such as "Can I use another ingredient instead of this one?" The device sends this question to the server, which again searches the database to extract relevant information. An answer is generated and sent back to the device. The device displays this answer to the user, allowing them to continue cooking with detailed instructions.
[0384] Use of materials available at home
[0385] Users can register ingredients they have at home in advance on their device. For example, they can enter ingredient information such as "chicken, onion, garlic" into the system. This data is stored in a database by the server and is taken into consideration when searching by keyword. This allows the system to prioritize and suggest optimal recipes that utilize ingredients available at home.
[0386] Introducing the Emotion Engine
[0387] The emotion engine recognizes the user's emotional state from their input and suggests recipes based on that. When the emotion engine analyzes the user's input, if it recognizes, for example, "tired," the server searches for recipes suitable for the user based on this. For example, if the user is recognized as "tired," the server searches for and suggests recipes that will brighten the mood. This emotional state is saved as emotion data so that it can be reflected in future recipe suggestions.
[0388] Examples and prompts
[0389] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the database based on this. The recipe extracted by the server is, for example, "lightly grilled salted chicken," which is sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will similarly search the database to generate an answer to the question and send it to the terminal.
[0390] Example prompt sentence:
[0391] Suggest recipes based on the keywords "chicken, easy, light" and also provide recommended recipes if the user is tired.
[0392] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0393] Step 1:
[0394] The user logs in to the terminal and launches the menu suggestion service.
[0395] Input: User ID and password
[0396] Operation: The terminal sends user information to the server for authentication.
[0397] Output: The authentication result is returned to the terminal and login is completed.
[0398] Step 2:
[0399] The device will display a search bar and say, "Enter ingredients, dish name, taste preferences, etc."
[0400] Input: None
[0401] Operation: A GUI (Graphical User Interface) is generated on the terminal screen.
[0402] Output: The user will see the search bar.
[0403] Step 3:
[0404] The user enters keywords such as "chicken, easy, light."
[0405] Input: Keywords "chicken, easy, light"
[0406] How it works: The device receives a keyword via keyboard input or touchscreen.
[0407] Output: The keyword is entered.
[0408] Step 4:
[0409] The terminal receives the input keyword and sends it to the server.
[0410] Input: Keywords "chicken, easy, light"
[0411] How it works: The device generates an HTTP request and sends the keyword data in the payload to the server.
[0412] Output: The keyword arrives at the server.
[0413] Step 5:
[0414] The server analyzes the received keywords and breaks them down into "chicken," "easy," and "light."
[0415] Input: Keywords "chicken, easy, light"
[0416] How it works: The server uses a text parsing library to split the keywords into tokens.
[0417] Output: You get the individual tokens "chicken", "easy", and "light".
[0418] Step 6:
[0419] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0420] Input: Token "chicken"
[0421] What happens: The server runs an SQL query to retrieve recipes that contain "chicken" in the "ingredients" field.
[0422] Output: A list of recipes that contain chicken
[0423] Step 7:
[0424] The server extracts "easy" recipes from the "difficulty" field.
[0425] Input: Token "easy"
[0426] What it does: The server runs another SQL query to get recipes that match "easy" in the "difficulty" field.
[0427] Output: A simple recipe list
[0428] Step 8:
[0429] The server extracts a recipe for "light" flavor from the "flavor" field.
[0430] Input: Token "Easy"
[0431] What happens: The server runs another SQL query to get recipes that match "light" in the "flavor" field.
[0432] Output: Light recipe list
[0433] Step 9:
[0434] The server lists multiple recipes that match the conditions and sends them to the terminal.
[0435] Input: filtered recipe list
[0436] How it works: The server serializes the search results in JSON format and sends them to the device as an HTTP response.
[0437] Output: A list of recipes arrives on the terminal.
[0438] Step 10:
[0439] The terminal displays the recipe list to the user.
[0440] Input: Recipe list
[0441] What it does: The device GUI is updated and the top 5 or so recipes are displayed in a list view.
[0442] Output: The user can now view the recipe list.
[0443] Step 11:
[0444] The user checks the provided recipe list and selects a recipe that interests them.
[0445] Input: User's choice
[0446] Behavior: The user clicks on a list item and is taken to the recipe details screen.
[0447] Output: The details screen of the selected recipe will be displayed.
[0448] Step 12:
[0449] The user enters a follow-up question about a particular recipe.
[0450] Input: User question: "Can I use another material instead of this one?"
[0451] Action: A question is entered into the text input field on the device and the submit button is pressed.
[0452] Output: The query is sent to the server.
[0453] Step 13:
[0454] The server analyzes the query and searches the database again.
[0455] Input: Question
[0456] How it works: The server uses natural language processing (NLP) to understand the question and retrieve the corresponding data.
[0457] Output: The appropriate response data for the question
[0458] Step 14:
[0459] The server generates the answer to the question and sends it to the terminal.
[0460] Input: Response data to questions
[0461] What it does: The server constructs a response and sends it to the device in JSON format.
[0462] Output: The response arrives at the terminal.
[0463] Step 15:
[0464] The terminal displays the answer to the user.
[0465] Input: Response to question
[0466] Behavior: The terminal GUI is updated and the response is displayed in a pop-up message or in the details display area.
[0467] Output: The user can now check the answer to the question.
[0468] Step 16:
[0469] The user registers the materials they have at home in advance on the terminal.
[0470] Input: Ingredients available at home: "chicken, onion, garlic"
[0471] Operation: Material information is entered into the specified input form and the save button is pressed.
[0472] Output: Material information is sent to the server.
[0473] Step 17:
[0474] The server stores the registered material information in a database.
[0475] Input: Material information in your home
[0476] Operation: The server executes an SQL query that inserts the material information into the database, linking it to the user ID.
[0477] Output: Material information is saved in the database.
[0478] Step 18:
[0479] The server provides the optimal recipe by taking into consideration the ingredient information registered during keyword search.
[0480] Input: Keyword search criteria and registered material information
[0481] How it works: Saved ingredient information is used as a priority in the search criteria to extract the optimal recipe.
[0482] Output: Recipe list taking into account ingredient information
[0483] Step 19:
[0484] The emotion engine recognizes emotions as users type.
[0485] Input: What the user types
[0486] How it works: The sentiment engine applies NLP models to perform sentiment analysis on input text.
[0487] Output: Perceived emotional state
[0488] Step 20:
[0489] Based on the emotions recognized by the emotion engine, the server provides recipes according to the user's emotional state.
[0490] Input: Perceived emotional state
[0491] How it works: Sentiment data is used as input to filter a recipe database and extract highly relevant recipes.
[0492] Output: A list of recipes based on emotional state
[0493] Step 21:
[0494] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[0495] Input: Recognized emotion data
[0496] How it works: Emotional data is stored in a database and used for future recommendations.
[0497] Output: Emotion data is saved.
[0498] (Application example 2)
[0499] 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."
[0500] Modern consumers are faced with numerous options and information overload when it comes to meal preparation, and time constraints make it difficult to efficiently select the optimal menu and ingredients. Furthermore, if the ordered meal does not match the user's mood or health status at the time, satisfaction may decrease. Food delivery services, in particular, are required to reduce the ordering process while selecting food that is appropriate for the user's emotional state.
[0501] 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.
[0502] In this invention, the server includes means for searching an information database based on input keywords, means for analyzing the user's emotions using an emotion recognition engine and providing information corresponding to the emotions, and means for the user to input follow-up questions regarding the suggested information. This allows the user to receive meal suggestions that suit their emotional state, making it possible to provide a high level of satisfaction in food delivery services.
[0503] A "terminal" is an electronic device that allows a user to enter keywords, ask additional questions, view search results, and so on.
[0504] A "keyword" is a word or phrase that a user inputs into a terminal to search for specific information.
[0505] An "information database" is a collection of data that stores recipes and data that can be searched based on input keywords.
[0506] A "search means" is a method or device for analyzing input keywords and extracting relevant information from a database.
[0507] "Search results" are a list or details of information extracted by the search means.
[0508] A "follow-up question" is a phrase or question that a user enters to seek more detailed information or alternatives to the suggested information.
[0509] "Items in the home" refers to ingredients and related items already in the home that the user has registered in advance.
[0510] An "emotion recognition engine" is a system for determining and analyzing emotions from user input and behavior.
[0511] A "response" is an answer to a follow-up question or related information.
[0512] A "display means" is a method or device for visually presenting search results or responses to a user.
[0513] "Selection history" is a record of information and actions selected by the user in the past.
[0514] An "expert" refers to someone with knowledge and experience in a particular field, such as a nutritionist or chef.
[0515] The present invention is a system in which a user inputs ingredients, dish names, and taste preferences using a terminal, and a server then suggests optimal food delivery items based on the information analyzed by an emotion recognition engine.The system is configured as follows.
[0516] Hardware and software used
[0517] server
[0518] The server is responsible for core functions such as search processing, sentiment analysis, database access, etc. It uses the following software:
[0519] Python: A programming language used to implement search algorithms, data processing, and API calls.
[0520] Database management software: Used to store recipe and registered ingredient information and respond to queries.
[0521] Terminal
[0522] Devices that are directly operated by users, including smartphones and tablets, provide the following interfaces:
[0523] Search bar: A text input field where users can enter keywords.
[0524] Emotion recognition software: Used to analyze emotions from user-entered text.
[0525] Display interface: UI components that display search results, recipe information, responses to additional questions, etc.
[0526] System Operation
[0527] 1. Enter keywords and submit
[0528] The user logs in to the device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." These keywords are sent to the server.
[0529] 2. Keyword analysis and recipe search
[0530] The server receives and analyzes the keywords. It breaks down the keywords individually and searches the recipe database. For example, it extracts recipes that match "chicken," "easy," and "light" from the database.
[0531] 3. Sentiment Analysis and Recommendations
[0532] At the same time, the device uses an emotion recognition engine to analyze the user's emotions from the keywords entered. For example, if the device analyzes the user's emotions as "tired," that information is also sent to the server.
[0533] 4. Recipe suggestions
[0534] The server selects the most suitable recipe from a recipe database based on keywords and emotion information, and sends the search results to the terminal, which then displays the recipe to the user.
[0535] 5. Response to additional questions
[0536] If the user wants to enter a follow-up question about the displayed recipe, such as "Can I use another ingredient instead of this one?", the server re-parses the question, searches the database again, and generates a response, which the device then displays to the user.
[0537] 6. Use items you already have at home
[0538] By registering information about items in your home on the device in advance, recipes can be prioritized when searching, taking into account the registered items.
[0539] 7. Emotion-based recommendations
[0540] Based on the user's emotional information analyzed by the emotion recognition engine, the server will provide recipes that match the emotion. For example, if the server recognizes that the user is "tired," it will suggest recipes with a soothing effect.
[0541] Specific examples
[0542] For example, if a user inputs "chicken, simple, light," and the emotion recognition engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the device and presented to the user. If the user selects this recipe and inputs an additional question, such as "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will search the database again to confirm whether garlic is available and send the response to the device.
[0543] Prompt Sentence Examples
[0544] A user types "chicken, healthy, easy" and the sentiment engine recognizes "tired." Suggest the best recipe based on this input.
[0545] This allows users to easily select food delivery items that suit their emotional state and taste preferences, and receive highly satisfying meal suggestions.
[0546] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0547] Step 1:
[0548] A user logs in to a device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." In this case, the user enters the keywords into the device in text format, and the input data is sent to the server.
[0549] Step 2:
[0550] The server analyzes the received keywords. The server breaks down the keywords individually and searches the information database based on each keyword. Specifically, it extracts recipes that match, for example, "chicken," "easy," and "light." At this time, the input data is analyzed, a query is generated for the information database, and search results are obtained.
[0551] Step 3:
[0552] The server simultaneously analyzes the user's input using an emotion recognition engine. The device sends the input keywords to the emotion recognition software, which generates the analysis results as emotion data. For example, it may recognize "tired."
[0553] Step 4:
[0554] The server then searches the recipe database again based on the keywords and emotion data to select the most suitable recipe. For example, a recipe such as "lightly grilled salted chicken" is extracted. At this time, the server again queries the information database and extracts the data that best matches the criteria.
[0555] Step 5:
[0556] The server sends the optimal recipe information obtained as a search result to the terminal, which then displays the received search results to the user. At this time, a list of recipes and detailed information are provided visually, allowing the user to confirm the contents.
[0557] Step 6:
[0558] The user inputs a follow-up question about the proposed recipe. For example, "Can I use another ingredient instead of this one?" into the terminal. The terminal sends the follow-up question in text format to the server.
[0559] Step 7:
[0560] The server receives the additional query and again searches the information database. For example, when searching for a substitute for garlic, the server queries the database and generates a valid response. At this point, the server performs additional data processing and prepares an appropriate information response.
[0561] Step 8:
[0562] The server then sends the generated response to the device, which displays it to the user, providing a specific answer such as "You can use onion instead of garlic." The user can then adjust the selected recipe based on the displayed information.
[0563] Step 9:
[0564] If the user has previously registered information about items in their home on their device, the server will prioritize search results by taking this into account. For example, if a list of ingredients in the home has been registered in advance, recipe suggestions will be based on this. In this case, the device sends the item information, and the server uses it to obtain the optimal output.
[0565] 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.
[0566] 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.
[0567] 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.
[0568] [Second embodiment]
[0569] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0570] 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.
[0571] 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).
[0572] 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.
[0573] 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.
[0574] 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).
[0575] 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.
[0576] 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.
[0577] 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.
[0578] 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.
[0579] 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.
[0580] 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."
[0581] The present invention is a system that proposes recipes when a user inputs keywords and also responds to follow-up questions. This system functions by combining a terminal, a server, and a recipe database.
[0582] 1. Enter keywords from your device
[0583] The user logs in to the terminal and launches the menu suggestion service.
[0584] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0585] The user inputs keywords such as "chicken, easy, light" into the terminal.
[0586] The terminal receives the input keyword and sends it to the server.
[0587] 2. Server-based keyword interpretation and recipe search
[0588] The server analyzes the received keywords and divides them into individual search criteria (such as "chicken," "easy," and "light").
[0589] The server queries the recipe database to find recipes that match the criteria.
[0590] As an example, the server searches the "ingredients" field of a recipe database to retrieve recipes that contain "chicken."
[0591] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0592] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0593] 3. Displaying recipe information on the device
[0594] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[0595] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0596] The user checks the provided recipe list and selects a recipe that interests them.
[0597] 4. Response to additional questions
[0598] The user selects a particular recipe and reviews its details.
[0599] Your device will display details about the selected recipe (photos, ingredient list, instructions, etc.).
[0600] The user enters a follow-up question, such as "Can I use another ingredient instead of this one?"
[0601] The terminal sends a question to the server.
[0602] The server analyzes the question and retrieves relevant information from a database.
[0603] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0604] The server generates answers to the questions and sends them to the terminal.
[0605] The terminal displays the answer to the user.
[0606] 5. Use ingredients you have at home
[0607] The user registers ingredients they have at home in advance on the device (e.g., chicken, onions, garlic, etc.).
[0608] The server stores this information in a database and prioritizes optimal recipe suggestions, taking into account the registered ingredient information during keyword searches.
[0609] 6. Saving and using selection history
[0610] The device records the recipes selected by the user and saves them in a favorites or history list.
[0611] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[0612] Specific examples
[0613] For example, if a user inputs "chicken, simple, light," the server will search the recipe database based on this. The server will find a recipe called "lightly grilled salted chicken" which will be sent to the terminal and presented to the user. If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This will allow the user to receive detailed instructions and proceed with the cooking.
[0614] The system based on the present invention allows users to easily find the best recipes and quickly respond to questions, significantly reducing the burden of creating daily menus.
[0615] The processing flow will be explained below.
[0616] Step 1:
[0617] The user logs in to the terminal and launches the menu suggestion service.
[0618] Step 2:
[0619] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0620] Step 3:
[0621] The user inputs keywords such as "chicken, easy, light" into the terminal.
[0622] Step 4:
[0623] The terminal receives the input keyword and sends it to the server.
[0624] Step 5:
[0625] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[0626] Step 6:
[0627] The server searches the recipe database and extracts recipes that match the keywords.
[0628] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0629] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0630] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0631] Step 7:
[0632] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[0633] Step 8:
[0634] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0635] Step 9:
[0636] The user checks the provided recipe list and selects a recipe that interests them.
[0637] Step 10:
[0638] The user selects a particular recipe.
[0639] Step 11:
[0640] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[0641] Step 12:
[0642] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[0643] Step 13:
[0644] The terminal sends a follow-up question to the server.
[0645] Step 14:
[0646] The server analyzes the query and searches the recipe database again to obtain related information.
[0647] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0648] Step 15:
[0649] The server generates the answer to the question and sends it to the terminal.
[0650] Step 16:
[0651] The terminal displays the answer to the user.
[0652] Step 17:
[0653] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[0654] Step 18:
[0655] The server stores the registered ingredient information in a database.
[0656] Step 19:
[0657] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[0658] Step 20:
[0659] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[0660] Step 21:
[0661] The device will display the selected recipe in detail so that the user can refer to it at any time.
[0662] Step 22:
[0663] Your device will save this recipe to your "favorites list" or "history list."
[0664] Step 23:
[0665] The server updates the user's selection history to reflect future recipe suggestions.
[0666] Through these steps, users can easily find the best recipe and have their questions answered while they cook.
[0667] Example 1
[0668] 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."
[0669] Cooking meals at home is a significant challenge in today's busy lifestyles. While systems exist that efficiently search for recipes and suggest recipes tailored to individual user preferences, they lack the ability to tailor recipes to specific user questions or to suggest recipes that take into account home ingredients. Furthermore, systems lack the ability to improve future suggestions based on a user's selection history. Therefore, there is a need for a system that allows users to efficiently search for recipes, receive quick answers to their questions, and suggest recipes that take into account home ingredients and selection history.
[0670] 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.
[0671] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information storage device based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for re-searching the information storage device based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for pre-registering ingredients available at home and preferentially providing recipes based on the pre-registered ingredients, means for the user to select a specific recipe and check detailed information, and means for adjusting subsequent search results using the user's input history. This enables the user to efficiently search for optimal recipes, quickly obtain answers to their questions, and receive personalized suggestions based on the ingredients available at home and their selection history.
[0672] A "terminal" is an information processing device that allows a user to input information and displays search results and information.
[0673] A "server" is an information processing system that receives input information from a terminal, analyzes it, searches a database, and sends the results to the terminal.
[0674] A "keyword" is a word or phrase that a user enters to search for specific information.
[0675] An "information storage device" is a database or storage medium for storing recipes and other related information.
[0676] A "recipe" is information that describes a list of ingredients and steps for preparing a dish.
[0677] "Searching" is the process of extracting information that matches specific criteria from an information storage device.
[0678] A "response" is information or an answer that the server generates based on a follow-up question from the user.
[0679] "Ingredients" are the raw materials or ingredients used to make a dish.
[0680] "Input history" is information that records the history of searches and selections that the user has made in the past.
[0681] "Personalization" refers to providing information and services tailored to the preferences and conditions of individual users.
[0682] The present invention is a system that proposes recipes when a user inputs keywords and responds to additional questions. This system functions by combining a terminal, a server, and an information storage device.
[0683] First, the user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message urging them to "enter ingredients, dish name, taste preferences, etc." When the user enters keywords such as "chicken, easy, light," the device receives this input and sends it to the server in JSON format.
[0684] When the server receives the submitted keywords, it breaks them down into individual search criteria. For example, it might break them down into criteria like "chicken," "easy," and "light." The server then uses an SQL query to search the recipe database. Specifically, it executes a query like "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'" to extract matching recipes.
[0685] The extracted recipe information is sent from the server to the device, which then displays the received information to the user. This display method utilizes HTML and CSS to beautifully present the top five recipes in card format. The user can then select the recipes that interest them.
[0686] Next, when the user asks a question on the recipe details screen, such as "Can I use another ingredient instead of this one?", the device sends the question to the server again in JSON format. The server analyzes the question and retrieves relevant information from the database. It searches the list of ingredient substitutes, finds the relevant information, generates an answer, and sends it to the device. The device then displays the answer to the user.
[0687] In addition, if the user registers ingredients they have at home (e.g., chicken, onions, garlic, etc.) in advance on their device, the server will store them in a database and take them into consideration when searching for recipes in the future. This will result in the server preferentially suggesting the best recipes using the registered ingredients.
[0688] In addition, the device records the recipes the user selects and saves them in a favorites or history list. The server analyzes this selection history and reflects it in future recipe suggestions. For example, if a user tends to prefer "chicken" recipes, "chicken" recipes will be displayed preferentially in the next search results.
[0689] For example, if a user enters a prompt such as, "Please suggest a simple, light recipe using chicken. Also, can you tell me if garlic can be added?", the system will act on this and provide the best recipe and answers to any follow-up questions.
[0690] This system allows users to efficiently search for the best recipes, get quick answers to follow-up questions, and receive personalized suggestions based on ingredients available at home and their selection history, providing great help when planning daily meals.
[0691] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0692] Step 1:
[0693] The user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message instructing them to "enter ingredients, dish name, taste preferences, etc." The user enters the keywords "chicken, simple, light" and presses the "Search" button. This is the input. The device converts the entered keywords into JSON format and sends it to the server.
[0694] Step 2:
[0695] The server analyzes the received keywords. Specifically, it splits the keywords with spaces and separates them into search criteria such as "chicken," "easy," and "light." This becomes the input. The server generates an SQL query based on the split keywords. For example, it generates a query such as "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'." This allows it to search the information storage device for recipes that match the criteria and generate a list of relevant recipe information. This becomes the output.
[0696] Step 3:
[0697] The server sends the search results in JSON format to the terminal. Specifically, it stores the listed recipe information in a field called "recipes" and sends it. This is the input. The terminal parses the received JSON data and obtains the recipe list. This is the output.
[0698] Step 4:
[0699] The device displays the retrieved recipe information to the user. Specifically, it uses HTML and CSS to display the top five recipes in an easy-to-read card format. This is the input. The user selects the recipe of interest from the displayed recipe list. This is the output.
[0700] Step 5:
[0701] The user selects a specific recipe and checks its details. The device displays detailed information about the selected recipe (ingredients list, instructions, photos, etc.). The user types a question, such as "Can I use another ingredient instead of this one?" This is the input. The device converts the question to JSON format and sends it to the server.
[0702] Step 6:
[0703] The server analyzes the received question and retrieves relevant information from its information storage device. Specifically, it searches a list of substitute ingredients to find the appropriate substitute. For example, it executes an SQL query such as "SELECT FROM substitutes WHERE original="chicken". This is the input. It generates an answer based on the retrieved information and sends it to the terminal in JSON format. This is the output.
[0704] Step 7:
[0705] The device displays the answer received from the server to the user. Specifically, it displays an answer such as "You can use fish instead of chicken." This is the input. The user checks the answer and uses it to progress with the cooking. This is the output.
[0706] Step 8:
[0707] The user inputs ingredients they have at home (e.g., chicken, onion, garlic, etc.) into the device and presses the save button. The device sends the information in JSON format to the server, which becomes the input. The server stores the ingredient information in a database and considers it for future searches, which becomes the output.
[0708] Step 9:
[0709] The device records the recipes selected by the user and adds them to a favorites list. The server analyzes the user's behavioral history and reflects this in future recipe suggestions. Specifically, if a user prefers "chicken," the server will prioritize suggesting recipes that include "chicken" next time. This is the input and output.
[0710] In this way, this system efficiently searches for and suggests recipes based on the information entered by the user, and also responds to additional questions, supporting daily menu planning.
[0711] (Application example 1)
[0712] 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."
[0713] Conventional recipe suggestion systems make it difficult for users to quickly and efficiently find the best recipe when searching for information on desired ingredients and dishes. Furthermore, they lack the functionality to instantly order food and ingredient delivery based on recipe suggestions, which leaves users in a state of dissatisfaction. Furthermore, they lack the functionality to respond appropriately and promptly to additional questions entered by users, which leaves the user experience unsatisfied.
[0714] 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.
[0715] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information database based on the input keywords, means for sending the search results to the terminal and presenting them to the user, means for the user to input a follow-up question in response to the suggested information, means for searching the information database again based on the follow-up question and preparing a response, means for sending the response to the terminal and displaying it to the user, means for pre-registering items in the home and preferentially providing information based on the pre-registered items, means for ordering delivery of items based on the suggested information, means for sending prompts to a generative AI model to generate a response, and means for appropriately presenting the response to the user. This allows users to quickly and efficiently search for desired recipes and instantly order the necessary ingredients and foods, while also receiving appropriate responses to follow-up questions, significantly improving convenience and user experience.
[0716] A "terminal" is an electronic device that allows a user to input, confirm, and operate information.
[0717] "Keywords" are specific words or phrases that users enter when searching or making suggestions.
[0718] An "information database" is a digital storage device that stores recipes and other related information in a searchable format.
[0719] The "search results" are a list of information extracted from the information database based on the input keywords.
[0720] A "follow-up question" is an inquiry entered by a user to request further instructions or confirmation of the proposed information.
[0721] "Items in the home" refers to ingredients and products that the user has in the home and has registered in advance.
[0722] "Goods delivery" is a service that delivers ingredients and food ordered by users to a specified location.
[0723] A "generative AI model" is an algorithm and framework for using artificial intelligence to understand and generate natural language.
[0724] A "prompt sentence" is an instruction sentence that can be input into a generative AI model to obtain an appropriate response.
[0725] The system for implementing this invention searches for information based on keywords entered on a terminal, makes suggestions and answers questions, and even enables delivery orders for necessary items. The specific procedures and system configuration are described below.
[0726] System configuration
[0727] The system consists of the following main hardware and software components:
[0728] Device: A device operated by a user, such as a smartphone, tablet, or computer.
[0729] Server: A central computer that processes and manages recipes and other information.
[0730] Information database: Digital storage of information about recipes and ingredients.
[0731] Generative AI model: An artificial intelligence model that performs natural language processing and generates appropriate responses to the user's follow-up questions.
[0732] Data processing and calculation
[0733] How the system processes the data is described below.
[0734] Enter keywords and search
[0735] The server receives and analyzes keywords entered from the terminal (e.g., "chicken, easy, light"), and searches for matching recipes and ingredient information in the information database based on the analyzed keywords. The search results are sent to the terminal and presented to the user.
[0736] Recipe suggestions and additional questions
[0737] When the user selects a suggested recipe, the server displays the recipe details on the device. If the user enters an additional question (e.g., "Can I add garlic to this recipe?"), the question is sent as a prompt to the generative AI model. The generative AI model analyzes the question and generates an appropriate response. The generated response is sent to the device via the server and displayed to the user.
[0738] Home items and delivery orders
[0739] Users can register items they have at home in advance on the device. The server stores this information in a database and takes it into account when searching for keywords. The device also has a function to order delivery of the necessary ingredients and food based on the suggested recipes.
[0740] Specific examples
[0741] For example, if a user inputs "chicken, simple, light," the server will search the information database based on this and suggest "lightly grilled salted chicken." If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will send the following prompt to the generative AI model:
[0742] Example prompt:
[0743] text
[0744] Entered keywords: chicken, easy, light
[0745] Suggested recipe: Lightly grilled salted chicken
[0746] Question: I want to add garlic to lightly salted grilled chicken. Is this possible?
[0747] Generate a suitable answer to this question.
[0748] Based on this prompt, the generative AI model generates a response such as "You can add garlic to this dish," and the server displays this response to the user.
[0749] This system allows users to quickly and efficiently search for the recipes they want, easily order the ingredients and food they need, and get appropriate responses to any follow-up questions, greatly improving convenience and user experience.
[0750] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0751] Step 1:
[0752] The user logs in to the terminal and enters a keyword.
[0753] Input: User input of keywords (e.g., "chicken, easy, light")
[0754] Operation: The terminal receives the keyword entered by the user and sends it to the server.
[0755] Step 2:
[0756] The server analyzes the keywords and searches for matching recipes from an information database.
[0757] Input: Keywords sent from the device (e.g. "chicken, easy, light")
[0758] Data processing: The server separates keywords into individual conditions (e.g., "Ingredients = chicken," "Difficulty = easy," "Taste = light")
[0759] Data calculation: Search the information database and extract recipes that match the criteria
[0760] Output: List of matching recipes (e.g. "Lightly grilled chicken with salt")
[0761] Step 3:
[0762] The server sends the search results to the terminal and displays them to the user.
[0763] Input: Search results for recipes
[0764] Operation: The server formats the search results and sends them to the terminal, which displays them to the user.
[0765] Output: A list of recipes presented to the user
[0766] Step 4:
[0767] The user selects a suggested recipe and checks the details.
[0768] Input: User selection from recipe list
[0769] Behavior: The device displays the details of the selected recipe (e.g., ingredients list, instructions, etc.)
[0770] Output: Recipe details presented to the user
[0771] Step 5:
[0772] The user enters a follow-up question for the recipe.
[0773] Input: Additional questions entered by the user (e.g. "I'd like to add garlic to my grilled food, is that possible?")
[0774] Action: The device sends a follow-up question to the server.
[0775] Output: The question sent to the server
[0776] Step 6:
[0777] The server parses the follow-up questions and sends prompts to the generative AI model.
[0778] Input: User's additional question
[0779] Data processing: The server converts the question into a natural language processing prompt (e.g., "Entered keywords: chicken, easy, light. Suggested recipe: Lightly grilled salted chicken. Question: I would like to add garlic to my lightly grilled salted chicken. Is this possible?").
[0780] Data computation: Sending prompts to the generative AI model to generate appropriate responses
[0781] Output: The generated response
[0782] Step 7:
[0783] The generated response is received by the server and sent to the terminal.
[0784] Input: A response from a generative AI model (e.g., "You can add garlic to this dish.")
[0785] Operation: The server generates a response and sends it to the terminal, which displays it to the user.
[0786] Output: The response presented to the user
[0787] Step 8:
[0788] When a user orders ingredients or food, detailed order information is sent to the terminal.
[0789] Input: User request for delivery order (e.g., ingredients for a specified dish)
[0790] Operation: The terminal retrieves the order information and sends it to the server. The server registers the order with the delivery service.
[0791] Output: Delivery order confirmation and notification
[0792] 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.
[0793] This invention is a system that proposes recipes based on user input keywords and also combines an emotion engine that recognizes the user's emotions. This system includes a terminal, a server, a recipe database, and an emotion engine, and also proposes recipes based on the user's emotional state.
[0794] 1. Enter keywords from your device
[0795] The user logs in to the terminal and launches the menu suggestion service.
[0796] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0797] The user inputs keywords such as "chicken, easy, light" into the terminal.
[0798] The terminal receives the input keyword and sends it to the server.
[0799] 2. Server-based keyword interpretation and recipe search
[0800] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[0801] The server searches the recipe database and extracts recipes that match the keywords.
[0802] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0803] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0804] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0805] 3. Displaying recipe information on the device
[0806] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[0807] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0808] The user checks the provided recipe list and selects a recipe that interests them.
[0809] 4. Response to additional questions
[0810] The user selects a particular recipe and reviews its details.
[0811] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[0812] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[0813] The terminal sends a question to the server.
[0814] The server analyzes the query and searches the recipe database again to obtain related information.
[0815] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0816] The server generates the answer to the question and sends it to the terminal.
[0817] The terminal displays the answer to the user.
[0818] 5. Use ingredients you have at home
[0819] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[0820] The server stores the registered ingredient information in a database, and when searching by keyword, it takes the registered ingredient information into consideration and preferentially suggests the most suitable recipe.
[0821] 6. Saving and using selection history
[0822] The device records the recipes selected by the user and saves them in a favorites or history list.
[0823] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[0824] 7. Introducing the Emotion Engine
[0825] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[0826] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[0827] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[0828] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[0829] Specific examples
[0830] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to my grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This allows the user to receive detailed instructions and proceed with the cooking.
[0831] The system based on this invention allows users to easily find the best recipe and cook while having their questions answered. Furthermore, by incorporating an emotion engine, recipe suggestions can be made based on the user's emotional state, providing a more personalized experience. This significantly reduces the burden of daily menu planning and improves the user's dining experience.
[0832] The processing flow will be explained below.
[0833] Step 1:
[0834] The user logs in to the terminal and launches the menu suggestion service.
[0835] Step 2:
[0836] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[0837] Step 3:
[0838] A user types "chicken, easy, light" into a terminal.
[0839] Step 4:
[0840] The terminal receives the input keyword and sends it to the server.
[0841] Step 5:
[0842] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[0843] Step 6:
[0844] The server searches the recipe database and extracts recipes that match the keywords.
[0845] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0846] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[0847] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[0848] Step 7:
[0849] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[0850] Step 8:
[0851] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[0852] Step 9:
[0853] The user checks the provided recipe list and selects a recipe that interests them.
[0854] Step 10:
[0855] The user selects a particular recipe.
[0856] Step 11:
[0857] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[0858] Step 12:
[0859] The user types a follow-up question: "Can I use another ingredient instead of this one?"
[0860] Step 13:
[0861] The terminal sends a follow-up question to the server.
[0862] Step 14:
[0863] The server analyzes the query and searches the recipe database again to obtain related information.
[0864] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[0865] Step 15:
[0866] The server generates the answer to the question and sends it to the terminal.
[0867] Step 16:
[0868] The terminal displays the answer to the user.
[0869] Step 17:
[0870] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[0871] Step 18:
[0872] The server stores the registered ingredient information in a database.
[0873] Step 19:
[0874] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[0875] Step 20:
[0876] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[0877] Step 21:
[0878] The device will display the selected recipe in detail so that the user can refer to it at any time.
[0879] Step 22:
[0880] Your device will save this recipe to your "favorites list" or "history list."
[0881] Step 23:
[0882] The server updates the user's selection history to reflect future recipe suggestions.
[0883] Step 24:
[0884] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[0885] Step 25:
[0886] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[0887] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[0888] Step 26:
[0889] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[0890] Step 27:
[0891] The server integrates the emotion data from the emotion engine with the keyword search results, lists the optimal recipes, and sends them to the device.
[0892] Step 28:
[0893] The terminal displays a recipe list based on the emotion data to the user, highlighting recipes that match the user's emotional state.
[0894] Step 29:
[0895] The user checks the provided recipe list and selects a recipe that interests them.
[0896] Step 30:
[0897] The device will display the details of the selected recipe and provide step-by-step instructions.
[0898] Through these steps, users can easily find the best recipe and have their questions answered while cooking. Furthermore, by incorporating an emotion engine, the system can suggest recipes based on the user's emotional state, providing a more personalized experience.
[0899] Example 2
[0900] 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."
[0901] Conventional recipe suggestion systems have made it difficult for users to find recipes that match their specific needs or emotions. In addition, they lack suggestions that take into account the ingredients a user has or their past selection history, making everyday cooking decisions cumbersome.
[0902] 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.
[0903] In this invention, the server includes means for accepting keywords input from a terminal, means for searching a database based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for searching the database again based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for registering ingredients available at home in advance and preferentially providing recipes based on that, and means for analyzing the user's emotional state using an emotion recognition engine and providing recipes according to that state. This allows users to easily find recipes that suit their needs and emotions.
[0904] A "terminal" is a device that allows a user to input keywords and view recipes.
[0905] A "server" is a central processing unit that analyzes keywords and searches the database.
[0906] A "database" is a collection of data in which recipe information is stored.
[0907] A "keyword" is a word or phrase that indicates a search condition that a user enters into a terminal.
[0908] "Searching" is the process of locating relevant information in a database based on entered keywords.
[0909] "Sending results" refers to the act of the server sending the data obtained by the search to the terminal.
[0910] "Presenting" refers to the act of the terminal displaying search results to the user.
[0911] "Follow-up questions" are questions that the user can ask to request more information or modifications to the suggested recipe.
[0912] "Ingredients" refers to the ingredients and seasonings used to make a dish.
[0913] "Registering" is the process of entering and saving ingredients and food items in your home into the system.
[0914] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[0915] "Analysis" is the process of analyzing data or input information to derive meaning and relationships.
[0916] "Experts" are people with advanced knowledge and experience in a particular field, such as nutritionists or professional chefs.
[0917] "Nutritional balance" refers to the proper distribution of all nutrients necessary to achieve a healthy diet.
[0918] "Expertise" refers to having deep understanding and skills in a particular field.
[0919] The present invention is a system that proposes recipes based on keywords entered by a user and combines them with an emotion engine that recognizes the user's emotional state. This system includes a terminal, a server, a database, and an emotion engine. The following describes a detailed embodiment of this system and its operation.
[0920] Terminal
[0921] The terminal is a device that provides an interface with the user and allows them to input keywords and view recipes. Specifically, this can be a PC, tablet, or smartphone. The terminal begins when the user logs in and launches the menu suggestion service. The user enters keywords such as ingredients, dish name, and taste preferences into the search bar displayed on the screen. For example, the user might enter "chicken, easy, light." The terminal then sends the entered keywords to the server.
[0922] Servers and Databases
[0923] The server is a central processing unit that searches a database based on search criteria and keywords. The server analyzes the keywords entered and breaks them down into individual criteria. For example, it categorizes them into criteria such as "chicken," "easy," and "light." Based on these criteria, the server searches the database to extract relevant recipes. This database contains recipes based on a variety of ingredients, cooking methods, flavors, and nutritional balance.
[0924] Recipe information presentation
[0925] The search results are sent to the device and suggested to the user. This is usually done as an HTTP response with JSON formatted data. The device receives this and displays the recipe in a format that is easy for the user to view. The user can select from the list of suggested recipes and have detailed information about them displayed on the device. The detailed information can include a photo of the recipe, a list of ingredients, instructions, etc.
[0926] Responding to additional questions
[0927] Users can ask follow-up questions about a particular recipe, such as "Can I use another ingredient instead of this one?" The device sends this question to the server, which again searches the database to extract relevant information. An answer is generated and sent back to the device. The device displays this answer to the user, allowing them to continue cooking with detailed instructions.
[0928] Use of materials available at home
[0929] Users can register ingredients they have at home in advance on their device. For example, they can enter ingredient information such as "chicken, onion, garlic" into the system. This data is stored in a database by the server and is taken into consideration when searching by keyword. This allows the system to prioritize and suggest optimal recipes that utilize ingredients available at home.
[0930] Introducing the Emotion Engine
[0931] The emotion engine recognizes the user's emotional state from their input and suggests recipes based on that. When the emotion engine analyzes the user's input, if it recognizes, for example, "tired," the server searches for recipes suitable for the user based on this. For example, if the user is recognized as "tired," the server searches for and suggests recipes that will brighten the mood. This emotional state is saved as emotion data so that it can be reflected in future recipe suggestions.
[0932] Examples and prompts
[0933] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the database based on this. The recipe extracted by the server is, for example, "lightly grilled salted chicken," which is sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will similarly search the database to generate an answer to the question and send it to the terminal.
[0934] Example prompt sentence:
[0935] Suggest recipes based on the keywords "chicken, easy, light" and also provide recommended recipes if the user is tired.
[0936] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0937] Step 1:
[0938] The user logs in to the terminal and launches the menu suggestion service.
[0939] Input: User ID and password
[0940] Operation: The terminal sends user information to the server for authentication.
[0941] Output: The authentication result is returned to the terminal and login is completed.
[0942] Step 2:
[0943] The device will display a search bar and say, "Enter ingredients, dish name, taste preferences, etc."
[0944] Input: None
[0945] Operation: A GUI (Graphical User Interface) is generated on the terminal screen.
[0946] Output: The user will see the search bar.
[0947] Step 3:
[0948] The user enters keywords such as "chicken, easy, light."
[0949] Input: Keywords "chicken, easy, light"
[0950] How it works: The device receives a keyword via keyboard input or touchscreen.
[0951] Output: The keyword is entered.
[0952] Step 4:
[0953] The terminal receives the input keyword and sends it to the server.
[0954] Input: Keywords "chicken, easy, light"
[0955] How it works: The device generates an HTTP request and sends the keyword data in the payload to the server.
[0956] Output: The keyword arrives at the server.
[0957] Step 5:
[0958] The server analyzes the received keywords and breaks them down into "chicken," "easy," and "light."
[0959] Input: Keywords "chicken, easy, light"
[0960] How it works: The server uses a text parsing library to split the keywords into tokens.
[0961] Output: You get the individual tokens "chicken", "easy", and "light".
[0962] Step 6:
[0963] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[0964] Input: Token "chicken"
[0965] What happens: The server runs an SQL query to retrieve recipes that contain "chicken" in the "ingredients" field.
[0966] Output: A list of recipes that contain chicken
[0967] Step 7:
[0968] The server extracts "easy" recipes from the "difficulty" field.
[0969] Input: Token "easy"
[0970] What it does: The server runs another SQL query to get recipes that match "easy" in the "difficulty" field.
[0971] Output: A simple recipe list
[0972] Step 8:
[0973] The server extracts a recipe for "light" flavor from the "flavor" field.
[0974] Input: Token "Easy"
[0975] What happens: The server runs another SQL query to get recipes that match "light" in the "flavor" field.
[0976] Output: Light recipe list
[0977] Step 9:
[0978] The server lists multiple recipes that match the conditions and sends them to the terminal.
[0979] Input: filtered recipe list
[0980] How it works: The server serializes the search results in JSON format and sends them to the device as an HTTP response.
[0981] Output: A list of recipes arrives on the terminal.
[0982] Step 10:
[0983] The terminal displays the recipe list to the user.
[0984] Input: Recipe list
[0985] What it does: The device GUI is updated and the top 5 or so recipes are displayed in a list view.
[0986] Output: The user can now view the recipe list.
[0987] Step 11:
[0988] The user checks the provided recipe list and selects a recipe that interests them.
[0989] Input: User's choice
[0990] Behavior: The user clicks on a list item and is taken to the recipe details screen.
[0991] Output: The details screen of the selected recipe will be displayed.
[0992] Step 12:
[0993] The user enters a follow-up question about a particular recipe.
[0994] Input: User question: "Can I use another material instead of this one?"
[0995] Action: A question is entered into the text input field on the device and the submit button is pressed.
[0996] Output: The query is sent to the server.
[0997] Step 13:
[0998] The server analyzes the query and searches the database again.
[0999] Input: Question
[1000] How it works: The server uses natural language processing (NLP) to understand the question and retrieve the corresponding data.
[1001] Output: The appropriate response data for the question
[1002] Step 14:
[1003] The server generates the answer to the question and sends it to the terminal.
[1004] Input: Response data to questions
[1005] What it does: The server constructs a response and sends it to the device in JSON format.
[1006] Output: The response arrives at the terminal.
[1007] Step 15:
[1008] The terminal displays the answer to the user.
[1009] Input: Response to question
[1010] Behavior: The terminal GUI is updated and the response is displayed in a pop-up message or in the details display area.
[1011] Output: The user can now check the answer to the question.
[1012] Step 16:
[1013] The user registers the materials they have at home in advance on the terminal.
[1014] Input: Ingredients available at home: "chicken, onion, garlic"
[1015] Operation: Material information is entered into the specified input form and the save button is pressed.
[1016] Output: Material information is sent to the server.
[1017] Step 17:
[1018] The server stores the registered material information in a database.
[1019] Input: Material information in your home
[1020] Operation: The server executes an SQL query that inserts the material information into the database, linking it to the user ID.
[1021] Output: Material information is saved in the database.
[1022] Step 18:
[1023] The server provides the optimal recipe by taking into consideration the ingredient information registered during keyword search.
[1024] Input: Keyword search criteria and registered material information
[1025] How it works: Saved ingredient information is used as a priority in the search criteria to extract the optimal recipe.
[1026] Output: Recipe list taking into account ingredient information
[1027] Step 19:
[1028] The emotion engine recognizes emotions as users type.
[1029] Input: What the user types
[1030] How it works: The sentiment engine applies NLP models to perform sentiment analysis on input text.
[1031] Output: Perceived emotional state
[1032] Step 20:
[1033] Based on the emotions recognized by the emotion engine, the server provides recipes according to the user's emotional state.
[1034] Input: Perceived emotional state
[1035] How it works: Sentiment data is used as input to filter a recipe database and extract highly relevant recipes.
[1036] Output: A list of recipes based on emotional state
[1037] Step 21:
[1038] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[1039] Input: Recognized emotion data
[1040] How it works: Emotional data is stored in a database and used for future recommendations.
[1041] Output: Emotion data is saved.
[1042] (Application example 2)
[1043] 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."
[1044] Modern consumers are faced with numerous options and information overload when it comes to meal preparation, and time constraints make it difficult to efficiently select the optimal menu and ingredients. Furthermore, if the ordered meal does not match the user's mood or health status at the time, satisfaction may decrease. Food delivery services, in particular, are required to reduce the ordering process while selecting food that is appropriate for the user's emotional state.
[1045] 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.
[1046] In this invention, the server includes means for searching an information database based on input keywords, means for analyzing the user's emotions using an emotion recognition engine and providing information corresponding to the emotions, and means for the user to input follow-up questions regarding the suggested information. This allows the user to receive meal suggestions that suit their emotional state, making it possible to provide a high level of satisfaction in food delivery services.
[1047] A "terminal" is an electronic device that allows a user to enter keywords, ask additional questions, view search results, and so on.
[1048] A "keyword" is a word or phrase that a user inputs into a terminal to search for specific information.
[1049] An "information database" is a collection of data that stores recipes and data that can be searched based on input keywords.
[1050] A "search means" is a method or device for analyzing input keywords and extracting relevant information from a database.
[1051] "Search results" are a list or details of information extracted by the search means.
[1052] A "follow-up question" is a phrase or question that a user enters to seek more detailed information or alternatives to the suggested information.
[1053] "Items in the home" refers to ingredients and related items already in the home that the user has registered in advance.
[1054] An "emotion recognition engine" is a system for determining and analyzing emotions from user input and behavior.
[1055] A "response" is an answer to a follow-up question or related information.
[1056] A "display means" is a method or device for visually presenting search results or responses to a user.
[1057] "Selection history" is a record of information and actions selected by the user in the past.
[1058] An "expert" refers to someone with knowledge and experience in a particular field, such as a nutritionist or chef.
[1059] The present invention is a system in which a user inputs ingredients, dish names, and taste preferences using a terminal, and a server then suggests optimal food delivery items based on the information analyzed by an emotion recognition engine.The system is configured as follows.
[1060] Hardware and software used
[1061] server
[1062] The server is responsible for core functions such as search processing, sentiment analysis, database access, etc. It uses the following software:
[1063] Python: A programming language used to implement search algorithms, data processing, and API calls.
[1064] Database management software: Used to store recipe and registered ingredient information and respond to queries.
[1065] Terminal
[1066] Devices that are directly operated by users, including smartphones and tablets, provide the following interfaces:
[1067] Search bar: A text input field where users can enter keywords.
[1068] Emotion recognition software: Used to analyze emotions from user-entered text.
[1069] Display interface: UI components that display search results, recipe information, responses to additional questions, etc.
[1070] System Operation
[1071] 1. Enter keywords and submit
[1072] The user logs in to the device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." These keywords are sent to the server.
[1073] 2. Keyword analysis and recipe search
[1074] The server receives and analyzes the keywords. It breaks down the keywords individually and searches the recipe database. For example, it extracts recipes that match "chicken," "easy," and "light" from the database.
[1075] 3. Sentiment Analysis and Recommendations
[1076] At the same time, the device uses an emotion recognition engine to analyze the user's emotions from the keywords entered. For example, if the device analyzes the user's emotions as "tired," that information is also sent to the server.
[1077] 4. Recipe suggestions
[1078] The server selects the most suitable recipe from a recipe database based on keywords and emotion information, and sends the search results to the terminal, which then displays the recipe to the user.
[1079] 5. Response to additional questions
[1080] If the user wants to enter a follow-up question about the displayed recipe, such as "Can I use another ingredient instead of this one?", the server re-parses the question, searches the database again, and generates a response, which the device then displays to the user.
[1081] 6. Use items you already have at home
[1082] By registering information about items in your home on the device in advance, recipes can be prioritized when searching, taking into account the registered items.
[1083] 7. Emotion-based recommendations
[1084] Based on the user's emotional information analyzed by the emotion recognition engine, the server will provide recipes that match the emotion. For example, if the server recognizes that the user is "tired," it will suggest recipes with a soothing effect.
[1085] Specific examples
[1086] For example, if a user inputs "chicken, simple, light," and the emotion recognition engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the device and presented to the user. If the user selects this recipe and inputs an additional question, such as "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will search the database again to confirm whether garlic is available and send the response to the device.
[1087] Prompt Sentence Examples
[1088] A user types "chicken, healthy, easy" and the sentiment engine recognizes "tired." Suggest the best recipe based on this input.
[1089] This allows users to easily select food delivery items that suit their emotional state and taste preferences, and receive highly satisfying meal suggestions.
[1090] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1091] Step 1:
[1092] A user logs in to a device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." In this case, the user enters the keywords into the device in text format, and the input data is sent to the server.
[1093] Step 2:
[1094] The server analyzes the received keywords. The server breaks down the keywords individually and searches the information database based on each keyword. Specifically, it extracts recipes that match, for example, "chicken," "easy," and "light." At this time, the input data is analyzed, a query is generated for the information database, and search results are obtained.
[1095] Step 3:
[1096] The server simultaneously analyzes the user's input using an emotion recognition engine. The device sends the input keywords to the emotion recognition software, which generates the analysis results as emotion data. For example, it may recognize "tired."
[1097] Step 4:
[1098] The server then searches the recipe database again based on the keywords and emotion data to select the most suitable recipe. For example, a recipe such as "lightly grilled salted chicken" is extracted. At this time, the server again queries the information database and extracts the data that best matches the criteria.
[1099] Step 5:
[1100] The server sends the optimal recipe information obtained as a search result to the terminal, which then displays the received search results to the user. At this time, a list of recipes and detailed information are provided visually, allowing the user to confirm the contents.
[1101] Step 6:
[1102] The user inputs a follow-up question about the proposed recipe. For example, "Can I use another ingredient instead of this one?" into the terminal. The terminal sends the follow-up question in text format to the server.
[1103] Step 7:
[1104] The server receives the additional query and again searches the information database. For example, when searching for a substitute for garlic, the server queries the database and generates a valid response. At this point, the server performs additional data processing and prepares an appropriate information response.
[1105] Step 8:
[1106] The server then sends the generated response to the device, which displays it to the user, providing a specific answer such as "You can use onion instead of garlic." The user can then adjust the selected recipe based on the displayed information.
[1107] Step 9:
[1108] If the user has previously registered information about items in their home on their device, the server will prioritize search results by taking this into account. For example, if a list of ingredients in the home has been registered in advance, recipe suggestions will be based on this. In this case, the device sends the item information, and the server uses it to obtain the optimal output.
[1109] 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.
[1110] 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.
[1111] 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.
[1112] [Third embodiment]
[1113] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1114] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[1115] 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).
[1116] 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.
[1117] 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.
[1118] 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).
[1119] 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.
[1120] 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.
[1121] 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.
[1122] 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.
[1123] 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.
[1124] 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."
[1125] The present invention is a system that proposes recipes when a user inputs keywords and also responds to follow-up questions. This system functions by combining a terminal, a server, and a recipe database.
[1126] 1. Enter keywords from your device
[1127] The user logs in to the terminal and launches the menu suggestion service.
[1128] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1129] The user inputs keywords such as "chicken, easy, light" into the terminal.
[1130] The terminal receives the input keyword and sends it to the server.
[1131] 2. Server-based keyword interpretation and recipe search
[1132] The server analyzes the received keywords and divides them into individual search criteria (such as "chicken," "easy," and "light").
[1133] The server queries the recipe database to find recipes that match the criteria.
[1134] As an example, the server searches the "ingredients" field of a recipe database to retrieve recipes that contain "chicken."
[1135] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1136] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1137] 3. Displaying recipe information on the device
[1138] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[1139] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1140] The user checks the provided recipe list and selects a recipe that interests them.
[1141] 4. Response to additional questions
[1142] The user selects a particular recipe and reviews its details.
[1143] Your device will display details about the selected recipe (photos, ingredient list, instructions, etc.).
[1144] The user enters a follow-up question, such as "Can I use another ingredient instead of this one?"
[1145] The terminal sends a question to the server.
[1146] The server analyzes the question and retrieves relevant information from a database.
[1147] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1148] The server generates answers to the questions and sends them to the terminal.
[1149] The terminal displays the answer to the user.
[1150] 5. Use ingredients you have at home
[1151] The user registers ingredients they have at home in advance on the device (e.g., chicken, onions, garlic, etc.).
[1152] The server stores this information in a database and prioritizes optimal recipe suggestions, taking into account the registered ingredient information during keyword searches.
[1153] 6. Saving and using selection history
[1154] The device records the recipes selected by the user and saves them in a favorites or history list.
[1155] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[1156] Specific examples
[1157] For example, if a user inputs "chicken, simple, light," the server will search the recipe database based on this. The server will find a recipe called "lightly grilled salted chicken" which will be sent to the terminal and presented to the user. If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This will allow the user to receive detailed instructions and proceed with the cooking.
[1158] The system based on the present invention allows users to easily find the best recipes and quickly respond to questions, significantly reducing the burden of creating daily menus.
[1159] The processing flow will be explained below.
[1160] Step 1:
[1161] The user logs in to the terminal and launches the menu suggestion service.
[1162] Step 2:
[1163] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1164] Step 3:
[1165] The user inputs keywords such as "chicken, easy, light" into the terminal.
[1166] Step 4:
[1167] The terminal receives the input keyword and sends it to the server.
[1168] Step 5:
[1169] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[1170] Step 6:
[1171] The server searches the recipe database and extracts recipes that match the keywords.
[1172] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[1173] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1174] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1175] Step 7:
[1176] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[1177] Step 8:
[1178] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1179] Step 9:
[1180] The user checks the provided recipe list and selects a recipe that interests them.
[1181] Step 10:
[1182] The user selects a particular recipe.
[1183] Step 11:
[1184] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[1185] Step 12:
[1186] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[1187] Step 13:
[1188] The terminal sends a follow-up question to the server.
[1189] Step 14:
[1190] The server analyzes the query and searches the recipe database again to obtain related information.
[1191] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1192] Step 15:
[1193] The server generates the answer to the question and sends it to the terminal.
[1194] Step 16:
[1195] The terminal displays the answer to the user.
[1196] Step 17:
[1197] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[1198] Step 18:
[1199] The server stores the registered ingredient information in a database.
[1200] Step 19:
[1201] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[1202] Step 20:
[1203] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[1204] Step 21:
[1205] The device will display the selected recipe in detail so that the user can refer to it at any time.
[1206] Step 22:
[1207] Your device will save this recipe to your "favorites list" or "history list."
[1208] Step 23:
[1209] The server updates the user's selection history to reflect future recipe suggestions.
[1210] Through these steps, users can easily find the best recipe and have their questions answered while they cook.
[1211] Example 1
[1212] 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."
[1213] Cooking meals at home is a significant challenge in today's busy lifestyles. While systems exist that efficiently search for recipes and suggest recipes tailored to individual user preferences, they lack the ability to tailor recipes to specific user questions or to suggest recipes that take into account home ingredients. Furthermore, systems lack the ability to improve future suggestions based on a user's selection history. Therefore, there is a need for a system that allows users to efficiently search for recipes, receive quick answers to their questions, and suggest recipes that take into account home ingredients and selection history.
[1214] 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.
[1215] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information storage device based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for re-searching the information storage device based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for pre-registering ingredients available at home and preferentially providing recipes based on the pre-registered ingredients, means for the user to select a specific recipe and check detailed information, and means for adjusting subsequent search results using the user's input history. This enables the user to efficiently search for optimal recipes, quickly obtain answers to their questions, and receive personalized suggestions based on the ingredients available at home and their selection history.
[1216] A "terminal" is an information processing device that allows a user to input information and displays search results and information.
[1217] A "server" is an information processing system that receives input information from a terminal, analyzes it, searches a database, and sends the results to the terminal.
[1218] A "keyword" is a word or phrase that a user enters to search for specific information.
[1219] An "information storage device" is a database or storage medium for storing recipes and other related information.
[1220] A "recipe" is information that describes a list of ingredients and steps for preparing a dish.
[1221] "Searching" is the process of extracting information that matches specific criteria from an information storage device.
[1222] A "response" is information or an answer that the server generates based on a follow-up question from the user.
[1223] "Ingredients" are the raw materials or ingredients used to make a dish.
[1224] "Input history" is information that records the history of searches and selections that the user has made in the past.
[1225] "Personalization" refers to providing information and services tailored to the preferences and conditions of individual users.
[1226] The present invention is a system that proposes recipes when a user inputs keywords and responds to additional questions. This system functions by combining a terminal, a server, and an information storage device.
[1227] First, the user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message urging them to "enter ingredients, dish name, taste preferences, etc." When the user enters keywords such as "chicken, easy, light," the device receives this input and sends it to the server in JSON format.
[1228] When the server receives the submitted keywords, it breaks them down into individual search criteria. For example, it might break them down into criteria like "chicken," "easy," and "light." The server then uses an SQL query to search the recipe database. Specifically, it executes a query like "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'" to extract matching recipes.
[1229] The extracted recipe information is sent from the server to the device, which then displays the received information to the user. This display method utilizes HTML and CSS to beautifully present the top five recipes in card format. The user can then select the recipes that interest them.
[1230] Next, when the user asks a question on the recipe details screen, such as "Can I use another ingredient instead of this one?", the device sends the question to the server again in JSON format. The server analyzes the question and retrieves relevant information from the database. It searches the list of ingredient substitutes, finds the relevant information, generates an answer, and sends it to the device. The device then displays the answer to the user.
[1231] In addition, if the user registers ingredients they have at home (e.g., chicken, onions, garlic, etc.) in advance on their device, the server will store them in a database and take them into consideration when searching for recipes in the future. This will result in the server preferentially suggesting the best recipes using the registered ingredients.
[1232] In addition, the device records the recipes the user selects and saves them in a favorites or history list. The server analyzes this selection history and reflects it in future recipe suggestions. For example, if a user tends to prefer "chicken" recipes, "chicken" recipes will be displayed preferentially in the next search results.
[1233] For example, if a user enters a prompt such as, "Please suggest a simple, light recipe using chicken. Also, can you tell me if garlic can be added?", the system will act on this and provide the best recipe and answers to any follow-up questions.
[1234] This system allows users to efficiently search for the best recipes, get quick answers to follow-up questions, and receive personalized suggestions based on ingredients available at home and their selection history, providing great help when planning daily meals.
[1235] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1236] Step 1:
[1237] The user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message instructing them to "enter ingredients, dish name, taste preferences, etc." The user enters the keywords "chicken, simple, light" and presses the "Search" button. This is the input. The device converts the entered keywords into JSON format and sends it to the server.
[1238] Step 2:
[1239] The server analyzes the received keywords. Specifically, it splits the keywords with spaces and separates them into search criteria such as "chicken," "easy," and "light." This becomes the input. The server generates an SQL query based on the split keywords. For example, it generates a query such as "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'." This allows it to search the information storage device for recipes that match the criteria and generate a list of relevant recipe information. This becomes the output.
[1240] Step 3:
[1241] The server sends the search results in JSON format to the terminal. Specifically, it stores the listed recipe information in a field called "recipes" and sends it. This is the input. The terminal parses the received JSON data and obtains the recipe list. This is the output.
[1242] Step 4:
[1243] The device displays the retrieved recipe information to the user. Specifically, it uses HTML and CSS to display the top five recipes in an easy-to-read card format. This is the input. The user selects the recipe of interest from the displayed recipe list. This is the output.
[1244] Step 5:
[1245] The user selects a specific recipe and checks its details. The device displays detailed information about the selected recipe (ingredients list, instructions, photos, etc.). The user types a question, such as "Can I use another ingredient instead of this one?" This is the input. The device converts the question to JSON format and sends it to the server.
[1246] Step 6:
[1247] The server analyzes the received question and retrieves relevant information from its information storage device. Specifically, it searches a list of substitute ingredients to find the appropriate substitute. For example, it executes an SQL query such as "SELECT FROM substitutes WHERE original="chicken". This is the input. It generates an answer based on the retrieved information and sends it to the terminal in JSON format. This is the output.
[1248] Step 7:
[1249] The device displays the answer received from the server to the user. Specifically, it displays an answer such as "You can use fish instead of chicken." This is the input. The user checks the answer and uses it to progress with the cooking. This is the output.
[1250] Step 8:
[1251] The user inputs ingredients they have at home (e.g., chicken, onion, garlic, etc.) into the device and presses the save button. The device sends the information in JSON format to the server, which becomes the input. The server stores the ingredient information in a database and considers it for future searches, which becomes the output.
[1252] Step 9:
[1253] The device records the recipes selected by the user and adds them to a favorites list. The server analyzes the user's behavioral history and reflects this in future recipe suggestions. Specifically, if a user prefers "chicken," the server will prioritize suggesting recipes that include "chicken" next time. This is the input and output.
[1254] In this way, this system efficiently searches for and suggests recipes based on the information entered by the user, and also responds to additional questions, supporting daily menu planning.
[1255] (Application example 1)
[1256] 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."
[1257] Conventional recipe suggestion systems make it difficult for users to quickly and efficiently find the best recipe when searching for information on desired ingredients and dishes. Furthermore, they lack the functionality to instantly order food and ingredient delivery based on recipe suggestions, which leaves users in a state of dissatisfaction. Furthermore, they lack the functionality to respond appropriately and promptly to additional questions entered by users, which leaves the user experience unsatisfied.
[1258] 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.
[1259] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information database based on the input keywords, means for sending the search results to the terminal and presenting them to the user, means for the user to input a follow-up question in response to the suggested information, means for searching the information database again based on the follow-up question and preparing a response, means for sending the response to the terminal and displaying it to the user, means for pre-registering items in the home and preferentially providing information based on the pre-registered items, means for ordering delivery of items based on the suggested information, means for sending prompts to a generative AI model to generate a response, and means for appropriately presenting the response to the user. This allows users to quickly and efficiently search for desired recipes and instantly order the necessary ingredients and foods, while also receiving appropriate responses to follow-up questions, significantly improving convenience and user experience.
[1260] A "terminal" is an electronic device that allows a user to input, confirm, and operate information.
[1261] "Keywords" are specific words or phrases that users enter when searching or making suggestions.
[1262] An "information database" is a digital storage device that stores recipes and other related information in a searchable format.
[1263] The "search results" are a list of information extracted from the information database based on the input keywords.
[1264] A "follow-up question" is an inquiry entered by a user to request further instructions or confirmation of the proposed information.
[1265] "Items in the home" refers to ingredients and products that the user has in the home and has registered in advance.
[1266] "Goods delivery" is a service that delivers ingredients and food ordered by users to a specified location.
[1267] A "generative AI model" is an algorithm and framework for using artificial intelligence to understand and generate natural language.
[1268] A "prompt sentence" is an instruction sentence that can be input into a generative AI model to obtain an appropriate response.
[1269] The system for implementing this invention searches for information based on keywords entered on a terminal, makes suggestions and answers questions, and even enables delivery orders for necessary items. The specific procedures and system configuration are described below.
[1270] System configuration
[1271] The system consists of the following main hardware and software components:
[1272] Device: A device operated by a user, such as a smartphone, tablet, or computer.
[1273] Server: A central computer that processes and manages recipes and other information.
[1274] Information database: Digital storage of information about recipes and ingredients.
[1275] Generative AI model: An artificial intelligence model that performs natural language processing and generates appropriate responses to the user's follow-up questions.
[1276] Data processing and calculation
[1277] How the system processes the data is described below.
[1278] Enter keywords and search
[1279] The server receives and analyzes keywords entered from the terminal (e.g., "chicken, easy, light"), and searches for matching recipes and ingredient information in the information database based on the analyzed keywords. The search results are sent to the terminal and presented to the user.
[1280] Recipe suggestions and additional questions
[1281] When the user selects a suggested recipe, the server displays the recipe details on the device. If the user enters an additional question (e.g., "Can I add garlic to this recipe?"), the question is sent as a prompt to the generative AI model. The generative AI model analyzes the question and generates an appropriate response. The generated response is sent to the device via the server and displayed to the user.
[1282] Home items and delivery orders
[1283] Users can register items they have at home in advance on the device. The server stores this information in a database and takes it into account when searching for keywords. The device also has a function to order delivery of the necessary ingredients and food based on the suggested recipes.
[1284] Specific examples
[1285] For example, if a user inputs "chicken, simple, light," the server will search the information database based on this and suggest "lightly grilled salted chicken." If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will send the following prompt to the generative AI model:
[1286] Example prompt:
[1287] text
[1288] Entered keywords: chicken, easy, light
[1289] Suggested recipe: Lightly grilled salted chicken
[1290] Question: I want to add garlic to lightly salted grilled chicken. Is this possible?
[1291] Generate a suitable answer to this question.
[1292] Based on this prompt, the generative AI model generates a response such as "You can add garlic to this dish," and the server displays this response to the user.
[1293] This system allows users to quickly and efficiently search for the recipes they want, easily order the ingredients and food they need, and get appropriate responses to any follow-up questions, greatly improving convenience and user experience.
[1294] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1295] Step 1:
[1296] The user logs in to the terminal and enters a keyword.
[1297] Input: User input of keywords (e.g., "chicken, easy, light")
[1298] Operation: The terminal receives the keyword entered by the user and sends it to the server.
[1299] Step 2:
[1300] The server analyzes the keywords and searches for matching recipes from an information database.
[1301] Input: Keywords sent from the device (e.g. "chicken, easy, light")
[1302] Data processing: The server separates keywords into individual conditions (e.g., "Ingredients = chicken," "Difficulty = easy," "Taste = light")
[1303] Data calculation: Search the information database and extract recipes that match the criteria
[1304] Output: List of matching recipes (e.g. "Lightly grilled chicken with salt")
[1305] Step 3:
[1306] The server sends the search results to the terminal and displays them to the user.
[1307] Input: Search results for recipes
[1308] Operation: The server formats the search results and sends them to the terminal, which displays them to the user.
[1309] Output: A list of recipes presented to the user
[1310] Step 4:
[1311] The user selects a suggested recipe and checks the details.
[1312] Input: User selection from recipe list
[1313] Behavior: The device displays the details of the selected recipe (e.g., ingredients list, instructions, etc.)
[1314] Output: Recipe details presented to the user
[1315] Step 5:
[1316] The user enters a follow-up question for the recipe.
[1317] Input: Additional questions entered by the user (e.g. "I'd like to add garlic to my grilled food, is that possible?")
[1318] Action: The device sends a follow-up question to the server.
[1319] Output: The question sent to the server
[1320] Step 6:
[1321] The server parses the follow-up questions and sends prompts to the generative AI model.
[1322] Input: User's additional question
[1323] Data processing: The server converts the question into a natural language processing prompt (e.g., "Entered keywords: chicken, easy, light. Suggested recipe: Lightly grilled salted chicken. Question: I would like to add garlic to my lightly grilled salted chicken. Is this possible?").
[1324] Data computation: Sending prompts to the generative AI model to generate appropriate responses
[1325] Output: The generated response
[1326] Step 7:
[1327] The generated response is received by the server and sent to the terminal.
[1328] Input: A response from a generative AI model (e.g., "You can add garlic to this dish.")
[1329] Operation: The server generates a response and sends it to the terminal, which displays it to the user.
[1330] Output: The response presented to the user
[1331] Step 8:
[1332] When a user orders ingredients or food, detailed order information is sent to the terminal.
[1333] Input: User request for delivery order (e.g., ingredients for a specified dish)
[1334] Operation: The terminal retrieves the order information and sends it to the server. The server registers the order with the delivery service.
[1335] Output: Delivery order confirmation and notification
[1336] 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.
[1337] This invention is a system that proposes recipes based on user input keywords and also combines an emotion engine that recognizes the user's emotions. This system includes a terminal, a server, a recipe database, and an emotion engine, and also proposes recipes based on the user's emotional state.
[1338] 1. Enter keywords from your device
[1339] The user logs in to the terminal and launches the menu suggestion service.
[1340] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1341] The user inputs keywords such as "chicken, easy, light" into the terminal.
[1342] The terminal receives the input keyword and sends it to the server.
[1343] 2. Server-based keyword interpretation and recipe search
[1344] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[1345] The server searches the recipe database and extracts recipes that match the keywords.
[1346] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[1347] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1348] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1349] 3. Displaying recipe information on the device
[1350] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[1351] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1352] The user checks the provided recipe list and selects a recipe that interests them.
[1353] 4. Response to additional questions
[1354] The user selects a particular recipe and reviews its details.
[1355] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[1356] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[1357] The terminal sends a question to the server.
[1358] The server analyzes the query and searches the recipe database again to obtain related information.
[1359] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1360] The server generates the answer to the question and sends it to the terminal.
[1361] The terminal displays the answer to the user.
[1362] 5. Use ingredients you have at home
[1363] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[1364] The server stores the registered ingredient information in a database, and when searching by keyword, it takes the registered ingredient information into consideration and preferentially suggests the most suitable recipe.
[1365] 6. Saving and using selection history
[1366] The device records the recipes selected by the user and saves them in a favorites or history list.
[1367] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[1368] 7. Introducing the Emotion Engine
[1369] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[1370] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[1371] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[1372] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[1373] Specific examples
[1374] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to my grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This allows the user to receive detailed instructions and proceed with the cooking.
[1375] The system based on this invention allows users to easily find the best recipe and cook while having their questions answered. Furthermore, by incorporating an emotion engine, recipe suggestions can be made based on the user's emotional state, providing a more personalized experience. This significantly reduces the burden of daily menu planning and improves the user's dining experience.
[1376] The processing flow will be explained below.
[1377] Step 1:
[1378] The user logs in to the terminal and launches the menu suggestion service.
[1379] Step 2:
[1380] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1381] Step 3:
[1382] A user types "chicken, easy, light" into a terminal.
[1383] Step 4:
[1384] The terminal receives the input keyword and sends it to the server.
[1385] Step 5:
[1386] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[1387] Step 6:
[1388] The server searches the recipe database and extracts recipes that match the keywords.
[1389] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[1390] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1391] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1392] Step 7:
[1393] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[1394] Step 8:
[1395] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1396] Step 9:
[1397] The user checks the provided recipe list and selects a recipe that interests them.
[1398] Step 10:
[1399] The user selects a particular recipe.
[1400] Step 11:
[1401] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[1402] Step 12:
[1403] The user types a follow-up question: "Can I use another ingredient instead of this one?"
[1404] Step 13:
[1405] The terminal sends a follow-up question to the server.
[1406] Step 14:
[1407] The server analyzes the query and searches the recipe database again to obtain related information.
[1408] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1409] Step 15:
[1410] The server generates the answer to the question and sends it to the terminal.
[1411] Step 16:
[1412] The terminal displays the answer to the user.
[1413] Step 17:
[1414] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[1415] Step 18:
[1416] The server stores the registered ingredient information in a database.
[1417] Step 19:
[1418] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[1419] Step 20:
[1420] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[1421] Step 21:
[1422] The device will display the selected recipe in detail so that the user can refer to it at any time.
[1423] Step 22:
[1424] Your device will save this recipe to your "favorites list" or "history list."
[1425] Step 23:
[1426] The server updates the user's selection history to reflect future recipe suggestions.
[1427] Step 24:
[1428] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[1429] Step 25:
[1430] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[1431] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[1432] Step 26:
[1433] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[1434] Step 27:
[1435] The server integrates the emotion data from the emotion engine with the keyword search results, lists the optimal recipes, and sends them to the device.
[1436] Step 28:
[1437] The terminal displays a recipe list based on the emotion data to the user, highlighting recipes that match the user's emotional state.
[1438] Step 29:
[1439] The user checks the provided recipe list and selects a recipe that interests them.
[1440] Step 30:
[1441] The device will display the details of the selected recipe and provide step-by-step instructions.
[1442] Through these steps, users can easily find the best recipe and have their questions answered while cooking. Furthermore, by incorporating an emotion engine, the system can suggest recipes based on the user's emotional state, providing a more personalized experience.
[1443] Example 2
[1444] 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."
[1445] Conventional recipe suggestion systems have made it difficult for users to find recipes that match their specific needs or emotions. In addition, they lack suggestions that take into account the ingredients a user has or their past selection history, making everyday cooking decisions cumbersome.
[1446] 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.
[1447] In this invention, the server includes means for accepting keywords input from a terminal, means for searching a database based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for searching the database again based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for registering ingredients available at home in advance and preferentially providing recipes based on that, and means for analyzing the user's emotional state using an emotion recognition engine and providing recipes according to that state. This allows users to easily find recipes that suit their needs and emotions.
[1448] A "terminal" is a device that allows a user to input keywords and view recipes.
[1449] A "server" is a central processing unit that analyzes keywords and searches the database.
[1450] A "database" is a collection of data in which recipe information is stored.
[1451] A "keyword" is a word or phrase that indicates a search condition that a user enters into a terminal.
[1452] "Searching" is the process of locating relevant information in a database based on entered keywords.
[1453] "Sending results" refers to the act of the server sending the data obtained by the search to the terminal.
[1454] "Presenting" refers to the act of the terminal displaying search results to the user.
[1455] "Follow-up questions" are questions that the user can ask to request more information or modifications to the suggested recipe.
[1456] "Ingredients" refers to the ingredients and seasonings used to make a dish.
[1457] "Registering" is the process of entering and saving ingredients and food items in your home into the system.
[1458] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[1459] "Analysis" is the process of analyzing data or input information to derive meaning and relationships.
[1460] "Experts" are people with advanced knowledge and experience in a particular field, such as nutritionists or professional chefs.
[1461] "Nutritional balance" refers to the proper distribution of all nutrients necessary to achieve a healthy diet.
[1462] "Expertise" refers to having deep understanding and skills in a particular field.
[1463] The present invention is a system that proposes recipes based on keywords entered by a user and combines them with an emotion engine that recognizes the user's emotional state. This system includes a terminal, a server, a database, and an emotion engine. The following describes a detailed embodiment of this system and its operation.
[1464] Terminal
[1465] The terminal is a device that provides an interface with the user and allows them to input keywords and view recipes. Specifically, this can be a PC, tablet, or smartphone. The terminal begins when the user logs in and launches the menu suggestion service. The user enters keywords such as ingredients, dish name, and taste preferences into the search bar displayed on the screen. For example, the user might enter "chicken, easy, light." The terminal then sends the entered keywords to the server.
[1466] Servers and Databases
[1467] The server is a central processing unit that searches a database based on search criteria and keywords. The server analyzes the keywords entered and breaks them down into individual criteria. For example, it categorizes them into criteria such as "chicken," "easy," and "light." Based on these criteria, the server searches the database to extract relevant recipes. This database contains recipes based on a variety of ingredients, cooking methods, flavors, and nutritional balance.
[1468] Recipe information presentation
[1469] The search results are sent to the device and suggested to the user. This is usually done as an HTTP response with JSON formatted data. The device receives this and displays the recipe in a format that is easy for the user to view. The user can select from the list of suggested recipes and have detailed information about them displayed on the device. The detailed information can include a photo of the recipe, a list of ingredients, instructions, etc.
[1470] Responding to additional questions
[1471] Users can ask follow-up questions about a particular recipe, such as "Can I use another ingredient instead of this one?" The device sends this question to the server, which again searches the database to extract relevant information. An answer is generated and sent back to the device. The device displays this answer to the user, allowing them to continue cooking with detailed instructions.
[1472] Use of materials available at home
[1473] Users can register ingredients they have at home in advance on their device. For example, they can enter ingredient information such as "chicken, onion, garlic" into the system. This data is stored in a database by the server and is taken into consideration when searching by keyword. This allows the system to prioritize and suggest optimal recipes that utilize ingredients available at home.
[1474] Introducing the Emotion Engine
[1475] The emotion engine recognizes the user's emotional state from their input and suggests recipes based on that. When the emotion engine analyzes the user's input, if it recognizes, for example, "tired," the server searches for recipes suitable for the user based on this. For example, if the user is recognized as "tired," the server searches for and suggests recipes that will brighten the mood. This emotional state is saved as emotion data so that it can be reflected in future recipe suggestions.
[1476] Examples and prompts
[1477] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the database based on this. The recipe extracted by the server is, for example, "lightly grilled salted chicken," which is sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will similarly search the database to generate an answer to the question and send it to the terminal.
[1478] Example prompt sentence:
[1479] Suggest recipes based on the keywords "chicken, easy, light" and also provide recommended recipes if the user is tired.
[1480] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1481] Step 1:
[1482] The user logs in to the terminal and launches the menu suggestion service.
[1483] Input: User ID and password
[1484] Operation: The terminal sends user information to the server for authentication.
[1485] Output: The authentication result is returned to the terminal and login is completed.
[1486] Step 2:
[1487] The device will display a search bar and say, "Enter ingredients, dish name, taste preferences, etc."
[1488] Input: None
[1489] Operation: A GUI (Graphical User Interface) is generated on the terminal screen.
[1490] Output: The user will see the search bar.
[1491] Step 3:
[1492] The user enters keywords such as "chicken, easy, light."
[1493] Input: Keywords "chicken, easy, light"
[1494] How it works: The device receives a keyword via keyboard input or touchscreen.
[1495] Output: The keyword is entered.
[1496] Step 4:
[1497] The terminal receives the input keyword and sends it to the server.
[1498] Input: Keywords "chicken, easy, light"
[1499] How it works: The device generates an HTTP request and sends the keyword data in the payload to the server.
[1500] Output: The keyword arrives at the server.
[1501] Step 5:
[1502] The server analyzes the received keywords and breaks them down into "chicken," "easy," and "light."
[1503] Input: Keywords "chicken, easy, light"
[1504] How it works: The server uses a text parsing library to split the keywords into tokens.
[1505] Output: You get the individual tokens "chicken", "easy", and "light".
[1506] Step 6:
[1507] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[1508] Input: Token "chicken"
[1509] What happens: The server runs an SQL query to retrieve recipes that contain "chicken" in the "ingredients" field.
[1510] Output: A list of recipes that contain chicken
[1511] Step 7:
[1512] The server extracts "easy" recipes from the "difficulty" field.
[1513] Input: Token "easy"
[1514] What it does: The server runs another SQL query to get recipes that match "easy" in the "difficulty" field.
[1515] Output: A simple recipe list
[1516] Step 8:
[1517] The server extracts a recipe for "light" flavor from the "flavor" field.
[1518] Input: Token "Easy"
[1519] What happens: The server runs another SQL query to get recipes that match "light" in the "flavor" field.
[1520] Output: Light recipe list
[1521] Step 9:
[1522] The server lists multiple recipes that match the conditions and sends them to the terminal.
[1523] Input: filtered recipe list
[1524] How it works: The server serializes the search results in JSON format and sends them to the device as an HTTP response.
[1525] Output: A list of recipes arrives on the terminal.
[1526] Step 10:
[1527] The terminal displays the recipe list to the user.
[1528] Input: Recipe list
[1529] What it does: The device GUI is updated and the top 5 or so recipes are displayed in a list view.
[1530] Output: The user can now view the recipe list.
[1531] Step 11:
[1532] The user checks the provided recipe list and selects a recipe that interests them.
[1533] Input: User's choice
[1534] Behavior: The user clicks on a list item and is taken to the recipe details screen.
[1535] Output: The details screen of the selected recipe will be displayed.
[1536] Step 12:
[1537] The user enters a follow-up question about a particular recipe.
[1538] Input: User question: "Can I use another material instead of this one?"
[1539] Action: A question is entered into the text input field on the device and the submit button is pressed.
[1540] Output: The query is sent to the server.
[1541] Step 13:
[1542] The server analyzes the query and searches the database again.
[1543] Input: Question
[1544] How it works: The server uses natural language processing (NLP) to understand the question and retrieve the corresponding data.
[1545] Output: The appropriate response data for the question
[1546] Step 14:
[1547] The server generates the answer to the question and sends it to the terminal.
[1548] Input: Response data to questions
[1549] What it does: The server constructs a response and sends it to the device in JSON format.
[1550] Output: The response arrives at the terminal.
[1551] Step 15:
[1552] The terminal displays the answer to the user.
[1553] Input: Response to question
[1554] Behavior: The terminal GUI is updated and the response is displayed in a pop-up message or in the details display area.
[1555] Output: The user can now check the answer to the question.
[1556] Step 16:
[1557] The user registers the materials they have at home in advance on the terminal.
[1558] Input: Ingredients available at home: "chicken, onion, garlic"
[1559] Operation: Material information is entered into the specified input form and the save button is pressed.
[1560] Output: Material information is sent to the server.
[1561] Step 17:
[1562] The server stores the registered material information in a database.
[1563] Input: Material information in your home
[1564] Operation: The server executes an SQL query that inserts the material information into the database, linking it to the user ID.
[1565] Output: Material information is saved in the database.
[1566] Step 18:
[1567] The server provides the optimal recipe by taking into consideration the ingredient information registered during keyword search.
[1568] Input: Keyword search criteria and registered material information
[1569] How it works: Saved ingredient information is used as a priority in the search criteria to extract the optimal recipe.
[1570] Output: Recipe list taking into account ingredient information
[1571] Step 19:
[1572] The emotion engine recognizes emotions as users type.
[1573] Input: What the user types
[1574] How it works: The sentiment engine applies NLP models to perform sentiment analysis on input text.
[1575] Output: Perceived emotional state
[1576] Step 20:
[1577] Based on the emotions recognized by the emotion engine, the server provides recipes according to the user's emotional state.
[1578] Input: Perceived emotional state
[1579] How it works: Sentiment data is used as input to filter a recipe database and extract highly relevant recipes.
[1580] Output: A list of recipes based on emotional state
[1581] Step 21:
[1582] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[1583] Input: Recognized emotion data
[1584] How it works: Emotional data is stored in a database and used for future recommendations.
[1585] Output: Emotion data is saved.
[1586] (Application example 2)
[1587] 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."
[1588] Modern consumers are faced with numerous options and information overload when it comes to meal preparation, and time constraints make it difficult to efficiently select the optimal menu and ingredients. Furthermore, if the ordered meal does not match the user's mood or health status at the time, satisfaction may decrease. Food delivery services, in particular, are required to reduce the ordering process while selecting food that is appropriate for the user's emotional state.
[1589] 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.
[1590] In this invention, the server includes means for searching an information database based on input keywords, means for analyzing the user's emotions using an emotion recognition engine and providing information corresponding to the emotions, and means for the user to input follow-up questions regarding the suggested information. This allows the user to receive meal suggestions that suit their emotional state, making it possible to provide a high level of satisfaction in food delivery services.
[1591] A "terminal" is an electronic device that allows a user to enter keywords, ask additional questions, view search results, and so on.
[1592] A "keyword" is a word or phrase that a user inputs into a terminal to search for specific information.
[1593] An "information database" is a collection of data that stores recipes and data that can be searched based on input keywords.
[1594] A "search means" is a method or device for analyzing input keywords and extracting relevant information from a database.
[1595] "Search results" are a list or details of information extracted by the search means.
[1596] A "follow-up question" is a phrase or question that a user enters to seek more detailed information or alternatives to the suggested information.
[1597] "Items in the home" refers to ingredients and related items already in the home that the user has registered in advance.
[1598] An "emotion recognition engine" is a system for determining and analyzing emotions from user input and behavior.
[1599] A "response" is an answer to a follow-up question or related information.
[1600] A "display means" is a method or device for visually presenting search results or responses to a user.
[1601] "Selection history" is a record of information and actions selected by the user in the past.
[1602] An "expert" refers to someone with knowledge and experience in a particular field, such as a nutritionist or chef.
[1603] The present invention is a system in which a user inputs ingredients, dish names, and taste preferences using a terminal, and a server then suggests optimal food delivery items based on the information analyzed by an emotion recognition engine.The system is configured as follows.
[1604] Hardware and software used
[1605] server
[1606] The server is responsible for core functions such as search processing, sentiment analysis, database access, etc. It uses the following software:
[1607] Python: A programming language used to implement search algorithms, data processing, and API calls.
[1608] Database management software: Used to store recipe and registered ingredient information and respond to queries.
[1609] Terminal
[1610] Devices that are directly operated by users, including smartphones and tablets, provide the following interfaces:
[1611] Search bar: A text input field where users can enter keywords.
[1612] Emotion recognition software: Used to analyze emotions from user-entered text.
[1613] Display interface: UI components that display search results, recipe information, responses to additional questions, etc.
[1614] System Operation
[1615] 1. Enter keywords and submit
[1616] The user logs in to the device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." These keywords are sent to the server.
[1617] 2. Keyword analysis and recipe search
[1618] The server receives and analyzes the keywords. It breaks down the keywords individually and searches the recipe database. For example, it extracts recipes that match "chicken," "easy," and "light" from the database.
[1619] 3. Sentiment Analysis and Recommendations
[1620] At the same time, the device uses an emotion recognition engine to analyze the user's emotions from the keywords entered. For example, if the device analyzes the user's emotions as "tired," that information is also sent to the server.
[1621] 4. Recipe suggestions
[1622] The server selects the most suitable recipe from a recipe database based on keywords and emotion information, and sends the search results to the terminal, which then displays the recipe to the user.
[1623] 5. Response to additional questions
[1624] If the user wants to enter a follow-up question about the displayed recipe, such as "Can I use another ingredient instead of this one?", the server re-parses the question, searches the database again, and generates a response, which the device then displays to the user.
[1625] 6. Use items you already have at home
[1626] By registering information about items in your home on the device in advance, recipes can be prioritized when searching, taking into account the registered items.
[1627] 7. Emotion-based recommendations
[1628] Based on the user's emotional information analyzed by the emotion recognition engine, the server will provide recipes that match the emotion. For example, if the server recognizes that the user is "tired," it will suggest recipes with a soothing effect.
[1629] Specific examples
[1630] For example, if a user inputs "chicken, simple, light," and the emotion recognition engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the device and presented to the user. If the user selects this recipe and inputs an additional question, such as "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will search the database again to confirm whether garlic is available and send the response to the device.
[1631] Prompt Sentence Examples
[1632] A user types "chicken, healthy, easy" and the sentiment engine recognizes "tired." Suggest the best recipe based on this input.
[1633] This allows users to easily select food delivery items that suit their emotional state and taste preferences, and receive highly satisfying meal suggestions.
[1634] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1635] Step 1:
[1636] A user logs in to a device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." In this case, the user enters the keywords into the device in text format, and the input data is sent to the server.
[1637] Step 2:
[1638] The server analyzes the received keywords. The server breaks down the keywords individually and searches the information database based on each keyword. Specifically, it extracts recipes that match, for example, "chicken," "easy," and "light." At this time, the input data is analyzed, a query is generated for the information database, and search results are obtained.
[1639] Step 3:
[1640] The server simultaneously analyzes the user's input using an emotion recognition engine. The device sends the input keywords to the emotion recognition software, which generates the analysis results as emotion data. For example, it may recognize "tired."
[1641] Step 4:
[1642] The server then searches the recipe database again based on the keywords and emotion data to select the most suitable recipe. For example, a recipe such as "lightly grilled salted chicken" is extracted. At this time, the server again queries the information database and extracts the data that best matches the criteria.
[1643] Step 5:
[1644] The server sends the optimal recipe information obtained as a search result to the terminal, which then displays the received search results to the user. At this time, a list of recipes and detailed information are provided visually, allowing the user to confirm the contents.
[1645] Step 6:
[1646] The user inputs a follow-up question about the proposed recipe. For example, "Can I use another ingredient instead of this one?" into the terminal. The terminal sends the follow-up question in text format to the server.
[1647] Step 7:
[1648] The server receives the additional query and again searches the information database. For example, when searching for a substitute for garlic, the server queries the database and generates a valid response. At this point, the server performs additional data processing and prepares an appropriate information response.
[1649] Step 8:
[1650] The server then sends the generated response to the device, which displays it to the user, providing a specific answer such as "You can use onion instead of garlic." The user can then adjust the selected recipe based on the displayed information.
[1651] Step 9:
[1652] If the user has previously registered information about items in their home on their device, the server will prioritize search results by taking this into account. For example, if a list of ingredients in the home has been registered in advance, recipe suggestions will be based on this. In this case, the device sends the item information, and the server uses it to obtain the optimal output.
[1653] 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.
[1654] 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.
[1655] 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.
[1656] [Fourth embodiment]
[1657] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1658] 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.
[1659] 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).
[1660] 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.
[1661] 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.
[1662] 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).
[1663] 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.
[1664] 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.
[1665] 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.
[1666] 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.
[1667] 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.
[1668] 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.
[1669] 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."
[1670] The present invention is a system that proposes recipes when a user inputs keywords and also responds to follow-up questions. This system functions by combining a terminal, a server, and a recipe database.
[1671] 1. Enter keywords from your device
[1672] The user logs in to the terminal and launches the menu suggestion service.
[1673] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1674] The user inputs keywords such as "chicken, easy, light" into the terminal.
[1675] The terminal receives the input keyword and sends it to the server.
[1676] 2. Server-based keyword interpretation and recipe search
[1677] The server analyzes the received keywords and divides them into individual search criteria (such as "chicken," "easy," and "light").
[1678] The server queries the recipe database to find recipes that match the criteria.
[1679] As an example, the server searches the "ingredients" field of a recipe database to retrieve recipes that contain "chicken."
[1680] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1681] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1682] 3. Displaying recipe information on the device
[1683] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[1684] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1685] The user checks the provided recipe list and selects a recipe that interests them.
[1686] 4. Response to additional questions
[1687] The user selects a particular recipe and reviews its details.
[1688] Your device will display details about the selected recipe (photos, ingredient list, instructions, etc.).
[1689] The user enters a follow-up question, such as "Can I use another ingredient instead of this one?"
[1690] The terminal sends a question to the server.
[1691] The server analyzes the question and retrieves relevant information from a database.
[1692] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1693] The server generates answers to the questions and sends them to the terminal.
[1694] The terminal displays the answer to the user.
[1695] 5. Use ingredients you have at home
[1696] The user registers ingredients they have at home in advance on the device (e.g., chicken, onions, garlic, etc.).
[1697] The server stores this information in a database and prioritizes optimal recipe suggestions, taking into account the registered ingredient information during keyword searches.
[1698] 6. Saving and using selection history
[1699] The device records the recipes selected by the user and saves them in a favorites or history list.
[1700] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[1701] Specific examples
[1702] For example, if a user inputs "chicken, simple, light," the server will search the recipe database based on this. The server will find a recipe called "lightly grilled salted chicken" which will be sent to the terminal and presented to the user. If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This will allow the user to receive detailed instructions and proceed with the cooking.
[1703] The system based on the present invention allows users to easily find the best recipes and quickly respond to questions, significantly reducing the burden of creating daily menus.
[1704] The processing flow will be explained below.
[1705] Step 1:
[1706] The user logs in to the terminal and launches the menu suggestion service.
[1707] Step 2:
[1708] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1709] Step 3:
[1710] The user inputs keywords such as "chicken, easy, light" into the terminal.
[1711] Step 4:
[1712] The terminal receives the input keyword and sends it to the server.
[1713] Step 5:
[1714] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[1715] Step 6:
[1716] The server searches the recipe database and extracts recipes that match the keywords.
[1717] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[1718] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1719] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1720] Step 7:
[1721] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[1722] Step 8:
[1723] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1724] Step 9:
[1725] The user checks the provided recipe list and selects a recipe that interests them.
[1726] Step 10:
[1727] The user selects a particular recipe.
[1728] Step 11:
[1729] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[1730] Step 12:
[1731] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[1732] Step 13:
[1733] The terminal sends a follow-up question to the server.
[1734] Step 14:
[1735] The server analyzes the query and searches the recipe database again to obtain related information.
[1736] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1737] Step 15:
[1738] The server generates the answer to the question and sends it to the terminal.
[1739] Step 16:
[1740] The terminal displays the answer to the user.
[1741] Step 17:
[1742] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[1743] Step 18:
[1744] The server stores the registered ingredient information in a database.
[1745] Step 19:
[1746] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[1747] Step 20:
[1748] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[1749] Step 21:
[1750] The device will display the selected recipe in detail so that the user can refer to it at any time.
[1751] Step 22:
[1752] Your device will save this recipe to your "favorites list" or "history list."
[1753] Step 23:
[1754] The server updates the user's selection history to reflect future recipe suggestions.
[1755] Through these steps, users can easily find the best recipe and have their questions answered while they cook.
[1756] Example 1
[1757] 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."
[1758] Cooking meals at home is a significant challenge in today's busy lifestyles. While systems exist that efficiently search for recipes and suggest recipes tailored to individual user preferences, they lack the ability to tailor recipes to specific user questions or to suggest recipes that take into account home ingredients. Furthermore, systems lack the ability to improve future suggestions based on a user's selection history. Therefore, there is a need for a system that allows users to efficiently search for recipes, receive quick answers to their questions, and suggest recipes that take into account home ingredients and selection history.
[1759] 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.
[1760] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information storage device based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for re-searching the information storage device based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for pre-registering ingredients available at home and preferentially providing recipes based on the pre-registered ingredients, means for the user to select a specific recipe and check detailed information, and means for adjusting subsequent search results using the user's input history. This enables the user to efficiently search for optimal recipes, quickly obtain answers to their questions, and receive personalized suggestions based on the ingredients available at home and their selection history.
[1761] A "terminal" is an information processing device that allows a user to input information and displays search results and information.
[1762] A "server" is an information processing system that receives input information from a terminal, analyzes it, searches a database, and sends the results to the terminal.
[1763] A "keyword" is a word or phrase that a user enters to search for specific information.
[1764] An "information storage device" is a database or storage medium for storing recipes and other related information.
[1765] A "recipe" is information that describes a list of ingredients and steps for preparing a dish.
[1766] "Searching" is the process of extracting information that matches specific criteria from an information storage device.
[1767] A "response" is information or an answer that the server generates based on a follow-up question from the user.
[1768] "Ingredients" are the raw materials or ingredients used to make a dish.
[1769] "Input history" is information that records the history of searches and selections that the user has made in the past.
[1770] "Personalization" refers to providing information and services tailored to the preferences and conditions of individual users.
[1771] The present invention is a system that proposes recipes when a user inputs keywords and responds to additional questions. This system functions by combining a terminal, a server, and an information storage device.
[1772] First, the user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message urging them to "enter ingredients, dish name, taste preferences, etc." When the user enters keywords such as "chicken, easy, light," the device receives this input and sends it to the server in JSON format.
[1773] When the server receives the submitted keywords, it breaks them down into individual search criteria. For example, it might break them down into criteria like "chicken," "easy," and "light." The server then uses an SQL query to search the recipe database. Specifically, it executes a query like "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'" to extract matching recipes.
[1774] The extracted recipe information is sent from the server to the device, which then displays the received information to the user. This display method utilizes HTML and CSS to beautifully present the top five recipes in card format. The user can then select the recipes that interest them.
[1775] Next, when the user asks a question on the recipe details screen, such as "Can I use another ingredient instead of this one?", the device sends the question to the server again in JSON format. The server analyzes the question and retrieves relevant information from the database. It searches the list of ingredient substitutes, finds the relevant information, generates an answer, and sends it to the device. The device then displays the answer to the user.
[1776] In addition, if the user registers ingredients they have at home (e.g., chicken, onions, garlic, etc.) in advance on their device, the server will store them in a database and take them into consideration when searching for recipes in the future. This will result in the server preferentially suggesting the best recipes using the registered ingredients.
[1777] In addition, the device records the recipes the user selects and saves them in a favorites or history list. The server analyzes this selection history and reflects it in future recipe suggestions. For example, if a user tends to prefer "chicken" recipes, "chicken" recipes will be displayed preferentially in the next search results.
[1778] For example, if a user enters a prompt such as, "Please suggest a simple, light recipe using chicken. Also, can you tell me if garlic can be added?", the system will act on this and provide the best recipe and answers to any follow-up questions.
[1779] This system allows users to efficiently search for the best recipes, get quick answers to follow-up questions, and receive personalized suggestions based on ingredients available at home and their selection history, providing great help when planning daily meals.
[1780] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1781] Step 1:
[1782] The user logs in to the device and launches the menu suggestion service. The device displays a search bar and a message instructing them to "enter ingredients, dish name, taste preferences, etc." The user enters the keywords "chicken, simple, light" and presses the "Search" button. This is the input. The device converts the entered keywords into JSON format and sends it to the server.
[1783] Step 2:
[1784] The server analyzes the received keywords. Specifically, it splits the keywords with spaces and separates them into search criteria such as "chicken," "easy," and "light." This becomes the input. The server generates an SQL query based on the split keywords. For example, it generates a query such as "SELECT FROM recipes WHERE ingredients LIKE '%chicken%' AND difficulty='easy' AND taste='light'." This allows it to search the information storage device for recipes that match the criteria and generate a list of relevant recipe information. This becomes the output.
[1785] Step 3:
[1786] The server sends the search results in JSON format to the terminal. Specifically, it stores the listed recipe information in a field called "recipes" and sends it. This is the input. The terminal parses the received JSON data and obtains the recipe list. This is the output.
[1787] Step 4:
[1788] The device displays the retrieved recipe information to the user. Specifically, it uses HTML and CSS to display the top five recipes in an easy-to-read card format. This is the input. The user selects the recipe of interest from the displayed recipe list. This is the output.
[1789] Step 5:
[1790] The user selects a specific recipe and checks its details. The device displays detailed information about the selected recipe (ingredients list, instructions, photos, etc.). The user types a question, such as "Can I use another ingredient instead of this one?" This is the input. The device converts the question to JSON format and sends it to the server.
[1791] Step 6:
[1792] The server analyzes the received question and retrieves relevant information from its information storage device. Specifically, it searches a list of substitute ingredients to find the appropriate substitute. For example, it executes an SQL query such as "SELECT FROM substitutes WHERE original="chicken". This is the input. It generates an answer based on the retrieved information and sends it to the terminal in JSON format. This is the output.
[1793] Step 7:
[1794] The device displays the answer received from the server to the user. Specifically, it displays an answer such as "You can use fish instead of chicken." This is the input. The user checks the answer and uses it to progress with the cooking. This is the output.
[1795] Step 8:
[1796] The user inputs ingredients they have at home (e.g., chicken, onion, garlic, etc.) into the device and presses the save button. The device sends the information in JSON format to the server, which becomes the input. The server stores the ingredient information in a database and considers it for future searches, which becomes the output.
[1797] Step 9:
[1798] The device records the recipes selected by the user and adds them to a favorites list. The server analyzes the user's behavioral history and reflects this in future recipe suggestions. Specifically, if a user prefers "chicken," the server will prioritize suggesting recipes that include "chicken" next time. This is the input and output.
[1799] In this way, this system efficiently searches for and suggests recipes based on the information entered by the user, and also responds to additional questions, supporting daily menu planning.
[1800] (Application example 1)
[1801] 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."
[1802] Conventional recipe suggestion systems make it difficult for users to quickly and efficiently find the best recipe when searching for information on desired ingredients and dishes. Furthermore, they lack the functionality to instantly order food and ingredient delivery based on recipe suggestions, which leaves users in a state of dissatisfaction. Furthermore, they lack the functionality to respond appropriately and promptly to additional questions entered by users, which leaves the user experience unsatisfied.
[1803] 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.
[1804] In this invention, the server includes means for accepting keywords input from a terminal, means for searching an information database based on the input keywords, means for sending the search results to the terminal and presenting them to the user, means for the user to input a follow-up question in response to the suggested information, means for searching the information database again based on the follow-up question and preparing a response, means for sending the response to the terminal and displaying it to the user, means for pre-registering items in the home and preferentially providing information based on the pre-registered items, means for ordering delivery of items based on the suggested information, means for sending prompts to a generative AI model to generate a response, and means for appropriately presenting the response to the user. This allows users to quickly and efficiently search for desired recipes and instantly order the necessary ingredients and foods, while also receiving appropriate responses to follow-up questions, significantly improving convenience and user experience.
[1805] A "terminal" is an electronic device that allows a user to input, confirm, and operate information.
[1806] "Keywords" are specific words or phrases that users enter when searching or making suggestions.
[1807] An "information database" is a digital storage device that stores recipes and other related information in a searchable format.
[1808] The "search results" are a list of information extracted from the information database based on the input keywords.
[1809] A "follow-up question" is an inquiry entered by a user to request further instructions or confirmation of the proposed information.
[1810] "Items in the home" refers to ingredients and products that the user has in the home and has registered in advance.
[1811] "Goods delivery" is a service that delivers ingredients and food ordered by users to a specified location.
[1812] A "generative AI model" is an algorithm and framework for using artificial intelligence to understand and generate natural language.
[1813] A "prompt sentence" is an instruction sentence that can be input into a generative AI model to obtain an appropriate response.
[1814] The system for implementing this invention searches for information based on keywords entered on a terminal, makes suggestions and answers questions, and even enables delivery orders for necessary items. The specific procedures and system configuration are described below.
[1815] System configuration
[1816] The system consists of the following main hardware and software components:
[1817] Device: A device operated by a user, such as a smartphone, tablet, or computer.
[1818] Server: A central computer that processes and manages recipes and other information.
[1819] Information database: Digital storage of information about recipes and ingredients.
[1820] Generative AI model: An artificial intelligence model that performs natural language processing and generates appropriate responses to the user's follow-up questions.
[1821] Data processing and calculation
[1822] How the system processes the data is described below.
[1823] Enter keywords and search
[1824] The server receives and analyzes keywords entered from the terminal (e.g., "chicken, easy, light"), and searches for matching recipes and ingredient information in the information database based on the analyzed keywords. The search results are sent to the terminal and presented to the user.
[1825] Recipe suggestions and additional questions
[1826] When the user selects a suggested recipe, the server displays the recipe details on the device. If the user enters an additional question (e.g., "Can I add garlic to this recipe?"), the question is sent as a prompt to the generative AI model. The generative AI model analyzes the question and generates an appropriate response. The generated response is sent to the device via the server and displayed to the user.
[1827] Home items and delivery orders
[1828] Users can register items they have at home in advance on the device. The server stores this information in a database and takes it into account when searching for keywords. The device also has a function to order delivery of the necessary ingredients and food based on the suggested recipes.
[1829] Specific examples
[1830] For example, if a user inputs "chicken, simple, light," the server will search the information database based on this and suggest "lightly grilled salted chicken." If the user selects this recipe and then asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will send the following prompt to the generative AI model:
[1831] Example prompt:
[1832] text
[1833] Entered keywords: chicken, easy, light
[1834] Suggested recipe: Lightly grilled salted chicken
[1835] Question: I want to add garlic to lightly salted grilled chicken. Is this possible?
[1836] Generate a suitable answer to this question.
[1837] Based on this prompt, the generative AI model generates a response such as "You can add garlic to this dish," and the server displays this response to the user.
[1838] This system allows users to quickly and efficiently search for the recipes they want, easily order the ingredients and food they need, and get appropriate responses to any follow-up questions, greatly improving convenience and user experience.
[1839] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1840] Step 1:
[1841] The user logs in to the terminal and enters a keyword.
[1842] Input: User input of keywords (e.g., "chicken, easy, light")
[1843] Operation: The terminal receives the keyword entered by the user and sends it to the server.
[1844] Step 2:
[1845] The server analyzes the keywords and searches for matching recipes from an information database.
[1846] Input: Keywords sent from the device (e.g. "chicken, easy, light")
[1847] Data processing: The server separates keywords into individual conditions (e.g., "Ingredients = chicken," "Difficulty = easy," "Taste = light")
[1848] Data calculation: Search the information database and extract recipes that match the criteria
[1849] Output: List of matching recipes (e.g. "Lightly grilled chicken with salt")
[1850] Step 3:
[1851] The server sends the search results to the terminal and displays them to the user.
[1852] Input: Search results for recipes
[1853] Operation: The server formats the search results and sends them to the terminal, which displays them to the user.
[1854] Output: A list of recipes presented to the user
[1855] Step 4:
[1856] The user selects a suggested recipe and checks the details.
[1857] Input: User selection from recipe list
[1858] Behavior: The device displays the details of the selected recipe (e.g., ingredients list, instructions, etc.)
[1859] Output: Recipe details presented to the user
[1860] Step 5:
[1861] The user enters a follow-up question for the recipe.
[1862] Input: Additional questions entered by the user (e.g. "I'd like to add garlic to my grilled food, is that possible?")
[1863] Action: The device sends a follow-up question to the server.
[1864] Output: The question sent to the server
[1865] Step 6:
[1866] The server parses the follow-up questions and sends prompts to the generative AI model.
[1867] Input: User's additional question
[1868] Data processing: The server converts the question into a natural language processing prompt (e.g., "Entered keywords: chicken, easy, light. Suggested recipe: Lightly grilled salted chicken. Question: I would like to add garlic to my lightly grilled salted chicken. Is this possible?").
[1869] Data computation: Sending prompts to the generative AI model to generate appropriate responses
[1870] Output: The generated response
[1871] Step 7:
[1872] The generated response is received by the server and sent to the terminal.
[1873] Input: A response from a generative AI model (e.g., "You can add garlic to this dish.")
[1874] Operation: The server generates a response and sends it to the terminal, which displays it to the user.
[1875] Output: The response presented to the user
[1876] Step 8:
[1877] When a user orders ingredients or food, detailed order information is sent to the terminal.
[1878] Input: User request for delivery order (e.g., ingredients for a specified dish)
[1879] Operation: The terminal retrieves the order information and sends it to the server. The server registers the order with the delivery service.
[1880] Output: Delivery order confirmation and notification
[1881] 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.
[1882] This invention is a system that proposes recipes based on user input keywords and also combines an emotion engine that recognizes the user's emotions. This system includes a terminal, a server, a recipe database, and an emotion engine, and also proposes recipes based on the user's emotional state.
[1883] 1. Enter keywords from your device
[1884] The user logs in to the terminal and launches the menu suggestion service.
[1885] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1886] The user inputs keywords such as "chicken, easy, light" into the terminal.
[1887] The terminal receives the input keyword and sends it to the server.
[1888] 2. Server-based keyword interpretation and recipe search
[1889] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[1890] The server searches the recipe database and extracts recipes that match the keywords.
[1891] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[1892] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1893] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1894] 3. Displaying recipe information on the device
[1895] The server extracts multiple recipes that meet the conditions and sends the list to the terminal.
[1896] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1897] The user checks the provided recipe list and selects a recipe that interests them.
[1898] 4. Response to additional questions
[1899] The user selects a particular recipe and reviews its details.
[1900] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[1901] The user enters a follow-up question: "Can I use another ingredient instead of this one?"
[1902] The terminal sends a question to the server.
[1903] The server analyzes the query and searches the recipe database again to obtain related information.
[1904] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1905] The server generates the answer to the question and sends it to the terminal.
[1906] The terminal displays the answer to the user.
[1907] 5. Use ingredients you have at home
[1908] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[1909] The server stores the registered ingredient information in a database, and when searching by keyword, it takes the registered ingredient information into consideration and preferentially suggests the most suitable recipe.
[1910] 6. Saving and using selection history
[1911] The device records the recipes selected by the user and saves them in a favorites or history list.
[1912] The server analyzes the user's selection history and reflects this in future recipe suggestions.
[1913] 7. Introducing the Emotion Engine
[1914] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[1915] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[1916] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[1917] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[1918] Specific examples
[1919] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to my grilled salted chicken. Is that possible?", the server will check whether garlic can be added and send the response to the terminal. This allows the user to receive detailed instructions and proceed with the cooking.
[1920] The system based on this invention allows users to easily find the best recipe and cook while having their questions answered. Furthermore, by incorporating an emotion engine, recipe suggestions can be made based on the user's emotional state, providing a more personalized experience. This significantly reduces the burden of daily menu planning and improves the user's dining experience.
[1921] The processing flow will be explained below.
[1922] Step 1:
[1923] The user logs in to the terminal and launches the menu suggestion service.
[1924] Step 2:
[1925] The device will display a search bar and prompt you to "enter ingredients, dish name, taste preferences, etc."
[1926] Step 3:
[1927] A user types "chicken, easy, light" into a terminal.
[1928] Step 4:
[1929] The terminal receives the input keyword and sends it to the server.
[1930] Step 5:
[1931] The server analyzes the received keywords and divides them into individual search criteria (e.g., "chicken," "easy," "light").
[1932] Step 6:
[1933] The server searches the recipe database and extracts recipes that match the keywords.
[1934] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[1935] The server searches the "difficulty" field of the recipe database and extracts "easy" recipes.
[1936] The server searches the "flavor" field of the recipe database and extracts recipes with a "light" flavor.
[1937] Step 7:
[1938] The server lists multiple recipes that match the conditions and sends the prioritized list to the terminal.
[1939] Step 8:
[1940] The device displays the received recipe list to the user, presenting the top five recipes in an easy-to-read format.
[1941] Step 9:
[1942] The user checks the provided recipe list and selects a recipe that interests them.
[1943] Step 10:
[1944] The user selects a particular recipe.
[1945] Step 11:
[1946] The device displays details of the selected recipe (e.g., photos, ingredient list, and instructions).
[1947] Step 12:
[1948] The user types a follow-up question: "Can I use another ingredient instead of this one?"
[1949] Step 13:
[1950] The terminal sends a follow-up question to the server.
[1951] Step 14:
[1952] The server analyzes the query and searches the recipe database again to obtain related information.
[1953] Example: Searching for a list of substitutes for ingredients to find information that answers a user's question.
[1954] Step 15:
[1955] The server generates the answer to the question and sends it to the terminal.
[1956] Step 16:
[1957] The terminal displays the answer to the user.
[1958] Step 17:
[1959] The user registers the ingredients they have at home in advance on the device (e.g., chicken, onion, garlic).
[1960] Step 18:
[1961] The server stores the registered ingredient information in a database.
[1962] Step 19:
[1963] The server takes into consideration the registered ingredient information when searching by keyword and provides the most suitable recipes preferentially.
[1964] Step 20:
[1965] The user confirms the recipe they have finally selected and selects the option "Use this recipe."
[1966] Step 21:
[1967] The device will display the selected recipe in detail so that the user can refer to it at any time.
[1968] Step 22:
[1969] Your device will save this recipe to your "favorites list" or "history list."
[1970] Step 23:
[1971] The server updates the user's selection history to reflect future recipe suggestions.
[1972] Step 24:
[1973] The emotion engine recognizes emotions as they are input by the user and analyzes the emotion data.
[1974] Step 25:
[1975] Based on the emotions recognized by the emotion engine, the server searches for recipes that match the user's emotional state.
[1976] Example: If the emotion engine recognizes that the user is feeling "down," it will suggest recipes that will brighten their mood.
[1977] Step 26:
[1978] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[1979] Step 27:
[1980] The server integrates the emotion data from the emotion engine with the keyword search results, lists the optimal recipes, and sends them to the device.
[1981] Step 28:
[1982] The terminal displays a recipe list based on the emotion data to the user, highlighting recipes that match the user's emotional state.
[1983] Step 29:
[1984] The user checks the provided recipe list and selects a recipe that interests them.
[1985] Step 30:
[1986] The device will display the details of the selected recipe and provide step-by-step instructions.
[1987] Through these steps, users can easily find the best recipe and have their questions answered while cooking. Furthermore, by incorporating an emotion engine, the system can suggest recipes based on the user's emotional state, providing a more personalized experience.
[1988] Example 2
[1989] 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."
[1990] Conventional recipe suggestion systems have made it difficult for users to find recipes that match their specific needs or emotions. In addition, they lack suggestions that take into account the ingredients a user has or their past selection history, making everyday cooking decisions cumbersome.
[1991] 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.
[1992] In this invention, the server includes means for accepting keywords input from a terminal, means for searching a database based on the input keywords, means for transmitting search results to the terminal and presenting them to the user, means for the user to input a follow-up question for the suggested recipe, means for searching the database again based on the follow-up question and preparing a response, means for transmitting the response to the terminal and displaying it to the user, means for registering ingredients available at home in advance and preferentially providing recipes based on that, and means for analyzing the user's emotional state using an emotion recognition engine and providing recipes according to that state. This allows users to easily find recipes that suit their needs and emotions.
[1993] A "terminal" is a device that allows a user to input keywords and view recipes.
[1994] A "server" is a central processing unit that analyzes keywords and searches the database.
[1995] A "database" is a collection of data in which recipe information is stored.
[1996] A "keyword" is a word or phrase that indicates a search condition that a user enters into a terminal.
[1997] "Searching" is the process of locating relevant information in a database based on entered keywords.
[1998] "Sending results" refers to the act of the server sending the data obtained by the search to the terminal.
[1999] "Presenting" refers to the act of the terminal displaying search results to the user.
[2000] "Follow-up questions" are questions that the user can ask to request more information or modifications to the suggested recipe.
[2001] "Ingredients" refers to the ingredients and seasonings used to make a dish.
[2002] "Registering" is the process of entering and saving ingredients and food items in your home into the system.
[2003] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[2004] "Analysis" is the process of analyzing data or input information to derive meaning and relationships.
[2005] "Experts" are people with advanced knowledge and experience in a particular field, such as nutritionists or professional chefs.
[2006] "Nutritional balance" refers to the proper distribution of all nutrients necessary to achieve a healthy diet.
[2007] "Expertise" refers to having deep understanding and skills in a particular field.
[2008] The present invention is a system that proposes recipes based on keywords entered by a user and combines them with an emotion engine that recognizes the user's emotional state. This system includes a terminal, a server, a database, and an emotion engine. The following describes a detailed embodiment of this system and its operation.
[2009] Terminal
[2010] The terminal is a device that provides an interface with the user and allows them to input keywords and view recipes. Specifically, this can be a PC, tablet, or smartphone. The terminal begins when the user logs in and launches the menu suggestion service. The user enters keywords such as ingredients, dish name, and taste preferences into the search bar displayed on the screen. For example, the user might enter "chicken, easy, light." The terminal then sends the entered keywords to the server.
[2011] Servers and Databases
[2012] The server is a central processing unit that searches a database based on search criteria and keywords. The server analyzes the keywords entered and breaks them down into individual criteria. For example, it categorizes them into criteria such as "chicken," "easy," and "light." Based on these criteria, the server searches the database to extract relevant recipes. This database contains recipes based on a variety of ingredients, cooking methods, flavors, and nutritional balance.
[2013] Recipe information presentation
[2014] The search results are sent to the device and suggested to the user. This is usually done as an HTTP response with JSON formatted data. The device receives this and displays the recipe in a format that is easy for the user to view. The user can select from the list of suggested recipes and have detailed information about them displayed on the device. The detailed information can include a photo of the recipe, a list of ingredients, instructions, etc.
[2015] Responding to additional questions
[2016] Users can ask follow-up questions about a particular recipe, such as "Can I use another ingredient instead of this one?" The device sends this question to the server, which again searches the database to extract relevant information. An answer is generated and sent back to the device. The device displays this answer to the user, allowing them to continue cooking with detailed instructions.
[2017] Use of materials available at home
[2018] Users can register ingredients they have at home in advance on their device. For example, they can enter ingredient information such as "chicken, onion, garlic" into the system. This data is stored in a database by the server and is taken into consideration when searching by keyword. This allows the system to prioritize and suggest optimal recipes that utilize ingredients available at home.
[2019] Introducing the Emotion Engine
[2020] The emotion engine recognizes the user's emotional state from their input and suggests recipes based on that. When the emotion engine analyzes the user's input, if it recognizes, for example, "tired," the server searches for recipes suitable for the user based on this. For example, if the user is recognized as "tired," the server searches for and suggests recipes that will brighten the mood. This emotional state is saved as emotion data so that it can be reflected in future recipe suggestions.
[2021] Examples and prompts
[2022] For example, if a user inputs "chicken, simple, light," and the emotion engine recognizes this as "tired," the server will search the database based on this. The recipe extracted by the server is, for example, "lightly grilled salted chicken," which is sent to the terminal and presented to the user. If the user selects this recipe and asks, "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will similarly search the database to generate an answer to the question and send it to the terminal.
[2023] Example prompt sentence:
[2024] Suggest recipes based on the keywords "chicken, easy, light" and also provide recommended recipes if the user is tired.
[2025] The flow of the identification process in the second embodiment will be described with reference to FIG.
[2026] Step 1:
[2027] The user logs in to the terminal and launches the menu suggestion service.
[2028] Input: User ID and password
[2029] Operation: The terminal sends user information to the server for authentication.
[2030] Output: The authentication result is returned to the terminal and login is completed.
[2031] Step 2:
[2032] The device will display a search bar and say, "Enter ingredients, dish name, taste preferences, etc."
[2033] Input: None
[2034] Operation: A GUI (Graphical User Interface) is generated on the terminal screen.
[2035] Output: The user will see the search bar.
[2036] Step 3:
[2037] The user enters keywords such as "chicken, easy, light."
[2038] Input: Keywords "chicken, easy, light"
[2039] How it works: The device receives a keyword via keyboard input or touchscreen.
[2040] Output: The keyword is entered.
[2041] Step 4:
[2042] The terminal receives the input keyword and sends it to the server.
[2043] Input: Keywords "chicken, easy, light"
[2044] How it works: The device generates an HTTP request and sends the keyword data in the payload to the server.
[2045] Output: The keyword arrives at the server.
[2046] Step 5:
[2047] The server analyzes the received keywords and breaks them down into "chicken," "easy," and "light."
[2048] Input: Keywords "chicken, easy, light"
[2049] How it works: The server uses a text parsing library to split the keywords into tokens.
[2050] Output: You get the individual tokens "chicken", "easy", and "light".
[2051] Step 6:
[2052] The server searches the "ingredients" field of the recipe database and retrieves recipes that contain "chicken."
[2053] Input: Token "chicken"
[2054] What happens: The server runs an SQL query to retrieve recipes that contain "chicken" in the "ingredients" field.
[2055] Output: A list of recipes that contain chicken
[2056] Step 7:
[2057] The server extracts "easy" recipes from the "difficulty" field.
[2058] Input: Token "easy"
[2059] What it does: The server runs another SQL query to get recipes that match "easy" in the "difficulty" field.
[2060] Output: A simple recipe list
[2061] Step 8:
[2062] The server extracts a recipe for "light" flavor from the "flavor" field.
[2063] Input: Token "Easy"
[2064] What happens: The server runs another SQL query to get recipes that match "light" in the "flavor" field.
[2065] Output: Light recipe list
[2066] Step 9:
[2067] The server lists multiple recipes that match the conditions and sends them to the terminal.
[2068] Input: filtered recipe list
[2069] How it works: The server serializes the search results in JSON format and sends them to the device as an HTTP response.
[2070] Output: A list of recipes arrives on the terminal.
[2071] Step 10:
[2072] The terminal displays the recipe list to the user.
[2073] Input: Recipe list
[2074] What it does: The device GUI is updated and the top 5 or so recipes are displayed in a list view.
[2075] Output: The user can now view the recipe list.
[2076] Step 11:
[2077] The user checks the provided recipe list and selects a recipe that interests them.
[2078] Input: User's choice
[2079] Behavior: The user clicks on a list item and is taken to the recipe details screen.
[2080] Output: The details screen of the selected recipe will be displayed.
[2081] Step 12:
[2082] The user enters a follow-up question about a particular recipe.
[2083] Input: User question: "Can I use another material instead of this one?"
[2084] Action: A question is entered into the text input field on the device and the submit button is pressed.
[2085] Output: The query is sent to the server.
[2086] Step 13:
[2087] The server analyzes the query and searches the database again.
[2088] Input: Question
[2089] How it works: The server uses natural language processing (NLP) to understand the question and retrieve the corresponding data.
[2090] Output: The appropriate response data for the question
[2091] Step 14:
[2092] The server generates the answer to the question and sends it to the terminal.
[2093] Input: Response data to questions
[2094] What it does: The server constructs a response and sends it to the device in JSON format.
[2095] Output: The response arrives at the terminal.
[2096] Step 15:
[2097] The terminal displays the answer to the user.
[2098] Input: Response to question
[2099] Behavior: The terminal GUI is updated and the response is displayed in a pop-up message or in the details display area.
[2100] Output: The user can now check the answer to the question.
[2101] Step 16:
[2102] The user registers the materials they have at home in advance on the terminal.
[2103] Input: Ingredients available at home: "chicken, onion, garlic"
[2104] Operation: Material information is entered into the specified input form and the save button is pressed.
[2105] Output: Material information is sent to the server.
[2106] Step 17:
[2107] The server stores the registered material information in a database.
[2108] Input: Material information in your home
[2109] Operation: The server executes an SQL query that inserts the material information into the database, linking it to the user ID.
[2110] Output: Material information is saved in the database.
[2111] Step 18:
[2112] The server provides the optimal recipe by taking into consideration the ingredient information registered during keyword search.
[2113] Input: Keyword search criteria and registered material information
[2114] How it works: Saved ingredient information is used as a priority in the search criteria to extract the optimal recipe.
[2115] Output: Recipe list taking into account ingredient information
[2116] Step 19:
[2117] The emotion engine recognizes emotions as users type.
[2118] Input: What the user types
[2119] How it works: The sentiment engine applies NLP models to perform sentiment analysis on input text.
[2120] Output: Perceived emotional state
[2121] Step 20:
[2122] Based on the emotions recognized by the emotion engine, the server provides recipes according to the user's emotional state.
[2123] Input: Perceived emotional state
[2124] How it works: Sentiment data is used as input to filter a recipe database and extract highly relevant recipes.
[2125] Output: A list of recipes based on emotional state
[2126] Step 21:
[2127] The emotion engine stores the user's emotional data, which the server then reflects in future recipe suggestions.
[2128] Input: Recognized emotion data
[2129] How it works: Emotional data is stored in a database and used for future recommendations.
[2130] Output: Emotion data is saved.
[2131] (Application example 2)
[2132] 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."
[2133] Modern consumers are faced with numerous options and information overload when it comes to meal preparation, and time constraints make it difficult to efficiently select the optimal menu and ingredients. Furthermore, if the ordered meal does not match the user's mood or health status at the time, satisfaction may decrease. Food delivery services, in particular, are required to reduce the ordering process while selecting food that is appropriate for the user's emotional state.
[2134] 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.
[2135] In this invention, the server includes means for searching an information database based on input keywords, means for analyzing the user's emotions using an emotion recognition engine and providing information corresponding to the emotions, and means for the user to input follow-up questions regarding the suggested information. This allows the user to receive meal suggestions that suit their emotional state, making it possible to provide a high level of satisfaction in food delivery services.
[2136] A "terminal" is an electronic device that allows a user to enter keywords, ask additional questions, view search results, and so on.
[2137] A "keyword" is a word or phrase that a user inputs into a terminal to search for specific information.
[2138] An "information database" is a collection of data that stores recipes and data that can be searched based on input keywords.
[2139] A "search means" is a method or device for analyzing input keywords and extracting relevant information from a database.
[2140] "Search results" are a list or details of information extracted by the search means.
[2141] A "follow-up question" is a phrase or question that a user enters to seek more detailed information or alternatives to the suggested information.
[2142] "Items in the home" refers to ingredients and related items already in the home that the user has registered in advance.
[2143] An "emotion recognition engine" is a system for determining and analyzing emotions from user input and behavior.
[2144] A "response" is an answer to a follow-up question or related information.
[2145] A "display means" is a method or device for visually presenting search results or responses to a user.
[2146] "Selection history" is a record of information and actions selected by the user in the past.
[2147] An "expert" refers to someone with knowledge and experience in a particular field, such as a nutritionist or chef.
[2148] The present invention is a system in which a user inputs ingredients, dish names, and taste preferences using a terminal, and a server then suggests optimal food delivery items based on the information analyzed by an emotion recognition engine.The system is configured as follows.
[2149] Hardware and software used
[2150] server
[2151] The server is responsible for core functions such as search processing, sentiment analysis, database access, etc. It uses the following software:
[2152] Python: A programming language used to implement search algorithms, data processing, and API calls.
[2153] Database management software: Used to store recipe and registered ingredient information and respond to queries.
[2154] Terminal
[2155] Devices that are directly operated by users, including smartphones and tablets, provide the following interfaces:
[2156] Search bar: A text input field where users can enter keywords.
[2157] Emotion recognition software: Used to analyze emotions from user-entered text.
[2158] Display interface: UI components that display search results, recipe information, responses to additional questions, etc.
[2159] System Operation
[2160] 1. Enter keywords and submit
[2161] The user logs in to the device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." These keywords are sent to the server.
[2162] 2. Keyword analysis and recipe search
[2163] The server receives and analyzes the keywords. It breaks down the keywords individually and searches the recipe database. For example, it extracts recipes that match "chicken," "easy," and "light" from the database.
[2164] 3. Sentiment Analysis and Recommendations
[2165] At the same time, the device uses an emotion recognition engine to analyze the user's emotions from the keywords entered. For example, if the device analyzes the user's emotions as "tired," that information is also sent to the server.
[2166] 4. Recipe suggestions
[2167] The server selects the most suitable recipe from a recipe database based on keywords and emotion information, and sends the search results to the terminal, which then displays the recipe to the user.
[2168] 5. Response to additional questions
[2169] If the user wants to enter a follow-up question about the displayed recipe, such as "Can I use another ingredient instead of this one?", the server re-parses the question, searches the database again, and generates a response, which the device then displays to the user.
[2170] 6. Use items you already have at home
[2171] By registering information about items in your home on the device in advance, recipes can be prioritized when searching, taking into account the registered items.
[2172] 7. Emotion-based recommendations
[2173] Based on the user's emotional information analyzed by the emotion recognition engine, the server will provide recipes that match the emotion. For example, if the server recognizes that the user is "tired," it will suggest recipes with a soothing effect.
[2174] Specific examples
[2175] For example, if a user inputs "chicken, simple, light," and the emotion recognition engine recognizes this as "tired," the server will search the recipe database based on this. The server will extract a recipe for "lightly grilled salted chicken," which will be sent to the device and presented to the user. If the user selects this recipe and inputs an additional question, such as "I'd like to add garlic to the grilled salted chicken. Is that possible?", the server will search the database again to confirm whether garlic is available and send the response to the device.
[2176] Prompt Sentence Examples
[2177] A user types "chicken, healthy, easy" and the sentiment engine recognizes "tired." Suggest the best recipe based on this input.
[2178] This allows users to easily select food delivery items that suit their emotional state and taste preferences, and receive highly satisfying meal suggestions.
[2179] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[2180] Step 1:
[2181] A user logs in to a device and enters keywords such as ingredients, dish names, and taste preferences into the search bar. For example, they might enter "chicken, easy, light." In this case, the user enters the keywords into the device in text format, and the input data is sent to the server.
[2182] Step 2:
[2183] The server analyzes the received keywords. The server breaks down the keywords individually and searches the information database based on each keyword. Specifically, it extracts recipes that match, for example, "chicken," "easy," and "light." At this time, the input data is analyzed, a query is generated for the information database, and search results are obtained.
[2184] Step 3:
[2185] The server simultaneously analyzes the user's input using an emotion recognition engine. The device sends the input keywords to the emotion recognition software, which generates the analysis results as emotion data. For example, it may recognize "tired."
[2186] Step 4:
[2187] The server then searches the recipe database again based on the keywords and emotion data to select the most suitable recipe. For example, a recipe such as "lightly grilled salted chicken" is extracted. At this time, the server again queries the information database and extracts the data that best matches the criteria.
[2188] Step 5:
[2189] The server sends the optimal recipe information obtained as a search result to the terminal, which then displays the received search results to the user. At this time, a list of recipes and detailed information are provided visually, allowing the user to confirm the contents.
[2190] Step 6:
[2191] The user inputs a follow-up question about the proposed recipe. For example, "Can I use another ingredient instead of this one?" into the terminal. The terminal sends the follow-up question in text format to the server.
[2192] Step 7:
[2193] The server receives the additional query and again searches the information database. For example, when searching for a substitute for garlic, the server queries the database and generates a valid response. At this point, the server performs additional data processing and prepares an appropriate information response.
[2194] Step 8:
[2195] The server then sends the generated response to the device, which displays it to the user, providing a specific answer such as "You can use onion instead of garlic." The user can then adjust the selected recipe based on the displayed information.
[2196] Step 9:
[2197] If the user has previously registered information about items in their home on their device, the server will prioritize search results by taking this into account. For example, if a list of ingredients in the home has been registered in advance, recipe suggestions will be based on this. In this case, the device sends the item information, and the server uses it to obtain the optimal output.
[2198] 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.
[2199] 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.
[2200] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[2201] 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.
[2202] 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.
[2203] 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.
[2204] 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).
[2205] 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.
[2206] 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."
[2207] 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.
[2208] 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).
[2209] 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.
[2210] 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.
[2211] 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.
[2212] 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.
[2213] 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.
[2214] 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.
[2215] 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.
[2216] 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.
[2217] 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.
[2218] 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.
[2219] The following is further disclosed regarding the above embodiment.
[2220] (Claim 1)
[2221] means for accepting a keyword input from a terminal;
[2222] A means for searching a recipe database based on input keywords;
[2223] means for transmitting search results to a terminal and presenting the results to a user;
[2224] a means for the user to input follow-up questions for the suggested recipe;
[2225] means for searching the recipe database again based on the additional question and preparing a response;
[2226] means for transmitting a response to the terminal and displaying it to the user;
[2227] A way to register ingredients in your home in advance and prioritize recipes based on that information,
[2228] A system including:
[2229] (Claim 2)
[2230] 10. The system of claim 1, further comprising means for storing a user's selection history and reflecting it in future recipe suggestions.
[2231] (Claim 3)
[2232] 2. The system according to claim 1, wherein the recipe database has a means for being managed by a nutritionist or a chef, and provides recipes based on nutritional balance and professional knowledge.
[2233] "Example 1"
[2234] (Claim 1)
[2235] means for accepting a keyword input from a terminal;
[2236] A means for searching an information storage device based on an input keyword;
[2237] means for transmitting search results to a terminal and presenting the results to a user;
[2238] a means for the user to input follow-up questions for the suggested recipe;
[2239] means for re-searching the information store and preparing a response based on the additional question;
[2240] means for transmitting a response to the terminal and displaying it to the user;
[2241] A way to register ingredients in your home in advance and prioritize recipes based on that information,
[2242] a means for the user to select a particular recipe and view more information about it;
[2243] a means for utilizing a user's input history to tailor subsequent search results;
[2244] A system including:
[2245] (Claim 2)
[2246] 10. The system of claim 1, further comprising means for storing a user's selection history and reflecting it in future recipe suggestions.
[2247] (Claim 3)
[2248] 10. The system of claim 1, wherein the information storage device has a means for being managed by a nutritionist or cooking expert, and provides recipes based on nutritional balance and expert knowledge.
[2249] "Application Example 1"
[2250] (Claim 1)
[2251] means for accepting a keyword input from a terminal;
[2252] A means for searching an information database based on input keywords;
[2253] a means for transmitting search results to a terminal and presenting the results to a user;
[2254] a means for the user to input follow-up questions regarding the suggested information;
[2255] a means for re-searching the information database based on additional questions and preparing a response;
[2256] means for transmitting a response to the terminal and displaying the response to the user;
[2257] A means for registering items in the home in advance and providing information preferentially based on that information;
[2258] a means for ordering delivery of the goods based on the proposed information;
[2259] a means for sending prompts to the generative AI model to generate a respons...
Claims
1. means for accepting a keyword input from a terminal; A means for searching a recipe database based on input keywords; means for transmitting search results to a terminal and presenting the results to a user; a means for the user to input follow-up questions for the suggested recipe; means for searching the recipe database again based on the additional question and preparing a response; means for transmitting a response to the terminal and displaying it to the user; A way to register ingredients in your home in advance and prioritize recipes based on that information, A system including:
2. The system of claim 1 further comprising means for storing a user's selection history and reflecting it in future recipe suggestions.
3. 2. The system according to claim 1, wherein the recipe database has a means for being managed by a nutritionist or a chef, and provides recipes based on nutritional balance and professional knowledge.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A