system

A system that inputs and searches recipe databases to suggest menus based on available ingredients addresses the challenge of food waste and meal planning efficiency in households, enhancing conservation and reducing labor.

JP2026062252APending Publication Date: 2026-04-09SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

In modern society, there is a need for a system that can efficiently utilize food ingredients in refrigerators, reduce food waste, and easily propose menus, particularly in dual-income households where time and effort for meal planning are limited, and awareness of conservation is increasing due to rising prices.

Method used

A system that allows users to input information about ingredients they have, searches a recipe database for matching recipes, verifies ingredient inclusion, and presents efficient menus, reducing food waste and household labor.

Benefits of technology

The system effectively utilizes food ingredients, reduces food waste, and alleviates the effort required for meal planning by suggesting appropriate recipes based on available ingredients.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026062252000001_ABST
    Figure 2026062252000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for the user to input information about the ingredients they have on hand, A means for receiving input ingredient information, A means of searching a predetermined recipe database based on the received ingredient information and extracting matching recipes, A means of presenting the extracted recipes to the user, A system that includes this.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technology of the present disclosure relates to a system.

Background Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In modern society, food loss within the household and the time and effort required to plan daily menus are major issues. Particularly in dual-income households, there is a demand to efficiently prepare meals within limited time. Additionally, due to the soaring prices of goods and utility bills, the awareness of conservation within the household is increasing, but there is a lack of means to reduce food loss and efficiently use food ingredients. For this reason, there is a demand for a system that can effectively utilize the food ingredients in the refrigerator and easily propose menus.

Means for Solving the Problems

[0005] To solve the above problems, the present invention provides a system having the following features: a means for the user to input information about ingredients they have on hand; a means for receiving the inputted ingredient information; a means for searching a predetermined recipe database based on the received ingredient information to extract matching recipes; and a means for presenting the extracted recipes to the user. Furthermore, the system has a means for receiving the inputted ingredient information in JSON format and verifying whether all the necessary ingredients in the recipe database are included in the inputted ingredient information, thereby proposing efficient and appropriate menus to the user, reducing food waste and alleviating household labor.

[0006] A "user" is a person who uses a system.

[0007] "Ingredients on hand" refers to information about ingredients that the user has stored in their refrigerator or other locations.

[0008] "Means of input" refers to the methods or devices used by users to register information about the ingredients they have in their possession into the system.

[0009] "Means of receiving" refers to the processes and technologies that allow the server to acquire ingredient information entered by the user.

[0010] A "pre-defined recipe database" refers to a database containing multiple recipes that have been collected and saved in the past.

[0011] "Search methods" refer to the methods and algorithms used to search the recipe database based on the received ingredient information and find the appropriate recipe.

[0012] "Extraction methods" refer to the processes and techniques used to select matching recipes from search results and pass them on to subsequent processing.

[0013] "Means of presentation" refers to the methods or displays used to show or communicate the extracted recipes to the user. [Brief explanation of the drawing]

[0014] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14]It is a sequence diagram showing the processing flow of a data processing system in Application Example 2 when a sentiment engine is combined.

Embodiments for Carrying out the Invention

[0015] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.

[0016] First, the terms used in the following description will be explained.

[0017] In the following embodiments, a numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.

[0018] In the following embodiments, a numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.

[0019] In the following embodiments, a numbered storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, etc.

[0020] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0021] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0022] [First Embodiment]

[0023] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.

[0024] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0025] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0026] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.

[0027] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0028] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0029] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

[0030] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0031] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0032] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0033] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0034] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0035] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[0036] User actions

[0037] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[0038] Terminal operation

[0039] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[0040] json

[0041] {

[0042] "ingredients": ["egg", "milk", "salt", "pepper"]

[0043] }

[0044] Server operation

[0045] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[0046] Recipe Search

[0047] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match. The server's processing logic is as follows:

[0048] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[0049] Add recipes that meet the criteria to the list.

[0050] Generating search results

[0051] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[0052] json

[0053] {

[0054] "suggested_recipes": ["Omelet"]

[0055] }

[0056] Terminal display

[0057] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then review the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[0058] Specific example

[0059] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[0060] Received "eggs", "milk", "salt", and "pepper".

[0061] Search the recipe database and find an omelet recipe that matches all the criteria.

[0062] A JSON response containing search results for "omelet" is returned.

[0063] The device displays "Omelet" to the user.

[0064] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[0065] The following describes the processing flow.

[0066] Step 1:

[0067] The user accesses a web application and enters a list of ingredients in their refrigerator (for example, "eggs," "milk," "salt," and "pepper") into a form. The data is submitted when the user clicks the submit button.

[0068] Step 2:

[0069] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[0070] json

[0071] {

[0072] "ingredients": ["egg", "milk", "salt", "pepper"]

[0073] }

[0074] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[0075] Step 3:

[0076] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients field. This parsing yields a list of ingredients (e.g., "eggs", "milk", "salt", "pepper").

[0077] Step 4:

[0078] The server searches the recipe database based on the ingredient list. The server checks if the necessary ingredients for each recipe (e.g., "Omelet" requires "Eggs," "Milk," "Salt," and "Pepper") are included in the ingredient list. This process is performed for all recipes, and matching entries are listed.

[0079] Step 5:

[0080] The server lists matching recipes and generates response data in JSON format. For example, it generates response data like this:

[0081] json

[0082] {

[0083] "suggested_recipes": ["Omelet"]

[0084] }

[0085] The server sends this data back to the terminal.

[0086] Step 6:

[0087] The terminal receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "omelet" is displayed on the web page as a "suggested recipe."

[0088] Step 7:

[0089] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[0090] (Example 1)

[0091] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0092] In modern households, food waste is a serious problem, as ingredients in refrigerators are often wasted because they cannot be used up. Furthermore, finding suitable recipes based on the ingredients available is difficult when deciding on daily meal menus. There is a growing need for a system that allows users to easily input the ingredients they have on hand and quickly suggests appropriate recipes.

[0093] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0094] In this invention, the server includes means for the user to input information about the ingredients they have on hand; means for receiving the inputted ingredient information; means for searching a database based on the received ingredient information and extracting matching recipes; means for presenting the extracted recipes to the user; means for converting the inputted ingredient information into a data format and sending it to an API endpoint; means for analyzing the transmitted data and extracting an ingredient list; means for searching for recipes based on the ingredient list and listing the matching recipes; means for returning the listed recipes to the terminal in data format; and means for analyzing the returned data and displaying it to the user. This makes it possible for the user to easily input the ingredients they have on hand and be quickly offered appropriate recipes based on that information. This reduces food waste and significantly reduces the effort required to choose daily menus.

[0095] A "user" is a person who uses the system to input ingredient information and check the suggested recipes.

[0096] "Means" refers to the method or process used by a system to perform a particular function or task.

[0097] "Means of input" refers to the methods or tools that users use to input information about the ingredients they have on hand into the system.

[0098] "Means of receiving" refers to the methods and processes by which the system receives ingredient information entered by the user.

[0099] "Data format" refers to the method by which information or data is organized, stored, or transmitted according to a specific format or structure.

[0100] An "API endpoint" is an interface that allows external systems or applications to access specific functions or data.

[0101] A "database" is a collection of data organized for a specific purpose, and a system for efficiently searching and managing that data.

[0102] A "food ingredient list" is data that shows a list of ingredients the user has on hand, as entered by the user.

[0103] A "recipe" is information about the ingredients and steps required to make a specific dish.

[0104] "Listing" means organizing multiple items into a single list based on specific criteria.

[0105] "Analysis" is the process of breaking down data to understand its content and structure.

[0106] "Means of display" refers to methods and processes for visually presenting analyzed data and information to the user.

[0107] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[0108] User actions

[0109] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[0110] Terminal operation

[0111] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. The request includes JSON data such as the following:

[0112] json

[0113] {

[0114] "ingredients": ["egg", "milk", "salt", "pepper"]

[0115] }

[0116] Server operation

[0117] The server receives this request using a web application framework. In this example, the Flask framework is used. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[0118] Recipe Search

[0119] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" contains the ingredients ["eggs", "milk", "salt", "pepper"], so this recipe is extracted as a match. The server performs the search based on the following logic:

[0120] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[0121] Add recipes that meet the criteria to the list.

[0122] Generating search results

[0123] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[0124] json

[0125] {

[0126] "suggested_recipes": ["Omelet"]

[0127] }

[0128] Terminal display

[0129] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then review the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[0130] Specific example

[0131] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[0132] The server receives "eggs," "milk," "salt," and "pepper."

[0133] The recipe database is searched, and an "omelet" recipe matches all the criteria.

[0134] A JSON response containing the search results for "omelet" will be returned.

[0135] The device displays "Omelet" to the user.

[0136] Example of a prompt

[0137] If you input the following, the generative AI model will return a suggested recipe:

[0138] Please share a recipe using the following ingredients I have in my refrigerator: "eggs," "milk," "salt," and "pepper."

[0139] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[0140] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0141] Step 1:

[0142] The user accesses a dedicated web application using their own device (PC or smartphone). The user enters information about the food items in their refrigerator into a web form and clicks the "Submit" button.

[0143] Input: Information about the ingredients in your refrigerator (e.g., "eggs", "milk", "salt", "pepper")

[0144] Output: Enter ingredient information into the form and submit it (for data processing in the next step).

[0145] Step 2:

[0146] The device converts the ingredient information sent by the user into JSON format. Specifically, it uses JavaScript (registered trademark) to retrieve the ingredient information and convert it into JSON format.

[0147] Input: Ingredient information entered by the user in the form.

[0148] Data processing: Convert to JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[0149] Output: Ingredient information in JSON format

[0150] Step 3:

[0151] The device sends the ingredient information, converted to JSON format, as a POST request to the API endpoint / suggest_recipes.

[0152] Input: Ingredient information in JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[0153] Data transmission: Send to API endpoint

[0154] Output: POST request to send to the server

[0155] Step 4:

[0156] The server receives POST requests sent to the API endpoint / suggest_recipes. Using the Flask framework, it initiates processing when a request arrives at the endpoint.

[0157] Input: POST request from terminal

[0158] Data reception: Uses the Flask framework.

[0159] Output: Received JSON data

[0160] Step 5:

[0161] The server parses the received JSON data and extracts the ingredient list from the "ingredients" field. This parsing process is typically performed using Python's standard libraries.

[0162] Input: Received JSON data (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[0163] Data analysis: Extracting a list of ingredients from JSON data (e.g., ["eggs", "milk", "salt", "pepper"])

[0164] Output: Extracted ingredient list

[0165] Step 6:

[0166] The server searches the recipe database based on the extracted ingredient list. The search process retrieves each recipe from the database and verifies that all the necessary ingredients are included in the ingredient list.

[0167] Input: Extracted list of ingredients (e.g., ["eggs", "milk", "salt", "pepper"])

[0168] Data search and calculation: Search the recipe database and extract the relevant recipes.

[0169] Output: A list of matching recipes (e.g., ["Omelet"])

[0170] Step 7:

[0171] The server lists matching recipes as search results and generates this as a JSON response. The JSON response is formatted to be displayed appropriately for the user.

[0172] Input: A list of matching recipes (e.g., ["Omelet"])

[0173] Data generation: Format search results as a JSON response (e.g., {"suggested_recipes": ["Omelet"]})

[0174] Output: Formatted JSON response

[0175] Step 8:

[0176] The terminal parses the JSON response received from the server and displays it on the web screen as a "suggested recipe." The user can then review the suggested recipe on this screen and actually cook it.

[0177] Input: JSON response from the server (e.g., {"suggested_recipes": ["Omelet"]})

[0178] Data Analysis: Parsing JSON responses and updating the DOM

[0179] Output: Suggested recipes to display on the web page (e.g., "Omelet")

[0180] Each step works in conjunction with the user, terminal, and server to enable users to easily receive appropriate recipe suggestions.

[0181] (Application Example 1)

[0182] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0183] Many modern households are looking to efficiently use the ingredients in their refrigerators, reduce waste, and easily decide on menus. However, simply inputting information about the ingredients they have on hand and receiving suggested recipes doesn't make it easy to quickly procure any missing ingredients. To solve this problem, there is a need for a system that not only suggests recipes based on the user's ingredient information but also automatically identifies missing ingredients and procures them through delivery services.

[0184] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0185] In this invention, the server includes means for the user to input information about the ingredients they have on hand, means for receiving the inputted ingredient information, means for searching a predetermined recipe database based on the received ingredient information and extracting matching recipes, means for identifying missing ingredients based on the extracted recipes, and means for requesting a delivery service to order the identified missing ingredients. This enables efficient menu suggestions based on the ingredients the user has on hand and prompt delivery requests for missing ingredients.

[0186] "Currently owned food information" refers to information about the food items the user currently possesses, and is a list of food items stored in the refrigerator or pantry.

[0187] "Means of receiving data" refers to devices or software that have the function of receiving data input from a user and analyzing it.

[0188] A "recipe database" is a database containing numerous recipes, each listing the necessary ingredients and cooking methods.

[0189] "Means for extracting matching recipes" refers to devices or software that have the function of comparing received ingredient information with the contents of a recipe database to find and retrieve matching recipes.

[0190] "Means for identifying missing ingredients" refers to devices or software that have the function of checking all the ingredients required for an extracted recipe and identifying the missing ingredients that the user does not have.

[0191] "Means of requesting delivery services" refers to devices or software that have the function of sending a request to a delivery service to order specific missing ingredients.

[0192] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight format for structuring and representing data.

[0193] "Methods for searching and verifying" refer to devices or software that have the function of comparing each recipe in a recipe database with the ingredient information entered by the user to check if there are any matches.

[0194] "Means for presenting extracted recipes" refers to devices or software that have the functionality to visually display matching recipes to the user or to allow the user to confirm them.

[0195] This invention provides a software system that operates in conjunction with the user, terminal, and server. This system enhances convenience by allowing the user to input information about the ingredients they have at home, suggesting appropriate recipes based on that information, and automatically ordering any missing ingredients from a delivery service.

[0196] System Configuration

[0197] User actions

[0198] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[0199] Terminal operation

[0200] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[0201] json

[0202] {

[0203] "ingredients": ["egg", "milk", "salt", "pepper"]

[0204] }

[0205] Server operation

[0206] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[0207] Recipe Search

[0208] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[0209] Identifying missing ingredients and arranging delivery.

[0210] The server identifies any missing ingredients the user is missing based on the extracted recipe. Using this information, it generates a request to place an order with a delivery service. A specific example would be using a delivery API such as Uber Eats.

[0211] Terminal display

[0212] The terminal parses the JSON data received from the server and displays it to the user on a web screen as a "suggested recipe." The user can then check the suggested recipe and any missing ingredients on the screen and proceed with ordering those ingredients from a delivery service.

[0213] Specific example

[0214] Assume the user has "eggs," "milk," "salt," and "pepper" in their refrigerator. Proceed as follows:

[0215] 1. The user enters and submits these ingredients.

[0216] 2. The server searches the recipe database and determines that the "omelet" recipe matches all the conditions.

[0217] 3. Based on the "omelet" recipe, identify, for example, that "butter" is missing.

[0218] 4. The server uses the delivery API to send an order request for "butter".

[0219] Examples of prompts for generative AI models

[0220] By inputting prompts like the following into the AI ​​model, it automatically identifies missing ingredients and generates an order request.

[0221] "

[0222] The user entered the following ingredient information: "Eggs", "Milk", "Salt", "Pepper"

[0223] Based on this information, identify the additional ingredients needed for the suggested "omelet" recipe and generate a request to order those ingredients from a delivery service.

[0224] "

[0225] This system allows users to easily decide on their daily menus, prevent food waste, and quickly procure additional ingredients. It is expected that this invention will greatly improve user convenience and increase the efficiency of food management in households.

[0226] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0227] Step 1:

[0228] The user enters information about the ingredients.

[0229] Specific operation: The user accesses a web application and enters the ingredients in their refrigerator into a web form. In the example, the user enters "eggs," "milk," "salt," and "pepper."

[0230] Input: Ingredient information entered by the user.

[0231] Output: The ingredient information entered in the form will be displayed in the web browser.

[0232] Step 2:

[0233] The device receives the ingredient information and converts it to JSON format.

[0234] Specific operation: The device (user's PC or smartphone) converts the entered ingredient information into JSON format.

[0235] json

[0236] {

[0237] "ingredients": ["egg", "milk", "salt", "pepper"]

[0238] }

[0239] Input: Ingredient information entered in the web form.

[0240] Output: Ingredient information in JSON format.

[0241] Step 3:

[0242] The device sends JSON data as a POST request to the server's API endpoint.

[0243] Specific action: The terminal sends the JSON data as a POST request to the / suggest_recipes endpoint.

[0244] Input: Ingredient information in JSON format.

[0245] Output: POST request sent to the server.

[0246] Step 4:

[0247] The server receives the POST request and parses the JSON data.

[0248] Specific operation: The server uses the Flask framework to receive the POST request, parse the JSON data, and extract the ingredient list from the "ingredients" field.

[0249] Input: JSON data sent as a POST request.

[0250] Output: List of extracted ingredients.

[0251] Step 5:

[0252] The server searches the recipe database and extracts matching recipes.

[0253] Specific operation: The server searches the recipe database using the extracted ingredient list and extracts matching recipes. For example, the 'omelet' recipe requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[0254] Input: Extracted list of ingredients.

[0255] Output: Matching recipes.

[0256] Step 6:

[0257] The server identifies missing ingredients based on the extracted recipe.

[0258] Specific operation: The server checks the list of all ingredients required for the extracted recipe and identifies any missing ingredients the user does not have. For example, "butter" may be missing.

[0259] Input: Matching recipes and a list of ingredients the user possesses.

[0260] Output: List of missing ingredients.

[0261] Step 7:

[0262] The server sends an order request for missing ingredients to the delivery service's API.

[0263] Specific operation: The server generates and sends an order request using the API of a delivery service (e.g., Uber Eats) based on the list of missing ingredients.

[0264] Input: List of missing ingredients.

[0265] Output: Order request sent to the delivery service.

[0266] Step 8:

[0267] The terminal displays information about missing ingredients and suggested recipes received from the server to the user.

[0268] Specific operation: The terminal parses the JSON data received from the server and displays the "suggested recipe" and "missing ingredients" to the user on the web screen.

[0269] Input: JSON data containing information on missing ingredients and suggested recipes received from the server.

[0270] Output: Suggested recipes and missing ingredient information displayed on the user's web screen.

[0271] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0272] This invention combines a system that suggests recipes based on the user's available ingredients with an emotion engine that recognizes the user's emotions. The specific processing flow and details of this system are described below.

[0273] User actions

[0274] First, the user accesses a web application and enters a list of ingredients in their refrigerator. Along with the entered ingredient list (for example, "eggs," "milk," "salt," and "pepper"), the user's face is captured by a camera, and emotion recognition is performed. When the user clicks the submit button, this information is sent to the server.

[0275] Terminal operation

[0276] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[0277] json

[0278] {

[0279] "ingredients": ["egg", "milk", "salt", "pepper"],

[0280] "user_emotion": "happy"

[0281] }

[0282] This JSON data is sent as a POST request to the API endpoint / suggest_recipes.

[0283] Server operation

[0284] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts the JSON data from the request body and analyzes the contents of the ingredients field and the user_emotion field. This extracts the list of ingredients and the user's emotional state.

[0285] Recipe search and emotion recognition

[0286] The server first searches the recipe database based on the list of ingredients. Subsequently, based on the emotional state of the user (e.g., "happy") analyzed by the emotion engine, a suitable recipe is selected. The emotion engine preferentially proposes recipes corresponding to a specific emotional state, such as a recipe for relaxation or a recipe for boosting energy, according to the user's emotional state.

[0287] As an example, when the user is in an emotional state of "happy", the server selects and proposes a recipe that further enhances the user's emotion (e.g., "an omelette recipe to liven up the party atmosphere").

[0288] Generation of search results

[0289] The server lists recipes selected based on ingredients and emotions, and generates response data in JSON format. For example, it generates response data like the following:

[0290] json

[0291] {

[0292] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[0293] }

[0294] The server sends this data back to the terminal.

[0295] Terminal display

[0296] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, a suggested recipe, "Omelet to liven up the party mood," is displayed on the web page.

[0297] Specific example

[0298] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." Furthermore, let's assume the user is in a "happy" emotional state. In this case, when the user enters these ingredients and submits them, the following process occurs on the server side:

[0299] Received "eggs", "milk", "salt", and "pepper".

[0300] Search the recipe database and find an omelet recipe that matches all the criteria.

[0301] The emotion engine detects the user's emotional state, "happy," and selects an "omelet recipe to liven up the party mood" accordingly.

[0302] Return a JSON response containing search results to the terminal

[0303] The terminal displays "Omelette to liven up the party atmosphere" to the user

[0304] With this system, users can easily determine their daily menu, prevent food waste, and by being proposed appropriate recipes according to their emotional state, they can lead a more satisfying diet life

[0305] The following explains the process flow

[0306] Step 1:

[0307] The user accesses the web application and enters the list of ingredients in the refrigerator into the form. Enter ingredients such as "eggs", "milk", "salt", and "pepper" in the input field and click the send button. The user's face is captured by the camera, and the emotion recognition program analyzes the user's emotion

[0308] Step 2:

[0309] The terminal receives the list of ingredients entered by the user and the emotion data (e.g., "happy") analyzed by the emotion recognition program, and converts these data into JSON format. The JSON data is as follows:

[0310] json

[0311] {

[0312] "ingredients": ["eggs", "milk", "salt", "pepper"],

[0313] "user_emotion": "happy"

[0314] }

[0315] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[0316] Step 3:

[0317] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients and user_emotion fields. This retrieves the list of ingredients and the user's emotional state.

[0318] Step 4:

[0319] The server searches the recipe database based on the extracted ingredient list. For each recipe in the recipe database, it checks if all the necessary ingredients are included in the ingredient list. For example, if the "omelet" recipe requires "eggs," "milk," "salt," and "pepper," then this recipe is extracted as a match because all of these ingredients are included in the list.

[0320] Step 5:

[0321] The server uses the emotion engine to parse the `user_emotion` field in the JSON data. In this example, since it contains "user_emotion": "happy", the server recognizes the user's emotion as "happy".

[0322] Step 6:

[0323] Based on the user's emotional state ("happy") analyzed by the emotion engine, the system selects recipes from the recipe database that are appropriate for the user's emotions. For example, if the emotion is "happy," recipes suitable for parties and celebrations (e.g., "Omelet to liven up the party mood") will be prioritized.

[0324] Step 7:

[0325] The server lists recipes selected based on ingredients and emotional state, and generates response data in JSON format. This response data will look like this:

[0326] json

[0327] {

[0328] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[0329] }

[0330] The server sends this data back to the terminal.

[0331] Step 8:

[0332] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "Omelet to liven up the party mood" is displayed on the web page as a "suggested recipe."

[0333] Step 9:

[0334] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[0335] (Example 2)

[0336] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0337] In today's busy lifestyle, it is difficult for users to efficiently use the ingredients they have at home and find recipes that suit their current emotional state. Furthermore, there is a need to improve meal satisfaction and happiness by suggesting recipes that respond to emotions. Traditional recipe suggestion systems focus on managing ingredient information and do not consider the user's emotional state, thus failing to enhance user psychological satisfaction.

[0338] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for recognizing the user's emotional state, means for converting the received ingredient information and the recognized emotional state into JSON format, and means for sending the converted JSON data to the API endpoint. This makes it possible to search for and suggest an appropriate recipe based on the user's available ingredient information and emotional state. By suggesting recipes that correspond to the user's emotional state, it is possible to improve the satisfaction and happiness of the meal.

[0339] 1. "Means for recognizing a user's emotional state" refers to a combination of hardware and software for identifying a user's emotions, and is a technology that analyzes emotions from the user's facial expressions and tone of voice using input devices such as cameras and microphones.

[0340] 2. "Means for converting received food ingredient information and recognized emotional states into JSON format" refers to a software process for converting the food ingredient list and emotional data provided by the user into JSON format in order to save and transmit them in a unified format.

[0341] 3. "Means for sending the converted JSON data to the API endpoint" refers to a program or module that sends the generated JSON data to a specific server via the internet, and is a technology that uses HTTP requests to POST the data.

[0342] 4. "Means for searching a recipe database based on ingredient information and emotional state to extract matching recipes" refers to a software algorithm that searches a pre-built recipe database based on the received ingredient list and emotional data to find the relevant recipes.

[0343] 5. "A means of selecting recipes based on the user's emotional state using an emotion engine" refers to a system that analyzes the user's emotional state and prioritizes selecting the most suitable recipe based on the results. The emotion engine is built on machine learning models and expert knowledge.

[0344] 6. "Means for visually presenting extracted recipes to the user" refers to GUI (Graphical User Interface) technology that displays selected recipes on the user's screen in the form of text, images, etc., so that the user can easily understand them.

[0345] This invention is a system in which a user inputs information about the ingredients they have on hand, and the system suggests recipes based on that information and the user's emotional state. Specific embodiments of this system are described in detail below.

[0346] System Configuration

[0347] This system consists of a terminal that users access, a server that processes and stores data, and an emotion engine that analyzes users' emotions.

[0348] Hardware and software usage

[0349] 1. Terminal

[0350] The terminal provides an interface for the user to input a list of ingredients. The terminal can be a PC, smartphone, or tablet.

[0351] The device uses input devices such as a camera and microphone to capture the user's face and voice. This collects information for emotion recognition.

[0352] 2. Server

[0353] The server receives, parses, and generates responses to data. The server consists of a database server, a web server, and an API server.

[0354] The server parses the JSON data sent by the user and searches the recipe database.

[0355] The server works in conjunction with the emotion engine to select a recipe that is appropriate for the user's emotional state.

[0356] 3. Emotional Engine

[0357] An emotion engine is a software module that analyzes a user's facial expressions and voice to identify their emotional state (e.g., happy, sad, angry). Emotion engines utilize machine learning models and artificial intelligence technologies.

[0358] Specific example

[0359] As a concrete example, let's consider a scenario where a user has the following ingredients in their refrigerator at home: "eggs," "milk," "salt," and "pepper," and is currently in a "happy" emotional state. When the user accesses the web application, enters this ingredient information, and clicks the submit button, the following process is executed.

[0360] 1. User actions

[0361] The user enters "egg," "milk," "salt," and "pepper" into the input form of the web application.

[0362] When the user clicks the send button, the device's camera activates to capture the user's face, and the emotional state "happy" is recognized.

[0363] 2. Sending data

[0364] The device converts the entered ingredient list and emotion status into JSON format and sends a POST request to the API endpoint / suggest_recipes.

[0365] 3. Server processing

[0366] The server receives the POST request and parses the JSON data.

[0367] The server searches the recipe database and finds recipes that use "eggs," "milk," "salt," and "pepper."

[0368] The server uses an emotion engine to select a recipe suitable for the "happy" emotional state. In this case, "Omelet to liven up the party mood" is selected.

[0369] 4. Generating a response

[0370] The server generates response data in JSON format containing the selected recipe and sends it back to the terminal.

[0371] 5. Display on the device

[0372] The device receives the response data and visually displays a recipe for "Omelet to liven up the party mood."

[0373] Examples of prompts for generative AI models

[0374] Below are examples of prompts to input into a generative AI model:

[0375] Please suggest a recipe using eggs, milk, salt, and pepper that I have in my refrigerator. Also, since I'm feeling happy, I'd like a recipe that will create a party atmosphere.

[0376] The above describes the specific form of implementing the invention. This system allows users to make the most of their available ingredients and enjoy meals that suit their mood.

[0377] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0378] Step 1: The user enters the ingredient information.

[0379] Input: The user enters "egg", "milk", "salt", and "pepper" into the input form of the web application.

[0380] Specific action: The user opens a web page and enters ingredient information into a text box.

[0381] Output: The ingredient information will be entered into the web form.

[0382] Step 2: The user clicks the submit button.

[0383] Input: After the user enters the ingredient information, they click the submit button.

[0384] Specific action: The user clicks the submit button in the browser.

[0385] Output: When the send button is clicked, the device's camera activates along with the entered ingredient information, and the user's face is captured.

[0386] Step 3: The device captures the user's face and recognizes their emotions.

[0387] Input: The send button is clicked and the camera is activated.

[0388] Specific operation: The device's camera captures the user's face. This image data is sent to the emotion engine.

[0389] Output: The emotion engine processes the image data and recognizes the user's emotional state (e.g., "happy").

[0390] Step 4: The device converts the input data and sentiment data into JSON format.

[0391] Input: Ingredient information and user's emotional state.

[0392] Specific operation: The terminal converts the input food information and recognized emotional state into a single JSON object.

[0393] Output: The following JSON data will be generated:

[0394] json

[0395] {

[0396] "ingredients": ["egg", "milk", "salt", "pepper"],

[0397] "user_emotion": "happy"

[0398] }

[0399] Step 5: The device sends JSON data to the server.

[0400] Input: Generated JSON data.

[0401] Specific operation: The device sends data in JSON format to the API endpoint / suggest_recipes via an HTTP POST request.

[0402] Output: JSON data is sent to the server.

[0403] Step 6: The server receives the POST request and parses the JSON data.

[0404] Input: JSON data sent to the server.

[0405] Specific operation: The server receives a POST request at the API endpoint, extracts JSON data from the request body, and parses it. Through the parsing, it extracts the ingredient list and the user's emotional state.

[0406] Output: The ingredient list and emotional state data will become available on the server.

[0407] Step 7: The server searches the recipe database.

[0408] Input: List of analyzed ingredients.

[0409] Specific operation: The server executes a database query to search for recipes that match the entered list of ingredients.

[0410] Output: Matching recipes are extracted based on the ingredient list.

[0411] Step 8: Select recipes using the emotion engine.

[0412] Input: Extracted candidate recipes and the user's emotional state.

[0413] Specific operation: The server uses an emotion engine to select a suitable recipe based on the user's emotional state. For example, if the emotional state is "happy," the "Omelet to liven up the party mood" will be selected.

[0414] Output: A recipe is selected based on the emotional state.

[0415] Step 9: The server generates response data and sends it back to the terminal.

[0416] Input: Selected recipe.

[0417] Specific operation: The server generates response data in JSON format containing the selected recipe and sends it back to the terminal as an HTTP response.

[0418] Output: The following response data is sent back to the terminal:

[0419] json

[0420] {

[0421] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[0422] }

[0423] Step 10: The terminal receives the response data and displays it to the user.

[0424] Input: Response data returned from the server.

[0425] Specific operation: The device analyzes the response data and visually displays the suggested recipe on the web page.

[0426] Output: Users will be able to view the recipe for "Omelet to liven up the party mood" on the page.

[0427] (Application Example 2)

[0428] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0429] Traditional recipe suggestion systems often fail to consider the user's emotional state, making it difficult to improve user satisfaction and experience. Furthermore, relying solely on available ingredients can lead to problems such as suggesting recipes that are lacking certain ingredients or that don't suit the user's mood.

[0430] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input information on food ingredients they have on hand, means for receiving the input food ingredient information, means for searching a predetermined recipe database based on the received food ingredient information and the user's emotional state to extract matching recipes, means for presenting the extracted recipes to the user, means for capturing the user's facial image to recognize their emotions, and means for transmitting the food ingredient information and emotional information in JSON format. This makes it possible to suggest recipes that are suitable for the user's emotional state, thereby improving the user's cooking experience and satisfaction.

[0431] "Information on available food ingredients" refers to information about the types and quantities of food items that the user currently possesses.

[0432] A "face image" is image data of a user's face.

[0433] "Emotional state" refers to information that indicates the user's current psychological state, obtained by analyzing their facial image.

[0434] A "recipe database" is a collection of information that gathers recipe information, including cooking methods, ingredients, and dish names.

[0435] "Extraction" refers to the act of selecting an appropriate recipe from a recipe database based on the received food ingredient information and emotional state.

[0436] "To present" means to display or notify a user of a recipe that has been selected visually or audibly.

[0437] "JSON format" is an abbreviation for JavaScript Object Notation, and is a type of lightweight data exchange format.

[0438] "Sending" refers to the act of sending data from a user's device to a server.

[0439] "Receiving" refers to the act of a server or terminal receiving data via a network.

[0440] "Capturing" refers to the act of acquiring data such as images using a camera or sensor.

[0441] The "recommendation system" is a system that performs a series of processes in which the user inputs information about the food ingredients they have and their emotional state, and then suggests the most suitable recipe.

[0442] This invention is a system that suggests the optimal recipe based on the user's available food ingredient information and emotional state. Specific embodiments for carrying out this invention are described below.

[0443] System Configuration

[0444] This system mainly consists of the following components:

[0445] 1. User Interface: This is the means by which the user inputs information about the food ingredients they have and their emotional state. Here, the smartphone camera and input form are used.

[0446] 2. Emotion Recognition Engine: This is software that analyzes the user's facial image and recognizes their emotional state. Common emotion recognition engines such as Google® Cloud Vision API are used.

[0447] 3. Recipe Database: This is a database for searching recipes based on food ingredient information and emotional state. PostgreSQL is a suitable general-purpose database management system (DBMS).

[0448] 4. Server-side: This is the backend system for receiving and processing requests. It will be built using Node.js and Express.

[0449] Program Processing Overview

[0450] User actions

[0451] The user performs the following actions using their smartphone:

[0452] Enter the food ingredients you have on hand. Alternatively, you can simplify the input process by scanning the barcodes on the food items.

[0453] A smartphone camera is used to capture facial images and obtain image data to understand emotional states.

[0454] Server-side processing

[0455] The following processes are performed on the server side:

[0456] Converts food ingredient information received from the user into JSON format.

[0457] The system analyzes facial images acquired by an emotion recognition engine to recognize the user's emotional state.

[0458] The system searches a recipe database based on food ingredient information and emotional state, and extracts the most suitable recipe.

[0459] To present the extracted recipes to the user, response data is generated in JSON format and sent to the user's smartphone.

[0460] Specific example

[0461] For example, suppose a user enters "chicken, mayonnaise, lettuce" as the items in their refrigerator and captures a facial image with their smartphone camera. If the emotion recognition engine recognizes the emotional state as "happy," the following processing will occur on the server side:

[0462] The food ingredient information is converted to JSON format, and the emotional state is recognized as "happy."

[0463] Search the recipe database and extract recipes for "Chicken Salad to Liven Up a Party" using "Chicken, Mayonnaise, and Lettuce".

[0464] The extracted recipes are generated as a response in JSON format and presented to the user.

[0465] Example of a prompt

[0466] Use the following prompts to input into the emotion recognition engine:

[0467] "Assuming the available ingredients are 'chicken, mayonnaise, and lettuce,' and the emotional state is 'happy,' please suggest the best recipe."

[0468] As described above, the present invention is a system that proposes the optimal recipe based on the user's available food ingredient information while taking into account the user's emotional state, and can improve the user's cooking experience and psychological satisfaction.

[0469] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0470] Step 1:

[0471] The user inputs information about the food ingredients they have on hand. The user opens the application on their smartphone and enters the food ingredients they have (e.g., chicken, mayonnaise, lettuce) into the input form. The application also captures a facial image using the camera and obtains their emotional state.

[0472] Step 2:

[0473] The terminal receives the entered food ingredient information and facial image. The received food ingredient information is converted to JSON format to create input data like the following:

[0474] json

[0475] {

[0476] "ingredients": ["chicken", "mayonnaise", "lettuce"],

[0477] "user_emotion": "happy"

[0478] }

[0479] The facial image is sent to the emotion recognition engine.

[0480] Step 3:

[0481] The device uses an emotion recognition engine to analyze the user's emotional state. This analysis recognizes the emotional state as "happy," and this information is used in other steps described later.

[0482] Step 4:

[0483] The terminal sends data in JSON format to the server. The server receives this data and prepares to perform the following processing.

[0484] Step 5:

[0485] The server searches the recipe database based on food ingredient information and emotional state. It searches for matching recipes based on food ingredient information and prioritizes the most suitable recipe based on emotional state. For example, based on "chicken, mayonnaise, lettuce" and "happy," it searches for the recipe for "Chicken Salad to Liven Up the Party Mood."

[0486] Step 6:

[0487] The server generates the extracted recipes as response data in JSON format. The generated data will be in the following format:

[0488] json

[0489] {

[0490] "suggested_recipes": ["Chicken salad to liven up the party atmosphere"]

[0491] }

[0492] This data will be sent to the device.

[0493] Step 7:

[0494] The terminal receives response data from the server and presents it to the user. Specifically, the suggested recipe is displayed on the application screen. The user can view the recipe information in a visually easy-to-understand format.

[0495] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0496] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0497] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.

[0498] [Second Embodiment]

[0499] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0500] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0501] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0502] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.

[0503] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0504] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0505] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0506] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0507] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0508] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0509] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0510] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0511] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[0512] User actions

[0513] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[0514] Terminal operation

[0515] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[0516] json

[0517] {

[0518] "ingredients": ["egg", "milk", "salt", "pepper"]

[0519] }

[0520] Server operation

[0521] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[0522] Recipe Search

[0523] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match. The server's processing logic is as follows:

[0524] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[0525] Add recipes that meet the criteria to the list.

[0526] Generating search results

[0527] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[0528] json

[0529] {

[0530] "suggested_recipes": ["Omelet"]

[0531] }

[0532] Terminal display

[0533] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then review the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[0534] Specific example

[0535] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[0536] Received "eggs", "milk", "salt", and "pepper".

[0537] Search the recipe database and find an omelet recipe that matches all the criteria.

[0538] A JSON response containing search results for "omelet" is returned.

[0539] The device displays "Omelet" to the user.

[0540] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[0541] The following describes the processing flow.

[0542] Step 1:

[0543] The user accesses a web application and enters a list of ingredients in their refrigerator (for example, "eggs," "milk," "salt," and "pepper") into a form. The data is submitted when the user clicks the submit button.

[0544] Step 2:

[0545] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[0546] json

[0547] {

[0548] "ingredients": ["egg", "milk", "salt", "pepper"]

[0549] }

[0550] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[0551] Step 3:

[0552] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients field. This parsing yields a list of ingredients (e.g., "eggs", "milk", "salt", "pepper").

[0553] Step 4:

[0554] The server searches the recipe database based on the ingredient list. The server checks if the necessary ingredients for each recipe (e.g., "Omelet" requires "Eggs," "Milk," "Salt," and "Pepper") are included in the ingredient list. This process is performed for all recipes, and matching entries are listed.

[0555] Step 5:

[0556] The server lists matching recipes and generates response data in JSON format. For example, it generates response data like this:

[0557] json

[0558] {

[0559] "suggested_recipes": ["Omelet"]

[0560] }

[0561] The server sends this data back to the terminal.

[0562] Step 6:

[0563] The terminal receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "omelet" is displayed on the web page as a "suggested recipe."

[0564] Step 7:

[0565] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[0566] (Example 1)

[0567] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0568] In modern households, food waste is a serious problem, as ingredients in refrigerators are often wasted because they cannot be used up. Furthermore, finding suitable recipes based on the ingredients available is difficult when deciding on daily meal menus. There is a growing need for a system that allows users to easily input the ingredients they have on hand and quickly suggests appropriate recipes.

[0569] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0570] In this invention, the server includes means for the user to input information about the ingredients they have on hand; means for receiving the inputted ingredient information; means for searching a database based on the received ingredient information and extracting matching recipes; means for presenting the extracted recipes to the user; means for converting the inputted ingredient information into a data format and sending it to an API endpoint; means for analyzing the transmitted data and extracting an ingredient list; means for searching for recipes based on the ingredient list and listing the matching recipes; means for returning the listed recipes to the terminal in data format; and means for analyzing the returned data and displaying it to the user. This makes it possible for the user to easily input the ingredients they have on hand and be quickly offered appropriate recipes based on that information. This reduces food waste and significantly reduces the effort required to choose daily menus.

[0571] A "user" is a person who uses the system to input ingredient information and check the suggested recipes.

[0572] "Means" refers to the method or process used by a system to perform a particular function or task.

[0573] "Means of input" refers to the methods or tools that users use to input information about the ingredients they have on hand into the system.

[0574] "Means of receiving" refers to the methods and processes by which the system receives ingredient information entered by the user.

[0575] "Data format" refers to the method by which information or data is organized, stored, or transmitted according to a specific format or structure.

[0576] An "API endpoint" is an interface that allows external systems or applications to access specific functions or data.

[0577] A "database" is a collection of data organized for a specific purpose, and a system for efficiently searching and managing that data.

[0578] A "food ingredient list" is data that shows a list of ingredients the user has on hand, as entered by the user.

[0579] A "recipe" is information about the ingredients and steps required to make a specific dish.

[0580] "Listing" means organizing multiple items into a single list based on specific criteria.

[0581] "Analysis" is the process of breaking down data to understand its content and structure.

[0582] "Means of display" refers to methods and processes for visually presenting analyzed data and information to the user.

[0583] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[0584] User actions

[0585] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[0586] Terminal operation

[0587] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. The request includes JSON data such as the following:

[0588] json

[0589] {

[0590] "ingredients": ["egg", "milk", "salt", "pepper"]

[0591] }

[0592] Server operation

[0593] The server receives this request using a web application framework. In this example, the Flask framework is used. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[0594] Recipe Search

[0595] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" contains the ingredients ["eggs", "milk", "salt", "pepper"], so this recipe is extracted as a match. The server performs the search based on the following logic:

[0596] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[0597] Add recipes that meet the criteria to the list.

[0598] Generating search results

[0599] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[0600] json

[0601] {

[0602] "suggested_recipes": ["Omelet"]

[0603] }

[0604] Terminal display

[0605] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then review the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[0606] Specific example

[0607] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[0608] The server receives "eggs," "milk," "salt," and "pepper."

[0609] The recipe database is searched, and an "omelet" recipe matches all the criteria.

[0610] A JSON response containing the search results for "omelet" will be returned.

[0611] The device displays "Omelet" to the user.

[0612] Example of a prompt

[0613] If you input the following, the generative AI model will return a suggested recipe:

[0614] Please share a recipe using the following ingredients I have in my refrigerator: "eggs," "milk," "salt," and "pepper."

[0615] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[0616] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0617] Step 1:

[0618] The user accesses a dedicated web application using their own device (PC or smartphone). The user enters information about the food items in their refrigerator into a web form and clicks the "Submit" button.

[0619] Input: Information about the ingredients in your refrigerator (e.g., "eggs", "milk", "salt", "pepper")

[0620] Output: Enter ingredient information into the form and submit it (for data processing in the next step).

[0621] Step 2:

[0622] The device converts the ingredient information submitted by the user into JSON format. Specifically, it uses JavaScript to retrieve the ingredient information and converts it into JSON format.

[0623] Input: Ingredient information entered by the user in the form.

[0624] Data processing: Convert to JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[0625] Output: Ingredient information in JSON format

[0626] Step 3:

[0627] The device sends the ingredient information, converted to JSON format, as a POST request to the API endpoint / suggest_recipes.

[0628] Input: Ingredient information in JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[0629] Data transmission: Send to API endpoint

[0630] Output: POST request to send to the server

[0631] Step 4:

[0632] The server receives POST requests sent to the API endpoint / suggest_recipes. Using the Flask framework, it initiates processing when a request arrives at the endpoint.

[0633] Input: POST request from terminal

[0634] Data reception: Uses the Flask framework.

[0635] Output: Received JSON data

[0636] Step 5:

[0637] The server parses the received JSON data and extracts the ingredient list from the "ingredients" field. This parsing process is typically performed using Python's standard libraries.

[0638] Input: Received JSON data (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[0639] Data analysis: Extracting a list of ingredients from JSON data (e.g., ["eggs", "milk", "salt", "pepper"])

[0640] Output: Extracted ingredient list

[0641] Step 6:

[0642] The server searches the recipe database based on the extracted ingredient list. The search process retrieves each recipe from the database and verifies that all the necessary ingredients are included in the ingredient list.

[0643] Input: Extracted list of ingredients (e.g., ["eggs", "milk", "salt", "pepper"])

[0644] Data search and calculation: Search the recipe database and extract the relevant recipes.

[0645] Output: A list of matching recipes (e.g., ["Omelet"])

[0646] Step 7:

[0647] The server lists matching recipes as search results and generates this as a JSON response. The JSON response is formatted to be displayed appropriately for the user.

[0648] Input: A list of matching recipes (e.g., ["Omelet"])

[0649] Data generation: Format search results as a JSON response (e.g., {"suggested_recipes": ["Omelet"]})

[0650] Output: Formatted JSON response

[0651] Step 8:

[0652] The terminal parses the JSON response received from the server and displays it on the web screen as a "suggested recipe." The user can then review the suggested recipe on this screen and actually cook it.

[0653] Input: JSON response from the server (e.g., {"suggested_recipes": ["Omelet"]})

[0654] Data Analysis: Parsing JSON responses and updating the DOM

[0655] Output: Suggested recipes to display on the web page (e.g., "Omelet")

[0656] Each step works in conjunction with the user, terminal, and server to enable users to easily receive appropriate recipe suggestions.

[0657] (Application Example 1)

[0658] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0659] Many modern households are looking to efficiently use the ingredients in their refrigerators, reduce waste, and easily decide on menus. However, simply inputting information about the ingredients they have on hand and receiving suggested recipes doesn't make it easy to quickly procure any missing ingredients. To solve this problem, there is a need for a system that not only suggests recipes based on the user's ingredient information but also automatically identifies missing ingredients and procures them through delivery services.

[0660] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0661] In this invention, the server includes means for the user to input information about the ingredients they have on hand, means for receiving the inputted ingredient information, means for searching a predetermined recipe database based on the received ingredient information and extracting matching recipes, means for identifying missing ingredients based on the extracted recipes, and means for requesting a delivery service to order the identified missing ingredients. This enables efficient menu suggestions based on the ingredients the user has on hand and prompt delivery requests for missing ingredients.

[0662] "Currently owned food information" refers to information about the food items the user currently possesses, and is a list of food items stored in the refrigerator or pantry.

[0663] "Means of receiving data" refers to devices or software that have the function of receiving data input from a user and analyzing it.

[0664] A "recipe database" is a database containing numerous recipes, each listing the necessary ingredients and cooking methods.

[0665] "Means for extracting matching recipes" refers to devices or software that have the function of comparing received ingredient information with the contents of a recipe database to find and retrieve matching recipes.

[0666] "Means for identifying missing ingredients" refers to devices or software that have the function of checking all the ingredients required for an extracted recipe and identifying the missing ingredients that the user does not have.

[0667] "Means of requesting delivery services" refers to devices or software that have the function of sending a request to a delivery service to order specific missing ingredients.

[0668] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight format for structuring and representing data.

[0669] "Methods for searching and verifying" refer to devices or software that have the function of comparing each recipe in a recipe database with the ingredient information entered by the user to check if there are any matches.

[0670] "Means for presenting extracted recipes" refers to devices or software that have the functionality to visually display matching recipes to the user or to allow the user to confirm them.

[0671] This invention provides a software system that operates in conjunction with the user, terminal, and server. This system enhances convenience by allowing the user to input information about the ingredients they have at home, suggesting appropriate recipes based on that information, and automatically ordering any missing ingredients from a delivery service.

[0672] System Configuration

[0673] User actions

[0674] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[0675] Terminal operation

[0676] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[0677] json

[0678] {

[0679] "ingredients": ["egg", "milk", "salt", "pepper"]

[0680] }

[0681] Server operation

[0682] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[0683] Recipe Search

[0684] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[0685] Identifying missing ingredients and arranging delivery.

[0686] The server identifies any missing ingredients the user is missing based on the extracted recipe. Using this information, it generates a request to place an order with a delivery service. A specific example would be using a delivery API such as Uber Eats.

[0687] Terminal display

[0688] The terminal parses the JSON data received from the server and displays it to the user on a web screen as a "suggested recipe." The user can then check the suggested recipe and any missing ingredients on the screen and proceed with ordering those ingredients from a delivery service.

[0689] Specific example

[0690] Assume the user has "eggs," "milk," "salt," and "pepper" in their refrigerator. Proceed as follows:

[0691] 1. The user enters and submits these ingredients.

[0692] 2. The server searches the recipe database and determines that the "omelet" recipe matches all the conditions.

[0693] 3. Based on the "omelet" recipe, identify, for example, that "butter" is missing.

[0694] 4. The server uses the delivery API to send an order request for "butter".

[0695] Examples of prompts for generative AI models

[0696] By inputting prompts like the following into the AI ​​model, it automatically identifies missing ingredients and generates an order request.

[0697] "

[0698] The user entered the following ingredient information: "Eggs", "Milk", "Salt", "Pepper"

[0699] Based on this information, identify the additional ingredients needed for the suggested "omelet" recipe and generate a request to order those ingredients from a delivery service.

[0700] "

[0701] This system allows users to easily decide on their daily menus, prevent food waste, and quickly procure additional ingredients. It is expected that this invention will greatly improve user convenience and increase the efficiency of food management in households.

[0702] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0703] Step 1:

[0704] The user enters information about the ingredients.

[0705] Specific operation: The user accesses a web application and enters the ingredients in their refrigerator into a web form. In the example, the user enters "eggs," "milk," "salt," and "pepper."

[0706] Input: Ingredient information entered by the user.

[0707] Output: The ingredient information entered in the form will be displayed in the web browser.

[0708] Step 2:

[0709] The device receives the ingredient information and converts it to JSON format.

[0710] Specific operation: The device (user's PC or smartphone) converts the entered ingredient information into JSON format.

[0711] json

[0712] {

[0713] "ingredients": ["egg", "milk", "salt", "pepper"]

[0714] }

[0715] Input: Ingredient information entered in the web form.

[0716] Output: Ingredient information in JSON format.

[0717] Step 3:

[0718] The device sends JSON data as a POST request to the server's API endpoint.

[0719] Specific action: The terminal sends the JSON data as a POST request to the / suggest_recipes endpoint.

[0720] Input: Ingredient information in JSON format.

[0721] Output: POST request sent to the server.

[0722] Step 4:

[0723] The server receives the POST request and parses the JSON data.

[0724] Specific operation: The server uses the Flask framework to receive the POST request, parse the JSON data, and extract the ingredient list from the "ingredients" field.

[0725] Input: JSON data sent as a POST request.

[0726] Output: List of extracted ingredients.

[0727] Step 5:

[0728] The server searches the recipe database and extracts matching recipes.

[0729] Specific operation: The server searches the recipe database using the extracted ingredient list and extracts matching recipes. For example, the 'omelet' recipe requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[0730] Input: Extracted list of ingredients.

[0731] Output: Matching recipes.

[0732] Step 6:

[0733] The server identifies missing ingredients based on the extracted recipe.

[0734] Specific operation: The server checks the list of all ingredients required for the extracted recipe and identifies any missing ingredients the user does not have. For example, "butter" may be missing.

[0735] Input: Matching recipes and a list of ingredients the user possesses.

[0736] Output: List of missing ingredients.

[0737] Step 7:

[0738] The server sends an order request for missing ingredients to the delivery service's API.

[0739] Specific operation: The server generates and sends an order request using the API of a delivery service (e.g., Uber Eats) based on the list of missing ingredients.

[0740] Input: List of missing ingredients.

[0741] Output: Order request sent to the delivery service.

[0742] Step 8:

[0743] The terminal displays information about missing ingredients and suggested recipes received from the server to the user.

[0744] Specific operation: The terminal parses the JSON data received from the server and displays the "suggested recipe" and "missing ingredients" to the user on the web screen.

[0745] Input: JSON data containing information on missing ingredients and suggested recipes received from the server.

[0746] Output: Suggested recipes and missing ingredient information displayed on the user's web screen.

[0747] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0748] This invention combines a system that suggests recipes based on the user's available ingredients with an emotion engine that recognizes the user's emotions. The specific processing flow and details of this system are described below.

[0749] User actions

[0750] First, the user accesses a web application and enters a list of ingredients in their refrigerator. Along with the entered ingredient list (for example, "eggs," "milk," "salt," and "pepper"), the user's face is captured by a camera, and emotion recognition is performed. When the user clicks the submit button, this information is sent to the server.

[0751] Terminal operation

[0752] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[0753] json

[0754] {

[0755] "ingredients": ["egg", "milk", "salt", "pepper"],

[0756] "user_emotion": "happy"

[0757] }

[0758] This JSON data is sent as a POST request to the API endpoint / suggest_recipes.

[0759] Server operation

[0760] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients and user_emotion fields. This retrieves the list of ingredients and the user's emotional state.

[0761] Recipe search and emotion recognition

[0762] The server first searches the recipe database based on the ingredient list. Then, based on the user's emotional state (e.g., "happy") analyzed by the emotion engine, a suitable recipe is selected. The emotion engine prioritizes suggesting recipes that correspond to specific emotional states, such as recipes for relaxation or recipes for boosting energy.

[0763] For example, if a user is in a "happy" emotional state, the server will select and suggest a recipe that will further enhance the user's emotions (for instance, "a party omelet recipe").

[0764] Generating search results

[0765] The server lists recipes selected based on ingredients and emotions, and generates response data in JSON format. For example, it generates response data like the following:

[0766] json

[0767] {

[0768] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[0769] }

[0770] The server sends this data back to the terminal.

[0771] Terminal display

[0772] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, a suggested recipe, "Omelet to liven up the party mood," is displayed on the web page.

[0773] Specific example

[0774] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." Furthermore, let's assume the user is in a "happy" emotional state. In this case, when the user enters these ingredients and submits them, the following process occurs on the server side:

[0775] Received "eggs", "milk", "salt", and "pepper".

[0776] Search the recipe database and find an omelet recipe that matches all the criteria.

[0777] The emotion engine detects the user's emotional state, "happy," and selects an "omelet recipe to liven up the party mood" accordingly.

[0778] A JSON response containing the search results is sent back to the device.

[0779] The device displays "Omelet to liven up the party mood" to the user.

[0780] This system allows users to easily decide on their daily menus, preventing food waste, and providing them with recipes tailored to their emotional state, leading to a more satisfying eating experience.

[0781] The following describes the processing flow.

[0782] Step 1:

[0783] The user accesses a web application and enters a list of ingredients in their refrigerator into a form. They enter ingredients such as "eggs," "milk," "salt," and "pepper" into the input fields and click the submit button. The user's face is captured by a camera, and an emotion recognition program analyzes the user's emotions.

[0784] Step 2:

[0785] The terminal receives the ingredient list entered by the user and emotion data (e.g., "happy") analyzed by the emotion recognition program, and converts this data into JSON format. The JSON data will look like this:

[0786] json

[0787] {

[0788] "ingredients": ["egg", "milk", "salt", "pepper"],

[0789] "user_emotion": "happy"

[0790] }

[0791] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[0792] Step 3:

[0793] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients and user_emotion fields. This retrieves the list of ingredients and the user's emotional state.

[0794] Step 4:

[0795] The server searches the recipe database based on the extracted ingredient list. For each recipe in the recipe database, it checks if all the necessary ingredients are included in the ingredient list. For example, if the "omelet" recipe requires "eggs," "milk," "salt," and "pepper," then this recipe is extracted as a match because all of these ingredients are included in the list.

[0796] Step 5:

[0797] The server uses the emotion engine to parse the `user_emotion` field in the JSON data. In this example, since it contains "user_emotion": "happy", the server recognizes the user's emotion as "happy".

[0798] Step 6:

[0799] Based on the user's emotional state ("happy") analyzed by the emotion engine, the system selects recipes from the recipe database that are appropriate for the user's emotions. For example, if the emotion is "happy," recipes suitable for parties and celebrations (e.g., "Omelet to liven up the party mood") will be prioritized.

[0800] Step 7:

[0801] The server lists recipes selected based on ingredients and emotional state, and generates response data in JSON format. This response data will look like this:

[0802] json

[0803] {

[0804] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[0805] }

[0806] The server sends this data back to the terminal.

[0807] Step 8:

[0808] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "Omelet to liven up the party mood" is displayed on the web page as a "suggested recipe."

[0809] Step 9:

[0810] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[0811] (Example 2)

[0812] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0813] In today's busy lifestyle, it is difficult for users to efficiently use the ingredients they have at home and find recipes that suit their current emotional state. Furthermore, there is a need to improve meal satisfaction and happiness by suggesting recipes that respond to emotions. Traditional recipe suggestion systems focus on managing ingredient information and do not consider the user's emotional state, thus failing to enhance user psychological satisfaction.

[0814] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for recognizing the user's emotional state, means for converting the received ingredient information and the recognized emotional state into JSON format, and means for sending the converted JSON data to the API endpoint. This makes it possible to search for and suggest an appropriate recipe based on the user's available ingredient information and emotional state. By suggesting recipes that correspond to the user's emotional state, it is possible to improve the satisfaction and happiness of the meal.

[0815] 1. "Means for recognizing a user's emotional state" refers to a combination of hardware and software for identifying a user's emotions, and is a technology that analyzes emotions from the user's facial expressions and tone of voice using input devices such as cameras and microphones.

[0816] 2. "Means for converting received food ingredient information and recognized emotional states into JSON format" refers to a software process for converting the food ingredient list and emotional data provided by the user into JSON format in order to save and transmit them in a unified format.

[0817] 3. "Means for sending the converted JSON data to the API endpoint" refers to a program or module that sends the generated JSON data to a specific server via the internet, and is a technology that uses HTTP requests to POST the data.

[0818] 4. "Means for searching a recipe database based on ingredient information and emotional state to extract matching recipes" refers to a software algorithm that searches a pre-built recipe database based on the received ingredient list and emotional data to find the relevant recipes.

[0819] 5. "A means of selecting recipes based on the user's emotional state using an emotion engine" refers to a system that analyzes the user's emotional state and prioritizes selecting the most suitable recipe based on the results. The emotion engine is built on machine learning models and expert knowledge.

[0820] 6. "Means for visually presenting extracted recipes to the user" refers to GUI (Graphical User Interface) technology that displays selected recipes on the user's screen in the form of text, images, etc., so that the user can easily understand them.

[0821] This invention is a system in which a user inputs information about the ingredients they have on hand, and the system suggests recipes based on that information and the user's emotional state. Specific embodiments of this system are described in detail below.

[0822] System Configuration

[0823] This system consists of a terminal that users access, a server that processes and stores data, and an emotion engine that analyzes users' emotions.

[0824] Hardware and software usage

[0825] 1. Terminal

[0826] The terminal provides an interface for the user to input a list of ingredients. The terminal can be a PC, smartphone, or tablet.

[0827] The device uses input devices such as a camera and microphone to capture the user's face and voice. This collects information for emotion recognition.

[0828] 2. Server

[0829] The server receives, parses, and generates responses to data. The server consists of a database server, a web server, and an API server.

[0830] The server parses the JSON data sent by the user and searches the recipe database.

[0831] The server works in conjunction with the emotion engine to select a recipe that is appropriate for the user's emotional state.

[0832] 3. Emotional Engine

[0833] An emotion engine is a software module that analyzes a user's facial expressions and voice to identify their emotional state (e.g., happy, sad, angry). Emotion engines utilize machine learning models and artificial intelligence technologies.

[0834] Specific example

[0835] As a concrete example, let's consider a scenario where a user has the following ingredients in their refrigerator at home: "eggs," "milk," "salt," and "pepper," and is currently in a "happy" emotional state. When the user accesses the web application, enters this ingredient information, and clicks the submit button, the following process is executed.

[0836] 1. User actions

[0837] The user enters "egg," "milk," "salt," and "pepper" into the input form of the web application.

[0838] When the user clicks the send button, the device's camera activates to capture the user's face, and the emotional state "happy" is recognized.

[0839] 2. Sending data

[0840] The device converts the entered ingredient list and emotion status into JSON format and sends a POST request to the API endpoint / suggest_recipes.

[0841] 3. Server processing

[0842] The server receives the POST request and parses the JSON data.

[0843] The server searches the recipe database and finds recipes that use "eggs," "milk," "salt," and "pepper."

[0844] The server uses an emotion engine to select a recipe suitable for the "happy" emotional state. In this case, "Omelet to liven up the party mood" is selected.

[0845] 4. Generating a response

[0846] The server generates response data in JSON format containing the selected recipe and sends it back to the terminal.

[0847] 5. Display on the device

[0848] The device receives the response data and visually displays a recipe for "Omelet to liven up the party mood."

[0849] Examples of prompts for generative AI models

[0850] Below are examples of prompts to input into a generative AI model:

[0851] Please suggest a recipe using eggs, milk, salt, and pepper that I have in my refrigerator. Also, since I'm feeling happy, I'd like a recipe that will create a party atmosphere.

[0852] The above describes the specific form of implementing the invention. This system allows users to make the most of their available ingredients and enjoy meals that suit their mood.

[0853] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0854] Step 1: The user enters the ingredient information.

[0855] Input: The user enters "egg", "milk", "salt", and "pepper" into the input form of the web application.

[0856] Specific action: The user opens a web page and enters ingredient information into a text box.

[0857] Output: The ingredient information will be entered into the web form.

[0858] Step 2: The user clicks the submit button.

[0859] Input: After the user enters the ingredient information, they click the submit button.

[0860] Specific action: The user clicks the submit button in the browser.

[0861] Output: When the send button is clicked, the device's camera activates along with the entered ingredient information, and the user's face is captured.

[0862] Step 3: The device captures the user's face and recognizes their emotions.

[0863] Input: The send button is clicked and the camera is activated.

[0864] Specific operation: The device's camera captures the user's face. This image data is sent to the emotion engine.

[0865] Output: The emotion engine processes the image data and recognizes the user's emotional state (e.g., "happy").

[0866] Step 4: The device converts the input data and sentiment data into JSON format.

[0867] Input: Ingredient information and user's emotional state.

[0868] Specific operation: The terminal converts the input food information and recognized emotional state into a single JSON object.

[0869] Output: The following JSON data will be generated:

[0870] json

[0871] {

[0872] "ingredients": ["egg", "milk", "salt", "pepper"],

[0873] "user_emotion": "happy"

[0874] }

[0875] Step 5: The device sends JSON data to the server.

[0876] Input: Generated JSON data.

[0877] Specific operation: The device sends data in JSON format to the API endpoint / suggest_recipes via an HTTP POST request.

[0878] Output: JSON data is sent to the server.

[0879] Step 6: The server receives the POST request and parses the JSON data.

[0880] Input: JSON data sent to the server.

[0881] Specific operation: The server receives a POST request at the API endpoint, extracts JSON data from the request body, and parses it. Through the parsing, it extracts the ingredient list and the user's emotional state.

[0882] Output: The ingredient list and emotional state data will become available on the server.

[0883] Step 7: The server searches the recipe database.

[0884] Input: List of analyzed ingredients.

[0885] Specific operation: The server executes a database query to search for recipes that match the entered list of ingredients.

[0886] Output: Matching recipes are extracted based on the ingredient list.

[0887] Step 8: Select recipes using the emotion engine.

[0888] Input: Extracted candidate recipes and the user's emotional state.

[0889] Specific operation: The server uses an emotion engine to select a suitable recipe based on the user's emotional state. For example, if the emotional state is "happy," the "Omelet to liven up the party mood" will be selected.

[0890] Output: A recipe is selected based on the emotional state.

[0891] Step 9: The server generates response data and sends it back to the terminal.

[0892] Input: Selected recipe.

[0893] Specific operation: The server generates response data in JSON format containing the selected recipe and sends it back to the terminal as an HTTP response.

[0894] Output: The following response data is sent back to the terminal:

[0895] json

[0896] {

[0897] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[0898] }

[0899] Step 10: The terminal receives the response data and displays it to the user.

[0900] Input: Response data returned from the server.

[0901] Specific operation: The device analyzes the response data and visually displays the suggested recipe on the web page.

[0902] Output: Users will be able to view the recipe for "Omelet to liven up the party mood" on the page.

[0903] (Application Example 2)

[0904] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0905] Traditional recipe suggestion systems often fail to consider the user's emotional state, making it difficult to improve user satisfaction and experience. Furthermore, relying solely on available ingredients can lead to problems such as suggesting recipes that are lacking certain ingredients or that don't suit the user's mood.

[0906] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input information on food ingredients they have on hand, means for receiving the input food ingredient information, means for searching a predetermined recipe database based on the received food ingredient information and the user's emotional state to extract matching recipes, means for presenting the extracted recipes to the user, means for capturing the user's facial image to recognize their emotions, and means for transmitting the food ingredient information and emotional information in JSON format. This makes it possible to suggest recipes that are suitable for the user's emotional state, thereby improving the user's cooking experience and satisfaction.

[0907] "Information on available food ingredients" refers to information about the types and quantities of food items that the user currently possesses.

[0908] A "face image" is image data of a user's face.

[0909] "Emotional state" refers to information that indicates the user's current psychological state, obtained by analyzing their facial image.

[0910] A "recipe database" is a collection of information that gathers recipe information, including cooking methods, ingredients, and dish names.

[0911] "Extraction" refers to the act of selecting an appropriate recipe from a recipe database based on the received food ingredient information and emotional state.

[0912] "To present" means to display or notify a user of a recipe that has been selected visually or audibly.

[0913] "JSON format" is an abbreviation for JavaScript Object Notation, and is a type of lightweight data exchange format.

[0914] "Sending" refers to the act of sending data from a user's device to a server.

[0915] "Receiving" refers to the act of a server or terminal receiving data via a network.

[0916] "Capturing" refers to the act of acquiring data such as images using a camera or sensor.

[0917] The "recommendation system" is a system that performs a series of processes in which the user inputs information about the food ingredients they have and their emotional state, and then suggests the most suitable recipe.

[0918] This invention is a system that suggests the optimal recipe based on the user's available food ingredient information and emotional state. Specific embodiments for carrying out this invention are described below.

[0919] System Configuration

[0920] This system mainly consists of the following components:

[0921] 1. User Interface: This is the means by which the user inputs information about the food ingredients they have and their emotional state. Here, the smartphone camera and input form are used.

[0922] 2. Emotion Recognition Engine: This is software that analyzes the user's facial image and recognizes their emotional state. Common emotion recognition engines such as the Google Cloud Vision API are used.

[0923] 3. Recipe Database: This is a database for searching recipes based on food ingredient information and emotional state. PostgreSQL is a suitable general-purpose database management system (DBMS).

[0924] 4. Server-side: This is the backend system for receiving and processing requests. It will be built using Node.js and Express.

[0925] Program Processing Overview

[0926] User actions

[0927] The user performs the following actions using their smartphone:

[0928] Enter the food ingredients you have on hand. Alternatively, you can simplify the input process by scanning the barcodes on the food items.

[0929] A smartphone camera is used to capture facial images and obtain image data to understand emotional states.

[0930] Server-side processing

[0931] The following processes are performed on the server side:

[0932] Converts food ingredient information received from the user into JSON format.

[0933] The system analyzes facial images acquired by an emotion recognition engine to recognize the user's emotional state.

[0934] The system searches a recipe database based on food ingredient information and emotional state, and extracts the most suitable recipe.

[0935] To present the extracted recipes to the user, response data is generated in JSON format and sent to the user's smartphone.

[0936] Specific example

[0937] For example, suppose a user enters "chicken, mayonnaise, lettuce" as the items in their refrigerator and captures a facial image with their smartphone camera. If the emotion recognition engine recognizes the emotional state as "happy," the following processing will occur on the server side:

[0938] The food ingredient information is converted to JSON format, and the emotional state is recognized as "happy."

[0939] Search the recipe database and extract recipes for "Chicken Salad to Liven Up a Party" using "Chicken, Mayonnaise, and Lettuce".

[0940] The extracted recipes are generated as a response in JSON format and presented to the user.

[0941] Example of a prompt

[0942] Use the following prompts to input into the emotion recognition engine:

[0943] "Assuming the available ingredients are 'chicken, mayonnaise, and lettuce,' and the emotional state is 'happy,' please suggest the best recipe."

[0944] As described above, the present invention is a system that proposes the optimal recipe based on the user's available food ingredient information while taking into account the user's emotional state, and can improve the user's cooking experience and psychological satisfaction.

[0945] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0946] Step 1:

[0947] The user inputs information about the food ingredients they have on hand. The user opens the application on their smartphone and enters the food ingredients they have (e.g., chicken, mayonnaise, lettuce) into the input form. The application also captures a facial image using the camera and obtains their emotional state.

[0948] Step 2:

[0949] The terminal receives the entered food ingredient information and facial image. The received food ingredient information is converted to JSON format to create input data like the following:

[0950] json

[0951] {

[0952] "ingredients": ["chicken", "mayonnaise", "lettuce"],

[0953] "user_emotion": "happy"

[0954] }

[0955] The facial image is sent to the emotion recognition engine.

[0956] Step 3:

[0957] The device uses an emotion recognition engine to analyze the user's emotional state. This analysis recognizes the emotional state as "happy," and this information is used in other steps described later.

[0958] Step 4:

[0959] The terminal sends data in JSON format to the server. The server receives this data and prepares to perform the following processing.

[0960] Step 5:

[0961] The server searches the recipe database based on food ingredient information and emotional state. It searches for matching recipes based on food ingredient information and prioritizes the most suitable recipe based on emotional state. For example, based on "chicken, mayonnaise, lettuce" and "happy," it searches for the recipe for "Chicken Salad to Liven Up the Party Mood."

[0962] Step 6:

[0963] The server generates the extracted recipes as response data in JSON format. The generated data will be in the following format:

[0964] json

[0965] {

[0966] "suggested_recipes": ["Chicken salad to liven up the party atmosphere"]

[0967] }

[0968] This data will be sent to the device.

[0969] Step 7:

[0970] The terminal receives response data from the server and presents it to the user. Specifically, the suggested recipe is displayed on the application screen. The user can view the recipe information in a visually easy-to-understand format.

[0971] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0972] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0973] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.

[0974] [Third Embodiment]

[0975] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0976] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0977] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0978] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.

[0979] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0980] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0981] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0982] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0983] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0984] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0985] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0986] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0987] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[0988] User actions

[0989] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[0990] Terminal operation

[0991] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[0992] json

[0993] {

[0994] "ingredients": ["egg", "milk", "salt", "pepper"]

[0995] }

[0996] Server operation

[0997] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[0998] Recipe Search

[0999] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match. The server's processing logic is as follows:

[1000] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[1001] Add recipes that meet the criteria to the list.

[1002] Generating search results

[1003] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[1004] json

[1005] {

[1006] "suggested_recipes": ["Omelet"]

[1007] }

[1008] Terminal display

[1009] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then review the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[1010] Specific example

[1011] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[1012] Received "eggs", "milk", "salt", and "pepper".

[1013] Search the recipe database and find an omelet recipe that matches all the criteria.

[1014] A JSON response containing search results for "omelet" is returned.

[1015] The device displays "Omelet" to the user.

[1016] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[1017] The following describes the processing flow.

[1018] Step 1:

[1019] The user accesses a web application and enters a list of ingredients in their refrigerator (for example, "eggs," "milk," "salt," and "pepper") into a form. The data is submitted when the user clicks the submit button.

[1020] Step 2:

[1021] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[1022] json

[1023] {

[1024] "ingredients": ["egg", "milk", "salt", "pepper"]

[1025] }

[1026] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[1027] Step 3:

[1028] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients field. This parsing yields a list of ingredients (e.g., "eggs", "milk", "salt", "pepper").

[1029] Step 4:

[1030] The server searches the recipe database based on the ingredient list. The server checks if the necessary ingredients for each recipe (e.g., "Omelet" requires "Eggs," "Milk," "Salt," and "Pepper") are included in the ingredient list. This process is performed for all recipes, and matching entries are listed.

[1031] Step 5:

[1032] The server lists matching recipes and generates response data in JSON format. For example, it generates response data like this:

[1033] json

[1034] {

[1035] "suggested_recipes": ["Omelet"]

[1036] }

[1037] The server sends this data back to the terminal.

[1038] Step 6:

[1039] The terminal receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "omelet" is displayed on the web page as a "suggested recipe."

[1040] Step 7:

[1041] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[1042] (Example 1)

[1043] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1044] In modern households, food waste is a serious problem, as ingredients in refrigerators are often wasted because they cannot be used up. Furthermore, finding suitable recipes based on the ingredients available is difficult when deciding on daily meal menus. There is a growing need for a system that allows users to easily input the ingredients they have on hand and quickly suggests appropriate recipes.

[1045] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[1046] In this invention, the server includes means for the user to input information about the ingredients they have on hand; means for receiving the inputted ingredient information; means for searching a database based on the received ingredient information and extracting matching recipes; means for presenting the extracted recipes to the user; means for converting the inputted ingredient information into a data format and sending it to an API endpoint; means for analyzing the transmitted data and extracting an ingredient list; means for searching for recipes based on the ingredient list and listing the matching recipes; means for returning the listed recipes to the terminal in data format; and means for analyzing the returned data and displaying it to the user. This makes it possible for the user to easily input the ingredients they have on hand and be quickly offered appropriate recipes based on that information. This reduces food waste and significantly reduces the effort required to choose daily menus.

[1047] A "user" is a person who uses the system to input ingredient information and check the suggested recipes.

[1048] "Means" refers to the method or process used by a system to perform a particular function or task.

[1049] "Means of input" refers to the methods or tools that users use to input information about the ingredients they have on hand into the system.

[1050] "Means of receiving" refers to the methods and processes by which the system receives ingredient information entered by the user.

[1051] "Data format" refers to the method by which information or data is organized, stored, or transmitted according to a specific format or structure.

[1052] An "API endpoint" is an interface that allows external systems or applications to access specific functions or data.

[1053] A "database" is a collection of data organized for a specific purpose, and a system for efficiently searching and managing that data.

[1054] A "food ingredient list" is data that shows a list of ingredients the user has on hand, as entered by the user.

[1055] A "recipe" is information about the ingredients and steps required to make a specific dish.

[1056] "Listing" means organizing multiple items into a single list based on specific criteria.

[1057] "Analysis" is the process of breaking down data to understand its content and structure.

[1058] "Means of display" refers to methods and processes for visually presenting analyzed data and information to the user.

[1059] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[1060] User actions

[1061] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[1062] Terminal operation

[1063] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. The request includes JSON data such as the following:

[1064] json

[1065] {

[1066] "ingredients": ["egg", "milk", "salt", "pepper"]

[1067] }

[1068] Server operation

[1069] The server receives this request using a web application framework. In this example, the Flask framework is used. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[1070] Recipe Search

[1071] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" contains the ingredients ["eggs", "milk", "salt", "pepper"], so this recipe is extracted as a match. The server performs the search based on the following logic:

[1072] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[1073] Add recipes that meet the criteria to the list.

[1074] Generating search results

[1075] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[1076] json

[1077] {

[1078] "suggested_recipes": ["Omelet"]

[1079] }

[1080] Terminal display

[1081] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then review the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[1082] Specific example

[1083] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[1084] The server receives "eggs," "milk," "salt," and "pepper."

[1085] The recipe database is searched, and an "omelet" recipe matches all the criteria.

[1086] A JSON response containing the search results for "omelet" will be returned.

[1087] The device displays "Omelet" to the user.

[1088] Example of a prompt

[1089] If you input the following, the generative AI model will return a suggested recipe:

[1090] Please share a recipe using the following ingredients I have in my refrigerator: "eggs," "milk," "salt," and "pepper."

[1091] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[1092] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1093] Step 1:

[1094] The user accesses a dedicated web application using their own device (PC or smartphone). The user enters information about the food items in their refrigerator into a web form and clicks the "Submit" button.

[1095] Input: Information about the ingredients in your refrigerator (e.g., "eggs", "milk", "salt", "pepper")

[1096] Output: Enter ingredient information into the form and submit it (for data processing in the next step).

[1097] Step 2:

[1098] The device converts the ingredient information submitted by the user into JSON format. Specifically, it uses JavaScript to retrieve the ingredient information and converts it into JSON format.

[1099] Input: Ingredient information entered by the user in the form.

[1100] Data processing: Convert to JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[1101] Output: Ingredient information in JSON format

[1102] Step 3:

[1103] The device sends the ingredient information, converted to JSON format, as a POST request to the API endpoint / suggest_recipes.

[1104] Input: Ingredient information in JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[1105] Data transmission: Send to API endpoint

[1106] Output: POST request to send to the server

[1107] Step 4:

[1108] The server receives POST requests sent to the API endpoint / suggest_recipes. Using the Flask framework, it initiates processing when a request arrives at the endpoint.

[1109] Input: POST request from terminal

[1110] Data reception: Uses the Flask framework.

[1111] Output: Received JSON data

[1112] Step 5:

[1113] The server parses the received JSON data and extracts the ingredient list from the "ingredients" field. This parsing process is typically performed using Python's standard libraries.

[1114] Input: Received JSON data (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[1115] Data analysis: Extracting a list of ingredients from JSON data (e.g., ["eggs", "milk", "salt", "pepper"])

[1116] Output: Extracted ingredient list

[1117] Step 6:

[1118] The server searches the recipe database based on the extracted ingredient list. The search process retrieves each recipe from the database and verifies that all the necessary ingredients are included in the ingredient list.

[1119] Input: Extracted list of ingredients (e.g., ["eggs", "milk", "salt", "pepper"])

[1120] Data search and calculation: Search the recipe database and extract the relevant recipes.

[1121] Output: A list of matching recipes (e.g., ["Omelet"])

[1122] Step 7:

[1123] The server lists matching recipes as search results and generates this as a JSON response. The JSON response is formatted to be displayed appropriately for the user.

[1124] Input: A list of matching recipes (e.g., ["Omelet"])

[1125] Data generation: Format search results as a JSON response (e.g., {"suggested_recipes": ["Omelet"]})

[1126] Output: Formatted JSON response

[1127] Step 8:

[1128] The terminal parses the JSON response received from the server and displays it on the web screen as a "suggested recipe." The user can then review the suggested recipe on this screen and actually cook it.

[1129] Input: JSON response from the server (e.g., {"suggested_recipes": ["Omelet"]})

[1130] Data Analysis: Parsing JSON responses and updating the DOM

[1131] Output: Suggested recipes to display on the web page (e.g., "Omelet")

[1132] Each step works in conjunction with the user, terminal, and server to enable users to easily receive appropriate recipe suggestions.

[1133] (Application Example 1)

[1134] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1135] Many modern households are looking to efficiently use the ingredients in their refrigerators, reduce waste, and easily decide on menus. However, simply inputting information about the ingredients they have on hand and receiving suggested recipes doesn't make it easy to quickly procure any missing ingredients. To solve this problem, there is a need for a system that not only suggests recipes based on the user's ingredient information but also automatically identifies missing ingredients and procures them through delivery services.

[1136] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1137] In this invention, the server includes means for the user to input information about the ingredients they have on hand, means for receiving the inputted ingredient information, means for searching a predetermined recipe database based on the received ingredient information and extracting matching recipes, means for identifying missing ingredients based on the extracted recipes, and means for requesting a delivery service to order the identified missing ingredients. This enables efficient menu suggestions based on the ingredients the user has on hand and prompt delivery requests for missing ingredients.

[1138] "Currently owned food information" refers to information about the food items the user currently possesses, and is a list of food items stored in the refrigerator or pantry.

[1139] "Means of receiving data" refers to devices or software that have the function of receiving data input from a user and analyzing it.

[1140] A "recipe database" is a database containing numerous recipes, each listing the necessary ingredients and cooking methods.

[1141] "Means for extracting matching recipes" refers to devices or software that have the function of comparing received ingredient information with the contents of a recipe database to find and retrieve matching recipes.

[1142] "Means for identifying missing ingredients" refers to devices or software that have the function of checking all the ingredients required for an extracted recipe and identifying the missing ingredients that the user does not have.

[1143] "Means of requesting delivery services" refers to devices or software that have the function of sending a request to a delivery service to order specific missing ingredients.

[1144] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight format for structuring and representing data.

[1145] "Methods for searching and verifying" refer to devices or software that have the function of comparing each recipe in a recipe database with the ingredient information entered by the user to check if there are any matches.

[1146] "Means for presenting extracted recipes" refers to devices or software that have the functionality to visually display matching recipes to the user or to allow the user to confirm them.

[1147] This invention provides a software system that operates in conjunction with the user, terminal, and server. This system enhances convenience by allowing the user to input information about the ingredients they have at home, suggesting appropriate recipes based on that information, and automatically ordering any missing ingredients from a delivery service.

[1148] System Configuration

[1149] User actions

[1150] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[1151] Terminal operation

[1152] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[1153] json

[1154] {

[1155] "ingredients": ["egg", "milk", "salt", "pepper"]

[1156] }

[1157] Server operation

[1158] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[1159] Recipe Search

[1160] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[1161] Identifying missing ingredients and arranging delivery.

[1162] The server identifies any missing ingredients the user is missing based on the extracted recipe. Using this information, it generates a request to place an order with a delivery service. A specific example would be using a delivery API such as Uber Eats.

[1163] Terminal display

[1164] The terminal parses the JSON data received from the server and displays it to the user on a web screen as a "suggested recipe." The user can then check the suggested recipe and any missing ingredients on the screen and proceed with ordering those ingredients from a delivery service.

[1165] Specific example

[1166] Assume the user has "eggs," "milk," "salt," and "pepper" in their refrigerator. Proceed as follows:

[1167] 1. The user enters and submits these ingredients.

[1168] 2. The server searches the recipe database and determines that the "omelet" recipe matches all the conditions.

[1169] 3. Based on the "omelet" recipe, identify, for example, that "butter" is missing.

[1170] 4. The server uses the delivery API to send an order request for "butter".

[1171] Examples of prompts for generative AI models

[1172] By inputting prompts like the following into the AI ​​model, it automatically identifies missing ingredients and generates an order request.

[1173] "

[1174] The user entered the following ingredient information: "Eggs", "Milk", "Salt", "Pepper"

[1175] Based on this information, identify the additional ingredients needed for the suggested "omelet" recipe and generate a request to order those ingredients from a delivery service.

[1176] "

[1177] This system allows users to easily decide on their daily menus, prevent food waste, and quickly procure additional ingredients. It is expected that this invention will greatly improve user convenience and increase the efficiency of food management in households.

[1178] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1179] Step 1:

[1180] The user enters information about the ingredients.

[1181] Specific operation: The user accesses a web application and enters the ingredients in their refrigerator into a web form. In the example, the user enters "eggs," "milk," "salt," and "pepper."

[1182] Input: Ingredient information entered by the user.

[1183] Output: The ingredient information entered in the form will be displayed in the web browser.

[1184] Step 2:

[1185] The device receives the ingredient information and converts it to JSON format.

[1186] Specific operation: The device (user's PC or smartphone) converts the entered ingredient information into JSON format.

[1187] json

[1188] {

[1189] "ingredients": ["egg", "milk", "salt", "pepper"]

[1190] }

[1191] Input: Ingredient information entered in the web form.

[1192] Output: Ingredient information in JSON format.

[1193] Step 3:

[1194] The device sends JSON data as a POST request to the server's API endpoint.

[1195] Specific action: The terminal sends the JSON data as a POST request to the / suggest_recipes endpoint.

[1196] Input: Ingredient information in JSON format.

[1197] Output: POST request sent to the server.

[1198] Step 4:

[1199] The server receives the POST request and parses the JSON data.

[1200] Specific operation: The server uses the Flask framework to receive the POST request, parse the JSON data, and extract the ingredient list from the "ingredients" field.

[1201] Input: JSON data sent as a POST request.

[1202] Output: List of extracted ingredients.

[1203] Step 5:

[1204] The server searches the recipe database and extracts matching recipes.

[1205] Specific operation: The server searches the recipe database using the extracted ingredient list and extracts matching recipes. For example, the 'omelet' recipe requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[1206] Input: Extracted list of ingredients.

[1207] Output: Matching recipes.

[1208] Step 6:

[1209] The server identifies missing ingredients based on the extracted recipe.

[1210] Specific operation: The server checks the list of all ingredients required for the extracted recipe and identifies any missing ingredients the user does not have. For example, "butter" may be missing.

[1211] Input: Matching recipes and a list of ingredients the user possesses.

[1212] Output: List of missing ingredients.

[1213] Step 7:

[1214] The server sends an order request for missing ingredients to the delivery service's API.

[1215] Specific operation: The server generates and sends an order request using the API of a delivery service (e.g., Uber Eats) based on the list of missing ingredients.

[1216] Input: List of missing ingredients.

[1217] Output: Order request sent to the delivery service.

[1218] Step 8:

[1219] The terminal displays information about missing ingredients and suggested recipes received from the server to the user.

[1220] Specific operation: The terminal parses the JSON data received from the server and displays the "suggested recipe" and "missing ingredients" to the user on the web screen.

[1221] Input: JSON data containing information on missing ingredients and suggested recipes received from the server.

[1222] Output: Suggested recipes and missing ingredient information displayed on the user's web screen.

[1223] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[1224] This invention combines a system that suggests recipes based on the user's available ingredients with an emotion engine that recognizes the user's emotions. The specific processing flow and details of this system are described below.

[1225] User actions

[1226] First, the user accesses a web application and enters a list of ingredients in their refrigerator. Along with the entered ingredient list (for example, "eggs," "milk," "salt," and "pepper"), the user's face is captured by a camera, and emotion recognition is performed. When the user clicks the submit button, this information is sent to the server.

[1227] Terminal operation

[1228] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[1229] json

[1230] {

[1231] "ingredients": ["egg", "milk", "salt", "pepper"],

[1232] "user_emotion": "happy"

[1233] }

[1234] This JSON data is sent as a POST request to the API endpoint / suggest_recipes.

[1235] Server operation

[1236] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients and user_emotion fields. This retrieves the list of ingredients and the user's emotional state.

[1237] Recipe search and emotion recognition

[1238] The server first searches the recipe database based on the ingredient list. Then, based on the user's emotional state (e.g., "happy") analyzed by the emotion engine, a suitable recipe is selected. The emotion engine prioritizes suggesting recipes that correspond to specific emotional states, such as recipes for relaxation or recipes for boosting energy.

[1239] For example, if a user is in a "happy" emotional state, the server will select and suggest a recipe that will further enhance the user's emotions (for instance, "a party omelet recipe").

[1240] Generating search results

[1241] The server lists recipes selected based on ingredients and emotions, and generates response data in JSON format. For example, it generates response data like the following:

[1242] json

[1243] {

[1244] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[1245] }

[1246] The server sends this data back to the terminal.

[1247] Terminal display

[1248] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, a suggested recipe, "Omelet to liven up the party mood," is displayed on the web page.

[1249] Specific example

[1250] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." Furthermore, let's assume the user is in a "happy" emotional state. In this case, when the user enters these ingredients and submits them, the following process occurs on the server side:

[1251] Received "eggs", "milk", "salt", and "pepper".

[1252] Search the recipe database and find an omelet recipe that matches all the criteria.

[1253] The emotion engine detects the user's emotional state, "happy," and selects an "omelet recipe to liven up the party mood" accordingly.

[1254] A JSON response containing the search results is sent back to the device.

[1255] The device displays "Omelet to liven up the party mood" to the user.

[1256] This system allows users to easily decide on their daily menus, preventing food waste, and providing them with recipes tailored to their emotional state, leading to a more satisfying eating experience.

[1257] The following describes the processing flow.

[1258] Step 1:

[1259] The user accesses a web application and enters a list of ingredients in their refrigerator into a form. They enter ingredients such as "eggs," "milk," "salt," and "pepper" into the input fields and click the submit button. The user's face is captured by a camera, and an emotion recognition program analyzes the user's emotions.

[1260] Step 2:

[1261] The terminal receives the ingredient list entered by the user and emotion data (e.g., "happy") analyzed by the emotion recognition program, and converts this data into JSON format. The JSON data will look like this:

[1262] json

[1263] {

[1264] "ingredients": ["egg", "milk", "salt", "pepper"],

[1265] "user_emotion": "happy"

[1266] }

[1267] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[1268] Step 3:

[1269] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients and user_emotion fields. This retrieves the list of ingredients and the user's emotional state.

[1270] Step 4:

[1271] The server searches the recipe database based on the extracted ingredient list. For each recipe in the recipe database, it checks if all the necessary ingredients are included in the ingredient list. For example, if the "omelet" recipe requires "eggs," "milk," "salt," and "pepper," then this recipe is extracted as a match because all of these ingredients are included in the list.

[1272] Step 5:

[1273] The server uses the emotion engine to parse the `user_emotion` field in the JSON data. In this example, since it contains "user_emotion": "happy", the server recognizes the user's emotion as "happy".

[1274] Step 6:

[1275] Based on the user's emotional state ("happy") analyzed by the emotion engine, the system selects recipes from the recipe database that are appropriate for the user's emotions. For example, if the emotion is "happy," recipes suitable for parties and celebrations (e.g., "Omelet to liven up the party mood") will be prioritized.

[1276] Step 7:

[1277] The server lists recipes selected based on ingredients and emotional state, and generates response data in JSON format. This response data will look like this:

[1278] json

[1279] {

[1280] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[1281] }

[1282] The server sends this data back to the terminal.

[1283] Step 8:

[1284] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "Omelet to liven up the party mood" is displayed on the web page as a "suggested recipe."

[1285] Step 9:

[1286] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[1287] (Example 2)

[1288] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1289] In today's busy lifestyle, it is difficult for users to efficiently use the ingredients they have at home and find recipes that suit their current emotional state. Furthermore, there is a need to improve meal satisfaction and happiness by suggesting recipes that respond to emotions. Traditional recipe suggestion systems focus on managing ingredient information and do not consider the user's emotional state, thus failing to enhance user psychological satisfaction.

[1290] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for recognizing the user's emotional state, means for converting the received ingredient information and the recognized emotional state into JSON format, and means for sending the converted JSON data to the API endpoint. This makes it possible to search for and suggest an appropriate recipe based on the user's available ingredient information and emotional state. By suggesting recipes that correspond to the user's emotional state, it is possible to improve the satisfaction and happiness of the meal.

[1291] 1. "Means for recognizing a user's emotional state" refers to a combination of hardware and software for identifying a user's emotions, and is a technology that analyzes emotions from the user's facial expressions and tone of voice using input devices such as cameras and microphones.

[1292] 2. "Means for converting received food ingredient information and recognized emotional states into JSON format" refers to a software process for converting the food ingredient list and emotional data provided by the user into JSON format in order to save and transmit them in a unified format.

[1293] 3. "Means for sending the converted JSON data to the API endpoint" refers to a program or module that sends the generated JSON data to a specific server via the internet, and is a technology that uses HTTP requests to POST the data.

[1294] 4. "Means for searching a recipe database based on ingredient information and emotional state to extract matching recipes" refers to a software algorithm that searches a pre-built recipe database based on the received ingredient list and emotional data to find the relevant recipes.

[1295] 5. "A means of selecting recipes based on the user's emotional state using an emotion engine" refers to a system that analyzes the user's emotional state and prioritizes selecting the most suitable recipe based on the results. The emotion engine is built on machine learning models and expert knowledge.

[1296] 6. "Means for visually presenting extracted recipes to the user" refers to GUI (Graphical User Interface) technology that displays selected recipes on the user's screen in the form of text, images, etc., so that the user can easily understand them.

[1297] This invention is a system in which a user inputs information about the ingredients they have on hand, and the system suggests recipes based on that information and the user's emotional state. Specific embodiments of this system are described in detail below.

[1298] System Configuration

[1299] This system consists of a terminal that users access, a server that processes and stores data, and an emotion engine that analyzes users' emotions.

[1300] Hardware and software usage

[1301] 1. Terminal

[1302] The terminal provides an interface for the user to input a list of ingredients. The terminal can be a PC, smartphone, or tablet.

[1303] The device uses input devices such as a camera and microphone to capture the user's face and voice. This collects information for emotion recognition.

[1304] 2. Server

[1305] The server receives, parses, and generates responses to data. The server consists of a database server, a web server, and an API server.

[1306] The server parses the JSON data sent by the user and searches the recipe database.

[1307] The server works in conjunction with the emotion engine to select a recipe that is appropriate for the user's emotional state.

[1308] 3. Emotional Engine

[1309] An emotion engine is a software module that analyzes a user's facial expressions and voice to identify their emotional state (e.g., happy, sad, angry). Emotion engines utilize machine learning models and artificial intelligence technologies.

[1310] Specific example

[1311] As a concrete example, let's consider a scenario where a user has the following ingredients in their refrigerator at home: "eggs," "milk," "salt," and "pepper," and is currently in a "happy" emotional state. When the user accesses the web application, enters this ingredient information, and clicks the submit button, the following process is executed.

[1312] 1. User actions

[1313] The user enters "egg," "milk," "salt," and "pepper" into the input form of the web application.

[1314] When the user clicks the send button, the device's camera activates to capture the user's face, and the emotional state "happy" is recognized.

[1315] 2. Sending data

[1316] The device converts the entered ingredient list and emotion status into JSON format and sends a POST request to the API endpoint / suggest_recipes.

[1317] 3. Server processing

[1318] The server receives the POST request and parses the JSON data.

[1319] The server searches the recipe database and finds recipes that use "eggs," "milk," "salt," and "pepper."

[1320] The server uses an emotion engine to select a recipe suitable for the "happy" emotional state. In this case, "Omelet to liven up the party mood" is selected.

[1321] 4. Generating a response

[1322] The server generates response data in JSON format containing the selected recipe and sends it back to the terminal.

[1323] 5. Display on the device

[1324] The device receives the response data and visually displays a recipe for "Omelet to liven up the party mood."

[1325] Examples of prompts for generative AI models

[1326] Below are examples of prompts to input into a generative AI model:

[1327] Please suggest a recipe using eggs, milk, salt, and pepper that I have in my refrigerator. Also, since I'm feeling happy, I'd like a recipe that will create a party atmosphere.

[1328] The above describes the specific form of implementing the invention. This system allows users to make the most of their available ingredients and enjoy meals that suit their mood.

[1329] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1330] Step 1: The user enters the ingredient information.

[1331] Input: The user enters "egg", "milk", "salt", and "pepper" into the input form of the web application.

[1332] Specific action: The user opens a web page and enters ingredient information into a text box.

[1333] Output: The ingredient information will be entered into the web form.

[1334] Step 2: The user clicks the submit button.

[1335] Input: After the user enters the ingredient information, they click the submit button.

[1336] Specific action: The user clicks the submit button in the browser.

[1337] Output: When the send button is clicked, the device's camera activates along with the entered ingredient information, and the user's face is captured.

[1338] Step 3: The device captures the user's face and recognizes their emotions.

[1339] Input: The send button is clicked and the camera is activated.

[1340] Specific operation: The device's camera captures the user's face. This image data is sent to the emotion engine.

[1341] Output: The emotion engine processes the image data and recognizes the user's emotional state (e.g., "happy").

[1342] Step 4: The device converts the input data and sentiment data into JSON format.

[1343] Input: Ingredient information and user's emotional state.

[1344] Specific operation: The terminal converts the input food information and recognized emotional state into a single JSON object.

[1345] Output: The following JSON data will be generated:

[1346] json

[1347] {

[1348] "ingredients": ["egg", "milk", "salt", "pepper"],

[1349] "user_emotion": "happy"

[1350] }

[1351] Step 5: The device sends JSON data to the server.

[1352] Input: Generated JSON data.

[1353] Specific operation: The device sends data in JSON format to the API endpoint / suggest_recipes via an HTTP POST request.

[1354] Output: JSON data is sent to the server.

[1355] Step 6: The server receives the POST request and parses the JSON data.

[1356] Input: JSON data sent to the server.

[1357] Specific operation: The server receives a POST request at the API endpoint, extracts JSON data from the request body, and parses it. Through the parsing, it extracts the ingredient list and the user's emotional state.

[1358] Output: The ingredient list and emotional state data will become available on the server.

[1359] Step 7: The server searches the recipe database.

[1360] Input: List of analyzed ingredients.

[1361] Specific operation: The server executes a database query to search for recipes that match the entered list of ingredients.

[1362] Output: Matching recipes are extracted based on the ingredient list.

[1363] Step 8: Select recipes using the emotion engine.

[1364] Input: Extracted candidate recipes and the user's emotional state.

[1365] Specific operation: The server uses an emotion engine to select a suitable recipe based on the user's emotional state. For example, if the emotional state is "happy," the "Omelet to liven up the party mood" will be selected.

[1366] Output: A recipe is selected based on the emotional state.

[1367] Step 9: The server generates response data and sends it back to the terminal.

[1368] Input: Selected recipe.

[1369] Specific operation: The server generates response data in JSON format containing the selected recipe and sends it back to the terminal as an HTTP response.

[1370] Output: The following response data is sent back to the terminal:

[1371] json

[1372] {

[1373] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[1374] }

[1375] Step 10: The terminal receives the response data and displays it to the user.

[1376] Input: Response data returned from the server.

[1377] Specific operation: The device analyzes the response data and visually displays the suggested recipe on the web page.

[1378] Output: Users will be able to view the recipe for "Omelet to liven up the party mood" on the page.

[1379] (Application Example 2)

[1380] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1381] Traditional recipe suggestion systems often fail to consider the user's emotional state, making it difficult to improve user satisfaction and experience. Furthermore, relying solely on available ingredients can lead to problems such as suggesting recipes that are lacking certain ingredients or that don't suit the user's mood.

[1382] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input information on food ingredients they have on hand, means for receiving the input food ingredient information, means for searching a predetermined recipe database based on the received food ingredient information and the user's emotional state to extract matching recipes, means for presenting the extracted recipes to the user, means for capturing the user's facial image to recognize their emotions, and means for transmitting the food ingredient information and emotional information in JSON format. This makes it possible to suggest recipes that are suitable for the user's emotional state, thereby improving the user's cooking experience and satisfaction.

[1383] "Information on available food ingredients" refers to information about the types and quantities of food items that the user currently possesses.

[1384] A "face image" is image data of a user's face.

[1385] "Emotional state" refers to information that indicates the user's current psychological state, obtained by analyzing their facial image.

[1386] A "recipe database" is a collection of information that gathers recipe information, including cooking methods, ingredients, and dish names.

[1387] "Extraction" refers to the act of selecting an appropriate recipe from a recipe database based on the received food ingredient information and emotional state.

[1388] "To present" means to display or notify a user of a recipe that has been selected visually or audibly.

[1389] "JSON format" is an abbreviation for JavaScript Object Notation, and is a type of lightweight data exchange format.

[1390] "Sending" refers to the act of sending data from a user's device to a server.

[1391] "Receiving" refers to the act of a server or terminal receiving data via a network.

[1392] "Capturing" refers to the act of acquiring data such as images using a camera or sensor.

[1393] The "recommendation system" is a system that performs a series of processes in which the user inputs information about the food ingredients they have and their emotional state, and then suggests the most suitable recipe.

[1394] This invention is a system that suggests the optimal recipe based on the user's available food ingredient information and emotional state. Specific embodiments for carrying out this invention are described below.

[1395] System Configuration

[1396] This system mainly consists of the following components:

[1397] 1. User Interface: This is the means by which the user inputs information about the food ingredients they have and their emotional state. Here, the smartphone camera and input form are used.

[1398] 2. Emotion Recognition Engine: This is software that analyzes the user's facial image and recognizes their emotional state. Common emotion recognition engines such as the Google Cloud Vision API are used.

[1399] 3. Recipe Database: This is a database for searching recipes based on food ingredient information and emotional state. PostgreSQL is a suitable general-purpose database management system (DBMS).

[1400] 4. Server-side: This is the backend system for receiving and processing requests. It will be built using Node.js and Express.

[1401] Program Processing Overview

[1402] User actions

[1403] The user performs the following actions using their smartphone:

[1404] Enter the food ingredients you have on hand. Alternatively, you can simplify the input process by scanning the barcodes on the food items.

[1405] A smartphone camera is used to capture facial images and obtain image data to understand emotional states.

[1406] Server-side processing

[1407] The following processes are performed on the server side:

[1408] Converts food ingredient information received from the user into JSON format.

[1409] The system analyzes facial images acquired by an emotion recognition engine to recognize the user's emotional state.

[1410] The system searches a recipe database based on food ingredient information and emotional state, and extracts the most suitable recipe.

[1411] To present the extracted recipes to the user, response data is generated in JSON format and sent to the user's smartphone.

[1412] Specific example

[1413] For example, suppose a user enters "chicken, mayonnaise, lettuce" as the items in their refrigerator and captures a facial image with their smartphone camera. If the emotion recognition engine recognizes the emotional state as "happy," the following processing will occur on the server side:

[1414] The food ingredient information is converted to JSON format, and the emotional state is recognized as "happy."

[1415] Search the recipe database and extract recipes for "Chicken Salad to Liven Up a Party" using "Chicken, Mayonnaise, and Lettuce".

[1416] The extracted recipes are generated as a response in JSON format and presented to the user.

[1417] Example of a prompt

[1418] Use the following prompts to input into the emotion recognition engine:

[1419] "Assuming the available ingredients are 'chicken, mayonnaise, and lettuce,' and the emotional state is 'happy,' please suggest the best recipe."

[1420] As described above, the present invention is a system that proposes the optimal recipe based on the user's available food ingredient information while taking into account the user's emotional state, and can improve the user's cooking experience and psychological satisfaction.

[1421] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1422] Step 1:

[1423] The user inputs information about the food ingredients they have on hand. The user opens the application on their smartphone and enters the food ingredients they have (e.g., chicken, mayonnaise, lettuce) into the input form. The application also captures a facial image using the camera and obtains their emotional state.

[1424] Step 2:

[1425] The terminal receives the entered food ingredient information and facial image. The received food ingredient information is converted to JSON format to create input data like the following:

[1426] json

[1427] {

[1428] "ingredients": ["chicken", "mayonnaise", "lettuce"],

[1429] "user_emotion": "happy"

[1430] }

[1431] The facial image is sent to the emotion recognition engine.

[1432] Step 3:

[1433] The device uses an emotion recognition engine to analyze the user's emotional state. This analysis recognizes the emotional state as "happy," and this information is used in other steps described later.

[1434] Step 4:

[1435] The terminal sends data in JSON format to the server. The server receives this data and prepares to perform the following processing.

[1436] Step 5:

[1437] The server searches the recipe database based on food ingredient information and emotional state. It searches for matching recipes based on food ingredient information and prioritizes the most suitable recipe based on emotional state. For example, based on "chicken, mayonnaise, lettuce" and "happy," it searches for the recipe for "Chicken Salad to Liven Up the Party Mood."

[1438] Step 6:

[1439] The server generates the extracted recipes as response data in JSON format. The generated data will be in the following format:

[1440] json

[1441] {

[1442] "suggested_recipes": ["Chicken salad to liven up the party atmosphere"]

[1443] }

[1444] This data will be sent to the device.

[1445] Step 7:

[1446] The terminal receives response data from the server and presents it to the user. Specifically, the suggested recipe is displayed on the application screen. The user can view the recipe information in a visually easy-to-understand format.

[1447] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1448] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1449] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.

[1450] [Fourth Embodiment]

[1451] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[1452] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1453] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1454] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[1455] The microphone 238 receives voice signals from the user 20 and accepts instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[1456] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[1457] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[1458] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[1459] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[1460] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1461] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1462] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[1463] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1464] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[1465] User actions

[1466] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[1467] Terminal operation

[1468] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[1469] json

[1470] {

[1471] "ingredients": ["egg", "milk", "salt", "pepper"]

[1472] }

[1473] Server operation

[1474] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[1475] Recipe Search

[1476] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match. The server's processing logic is as follows:

[1477] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[1478] Add recipes that meet the criteria to the list.

[1479] Generating search results

[1480] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[1481] json

[1482] {

[1483] "suggested_recipes": ["Omelet"]

[1484] }

[1485] Terminal display

[1486] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then view the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[1487] Specific example

[1488] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[1489] Received "eggs", "milk", "salt", and "pepper".

[1490] Search the recipe database and find an omelet recipe that matches all the criteria.

[1491] A JSON response containing search results for "omelet" is returned.

[1492] The device displays "Omelet" to the user.

[1493] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[1494] The following describes the processing flow.

[1495] Step 1:

[1496] The user accesses a web application and enters a list of ingredients in their refrigerator (for example, "eggs," "milk," "salt," and "pepper") into a form. The data is submitted when the user clicks the submit button.

[1497] Step 2:

[1498] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[1499] json

[1500] {

[1501] "ingredients": ["egg", "milk", "salt", "pepper"]

[1502] }

[1503] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[1504] Step 3:

[1505] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients field. This parsing yields a list of ingredients (e.g., "eggs", "milk", "salt", "pepper").

[1506] Step 4:

[1507] The server searches the recipe database based on the ingredient list. The server checks if the necessary ingredients for each recipe (e.g., "Omelet" requires "Eggs," "Milk," "Salt," and "Pepper") are included in the ingredient list. This process is performed for all recipes, and matching entries are listed.

[1508] Step 5:

[1509] The server lists matching recipes and generates response data in JSON format. For example, it generates response data like this:

[1510] json

[1511] {

[1512] "suggested_recipes": ["Omelet"]

[1513] }

[1514] The server sends this data back to the terminal.

[1515] Step 6:

[1516] The terminal receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "omelet" is displayed on the web page as a "suggested recipe."

[1517] Step 7:

[1518] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[1519] (Example 1)

[1520] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1521] In modern households, food waste is a serious problem, as ingredients in refrigerators are often wasted because they cannot be used up. Furthermore, finding suitable recipes based on the ingredients available is difficult when deciding on daily meal menus. There is a growing need for a system that allows users to easily input the ingredients they have on hand and quickly suggests appropriate recipes.

[1522] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[1523] In this invention, the server includes means for the user to input information about the ingredients they have on hand; means for receiving the inputted ingredient information; means for searching a database based on the received ingredient information and extracting matching recipes; means for presenting the extracted recipes to the user; means for converting the inputted ingredient information into a data format and sending it to an API endpoint; means for analyzing the transmitted data and extracting an ingredient list; means for searching for recipes based on the ingredient list and listing the matching recipes; means for returning the listed recipes to the terminal in data format; and means for analyzing the returned data and displaying it to the user. This makes it possible for the user to easily input the ingredients they have on hand and be quickly offered appropriate recipes based on that information. This reduces food waste and significantly reduces the effort required to choose daily menus.

[1524] A "user" is a person who uses the system to input ingredient information and then checks the suggested recipes.

[1525] "Means" refers to the method or process used by a system to perform a particular function or task.

[1526] "Means of input" refers to the methods or tools that users use to input information about the ingredients they have on hand into the system.

[1527] "Means of receiving" refers to the methods and processes by which the system receives ingredient information entered by the user.

[1528] "Data format" refers to the method by which information or data is organized, stored, or transmitted according to a specific format or structure.

[1529] An "API endpoint" is an interface that allows external systems or applications to access specific functions or data.

[1530] A "database" is a collection of data organized for a specific purpose, and a system for efficiently searching and managing that data.

[1531] A "food ingredient list" is data that shows a list of ingredients the user has on hand, as entered by the user.

[1532] A "recipe" is information about the ingredients and steps required to make a specific dish.

[1533] "Listing" means organizing multiple items into a single list based on specific criteria.

[1534] "Analysis" is the process of breaking down data to understand its content and structure.

[1535] "Means of display" refers to methods and processes for visually presenting analyzed data and information to the user.

[1536] The system for implementing this invention provides a software system that operates in coordination with the user, terminal, and server. The specific processing flow and its details are described below.

[1537] User actions

[1538] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[1539] Terminal operation

[1540] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. The request includes JSON data such as the following:

[1541] json

[1542] {

[1543] "ingredients": ["egg", "milk", "salt", "pepper"]

[1544] }

[1545] Server operation

[1546] The server receives this request using a web application framework. In this example, the Flask framework is used. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[1547] Recipe Search

[1548] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" contains the ingredients ["eggs", "milk", "salt", "pepper"], so this recipe is extracted as a match. The server performs the search based on the following logic:

[1549] The system checks each recipe in the recipe database in order, verifying that all the necessary ingredients are included in the ingredient list entered by the user.

[1550] Add recipes that meet the criteria to the list.

[1551] Generating search results

[1552] The server lists matching recipes (e.g., "omelet") as search results and sends them back to the terminal as a JSON response. An example of the output JSON data is as follows:

[1553] json

[1554] {

[1555] "suggested_recipes": ["Omelet"]

[1556] }

[1557] Terminal display

[1558] The terminal parses the JSON data received from the server and displays it to the user as a "suggested recipe" on the web screen. The user can then view the suggested recipe (for example, "omelet") on the screen and cook based on that recipe.

[1559] Specific example

[1560] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." When the user enters these ingredients and submits them, the following process takes place on the server side:

[1561] The server receives "eggs," "milk," "salt," and "pepper."

[1562] The recipe database is searched, and an "omelet" recipe matches all the criteria.

[1563] A JSON response containing the search results for "omelet" will be returned.

[1564] The device displays "Omelet" to the user.

[1565] Example of a prompt

[1566] If you input the following, the generative AI model will return a suggested recipe:

[1567] Please share a recipe using the following ingredients I have in my refrigerator: "eggs," "milk," "salt," and "pepper."

[1568] This system allows users to easily decide on their daily menus, preventing food waste and reducing the effort required for household chores.

[1569] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1570] Step 1:

[1571] The user accesses a dedicated web application using their own device (PC or smartphone). The user enters information about the food items in their refrigerator into a web form and clicks the "Submit" button.

[1572] Input: Information about the ingredients in your refrigerator (e.g., "eggs", "milk", "salt", "pepper")

[1573] Output: Enter ingredient information into the form and submit it (for data processing in the next step).

[1574] Step 2:

[1575] The device converts the ingredient information submitted by the user into JSON format. Specifically, it uses JavaScript to retrieve the ingredient information and converts it into JSON format.

[1576] Input: Ingredient information entered by the user in the form.

[1577] Data processing: Convert to JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[1578] Output: Ingredient information in JSON format

[1579] Step 3:

[1580] The device sends the ingredient information, converted to JSON format, as a POST request to the API endpoint / suggest_recipes.

[1581] Input: Ingredient information in JSON format (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[1582] Data transmission: Send to API endpoint

[1583] Output: POST request to send to the server

[1584] Step 4:

[1585] The server receives POST requests sent to the API endpoint / suggest_recipes. Using the Flask framework, it initiates processing when a request arrives at the endpoint.

[1586] Input: POST request from terminal

[1587] Data reception: Uses the Flask framework.

[1588] Output: Received JSON data

[1589] Step 5:

[1590] The server parses the received JSON data and extracts the ingredient list from the "ingredients" field. This parsing process is typically performed using Python's standard libraries.

[1591] Input: Received JSON data (Example: {"ingredients": ["egg", "milk", "salt", "pepper"]})

[1592] Data analysis: Extracting a list of ingredients from JSON data (e.g., ["eggs", "milk", "salt", "pepper"])

[1593] Output: Extracted ingredient list

[1594] Step 6:

[1595] The server searches the recipe database based on the extracted ingredient list. The search process retrieves each recipe from the database and verifies that all the necessary ingredients are included in the ingredient list.

[1596] Input: Extracted list of ingredients (e.g., ["eggs", "milk", "salt", "pepper"])

[1597] Data search and calculation: Search the recipe database and extract the relevant recipes.

[1598] Output: A list of matching recipes (e.g., ["Omelet"])

[1599] Step 7:

[1600] The server lists matching recipes as search results and generates this as a JSON response. The JSON response is formatted to be displayed appropriately for the user.

[1601] Input: A list of matching recipes (e.g., ["Omelet"])

[1602] Data generation: Format search results as a JSON response (e.g., {"suggested_recipes": ["Omelet"]})

[1603] Output: Formatted JSON response

[1604] Step 8:

[1605] The terminal parses the JSON response received from the server and displays it on the web screen as a "suggested recipe." The user can then review the suggested recipe on this screen and actually cook it.

[1606] Input: JSON response from the server (e.g., {"suggested_recipes": ["Omelet"]})

[1607] Data Analysis: Parsing JSON responses and updating the DOM

[1608] Output: Suggested recipes to display on the web page (e.g., "Omelet")

[1609] Each step works in conjunction with the user, terminal, and server to enable users to easily receive appropriate recipe suggestions.

[1610] (Application Example 1)

[1611] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1612] Many modern households are looking to efficiently use the ingredients in their refrigerators, reduce waste, and easily decide on menus. However, simply inputting information about the ingredients they have on hand and receiving suggested recipes doesn't make it easy to quickly procure any missing ingredients. To solve this problem, there is a need for a system that not only suggests recipes based on the user's ingredient information but also automatically identifies missing ingredients and procures them through delivery services.

[1613] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1614] In this invention, the server includes means for the user to input information about the ingredients they have on hand, means for receiving the inputted ingredient information, means for searching a predetermined recipe database based on the received ingredient information and extracting matching recipes, means for identifying missing ingredients based on the extracted recipes, and means for requesting a delivery service to order the identified missing ingredients. This enables efficient menu suggestions based on the ingredients the user has on hand and prompt delivery requests for missing ingredients.

[1615] "Currently owned food information" refers to information about the food items the user currently possesses, and is a list of food items stored in the refrigerator or pantry.

[1616] "Means of receiving data" refers to devices or software that have the function of receiving data input from a user and analyzing it.

[1617] A "recipe database" is a database containing numerous recipes, each listing the necessary ingredients and cooking methods.

[1618] "Means for extracting matching recipes" refers to devices or software that have the function of comparing received ingredient information with the contents of a recipe database to find and retrieve matching recipes.

[1619] "Means for identifying missing ingredients" refers to devices or software that have the function of checking all the ingredients required for an extracted recipe and identifying the missing ingredients that the user does not have.

[1620] "Means of requesting delivery services" refers to devices or software that have the function of sending a request to a delivery service to order specific missing ingredients.

[1621] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight format for structuring and representing data.

[1622] "Methods for searching and verifying" refer to devices or software that have the function of comparing each recipe in a recipe database with the ingredient information entered by the user to check if there are any matches.

[1623] "Means for presenting extracted recipes" refers to devices or software that have the functionality to visually display matching recipes to the user or to allow the user to confirm them.

[1624] This invention provides a software system that operates in conjunction with the user, terminal, and server. This system enhances convenience by allowing the user to input information about the ingredients they have at home, suggesting appropriate recipes based on that information, and automatically ordering any missing ingredients from a delivery service.

[1625] System Configuration

[1626] User actions

[1627] First, the user accesses a web application to enter information about their food items. They enter a list of the food items in their refrigerator into the web form and click the submit button. For example, they might enter items such as "eggs," "milk," "salt," and "pepper."

[1628] Terminal operation

[1629] When a user enters ingredient information, their device (the user's PC or smartphone) converts it into JSON format and sends a POST request to the API endpoint / suggest_recipes. This request includes JSON data similar to the following:

[1630] json

[1631] {

[1632] "ingredients": ["egg", "milk", "salt", "pepper"]

[1633] }

[1634] Server operation

[1635] The server receives this request using the Flask framework. The server parses the received JSON data and extracts the list of ingredients from the "ingredients" field.

[1636] Recipe Search

[1637] The server searches the recipe database based on the ingredient list. For example, the recipe for "omelet" requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[1638] Identifying missing ingredients and arranging delivery.

[1639] The server identifies any missing ingredients the user is missing based on the extracted recipe. Using this information, it generates a request to place an order with a delivery service. A specific example would be using a delivery API such as Uber Eats.

[1640] Terminal display

[1641] The terminal parses the JSON data received from the server and displays it to the user on a web screen as a "suggested recipe." The user can then check the suggested recipe and any missing ingredients on the screen and proceed with ordering those ingredients from a delivery service.

[1642] Specific example

[1643] Assume the user has "eggs," "milk," "salt," and "pepper" in their refrigerator. Proceed as follows:

[1644] 1. The user enters and submits these ingredients.

[1645] 2. The server searches the recipe database and determines that the "omelet" recipe matches all the conditions.

[1646] 3. Based on the "omelet" recipe, identify, for example, that "butter" is missing.

[1647] 4. The server uses the delivery API to send an order request for "butter".

[1648] Examples of prompts for generative AI models

[1649] By inputting prompts like the following into the AI ​​model, it automatically identifies missing ingredients and generates an order request.

[1650] "

[1651] The user entered the following ingredient information: "Eggs", "Milk", "Salt", "Pepper"

[1652] Based on this information, identify the additional ingredients needed for the suggested "omelet" recipe and generate a request to order those ingredients from a delivery service.

[1653] "

[1654] This system allows users to easily decide on their daily menus, prevent food waste, and quickly procure additional ingredients. It is expected that this invention will greatly improve user convenience and increase the efficiency of food management in households.

[1655] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1656] Step 1:

[1657] The user enters the ingredient information.

[1658] Specific operation: The user accesses a web application and enters the ingredients in their refrigerator into a web form. In the example, the user enters "eggs," "milk," "salt," and "pepper."

[1659] Input: Ingredient information entered by the user.

[1660] Output: The ingredient information entered in the form will be displayed in the web browser.

[1661] Step 2:

[1662] The device receives the ingredient information and converts it to JSON format.

[1663] Specific operation: The device (user's PC or smartphone) converts the entered ingredient information into JSON format.

[1664] json

[1665] {

[1666] "ingredients": ["egg", "milk", "salt", "pepper"]

[1667] }

[1668] Input: Ingredient information entered in the web form.

[1669] Output: Ingredient information in JSON format.

[1670] Step 3:

[1671] The device sends JSON data as a POST request to the server's API endpoint.

[1672] Specific action: The terminal sends the JSON data as a POST request to the / suggest_recipes endpoint.

[1673] Input: Ingredient information in JSON format.

[1674] Output: POST request sent to the server.

[1675] Step 4:

[1676] The server receives the POST request and parses the JSON data.

[1677] Specific operation: The server uses the Flask framework to receive the POST request, parse the JSON data, and extract the ingredient list from the "ingredients" field.

[1678] Input: JSON data sent as a POST request.

[1679] Output: List of extracted ingredients.

[1680] Step 5:

[1681] The server searches the recipe database and extracts matching recipes.

[1682] Specific operation: The server searches the recipe database using the extracted ingredient list and extracts matching recipes. For example, the 'omelet' recipe requires the ingredients ['eggs', 'milk', 'salt', 'pepper'], so this recipe is extracted as a match.

[1683] Input: Extracted list of ingredients.

[1684] Output: Matching recipes.

[1685] Step 6:

[1686] The server identifies missing ingredients based on the extracted recipe.

[1687] Specific operation: The server checks the list of all ingredients required for the extracted recipe and identifies any missing ingredients the user does not have. For example, "butter" may be missing.

[1688] Input: Matching recipes and a list of ingredients the user possesses.

[1689] Output: List of missing ingredients.

[1690] Step 7:

[1691] The server sends an order request for missing ingredients to the delivery service's API.

[1692] Specific operation: The server generates and sends an order request using the API of a delivery service (e.g., Uber Eats) based on the list of missing ingredients.

[1693] Input: List of missing ingredients.

[1694] Output: Order request sent to the delivery service.

[1695] Step 8:

[1696] The terminal displays information about missing ingredients and suggested recipes received from the server to the user.

[1697] Specific operation: The terminal parses the JSON data received from the server and displays the "suggested recipe" and "missing ingredients" to the user on the web screen.

[1698] Input: JSON data containing information on missing ingredients and suggested recipes received from the server.

[1699] Output: Suggested recipes and missing ingredient information displayed on the user's web screen.

[1700] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[1701] This invention combines a system that suggests recipes based on the user's available ingredients with an emotion engine that recognizes the user's emotions. The specific processing flow and details of this system are described below.

[1702] User actions

[1703] First, the user accesses a web application and enters a list of ingredients in their refrigerator. Along with the entered ingredient list (for example, "eggs," "milk," "salt," and "pepper"), the user's face is captured by a camera, and emotion recognition is performed. When the user clicks the submit button, this information is sent to the server.

[1704] Terminal operation

[1705] The terminal receives the ingredient list entered by the user and converts it into JSON format. The converted data will be in the following format:

[1706] json

[1707] {

[1708] "ingredients": ["egg", "milk", "salt", "pepper"],

[1709] "user_emotion": "happy"

[1710] }

[1711] This JSON data is sent as a POST request to the API endpoint / suggest_recipes.

[1712] Server operation

[1713] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients and user_emotion fields. This retrieves the list of ingredients and the user's emotional state.

[1714] Recipe search and emotion recognition

[1715] The server first searches the recipe database based on the ingredient list. Then, based on the user's emotional state (e.g., "happy") analyzed by the emotion engine, a suitable recipe is selected. The emotion engine prioritizes suggesting recipes that correspond to specific emotional states, such as recipes for relaxation or recipes for boosting energy.

[1716] For example, if a user is in a "happy" emotional state, the server will select and suggest a recipe that will further enhance the user's emotions (for instance, "a party omelet recipe").

[1717] Generating search results

[1718] The server lists recipes selected based on ingredients and emotions, and generates response data in JSON format. For example, it generates response data like the following:

[1719] json

[1720] {

[1721] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[1722] }

[1723] The server sends this data back to the terminal.

[1724] Terminal display

[1725] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, a suggested recipe, "Omelet to liven up the party mood," is displayed on the web page.

[1726] Specific example

[1727] For example, let's assume the user has the following ingredients in their refrigerator: "eggs," "milk," "salt," and "pepper." Furthermore, let's assume the user is in a "happy" emotional state. In this case, when the user enters these ingredients and submits them, the following process occurs on the server side:

[1728] Received "eggs", "milk", "salt", and "pepper".

[1729] Search the recipe database and find an omelet recipe that matches all the criteria.

[1730] The emotion engine detects the user's emotional state, "happy," and selects an "omelet recipe to liven up the party mood" accordingly.

[1731] A JSON response containing the search results is sent back to the device.

[1732] The device displays "Omelet to liven up the party mood" to the user.

[1733] This system allows users to easily decide on their daily menus, prevent food waste, and enjoy a more satisfying diet by suggesting appropriate recipes tailored to their emotional state.

[1734] The following describes the processing flow.

[1735] Step 1:

[1736] The user accesses a web application and enters a list of ingredients in their refrigerator into a form. They enter ingredients such as "eggs," "milk," "salt," and "pepper" into the input fields and click the submit button. The user's face is captured by a camera, and an emotion recognition program analyzes the user's emotions.

[1737] Step 2:

[1738] The terminal receives the ingredient list entered by the user and emotion data (e.g., "happy") analyzed by the emotion recognition program, and converts this data into JSON format. The JSON data will look like this:

[1739] json

[1740] {

[1741] "ingredients": ["egg", "milk", "salt", "pepper"],

[1742] "user_emotion": "happy"

[1743] }

[1744] The device sends this JSON data as a POST request to the API endpoint / suggest_recipes.

[1745] Step 3:

[1746] The server receives a POST request at the API endpoint / suggest_recipes. The server extracts JSON data from the request body and parses the contents of the ingredients and user_emotion fields. This retrieves the list of ingredients and the user's emotional state.

[1747] Step 4:

[1748] The server searches the recipe database based on the extracted ingredient list. For each recipe in the recipe database, it checks if all the necessary ingredients are included in the ingredient list. For example, if the "omelet" recipe requires "eggs," "milk," "salt," and "pepper," then this recipe is extracted as a match because all of these ingredients are included in the list.

[1749] Step 5:

[1750] The server uses the emotion engine to parse the `user_emotion` field in the JSON data. In this example, since it contains "user_emotion": "happy", the server recognizes the user's emotion as "happy".

[1751] Step 6:

[1752] Based on the user's emotional state ("happy") analyzed by the emotion engine, the system selects recipes from the recipe database that are appropriate for the user's emotions. For example, if the emotion is "happy," recipes suitable for parties and celebrations (e.g., "Omelet to liven up the party mood") will be prioritized.

[1753] Step 7:

[1754] The server lists recipes selected based on ingredients and emotional state, and generates response data in JSON format. This response data will look like this:

[1755] json

[1756] {

[1757] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[1758] }

[1759] The server sends this data back to the terminal.

[1760] Step 8:

[1761] The device receives response data from the server. It analyzes the received data and displays it in a format that is easy for the user to understand visually. Specifically, "Omelet to liven up the party mood" is displayed on the web page as a "suggested recipe."

[1762] Step 9:

[1763] Users review the suggested recipes and begin preparing the specified dishes using the ingredients they have on hand. By following the necessary cooking steps, users can efficiently consume ingredients and prevent food waste.

[1764] (Example 2)

[1765] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1766] In today's busy lifestyle, it is difficult for users to efficiently use the ingredients they have at home and find recipes that suit their current emotional state. Furthermore, there is a need to improve meal satisfaction and happiness by suggesting recipes that respond to emotions. Traditional recipe suggestion systems focus on managing ingredient information and do not consider the user's emotional state, thus failing to enhance user psychological satisfaction.

[1767] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for recognizing the user's emotional state, means for converting the received ingredient information and the recognized emotional state into JSON format, and means for sending the converted JSON data to the API endpoint. This makes it possible to search for and suggest an appropriate recipe based on the user's available ingredient information and emotional state. By suggesting recipes that correspond to the user's emotional state, it is possible to improve the satisfaction and happiness of the meal.

[1768] 1. "Means for recognizing a user's emotional state" refers to a combination of hardware and software for identifying a user's emotions, and is a technology that analyzes emotions from the user's facial expressions and tone of voice using input devices such as cameras and microphones.

[1769] 2. "Means for converting received food ingredient information and recognized emotional states into JSON format" refers to a software process for converting the food ingredient list and emotional data provided by the user into JSON format in order to save and transmit them in a unified format.

[1770] 3. "Means for sending the converted JSON data to the API endpoint" refers to a program or module that sends the generated JSON data to a specific server via the internet, and is a technology that uses HTTP requests to POST the data.

[1771] 4. "Means for searching a recipe database based on ingredient information and emotional state to extract matching recipes" refers to a software algorithm that searches a pre-built recipe database based on the received ingredient list and emotional data to find the relevant recipe.

[1772] 5. "A means of selecting recipes based on the user's emotional state using an emotion engine" refers to a system that analyzes the user's emotional state and prioritizes selecting the most suitable recipe based on the results. The emotion engine is built on machine learning models and expert knowledge.

[1773] 6. "Means for visually presenting extracted recipes to the user" refers to GUI (Graphical User Interface) technology that displays selected recipes on the user's screen in the form of text, images, etc., so that the user can easily understand them.

[1774] This invention is a system in which a user inputs information about the ingredients they have on hand, and the system suggests recipes based on that information and the user's emotional state. Specific embodiments of this system are described in detail below.

[1775] System Configuration

[1776] This system consists of a terminal that users access, a server that processes and stores data, and an emotion engine that analyzes users' emotions.

[1777] Hardware and software usage

[1778] 1. Terminal

[1779] The terminal provides an interface for the user to input a list of ingredients. The terminal can be a PC, smartphone, or tablet.

[1780] The device uses input devices such as a camera and microphone to capture the user's face and voice. This collects information for emotion recognition.

[1781] 2. Server

[1782] The server receives, parses, and generates responses to data. The server consists of a database server, a web server, and an API server.

[1783] The server parses the JSON data sent by the user and searches the recipe database.

[1784] The server works in conjunction with the emotion engine to select a recipe that is appropriate for the user's emotional state.

[1785] 3. Emotional Engine

[1786] An emotion engine is a software module that analyzes a user's facial expressions and voice to identify their emotional state (e.g., happy, sad, angry). Emotion engines utilize machine learning models and artificial intelligence technologies.

[1787] Specific example

[1788] As a concrete example, let's consider a scenario where a user has the following ingredients in their refrigerator at home: "eggs," "milk," "salt," and "pepper," and is currently in a "happy" emotional state. When the user accesses the web application, enters this ingredient information, and clicks the submit button, the following process is executed.

[1789] 1. User actions

[1790] The user enters "egg," "milk," "salt," and "pepper" into the input form of the web application.

[1791] When the user clicks the send button, the device's camera activates to capture the user's face, and the emotional state "happy" is recognized.

[1792] 2. Sending data

[1793] The device converts the entered ingredient list and emotion status into JSON format and sends a POST request to the API endpoint / suggest_recipes.

[1794] 3. Server processing

[1795] The server receives the POST request and parses the JSON data.

[1796] The server searches the recipe database and finds recipes that use "eggs," "milk," "salt," and "pepper."

[1797] The server uses an emotion engine to select a recipe suitable for the "happy" emotional state. In this case, "Omelet to liven up the party mood" is selected.

[1798] 4. Generating a response

[1799] The server generates response data in JSON format containing the selected recipe and sends it back to the terminal.

[1800] 5. Display on the device

[1801] The device receives the response data and visually displays a recipe for "Omelet to liven up the party mood."

[1802] Examples of prompts for generative AI models

[1803] Below are examples of prompts to input into a generative AI model:

[1804] Please suggest a recipe using eggs, milk, salt, and pepper that I have in my refrigerator. Also, since I'm feeling happy, I'd like a recipe that will create a party atmosphere.

[1805] The above describes the specific form of implementing the invention. This system allows users to make the most of their available ingredients and enjoy meals that suit their mood.

[1806] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1807] Step 1: The user enters the ingredient information.

[1808] Input: The user enters "egg", "milk", "salt", and "pepper" into the input form of the web application.

[1809] Specific action: The user opens a web page and enters ingredient information into a text box.

[1810] Output: The ingredient information will be entered into the web form.

[1811] Step 2: The user clicks the submit button.

[1812] Input: After the user enters the ingredient information, they click the submit button.

[1813] Specific action: The user clicks the submit button in the browser.

[1814] Output: When the send button is clicked, the device's camera activates along with the entered ingredient information, and the user's face is captured.

[1815] Step 3: The device captures the user's face and recognizes their emotions.

[1816] Input: The send button is clicked and the camera is activated.

[1817] Specific operation: The device's camera captures the user's face. This image data is sent to the emotion engine.

[1818] Output: The emotion engine processes the image data and recognizes the user's emotional state (e.g., "happy").

[1819] Step 4: The device converts the input data and sentiment data into JSON format.

[1820] Input: Ingredient information and user's emotional state.

[1821] Specific operation: The terminal converts the input food information and recognized emotional state into a single JSON object.

[1822] Output: The following JSON data will be generated:

[1823] json

[1824] {

[1825] "ingredients": ["egg", "milk", "salt", "pepper"],

[1826] "user_emotion": "happy"

[1827] }

[1828] Step 5: The device sends JSON data to the server.

[1829] Input: Generated JSON data.

[1830] Specific operation: The device sends data in JSON format to the API endpoint / suggest_recipes via an HTTP POST request.

[1831] Output: JSON data is sent to the server.

[1832] Step 6: The server receives the POST request and parses the JSON data.

[1833] Input: JSON data sent to the server.

[1834] Specific operation: The server receives a POST request at the API endpoint, extracts JSON data from the request body, and parses it. Through the parsing, it extracts the ingredient list and the user's emotional state.

[1835] Output: The ingredient list and emotional state data will become available on the server.

[1836] Step 7: The server searches the recipe database.

[1837] Input: List of analyzed ingredients.

[1838] Specific operation: The server executes a database query to search for recipes that match the entered list of ingredients.

[1839] Output: Matching recipes are extracted based on the ingredient list.

[1840] Step 8: Select recipes using the emotion engine.

[1841] Input: Extracted candidate recipes and the user's emotional state.

[1842] Specific operation: The server uses an emotion engine to select a suitable recipe based on the user's emotional state. For example, if the emotional state is "happy," the "Omelet to liven up the party mood" will be selected.

[1843] Output: A recipe is selected based on the emotional state.

[1844] Step 9: The server generates response data and sends it back to the terminal.

[1845] Input: Selected recipe.

[1846] Specific operation: The server generates response data in JSON format containing the selected recipe and sends it back to the terminal as an HTTP response.

[1847] Output: The following response data is sent back to the terminal:

[1848] json

[1849] {

[1850] "suggested_recipes": ["Omelets to liven up the party atmosphere"]

[1851] }

[1852] Step 10: The terminal receives the response data and displays it to the user.

[1853] Input: Response data returned from the server.

[1854] Specific operation: The device analyzes the response data and visually displays the suggested recipe on the web page.

[1855] Output: Users will be able to view the recipe for "Omelet to liven up the party mood" on the page.

[1856] (Application Example 2)

[1857] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1858] Traditional recipe suggestion systems often fail to consider the user's emotional state, making it difficult to improve user satisfaction and experience. Furthermore, relying solely on available ingredients can lead to problems such as suggesting recipes that are lacking certain ingredients or that don't suit the user's mood.

[1859] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input information on food ingredients they have on hand, means for receiving the input food ingredient information, means for searching a predetermined recipe database based on the received food ingredient information and the user's emotional state to extract matching recipes, means for presenting the extracted recipes to the user, means for capturing the user's facial image to recognize their emotions, and means for transmitting the food ingredient information and emotional information in JSON format. This makes it possible to suggest recipes that are suitable for the user's emotional state, thereby improving the user's cooking experience and satisfaction.

[1860] "Information on available food ingredients" refers to information about the types and quantities of food items that the user currently possesses.

[1861] A "face image" is image data of a user's face.

[1862] "Emotional state" refers to information that indicates the user's current psychological state, obtained by analyzing their facial image.

[1863] A "recipe database" is a collection of information that gathers recipe information, including cooking methods, ingredients, and dish names.

[1864] "Extraction" refers to the act of selecting an appropriate recipe from a recipe database based on the received food ingredient information and emotional state.

[1865] "To present" means to display or notify a user of a recipe that has been selected visually or audibly.

[1866] "JSON format" is an abbreviation for JavaScript Object Notation, and is a type of lightweight data exchange format.

[1867] "Sending" refers to the act of sending data from a user's device to a server.

[1868] "Receiving" refers to the act of a server or terminal receiving data via a network.

[1869] "Capturing" refers to the act of acquiring data such as images using a camera or sensor.

[1870] The "recommendation system" is a system that performs a series of processes in which the user inputs information about the food ingredients they have and their emotional state, and then suggests the most suitable recipe.

[1871] This invention is a system that suggests the optimal recipe based on the user's available food ingredient information and emotional state. Specific embodiments for carrying out this invention are described below.

[1872] System Configuration

[1873] This system mainly consists of the following components:

[1874] 1. User Interface: This is the means by which the user inputs information about the food ingredients they have and their emotional state. Here, the smartphone camera and input form are used.

[1875] 2. Emotion Recognition Engine: This is software that analyzes the user's facial image and recognizes their emotional state. Common emotion recognition engines such as the Google Cloud Vision API are used.

[1876] 3. Recipe Database: This is a database for searching recipes based on food ingredient information and emotional state. PostgreSQL is a suitable general-purpose database management system (DBMS).

[1877] 4. Server-side: This is the backend system for receiving and processing requests. It will be built using Node.js and Express.

[1878] Program Processing Overview

[1879] User actions

[1880] The user performs the following actions using their smartphone:

[1881] Enter the food ingredients you have on hand. Alternatively, you can simplify the input process by scanning the barcodes on the food items.

[1882] A smartphone camera is used to capture facial images and obtain image data to understand emotional states.

[1883] Server-side processing

[1884] The following processes are performed on the server side:

[1885] Converts food ingredient information received from the user into JSON format.

[1886] The system analyzes facial images acquired by an emotion recognition engine to recognize the user's emotional state.

[1887] The system searches a recipe database based on food ingredient information and emotional state, and extracts the most suitable recipe.

[1888] To present the extracted recipes to the user, response data is generated in JSON format and sent to the user's smartphone.

[1889] Specific example

[1890] For example, suppose a user enters "chicken, mayonnaise, lettuce" as the items in their refrigerator and captures a facial image with their smartphone camera. If the emotion recognition engine recognizes the emotional state as "happy," the following processing will occur on the server side:

[1891] The food ingredient information is converted to JSON format, and the emotional state is recognized as "happy."

[1892] Search the recipe database and extract recipes for "Chicken Salad to Liven Up a Party" using "Chicken, Mayonnaise, and Lettuce".

[1893] The extracted recipes are generated as a response in JSON format and presented to the user.

[1894] Example of a prompt

[1895] Use the following prompts to input into the emotion recognition engine:

[1896] "Assuming the available ingredients are 'chicken, mayonnaise, and lettuce,' and the emotional state is 'happy,' please suggest the best recipe."

[1897] As described above, the present invention is a system that proposes the optimal recipe based on the user's available food ingredient information while taking into account the user's emotional state, and can improve the user's cooking experience and psychological satisfaction.

[1898] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1899] Step 1:

[1900] The user inputs information about the food ingredients they have on hand. The user opens the application on their smartphone and enters the food ingredients they have (e.g., chicken, mayonnaise, lettuce) into the input form. The application also captures a facial image using the camera and obtains their emotional state.

[1901] Step 2:

[1902] The terminal receives the entered food ingredient information and facial image. The received food ingredient information is converted to JSON format to create input data like the following:

[1903] json

[1904] {

[1905] "ingredients": ["chicken", "mayonnaise", "lettuce"],

[1906] "user_emotion": "happy"

[1907] }

[1908] The facial image is sent to the emotion recognition engine.

[1909] Step 3:

[1910] The device uses an emotion recognition engine to analyze the user's emotional state. This analysis recognizes the emotional state as "happy," and this information is used in other steps described later.

[1911] Step 4:

[1912] The terminal sends data in JSON format to the server. The server receives this data and prepares to perform the following processing.

[1913] Step 5:

[1914] The server searches the recipe database based on food ingredient information and emotional state. It searches for matching recipes based on food ingredient information and prioritizes the most suitable recipe based on emotional state. For example, based on "chicken, mayonnaise, lettuce" and "happy," it searches for the recipe for "Chicken Salad to Liven Up the Party Mood."

[1915] Step 6:

[1916] The server generates the extracted recipes as response data in JSON format. The generated data will be in the following format:

[1917] json

[1918] {

[1919] "suggested_recipes": ["Chicken salad to liven up the party atmosphere"]

[1920] }

[1921] This data will be sent to the device.

[1922] Step 7:

[1923] The terminal receives response data from the server and presents it to the user. Specifically, the suggested recipe is displayed on the application screen. The user can view the recipe information in a visually easy-to-understand format.

[1924] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1925] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1926] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

[1927] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1928] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[1929] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[1930] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[1931] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated based, for example, on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[1932] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[1933] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[1934] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[1935] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

[1936] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

[1937] 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.

[1938] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[1939] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[1940] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[1941] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[1942] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[1943] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[1944] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.

[1945] The following is further disclosed regarding the embodiments described above.

[1946] (Claim 1)

[1947] A means for the user to input information about the ingredients they have on hand,

[1948] A means for receiving input ingredient information,

[1949] A means of searching a predetermined recipe database based on the received ingredient information and extracting matching recipes,

[1950] A means of presenting the extracted recipes to the user,

[1951] A system that includes this.

[1952] (Claim 2)

[1953] The system according to claim 1, which receives input ingredient information in JSON format.

[1954] (Claim 3)

[1955] The system according to claim 1, comprising means for verifying whether all necessary ingredients in a recipe database are included in the entered ingredient information.

[1956] "Example 1"

[1957] (Claim 1)

[1958] A means for the user to input information about the ingredients they have on hand,

[1959] A means for receiving input ingredient information,

[1960] A method for searching a database based on received ingredient information and extracting matching recipes,

[1961] A means of presenting the extracted recipes to the user,

[1962] A means of converting the input ingredient information into a data format and sending it to the API endpoint,

[1963] A means of analyzing the transmitted data and extracting a list of ingredients,

[1964] A method for searching for recipes based on an ingredient list and listing matching recipes,

[1965] A method for returning the listed recipes to the terminal in data format,

[1966] A means of analyzing the returned data and displaying it to the user,

[1967] A system that includes this.

[1968] (Claim 2)

[1969] The system according to claim 1, which receives input ingredient information in data format.

[1970] (Claim 3)

[1971] The system according to claim 1, comprising means for verifying whether all necessary information in the database is included in the entered ingredient information.

[1972] "Application Example 1"

[1973] (Claim 1)

[1974] A means for the user to input information about the ingredients they have on hand,

[1975] A means for receiving input ingredient information,

[1976] A means of searching a predetermined recipe database based on the received ingredient information and extracting matching recipes,

[1977] A means of identifying missing ingredients based on the extracted recipes,

[1978] One method is to order the identified missing ingredients from a delivery service,

[1979] A system that includes this.

[1980] (Claim 2)

[1981] The system according to claim 1, which receives input ingredient information in JSON format.

[1982] (Claim 3)

[1983] The system according to claim 1, comprising means for verifying whether all necessary ingredients in a recipe database are included in the entered ingredient information.

[1984] "Example 2 of combining an emotion engine"

[1985] (Claim 1)

[1986] A means for the user to input information about the ingredients they have on hand,

[1987] A means for receiving input ingredient information,

[1988] A means of recognizing the user's emotional state,

[1989] A means of converting received food information and recognized emotional states into JSON format,

[1990] A means of sending the converted JSON data to the API endpoint,

[1991] A method for searching a recipe database based on ingredient information and emotional state to extract matching recipes,

[1992] A means of selecting a recipe based on the user's emotional state using an emotion engine,

[1993] A means of visually presenting the extracted recipes to the user,

[1994] A system that includes this.

[1995] (Claim 2)

[1996] The system according to claim 1, which receives input food ingredient information and emotional state in JSON format.

[1997] (Claim 3)

[1998] The system according to claim 1, which has means for verifying whether all the necessary ingredients in the recipe database are included in the entered ingredient information, and for prioritizing the selection of recipes that correspond to the user's emotional state.

[1999] "Application example 2 when combining with an emotional engine"

[2000] (Claim 1)

[2001] A means for the user to input information about the food ingredients they have on hand,

[2002] A means for receiving input food ingredient information,

[2003] A means for searching a predetermined recipe database based on received food ingredient information and the user's emotional state to extract matching recipes,

[2004] A means of presenting the extracted recipes to the user,

[2005] A means of capturing a user's facial image and recognizing their emotions,

[2006] A means of transmitting food ingredient information and emotional information in JSON format,

[2007] A system that includes this.

[2008] (Claim 2)

[2009] The system according to claim 1, which receives information on food ingredients and emotional information in JSON format.

[2010] (Claim 3)

[2011] The system according to claim 1, comprising means for verifying whether all necessary ingredients in a recipe database are included in the entered food ingredient information. [Explanation of symbols]

[2012] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for the user to input information about the ingredients they have on hand, A means for receiving input ingredient information, A means of searching a predetermined recipe database based on the received ingredient information and extracting matching recipes, A means of presenting the extracted recipes to the user, A system that includes this.

2. The system according to claim 1, which receives input ingredient information in JSON format.

3. The system according to claim 1, comprising means for verifying whether all necessary ingredients in a recipe database are included in the entered ingredient information.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A