system

A system that allows users to input ingredients and efficiently find matching recipes, reducing waste by analyzing and comparing ingredient data with a database, thereby supporting an ecological lifestyle.

JP2026064759APending Publication Date: 2026-04-14SOFTBANK 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-10-02
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Users face difficulty in finding appropriate recipes using limited ingredients at home, leading to ingredient waste and inefficiency in meal preparation.

Method used

A system that allows users to input their owned ingredients, analyze this information, search for and provide recipe information, and transmit ingredient data to a server for efficient comparison with a database to find matching recipes.

Benefits of technology

Enables users to efficiently utilize ingredients, prevent waste, and support an ecological lifestyle by providing quick and relevant recipe suggestions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064759000001_ABST
    Figure 2026064759000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for the user to input the materials they possess, Means for analyzing information about the aforementioned material, A means for searching for recipe information based on the analyzed material information, A means for providing the user with the searched recipe information, A system that includes this.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including 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, the number of users who want to easily cook during their busy daily lives is increasing. However, it is difficult to find an appropriate recipe using limited ingredients at home, and as a result, ingredients are often wasted. There is a need for a system that solves this problem and enables users to make the most of the ingredients at home.

Means for Solving the Problems

[0005] This invention relates to a system that takes user-owned ingredients as input, analyzes that information, and provides appropriate recipe information. Specifically, by providing a system that includes means for inputting user-owned ingredients, means for analyzing the information of those ingredients, means for searching for recipe information based on the analyzed ingredient information, and means for providing the searched recipe information to the user, users can easily cook meals using ingredients they have at home. Furthermore, by prioritizing the provision of a recipe that includes all of the searched ingredients, the system can prevent waste of ingredients and support an ecological lifestyle. In addition, by including means for transmitting the user-inputted ingredient information to a server, for the server to compare the received ingredient information with a database to search for recipe information, and for the server to transmit the results to the user, it is possible to provide recipe information efficiently and quickly.

[0006] A "user" is an individual or legal entity that uses this system to input ingredients or search for recipes.

[0007] "Ingredients" refers to food items and seasonings that the user owns and uses when creating dishes.

[0008] "Means of input" refers to the interface or method for providing the system with information about the materials that the user possesses.

[0009] "Means of analysis" refers to the technologies and algorithms used to understand the information about materials entered by the user and to recognize their properties and types.

[0010] "Searching methods" refer to methods and techniques for matching recipe databases with analyzed material information to find appropriate recipe information.

[0011] "Means of provision" refers to the interface or method used to present or notify users of the searched recipe information.

[0012] "Recipe information" refers to information about how to make a dish, the necessary ingredients, and the cooking procedure.

[0013] A "server" refers to a computing system that receives input from users, compares it with a database, and returns the results to the user.

[0014] A "database" refers to a storage device or system used to store and manage multiple recipes in a searchable format.

[0015] "Matching" means comparing the ingredient information provided by the user with the recipe information in the database to find a matching or suitable recipe.

[0016] "Means of transmission" refers to the communication methods and protocols used to send ingredient information entered by the user to the server and receive recipe information as search results from the server. [Brief explanation of the drawing]

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

Embodiments for Carrying Out the Invention

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

[0019] First, the terms used in the following description will be described.

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

[0021] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.

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

[0023] 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).

[0024] 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."

[0025] [First Embodiment]

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

[0027] 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.

[0028] 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).

[0029] 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.

[0030] 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.

[0031] 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.

[0032] 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.

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

[0034] 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.

[0035] 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.

[0036] 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.

[0037] 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".

[0038] This invention is a system that allows a user to input the materials they possess and provides recipes based on those materials. This system mainly consists of the following components.

[0039] 1. User Interface (Terminal)

[0040] An interface for users to input the materials they possess. This may include text boxes or voice input. Through this interface, users communicate the materials they have at home to the system.

[0041] 2. Sending material information

[0042] The terminal analyzes the input material information and sends it to the server as JSON data. This ensures that the material information is accurately transmitted to the server.

[0043] 3. Database search (server)

[0044] The server analyzes the received ingredient information and compares it with recipe information in the database. This comparison takes into account attributes such as the type and quantity of ingredients. Then, it identifies a recipe that can be made using the ingredients entered by the user.

[0045] 4. Submit recipe information

[0046] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information.

[0047] 5. Displaying recipe information (on the device)

[0048] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it provides details such as ingredients, cooking steps, and preparation time in a list or card format.

[0049] Specific example

[0050] The user enters the ingredients they have at home—eggs, milk, flour, and sugar—into a text box on the device. The user can also use a smartphone application, for example.

[0051] The terminal converts these ingredients into JSON format and sends it to the server as an HTTP POST request. For example, the data sent will be in the following format: ["eggs","milk","flour","sugar"].

[0052] The server analyzes the received data and compares it with the database. The server then searches for a matching recipe by comparing it with the recipe information stored in the database. For example, "pancakes" might be identified as a matching recipe.

[0053] The server sends the "pancake" recipe information back to the terminal as JSON data. For example, the returned data will be in the following format: ["Pancake"].

[0054] The device analyzes the received recipe information and displays a message such as, "Recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking detailed recipe information.

[0055] For this system to work, smooth communication between the user interface and the server is crucial. Using a secure protocol for communication is recommended. Furthermore, it is necessary to pre-store multiple recipe entries in the database to improve search efficiency.

[0056] The following describes the processing flow.

[0057] Step 1:

[0058] The user enters the ingredients they have at home into the input field on the device. For example, the user might enter "eggs, milk, flour, sugar."

[0059] Step 2:

[0060] The terminal converts the entered ingredients into JSON data. Specifically, the terminal takes the user's input and generates a list like ["eggs", "milk", "flour", "sugar"].

[0061] Step 3:

[0062] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[0063] Step 4:

[0064] The server receives an HTTP request and parses the JSON data sent. Specifically, the server parses the received data and converts it into a Python list (e.g., ['egg', 'milk', 'flour', 'sugar']).

[0065] Step 5:

[0066] The server searches the database based on the analyzed ingredient list. Specifically, it compares each recipe in the database with the user's ingredient list to find a matching recipe. In this case, the "pancake" recipe matches.

[0067] Step 6:

[0068] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and sends it to the device as JSON data.

[0069] Step 7:

[0070] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[0071] Step 8:

[0072] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "Recipe you can make with your ingredients: Pancakes."

[0073] Step 9:

[0074] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed as the user progresses through the cooking process.

[0075] (Example 1)

[0076] 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."

[0077] In many modern households, there is a growing need for users to easily cook meals using ingredients they already have at home. However, it is time-consuming for users to find appropriate recipes based on the ingredients they have. Furthermore, it is difficult to find recipes that perfectly match the ingredients entered when searching online. This can lead to users wasting ingredients they already possess. This invention aims to solve this problem by developing a system that quickly provides recipe information based on the ingredients a user has at home.

[0078] 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.

[0079] In this invention, the server includes means for inputting ingredients owned by the user, means for converting the ingredient information into JSON format, means for transmitting the ingredient information to the server, means for analyzing the received ingredient information and comparing it with a database to search for recipe information, means for returning the retrieved recipe information to the terminal in JSON format, and means for displaying the returned recipe information. This makes it possible for the user to easily input ingredients they have at home and quickly obtain appropriate recipe information based on those ingredients.

[0080] A "user" refers to a person who uses the system to input the ingredients they have at home and receive recipe information.

[0081] "Ingredients" refers to the food items that users use to make food.

[0082] "Means of input" refers to the interface through which the user provides material information to the system, and specifically includes text boxes and voice input.

[0083] "JSON format" is an abbreviation for JavaScript (registered trademark) Object Notation, and refers to a lightweight data exchange format for structuring and representing data.

[0084] "Means of transmission" refers to the method of sending the input material information to the server, and specifically includes HTTP POST requests.

[0085] A "server" refers to a computer system that analyzes received ingredient information, compares it with a database to retrieve recipe information, and sends it back to the terminal.

[0086] "Analyzing" refers to the process by which a server breaks down the material information it receives and converts it into an understandable format.

[0087] A "database" refers to a place where information is collected and stored, such as a place to store multiple recipes.

[0088] "Matching" refers to the process of comparing the ingredient information analyzed by the server with the recipe information in the database and identifying matching items.

[0089] "Means of searching" refers to the methods by which the server finds recipe data within the database, and specifically includes SQL queries and similar search techniques.

[0090] "Means of returning information" refers to the method by which the server returns the retrieved recipe information to the terminal, and specifically includes HTTP responses.

[0091] "Means of display" refers to methods by which the terminal visually presents the returned recipe information to the user, and specifically includes HTML and UI components within the application.

[0092] A "secure protocol" refers to a set of rules used to ensure secure data communication between a server and a terminal, and specifically includes HTTPS.

[0093] "Storing in advance" refers to registering recipe information in a database beforehand to improve search efficiency.

[0094] "List format" refers to a display method in which information is arranged item by item.

[0095] "Card format" refers to a method of displaying information in a visually easy-to-understand way by dividing it into card-like blocks.

[0096] This invention is a system that allows users to input ingredients they have at home and provides an optimal recipe based on those ingredients. This system mainly consists of a user interface, data transmission, database search, recipe information transmission, and recipe information display.

[0097] Hardware / software to use

[0098] Terminal:

[0099] Hardware: Smartphones, PCs, tablets, etc.

[0100] Software: Web browsers, mobile applications

[0101] server:

[0102] Hardware: Cloud servers (e.g., AWS®, Google® Cloud)

[0103] Software: Database management systems (e.g., MySQL®, PostgreSQL), API servers (e.g., Node.js, Django)

[0104] Communication: Secure protocols (e.g., HTTPS)

[0105] System Operation Overview

[0106] User actions

[0107] The user enters the ingredients they have at home into a text box on a device such as a smartphone or PC. For example, they might enter "eggs, milk, flour, sugar." This transmits information about the ingredients the user possesses to the device.

[0108] Terminal operation

[0109] The terminal converts the ingredient information entered by the user into JSON format and sends it to the server as an HTTP POST request. For example, the converted data will be in the following format: ["Eggs","Milk","Flour","Sugar"].

[0110] Server operation

[0111] The server analyzes the received ingredient information and compares it with the database. The server then searches the database for recipes that can be made using the ingredients entered by the user. This matching process uses search techniques such as SQL queries to efficiently identify recipes. For example, "pancakes" might be identified as a matching recipe.

[0112] Next, the server returns the searched recipe information to the terminal as JSON data. For example, the returned data will be in the following format: {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. Break the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further..."}.

[0113] Terminal display behavior

[0114] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it might display "Recipe you can make with your ingredients: Pancakes" and show detailed cooking instructions in list or card format.

[0115] Specific example

[0116] User input and server response

[0117] The user enters "eggs, milk, flour, sugar" into the device. The device converts this into JSON format and sends it to the server.

[0118] The server receives this and compares it with the database. For example, "pancakes" might be identified as a matching recipe.

[0119] The server converts the recipe information into JSON format and sends it back to the terminal as an HTTP response.

[0120] The device analyzes the received recipe information and displays to the user, "Recipe you can make with your ingredients: Pancakes."

[0121] Examples of prompt statements

[0122] Input prompt:

[0123] User: Enter the ingredients you have at home. Search for recipes using "eggs, milk, flour, sugar".

[0124] Output prompt:

[0125] System: "Recipe you can make with your ingredients: Pancakes". Follow these steps to prepare: 1. Crack the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further. ...

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

[0127] Step 1:

[0128] The user inputs the ingredients they have at home into the user interface of a device such as a smartphone or PC. For example, the ingredients might be "eggs, milk, flour, and sugar." These ingredients are entered in text format.

[0129] Input: Ingredients entered by the user on the device (e.g., "eggs, milk, flour, sugar")

[0130] Output: Material information (text format)

[0131] Step 2:

[0132] The terminal converts the entered ingredient information into JSON format. Specifically, it converts the text data entered by the user into JSON data using a script such as JavaScript. This converted JSON data would look like this: ["egg", "milk", "flour", "sugar"].

[0133] Input: Material information (text format)

[0134] Output: Material information (JSON format)

[0135] Step 3:

[0136] The terminal sends the converted JSON-formatted material information to the server as an HTTP POST request. This transmission uses a secure protocol (e.g., HTTPS) to safely transfer the data to the server.

[0137] Input: Material information (JSON format)

[0138] Output: HTTP POST request (material information)

[0139] Step 4:

[0140] The server parses the material information received as an HTTP POST request. Specifically, the server uses Python or Node.js scripts to deserialize the received JSON data and extract the material list.

[0141] Input: HTTP POST request (material information)

[0142] Output: Material list (analyzed data)

[0143] Step 5:

[0144] The server uses the extracted list of ingredients to match it against the database and search for a suitable recipe. The server generates an SQL query to search the recipe data in the database and identify a matching recipe. For example, "pancakes" might be identified as the best recipe.

[0145] Input: Material list (analyzed data)

[0146] Output: Matching recipe information (e.g., "pancakes")

[0147] Step 6:

[0148] The server converts the retrieved recipe information into JSON data and sends it back to the terminal as an HTTP response. Specifically, it converts the search results into JSON format (e.g., {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. ... 2. ..."}) and sends it to the terminal using a secure protocol.

[0149] Input: Matching recipe information

[0150] Output: Recipe information in JSON format (HTTP response)

[0151] Step 7:

[0152] The system parses the JSON-formatted recipe information received by the device and displays it in a user-friendly format. Specifically, it uses scripts such as JavaScript to parse the received data and update the HTML and UI components within the application for display. For example, it might display "Recipe you can make with your ingredients: Pancakes" and present detailed instructions in list or card format.

[0153] Input: Recipe information in JSON format (HTTP response)

[0154] Output: Visually displayed recipe information (e.g., "Recipes you can make with your ingredients: Pancakes")

[0155] (Application Example 1)

[0156] 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."

[0157] When cooking at home, there is a need for a way to efficiently utilize the ingredients available and to quickly procure any missing ingredients. In particular, there is a need for a system that allows users to easily input and analyze ingredient information using devices such as smartphones, receive appropriate recipe suggestions, and quickly order any missing ingredients online.

[0158] 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.

[0159] In this invention, the server includes means for inputting the materials the user possesses, means for analyzing the material information, means for searching for recipe information based on the analyzed material information, means for providing the searched recipe information to the user, means for identifying materials the user does not possess based on the search results, and means for ordering the materials the user does not possess online. This enables a system in which the user can effectively utilize the materials they have on hand while quickly procuring any missing materials.

[0160] A "user" is someone who uses the system to input ingredient information, receive recipe suggestions, and place online orders.

[0161] "Ingredients" refers to the raw materials for cooking, such as food items, that the user possesses.

[0162] The "means of analysis" refer to a function that analyzes the input material information as data and searches for recipes based on that information.

[0163] "Recipe information" refers to data that includes instructions and information about the necessary ingredients for preparing a dish using specific ingredients.

[0164] "Means of providing" refers to functions that display or notify users of analysis results and recipe information.

[0165] "Searching methods" refer to the function of finding recipe information within a database based on ingredient information.

[0166] "Material information" refers to data such as the types and quantities of food items owned by the user.

[0167] "Means of identification" refers to a function that lists materials that the user does not possess.

[0168] "Online ordering" refers to the function of purchasing ingredients that the user does not possess through an external food distribution service.

[0169] A "server" is a computer system that analyzes ingredient information based on user input, searches for recipe information, identifies necessary ingredients, and processes online orders.

[0170] This invention provides a system that allows users to input the ingredients they possess, provides an optimal recipe based on those ingredients, and automatically orders any missing ingredients online. This system consists of multiple components, including a user interface, a server, a recipe database, and an online ordering function.

[0171] 1. User Interface

[0172] The user interface is a means for users to input the materials they possess, and it operates on devices such as smartphones and tablets. Users input material information using text boxes or voice input. The entered material information is sent to the server as data in JSON format.

[0173] 2. Server

[0174] The server analyzes the received ingredient information and compares it with the recipe database to find the optimal recipe. Specifically, it uses software such as Python, Flask, and FastAPI to process the ingredient information and match it with recipe data.

[0175] 3. Recipe Database

[0176] The recipe database is a database containing a large amount of pre-registered recipe information. Based on the user's ingredient information, it searches for the most suitable recipe and returns the matching recipe information to the server as data in JSON format.

[0177] 4. Online ordering function

[0178] The server identifies ingredients the user does not possess based on the search results. These missing ingredients are ordered online via an external food delivery service API. This feature allows users to quickly procure the missing ingredients.

[0179] Specific example

[0180] For example, if a user enters "eggs, milk, and flour," the server will search for recipe information based on these ingredients and suggest recipes such as "pancakes." If the user does not have "sugar," the server will identify "sugar" as a missing ingredient and place an order with the appropriate food delivery service through the online ordering function.

[0181] Example of a prompt

[0182] Create a program that suggests the best recipe based on the ingredients a user has at home ("eggs, milk, flour") and then orders any missing ingredients. The input ingredients are: eggs, milk, and flour. Explain how the program retrieves the appropriate recipe and orders the missing ingredients based on these ingredients. Specifically, clearly explain which API endpoint to use, in what format to send the ingredient information, and how to retrieve the recipe and any missing ingredients.

[0183] By building such a system, users can make the most of the ingredients they have on hand, easily order the necessary ingredients, and cook efficiently.

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

[0185] Step 1:

[0186] The user launches a smartphone application and enters the ingredients they have on hand into a text box. This ingredient information is recorded, for example, "eggs, milk, flour." This ingredient information is then processed as input and converted into JSON format data.

[0187] Step 2:

[0188] The terminal converts the entered ingredient information into JSON format and sends it to the server as an HTTP POST request. The converted data is in a format such as: "["Egg", "Milk", "Flour"]". This request is sent to a specific API endpoint on the server, and the ingredient information is transmitted to the server.

[0189] Step 3:

[0190] The server analyzes the received material information. Specific examples of analysis include the use of software such as Python, Flask, and FastAPI. Based on the analyzed material information, a request for matching is sent to the recipe database. The system searches the recipe database using SQL queries and other methods to find matching recipe information.

[0191] Step 4:

[0192] The server receives search results from the recipe database and identifies the optimal recipe based on the ingredient information. For example, a recipe for "pancakes" might be identified. This identified recipe information is generated in JSON format and temporarily stored on the server.

[0193] Step 5:

[0194] The server sends the recipe information, which is the search result, back to the terminal. It is sent as an HTTP response in a format such as the following: "{"recipe": "pancakes", "ingredients": ["eggs", "milk", "flour", "sugar"]}". This response is received by the terminal.

[0195] Step 6:

[0196] The device analyzes the received recipe information and displays it visually to the user. Based on the analyzed information, the ingredients and instructions for the recipe are displayed on the user's screen in a list format. The user can then proceed with cooking while referring to this information.

[0197] Step 7:

[0198] The server identifies ingredients that the user does not possess, based on the recipe information. It compares the ingredient information in the database with the ingredient information entered by the user, and for example, identifies that "sugar" is missing.

[0199] Step 8:

[0200] The server calls an external food delivery service API to order the missing ingredients online. Specifically, it generates an order request for the missing ingredient "sugar" and sends it to the food delivery service. It receives a response from the API and confirms that the order was placed successfully.

[0201] Step 9:

[0202] The order result from the food delivery service API is sent back to the server. If the order is successful, the server notifies the terminal of this information. The terminal displays the success of the order to the user and informs them that any missing ingredients will be delivered.

[0203] Through these steps, users can obtain recipes based on the ingredients they have on hand and quickly order any missing ingredients online. This ensures a smooth cooking process and reduces the hassle of sourcing ingredients.

[0204] 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.

[0205] This invention combines a system that allows users to input ingredients they possess and then searches for and provides recipes based on that information with an emotion engine that recognizes the user's emotions. This system comprises a user interface (terminal), a server, a recipe database, and an emotion engine.

[0206] 1. User Interface (Terminal)

[0207] An interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, camera, etc., allowing users to communicate materials they have at home and their emotions to the system.

[0208] 2. Transmission of material information and emotional data

[0209] The terminal converts the entered ingredient information and emotion data into JSON format and sends it to the server. Ingredient information is sent in the format of "eggs, milk, flour, sugar," and emotion data is sent in the format of "feeling stressed."

[0210] 3. Database search (server)

[0211] The server analyzes the received ingredient information and emotional data and compares it with recipe information in the database. Based on the ingredient list and emotional data, the server searches for an appropriate recipe. For example, if the emotional data indicates "feeling stressed," a simple, relaxing recipe will be searched for.

[0212] 4. Submit recipe information

[0213] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[0214] 5. Displaying recipe information (on the device)

[0215] The device analyzes the received recipe information and displays it in a user-friendly format, as a recipe that is also emotionally resonant. For example, it might notify the user with a message like, "A relaxing recipe you can make with your ingredients: Pancakes."

[0216] Specific example

[0217] The user inputs the ingredients they have at home—"eggs, milk, flour, sugar"—and their current feeling—"feeling stressed"—into the device's interface. The user then uses, for example, a smartphone application.

[0218] The device converts this information into JSON format and sends it to the server as an HTTP POST request. The data sent will be in the following format: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0219] The server analyzes the received data and compares the ingredient list and emotional data with the database. The server then compares this with recipe information in the database and searches for a pancake recipe that has a relaxing effect based on the emotional data.

[0220] The server sends the "pancake" recipe information back to the terminal as JSON data. The returned data will be in the following format: {"Recipe": ["Pancake"]}.

[0221] The device analyzes the received recipe information and displays a message such as, "A relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking the detailed recipe information.

[0222] The system of this invention allows users to have a more satisfying cooking experience because they are not only offered recipes based on the ingredients they have, but also recipes that suit their emotional state. This allows users to easily select recipes that match their mood, prevent food waste, and enjoy cooking.

[0223] The following describes the processing flow.

[0224] Step 1:

[0225] The user enters ingredients they have at home and their feelings into the input fields on the device. For example, the user might enter "eggs, milk, flour, sugar" and "feeling stressed" as their feeling.

[0226] Step 2:

[0227] The terminal converts the input material information and emotion data into JSON format data. Specifically, the terminal takes user input and generates JSON data like this: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0228] Step 3:

[0229] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[0230] Step 4:

[0231] The server receives an HTTP request and parses the JSON data sent to it. Specifically, the server parses the received data and converts it into Python lists and strings (e.g., {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}).

[0232] Step 5:

[0233] The server searches the database based on the analyzed ingredient list and emotional data. Specifically, it compares each recipe in the database with the user's ingredient list and prioritizes searching for recipes with a relaxing effect based on the emotional data "feeling stressed."

[0234] Step 6:

[0235] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and generates JSON data like the following, which is then sent to the device: {"Recipe": ["Pancakes"]}.

[0236] Step 7:

[0237] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[0238] Step 8:

[0239] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "A relaxing recipe you can make with your ingredients: Pancakes."

[0240] Step 9:

[0241] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed, and the user proceeds with cooking according to it.

[0242] (Example 2)

[0243] 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".

[0244] Traditional recipe suggestion systems typically propose recipes based on the ingredients the user possesses. However, recipe suggestions based solely on ingredients, without considering the user's emotional state, do not necessarily increase user satisfaction. Users often need recipes that suit their current emotional state, such as when they are stressed or want to relax. Furthermore, the system's configuration for providing optimal recipes based on emotional state is insufficient, resulting in an unoptimized user experience.

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

[0246] In this invention, the server includes means for inputting the ingredients and emotions held by the user, means for analyzing the information on ingredients and emotions, means for searching for recipe information based on the analyzed information on ingredients and emotions, and means for providing the searched recipe information to the user. This makes it possible to suggest the most suitable recipe not only based on the ingredient information entered by the user, but also based on their emotional state. For example, if the user is feeling stressed, recipes with a relaxing effect will be prioritized, thereby improving the user's satisfaction and cooking experience.

[0247] A "user" refers to an individual or group that can use the system to input materials they have at home and their own emotional state.

[0248] "Ingredients" refers to the specific elements that the user possesses, such as food and seasonings, that are used in cooking.

[0249] "Emotions" refer to the psychological state or mood that a user is experiencing. Examples include stress, relaxation, and joy.

[0250] "Input method" refers to an interface for users to input materials and emotions, specifically referring to input devices such as text boxes, microphones, and cameras.

[0251] "Analysis means" refers to an element that has the function of processing input material and emotional information and converting it into a format that can be understood by the system.

[0252] "Recipe information" refers to information that includes detailed instructions and explanations for cooking based on specific ingredients and procedures.

[0253] "Search method" refers to an element that has the function of finding the most suitable recipe information from within the database based on the analyzed material and emotional information.

[0254] "Means of provision" refers to elements that have the function of notifying and displaying the searched recipe information to the user.

[0255] This invention is a system that allows users to input their own ingredients and emotions, and then searches for and provides the most suitable recipe based on that information. This system consists of a user interface (terminal), a server, a recipe database, and an emotion engine.

[0256] 1. User Interface (Terminal)

[0257] A user interface is an interface for inputting materials and emotions that a user possesses. A smartphone application is a specific example. A user interface includes input devices such as text boxes, microphones, and cameras. This allows the user to input materials they have at home (e.g., eggs, milk, flour, sugar) and their emotions (e.g., feeling stressed) into the system.

[0258] 2. Transmission of material information and emotional data

[0259] The terminal converts the input material information and emotion data into JSON format. Specific format examples are as follows:

[0260] {

[0261] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[0262] "Emotion": "Feeling stressed"

[0263] }

[0264] The converted data is sent from the terminal to the server as an HTTP POST request.

[0265] 3. Data analysis and recipe search on the server

[0266] The server analyzes the received ingredient information and emotion data. First, the server analyzes the data in JSON format to extract the list of ingredients to be used and the emotion information. Next, it uses the recipe database and emotion engine to search for an appropriate recipe. For example, if the user's emotion data is "feeling stressed," recipes with relaxing effects will be prioritized in the search.

[0267] 4. Submit recipe information

[0268] The server converts the search results into JSON format and sends that data back to the terminal. An example of the data sent back is as follows:

[0269] {

[0270] "Recipe": ["Pancakes"]

[0271] }

[0272] 5. Displaying recipe information

[0273] The device parses the received JSON data and displays it in a user-friendly format. A specific example of this display is a message such as, "Relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking based on the detailed recipe information.

[0274] Examples of specific actions

[0275] The user uses a smartphone application to input information about ingredients such as "eggs, milk, flour, and sugar" and information about their emotions, such as "feeling stressed."

[0276] The device converts this information into JSON format and sends it to the server.

[0277] The server analyzes the received data and uses a recipe database and emotion engine to search for the most suitable recipe. For example, it might find a recipe for "pancakes."

[0278] The server returns the search results to the terminal in JSON format.

[0279] The terminal analyzes the received recipe information and displays a message such as "Relaxing recipes that can be made with your ingredients: Pancakes" to the user.

[0280] With this system, the user can not only be proposed recipes based on ingredients, but also provided with recipes suitable for their emotional state, so that they can obtain a more satisfying cooking experience. As a result, the user can easily select recipes that match their emotions, prevent waste of ingredients, and enjoy cooking.

[0281] The flow of the specific process in Example 2 will be described using FIG. 13.

[0282] Step 1:

[0283] Input at the user interface

[0284] The user opens the application on the terminal and enters ingredient information and emotional data. The user enters "eggs, milk, flour, sugar" in the text box as ingredient information and selects "feeling stressed" as emotional data. The input devices used are the keyboard and voice input.

[0285] Input: User's ingredient information and emotional data

[0286] Output: Ingredient and emotional data entered in the text box

[0287] [[ID=3�]] Step 2:

[0288] Transmission of ingredient information and emotional data

[0289] The terminal converts the input material information and emotion data into JSON format. For example, it converts it to the format {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0290] Input: Material information and emotion data entered by the user.

[0291] Output: Data converted to JSON format

[0292] Specific operation: The terminal generates an HTTP POST request and sends the converted JSON data to the server.

[0293] Step 3:

[0294] Data analysis on the server

[0295] The server analyzes the received material information and emotion data. First, the server parses the data in JSON format and extracts the list of materials to be used and the emotion information.

[0296] Input: JSON data sent from the device

[0297] Output: Extracted material list and sentiment information

[0298] Specific operation: The server uses a JSON parser to analyze the data and extract the material list and sentiment information.

[0299] Step 4:

[0300] Recipe database search

[0301] The server searches the recipe database based on the analyzed ingredient list and emotional information. Using the emotional engine, it prioritizes selecting recipes that are appropriate for the user's emotional state.

[0302] Input: Material list and emotional information

[0303] Output: Retrieved recipe information

[0304] Specific operation: The server executes a database query to search for recipes that meet the conditions. For example, a recipe for "pancakes" is found.

[0305] Step 5:

[0306] Transmission of recipe information

[0307] The server converts the search results into JSON format and returns them to the terminal. An example of the specific return data is {"recipe": ["pancakes"]}.

[0308] Input: Retrieved recipe information

[0309] Output: Recipe information in JSON format

[0310] Specific operation: The server sends the recipe information to the terminal in JSON format as an HTTP response.

[0311] Step 6:

[0312] Display of recipe information

[0313] The terminal analyzes the received JSON data and displays it in a user-friendly format. As a specific display example, there is "Relaxing recipe that can be made with your ingredients: Pancakes".

[0314] Input: Recipe information in JSON format sent from the server

[0315] Output: Recipe information displayed to the user

[0316] Specific operation: The terminal analyzes the received data and displays a message to the user on the application.

[0317] Through these steps, users can obtain the optimal recipe based on the ingredients they have at home and their emotions. This system utilizes an emotion engine to provide recipes that take into account the user's psychological state, resulting in a better cooking experience.

[0318] (Application Example 2)

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

[0320] Current recipe search systems only provide recipes based on the ingredients the user possesses, thus failing to consider the emotional aspect of enjoying cooking. Furthermore, the need to purchase additional ingredients to prepare a dish is often cumbersome, resulting in low user convenience.

[0321] 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 transmitting material information and emotion data entered by the user to the server; means for comparing the material information and emotion data received by the server with a database to search for recipe information; means for transmitting the search results from the server to the user; and means for ordering delivery of the necessary ingredients based on the recipe. As a result, the user can easily find a recipe that suits their emotional state and immediately order delivery of the necessary ingredients.

[0322] "A means for users to input the ingredients they possess" refers to an interface for users to input information about the ingredients they have into the system.

[0323] "Means for analyzing the information on the materials and the user's emotional data" refers to means for analyzing the input material information and the user's emotional data to perform processing for searching for an appropriate recipe.

[0324] "Means for searching recipe information based on the analyzed material information and sentiment data" refers to means for searching for an appropriate recipe from within a database based on the analyzed material information and sentiment data.

[0325] "Means for providing the searched recipe information to the user" refers to means for providing the recipe information obtained as a search result to the user in an easy-to-understand format.

[0326] "Means for ordering ingredients for delivery based on the recipe information provided" refers to means for automatically ordering the necessary ingredients for delivery based on the proposed recipe.

[0327] A "server" is a computer system on a network that receives data sent by users, compares it with a database to search for recipe information, and returns the results.

[0328] A "database" is a system that stores and manages information such as recipe information, ingredient information, and emotional data in a searchable format.

[0329] "Emotional data" refers to data in which users input their own emotional state, expressed in a format such as "I am feeling stressed."

[0330] This invention is a system that searches for and provides the optimal recipe based on the user's material and emotional data, and orders the necessary ingredients for delivery. This system consists of a user interface (terminal), a server, a recipe database, and an emotional engine.

[0331] 1. User Interface (Terminal)

[0332] The device provides an interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, and camera, allowing users to communicate materials they have at home and their emotions to the system. Upon receiving this information, the system begins processing.

[0333] 2. Transmission of material information and emotional data

[0334] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The data sent is in the following format, for example:

[0335] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[0336] Emotion: "I am feeling stressed."

[0337] 3. Database search (server)

[0338] The server analyzes the received ingredient information and emotional data, and compares it with the recipe database to search for an appropriate recipe. Based on the ingredient list and emotional data, the server prioritizes searching for relaxing recipes, for example, if the user is "feeling stressed."

[0339] 4. Submit recipe information

[0340] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[0341] 5. Displaying recipe information (on the device)

[0342] The device analyzes the received recipe information and displays it in a user-friendly format. For example, a message like "Relaxing recipe you can make with your ingredients: Pancakes" might be displayed.

[0343] 6. Ordering delivery of ingredients

[0344] The device can also automatically order delivery of any missing ingredients based on the suggested recipe. This allows users to quickly obtain the necessary ingredients and begin cooking.

[0345] Hardware and software to be used

[0346] Hardware: Smartphones (iOS / ANDROID®), Servers (Cloud or On-Premise)

[0347] Software: Python is used, HTTP requests are handled by the requests library, data format is JSON, and the server API is implemented via a RESTful API.

[0348] Specific example

[0349] For example, if a user enters "eggs, milk, flour, sugar" and sets their status to "feeling stressed," the system will suggest a pancake recipe, which has a relaxing effect, and automatically order the ingredients for delivery.

[0350] Example of a prompt

[0351] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[0352] Emotion: "I am feeling stressed."

[0353] As a result, the system of the present invention can improve the user's cooking experience by suggesting recipes that match the user's emotional state and quickly ordering delivery of the necessary ingredients.

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

[0355] Step 1:

[0356] The user inputs material information and emotional data into the device. Using a smartphone application, the user enters the materials into a text box and selects or voices their own emotions. An example of input data would be "eggs, milk, flour, sugar" and "feeling stressed."

[0357] input:

[0358] Ingredients: "Eggs, milk, flour, sugar"

[0359] Emotional data: "Feeling stressed"

[0360] output:

[0361] The device acquires material information and emotion data.

[0362] Step 2:

[0363] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The terminal parses the input data and converts it into JSON data as follows:

[0364] {

[0365] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[0366] "Emotion": "Feeling stressed"

[0367] }

[0368] input:

[0369] Material information and emotional data entered by the user on the device.

[0370] output:

[0371] Material information and emotion data converted to JSON format

[0372] Step 3:

[0373] The server parses the received JSON data and extracts material information and emotion data. The server first parses the received data and stores the material information and emotion data in separate variables.

[0374] input:

[0375] JSON data sent from the device

[0376] output:

[0377] Extracted material information and emotional data

[0378] Step 4:

[0379] The server searches the recipe database based on extracted ingredient information and emotional data to retrieve appropriate recipe information. Based on emotional data, for example, if the user is "feeling stressed," the search prioritizes recipes that promote relaxation. As a search result, it retrieves recipe information for "pancakes."

[0380] input:

[0381] Extracted material information and emotional data

[0382] output:

[0383] Searched recipe information

[0384] Step 5:

[0385] The server converts the retrieved recipe information into JSON format and sends it back to the device. The search results are sent to the device as JSON data like this:

[0386] {

[0387] "Recipe": ["Pancakes"]

[0388] }

[0389] input:

[0390] Searched recipe information

[0391] output:

[0392] Recipe information converted to JSON format

[0393] Step 6:

[0394] The device parses the JSON recipe information it receives and displays it in a user-friendly format. Specifically, it displays detailed recipe instructions along with the message, "A relaxing recipe you can make with your ingredients: Pancakes."

[0395] input:

[0396] JSON recipe information sent from the server

[0397] output:

[0398] Recipe information displayed in a user-friendly format.

[0399] Step 7:

[0400] The device automatically orders delivery of any missing ingredients based on the suggested recipe. The user then confirms the necessary ingredients, finalizes the delivery order, and places the order with the delivery service. This process allows the user to receive the necessary ingredients immediately.

[0401] input:

[0402] Suggested recipe information

[0403] output:

[0404] Once the delivery order is confirmed, the necessary ingredients are delivered to the user.

[0405] As described above, the system of the present invention provides a series of processes that suggest the optimal recipe based on the material information and emotion data entered by the user, and quickly order delivery of the necessary ingredients.

[0406] 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.

[0407] 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.

[0408] 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.

[0409] [Second Embodiment]

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

[0411] 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.

[0412] 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).

[0413] 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.

[0414] 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.

[0415] 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).

[0416] 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.

[0417] 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.

[0418] 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.

[0419] 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.

[0420] 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.

[0421] 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".

[0422] This invention is a system that allows a user to input the materials they possess and provides recipes based on those materials. This system mainly consists of the following components.

[0423] 1. User Interface (Terminal)

[0424] An interface for users to input the materials they possess. This may include text boxes or voice input. Through this interface, users communicate the materials they have at home to the system.

[0425] 2. Sending material information

[0426] The terminal analyzes the input material information and sends it to the server as JSON data. This ensures that the material information is accurately transmitted to the server.

[0427] 3. Database search (server)

[0428] The server analyzes the received ingredient information and compares it with recipe information in the database. This comparison takes into account attributes such as the type and quantity of ingredients. Then, it identifies a recipe that can be made using the ingredients entered by the user.

[0429] 4. Submit recipe information

[0430] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information.

[0431] 5. Displaying recipe information (on the device)

[0432] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it provides details such as ingredients, cooking steps, and preparation time in a list or card format.

[0433] Specific example

[0434] The user enters the ingredients they have at home—eggs, milk, flour, and sugar—into a text box on the device. The user can also use a smartphone application, for example.

[0435] The terminal converts these ingredients into JSON format and sends it to the server as an HTTP POST request. For example, the data sent will be in the following format: ["eggs","milk","flour","sugar"].

[0436] The server analyzes the received data and compares it with the database. The server then searches for a matching recipe by comparing it with the recipe information stored in the database. For example, "pancakes" might be identified as a matching recipe.

[0437] The server sends the "pancake" recipe information back to the terminal as JSON data. For example, the returned data will be in the following format: ["Pancake"].

[0438] The device analyzes the received recipe information and displays a message such as, "Recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking detailed recipe information.

[0439] For this system to work, smooth communication between the user interface and the server is crucial. Using a secure protocol for communication is recommended. Furthermore, it is necessary to pre-store multiple recipe entries in the database to improve search efficiency.

[0440] The following describes the processing flow.

[0441] Step 1:

[0442] The user enters the ingredients they have at home into the input field on the device. For example, the user might enter "eggs, milk, flour, sugar."

[0443] Step 2:

[0444] The terminal converts the entered ingredients into JSON data. Specifically, the terminal takes the user's input and generates a list like ["eggs", "milk", "flour", "sugar"].

[0445] Step 3:

[0446] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[0447] Step 4:

[0448] The server receives an HTTP request and parses the JSON data sent. Specifically, the server parses the received data and converts it into a Python list (e.g., ['egg', 'milk', 'flour', 'sugar']).

[0449] Step 5:

[0450] The server searches the database based on the analyzed ingredient list. Specifically, it compares each recipe in the database with the user's ingredient list to find a matching recipe. In this case, the "pancake" recipe matches.

[0451] Step 6:

[0452] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and sends it to the device as JSON data.

[0453] Step 7:

[0454] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[0455] Step 8:

[0456] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "Recipe you can make with your ingredients: Pancakes."

[0457] Step 9:

[0458] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed as the user progresses through the cooking process.

[0459] (Example 1)

[0460] 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."

[0461] In many modern households, there is a growing need for users to easily cook meals using ingredients they already have at home. However, it is time-consuming for users to find appropriate recipes based on the ingredients they have. Furthermore, it is difficult to find recipes that perfectly match the ingredients entered when searching online. This can lead to users wasting ingredients they already possess. This invention aims to solve this problem by developing a system that quickly provides recipe information based on the ingredients a user has at home.

[0462] 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.

[0463] In this invention, the server includes means for inputting ingredients owned by the user, means for converting the ingredient information into JSON format, means for transmitting the ingredient information to the server, means for analyzing the received ingredient information and comparing it with a database to search for recipe information, means for returning the retrieved recipe information to the terminal in JSON format, and means for displaying the returned recipe information. This makes it possible for the user to easily input ingredients they have at home and quickly obtain appropriate recipe information based on those ingredients.

[0464] A "user" refers to a person who uses the system to input the ingredients they have at home and receive recipe information.

[0465] "Ingredients" refers to the food items that users use to make food.

[0466] "Means of input" refers to the interface through which the user provides material information to the system, and specifically includes text boxes and voice input.

[0467] "JSON format" is an abbreviation for JavaScript Object Notation, and refers to a lightweight data exchange format for structuring and representing data.

[0468] "Means of transmission" refers to the method of sending the input material information to the server, and specifically includes HTTP POST requests.

[0469] A "server" refers to a computer system that analyzes received ingredient information, compares it with a database to retrieve recipe information, and sends it back to the terminal.

[0470] "Analyzing" refers to the process by which a server breaks down the material information it receives and converts it into an understandable format.

[0471] A "database" refers to a place where information is collected and stored, such as a place to store multiple recipes.

[0472] "Matching" refers to the process of comparing the ingredient information analyzed by the server with the recipe information in the database and identifying matching items.

[0473] "Means of searching" refers to the methods by which the server finds recipe data within the database, and specifically includes SQL queries and similar search techniques.

[0474] "Means of returning information" refers to the method by which the server returns the retrieved recipe information to the terminal, and specifically includes HTTP responses.

[0475] "Means of display" refers to methods by which the terminal visually presents the returned recipe information to the user, and specifically includes HTML and UI components within the application.

[0476] A "secure protocol" refers to a set of rules used to ensure secure data communication between a server and a terminal, and specifically includes HTTPS.

[0477] "Storing in advance" refers to registering recipe information in a database beforehand to improve search efficiency.

[0478] "List format" refers to a display method in which information is arranged item by item.

[0479] "Card format" refers to a method of displaying information in a visually easy-to-understand way by dividing it into card-like blocks.

[0480] This invention is a system that allows users to input ingredients they have at home and provides an optimal recipe based on those ingredients. This system mainly consists of a user interface, data transmission, database search, recipe information transmission, and recipe information display.

[0481] Hardware / software to use

[0482] Terminal:

[0483] Hardware: Smartphones, PCs, tablets, etc.

[0484] Software: Web browsers, mobile applications

[0485] server:

[0486] Hardware: Cloud servers (e.g., AWS, Google Cloud)

[0487] Software: Database management systems (e.g., MySQL, PostgreSQL), API servers (e.g., Node.js, Django)

[0488] Communication: Secure protocols (e.g., HTTPS)

[0489] System Operation Overview

[0490] User actions

[0491] The user enters the ingredients they have at home into a text box on a device such as a smartphone or PC. For example, they might enter "eggs, milk, flour, sugar." This transmits information about the ingredients the user possesses to the device.

[0492] Terminal operation

[0493] The terminal converts the ingredient information entered by the user into JSON format and sends it to the server as an HTTP POST request. For example, the converted data will be in the following format: ["Eggs","Milk","Flour","Sugar"].

[0494] Server operation

[0495] The server analyzes the received ingredient information and compares it with the database. The server then searches the database for recipes that can be made using the ingredients entered by the user. This matching process uses search techniques such as SQL queries to efficiently identify recipes. For example, "pancakes" might be identified as a matching recipe.

[0496] Next, the server returns the searched recipe information to the terminal as JSON data. For example, the returned data will be in the following format: {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. Break the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further..."}.

[0497] Terminal display behavior

[0498] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it might display "Recipe you can make with your ingredients: Pancakes" and show detailed cooking instructions in list or card format.

[0499] Specific example

[0500] User input and server response

[0501] The user enters "eggs, milk, flour, sugar" into the device. The device converts this into JSON format and sends it to the server.

[0502] The server receives this and compares it with the database. For example, "pancakes" might be identified as a matching recipe.

[0503] The server converts the recipe information into JSON format and sends it back to the terminal as an HTTP response.

[0504] The device analyzes the received recipe information and displays to the user, "Recipe you can make with your ingredients: Pancakes."

[0505] Examples of prompt statements

[0506] Input prompt:

[0507] User: Enter the ingredients you have at home. Search for recipes using "eggs, milk, flour, sugar".

[0508] Output prompt:

[0509] System: "Recipe you can make with your ingredients: Pancakes". Follow these steps to prepare: 1. Crack the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further. ...

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

[0511] Step 1:

[0512] The user inputs the ingredients they have at home into the user interface of a device such as a smartphone or PC. For example, the ingredients might be "eggs, milk, flour, and sugar." These ingredients are entered in text format.

[0513] Input: Ingredients entered by the user on the device (e.g., "eggs, milk, flour, sugar")

[0514] Output: Material information (text format)

[0515] Step 2:

[0516] The terminal converts the entered ingredient information into JSON format. Specifically, it converts the text data entered by the user into JSON data using a script such as JavaScript. This converted JSON data would look like this: ["egg", "milk", "flour", "sugar"].

[0517] Input: Material information (text format)

[0518] Output: Material information (JSON format)

[0519] Step 3:

[0520] The terminal sends the converted JSON-formatted material information to the server as an HTTP POST request. This transmission uses a secure protocol (e.g., HTTPS) to safely transfer the data to the server.

[0521] Input: Material information (JSON format)

[0522] Output: HTTP POST request (material information)

[0523] Step 4:

[0524] The server parses the material information received as an HTTP POST request. Specifically, the server uses Python or Node.js scripts to deserialize the received JSON data and extract the material list.

[0525] Input: HTTP POST request (material information)

[0526] Output: Material list (analyzed data)

[0527] Step 5:

[0528] The server uses the extracted list of ingredients to match it against the database and search for a suitable recipe. The server generates an SQL query to search the recipe data in the database and identify a matching recipe. For example, "pancakes" might be identified as the best recipe.

[0529] Input: Material list (analyzed data)

[0530] Output: Matching recipe information (e.g., "pancakes")

[0531] Step 6:

[0532] The server converts the retrieved recipe information into JSON data and sends it back to the terminal as an HTTP response. Specifically, it converts the search results into JSON format (e.g., {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. ... 2. ..."}) and sends it to the terminal using a secure protocol.

[0533] Input: Matching recipe information

[0534] Output: Recipe information in JSON format (HTTP response)

[0535] Step 7:

[0536] The system parses the JSON-formatted recipe information received by the device and displays it in a user-friendly format. Specifically, it uses scripts such as JavaScript to parse the received data and update the HTML and UI components within the application for display. For example, it might display "Recipe you can make with your ingredients: Pancakes" and present detailed instructions in list or card format.

[0537] Input: Recipe information in JSON format (HTTP response)

[0538] Output: Visually displayed recipe information (e.g., "Recipes you can make with your ingredients: Pancakes")

[0539] (Application Example 1)

[0540] 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."

[0541] When cooking at home, there is a need for a way to efficiently utilize the ingredients available and to quickly procure any missing ingredients. In particular, there is a need for a system that allows users to easily input and analyze ingredient information using devices such as smartphones, receive appropriate recipe suggestions, and quickly order any missing ingredients online.

[0542] 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.

[0543] In this invention, the server includes means for inputting the materials the user possesses, means for analyzing the material information, means for searching for recipe information based on the analyzed material information, means for providing the searched recipe information to the user, means for identifying materials the user does not possess based on the search results, and means for ordering the materials the user does not possess online. This enables a system in which the user can effectively utilize the materials they have on hand while quickly procuring any missing materials.

[0544] A "user" is someone who uses the system to input ingredient information, receive recipe suggestions, and place online orders.

[0545] "Ingredients" refers to the raw materials for cooking, such as food items, that the user possesses.

[0546] The "means of analysis" refer to a function that analyzes the input material information as data and searches for recipes based on that information.

[0547] "Recipe information" refers to data that includes instructions and information about the necessary ingredients for preparing a dish using specific ingredients.

[0548] "Means of providing" refers to functions that display or notify users of analysis results and recipe information.

[0549] "Searching methods" refer to the function of finding recipe information within a database based on ingredient information.

[0550] "Material information" refers to data such as the types and quantities of food items owned by the user.

[0551] "Means of identification" refers to a function that lists materials that the user does not possess.

[0552] "Online ordering" refers to the function of purchasing ingredients that the user does not possess through an external food distribution service.

[0553] A "server" is a computer system that analyzes ingredient information based on user input, searches for recipe information, identifies necessary ingredients, and processes online orders.

[0554] This invention provides a system that allows users to input the ingredients they possess, provides an optimal recipe based on those ingredients, and automatically orders any missing ingredients online. This system consists of multiple components, including a user interface, a server, a recipe database, and an online ordering function.

[0555] 1. User Interface

[0556] The user interface is a means for users to input the materials they possess, and it operates on devices such as smartphones and tablets. Users input material information using text boxes or voice input. The entered material information is sent to the server as data in JSON format.

[0557] 2. Server

[0558] The server analyzes the received ingredient information and compares it with the recipe database to find the optimal recipe. Specifically, it uses software such as Python, Flask, and FastAPI to process the ingredient information and match it with recipe data.

[0559] 3. Recipe Database

[0560] The recipe database is a database containing a large amount of pre-registered recipe information. Based on the user's ingredient information, it searches for the most suitable recipe and returns the matching recipe information to the server as data in JSON format.

[0561] 4. Online ordering function

[0562] The server identifies ingredients the user does not possess based on the search results. These missing ingredients are ordered online via an external food delivery service API. This feature allows users to quickly procure the missing ingredients.

[0563] Specific example

[0564] For example, if a user enters "eggs, milk, and flour," the server will search for recipe information based on these ingredients and suggest recipes such as "pancakes." If the user does not have "sugar," the server will identify "sugar" as a missing ingredient and place an order with the appropriate food delivery service through the online ordering function.

[0565] Example of a prompt

[0566] Create a program that suggests the best recipe based on the ingredients a user has at home ("eggs, milk, flour") and then orders any missing ingredients. The input ingredients are: eggs, milk, and flour. Explain how the program retrieves the appropriate recipe and orders the missing ingredients based on these ingredients. Specifically, clearly explain which API endpoint to use, in what format to send the ingredient information, and how to retrieve the recipe and any missing ingredients.

[0567] By building such a system, users can make the most of the ingredients they have on hand, easily order the necessary ingredients, and cook efficiently.

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

[0569] Step 1:

[0570] The user launches a smartphone application and enters the ingredients they have on hand into a text box. This ingredient information is recorded, for example, "eggs, milk, flour." This ingredient information is then processed as input and converted into JSON format data.

[0571] Step 2:

[0572] The terminal converts the entered ingredient information into JSON format and sends it to the server as an HTTP POST request. The converted data is in a format such as: "["Egg", "Milk", "Flour"]". This request is sent to a specific API endpoint on the server, and the ingredient information is transmitted to the server.

[0573] Step 3:

[0574] The server analyzes the received material information. Specific examples of analysis include the use of software such as Python, Flask, and FastAPI. Based on the analyzed material information, a request for matching is sent to the recipe database. The system searches the recipe database using SQL queries and other methods to find matching recipe information.

[0575] Step 4:

[0576] The server receives search results from the recipe database and identifies the optimal recipe based on the ingredient information. For example, a recipe for "pancakes" might be identified. This identified recipe information is generated in JSON format and temporarily stored on the server.

[0577] Step 5:

[0578] The server sends the recipe information, which is the search result, back to the terminal. It is sent as an HTTP response in a format such as the following: "{"recipe": "pancakes", "ingredients": ["eggs", "milk", "flour", "sugar"]}". This response is received by the terminal.

[0579] Step 6:

[0580] The device analyzes the received recipe information and displays it visually to the user. Based on the analyzed information, the ingredients and instructions for the recipe are displayed on the user's screen in a list format. The user can then proceed with cooking while referring to this information.

[0581] Step 7:

[0582] The server identifies ingredients that the user does not possess, based on the recipe information. It compares the ingredient information in the database with the ingredient information entered by the user, and for example, identifies that "sugar" is missing.

[0583] Step 8:

[0584] The server calls an external food delivery service API to order the missing ingredients online. Specifically, it generates an order request for the missing ingredient "sugar" and sends it to the food delivery service. It receives a response from the API and confirms that the order was placed successfully.

[0585] Step 9:

[0586] The order result from the food delivery service API is sent back to the server. If the order is successful, the server notifies the terminal of this information. The terminal displays the success of the order to the user and informs them that any missing ingredients will be delivered.

[0587] Through these steps, users can obtain recipes based on the ingredients they have on hand and quickly order any missing ingredients online. This ensures a smooth cooking process and reduces the hassle of sourcing ingredients.

[0588] 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.

[0589] This invention combines a system that allows users to input ingredients they possess and then searches for and provides recipes based on that information with an emotion engine that recognizes the user's emotions. This system comprises a user interface (terminal), a server, a recipe database, and an emotion engine.

[0590] 1. User Interface (Terminal)

[0591] An interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, camera, etc., allowing users to communicate materials they have at home and their emotions to the system.

[0592] 2. Transmission of material information and emotional data

[0593] The terminal converts the entered ingredient information and emotion data into JSON format and sends it to the server. Ingredient information is sent in the format of "eggs, milk, flour, sugar," and emotion data is sent in the format of "feeling stressed."

[0594] 3. Database search (server)

[0595] The server analyzes the received ingredient information and emotional data and compares it with recipe information in the database. Based on the ingredient list and emotional data, the server searches for an appropriate recipe. For example, if the emotional data indicates "feeling stressed," a simple, relaxing recipe will be searched for.

[0596] 4. Submit recipe information

[0597] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[0598] 5. Displaying recipe information (on the device)

[0599] The device analyzes the received recipe information and displays it in a user-friendly format, as a recipe that is also emotionally resonant. For example, it might notify the user with a message like, "A relaxing recipe you can make with your ingredients: Pancakes."

[0600] Specific example

[0601] The user inputs the ingredients they have at home—"eggs, milk, flour, sugar"—and their current feeling—"feeling stressed"—into the device's interface. The user then uses, for example, a smartphone application.

[0602] The device converts this information into JSON format and sends it to the server as an HTTP POST request. The data sent will be in the following format: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0603] The server analyzes the received data and compares the ingredient list and emotional data with the database. The server then compares this with recipe information in the database and searches for a pancake recipe that has a relaxing effect based on the emotional data.

[0604] The server sends the "pancake" recipe information back to the terminal as JSON data. The returned data will be in the following format: {"Recipe": ["Pancake"]}.

[0605] The device analyzes the received recipe information and displays a message such as, "A relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking the detailed recipe information.

[0606] The system of this invention allows users to have a more satisfying cooking experience because they are not only offered recipes based on the ingredients they have, but also recipes that suit their emotional state. This allows users to easily select recipes that match their mood, prevent food waste, and enjoy cooking.

[0607] The following describes the processing flow.

[0608] Step 1:

[0609] The user enters ingredients they have at home and their feelings into the input fields on the device. For example, the user might enter "eggs, milk, flour, sugar" and "feeling stressed" as their feeling.

[0610] Step 2:

[0611] The terminal converts the input material information and emotion data into JSON format data. Specifically, the terminal takes user input and generates JSON data like this: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0612] Step 3:

[0613] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[0614] Step 4:

[0615] The server receives an HTTP request and parses the JSON data sent to it. Specifically, the server parses the received data and converts it into Python lists and strings (e.g., {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}).

[0616] Step 5:

[0617] The server searches the database based on the analyzed ingredient list and emotional data. Specifically, it compares each recipe in the database with the user's ingredient list and prioritizes searching for recipes with a relaxing effect based on the emotional data "feeling stressed."

[0618] Step 6:

[0619] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and generates JSON data like the following, which is then sent to the device: {"Recipe": ["Pancakes"]}.

[0620] Step 7:

[0621] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[0622] Step 8:

[0623] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "A relaxing recipe you can make with your ingredients: Pancakes."

[0624] Step 9:

[0625] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed, and the user proceeds with cooking according to it.

[0626] (Example 2)

[0627] 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".

[0628] Traditional recipe suggestion systems typically propose recipes based on the ingredients the user possesses. However, recipe suggestions based solely on ingredients, without considering the user's emotional state, do not necessarily increase user satisfaction. Users often need recipes that suit their current emotional state, such as when they are stressed or want to relax. Furthermore, the system's configuration for providing optimal recipes based on emotional state is insufficient, resulting in an unoptimized user experience.

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

[0630] In this invention, the server includes means for inputting the ingredients and emotions held by the user, means for analyzing the information on ingredients and emotions, means for searching for recipe information based on the analyzed information on ingredients and emotions, and means for providing the searched recipe information to the user. This makes it possible to suggest the most suitable recipe not only based on the ingredient information entered by the user, but also based on their emotional state. For example, if the user is feeling stressed, recipes with a relaxing effect will be prioritized, thereby improving the user's satisfaction and cooking experience.

[0631] A "user" refers to an individual or group that can use the system to input materials they have at home and their own emotional state.

[0632] "Ingredients" refers to the specific elements that the user possesses, such as food and seasonings, that are used in cooking.

[0633] "Emotions" refer to the psychological state or mood that a user is experiencing. Examples include stress, relaxation, and joy.

[0634] "Input method" refers to an interface for users to input materials and emotions, specifically referring to input devices such as text boxes, microphones, and cameras.

[0635] "Analysis means" refers to an element that has the function of processing input material and emotional information and converting it into a format that can be understood by the system.

[0636] "Recipe information" refers to information that includes detailed instructions and explanations for cooking based on specific ingredients and procedures.

[0637] "Search method" refers to an element that has the function of finding the most suitable recipe information from within the database based on the analyzed material and emotional information.

[0638] "Means of provision" refers to elements that have the function of notifying and displaying the searched recipe information to the user.

[0639] This invention is a system that allows users to input their own ingredients and emotions, and then searches for and provides the most suitable recipe based on that information. This system consists of a user interface (terminal), a server, a recipe database, and an emotion engine.

[0640] 1. User Interface (Terminal)

[0641] A user interface is an interface for inputting materials and emotions that a user possesses. A smartphone application is a specific example. A user interface includes input devices such as text boxes, microphones, and cameras. This allows the user to input materials they have at home (e.g., eggs, milk, flour, sugar) and their emotions (e.g., feeling stressed) into the system.

[0642] 2. Transmission of material information and emotional data

[0643] The terminal converts the input material information and emotion data into JSON format. Specific format examples are as follows:

[0644] {

[0645] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[0646] "Emotion": "Feeling stressed"

[0647] }

[0648] The converted data is sent from the terminal to the server as an HTTP POST request.

[0649] 3. Data analysis and recipe search on the server

[0650] The server analyzes the received ingredient information and emotion data. First, the server analyzes the data in JSON format to extract the list of ingredients to be used and the emotion information. Next, it uses the recipe database and emotion engine to search for an appropriate recipe. For example, if the user's emotion data is "feeling stressed," recipes with relaxing effects will be prioritized in the search.

[0651] 4. Submit recipe information

[0652] The server converts the search results into JSON format and sends that data back to the terminal. An example of the data sent back is as follows:

[0653] {

[0654] "Recipe": ["Pancakes"]

[0655] }

[0656] 5. Displaying recipe information

[0657] The device parses the received JSON data and displays it in a user-friendly format. A specific example of this display is a message such as, "Relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking based on the detailed recipe information.

[0658] Examples of specific actions

[0659] The user uses a smartphone application to input information about ingredients such as "eggs, milk, flour, and sugar" and information about their emotions, such as "feeling stressed."

[0660] The device converts this information into JSON format and sends it to the server.

[0661] The server analyzes the received data and uses a recipe database and emotion engine to search for the most suitable recipe. For example, it might find a recipe for "pancakes."

[0662] The server returns the search results to the terminal in JSON format.

[0663] The device analyzes the received recipe information and displays a message to the user such as, "A relaxing recipe you can make with your ingredients: Pancakes."

[0664] This system allows users to have a more satisfying cooking experience because it not only suggests recipes based on ingredients, but also provides recipes that match their emotional state. This makes it easy for users to select recipes that suit their mood, preventing food waste and allowing them to enjoy cooking.

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

[0666] Step 1:

[0667] Input in the user interface

[0668] The user opens the application on their device and enters ingredient information and emotion data. For example, the user enters "eggs, milk, flour, sugar" as the ingredient information in a text box and selects "feeling stressed" as the emotion data. Input devices include a keyboard and voice input.

[0669] Input: User material information and emotion data

[0670] Output: Material and emotion data entered in the text box

[0671] Step 2:

[0672] Transmission of material information and emotional data

[0673] The terminal converts the input material information and emotion data into JSON format. For example, it converts it to the format {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0674] Input: Material information and emotion data entered by the user.

[0675] Output: Data converted to JSON format

[0676] Specific operation: The terminal generates an HTTP POST request and sends the converted JSON data to the server.

[0677] Step 3:

[0678] Data analysis on the server

[0679] The server analyzes the received material information and emotion data. First, the server parses the data in JSON format and extracts the list of materials to be used and the emotion information.

[0680] Input: JSON data sent from the device

[0681] Output: Extracted material list and sentiment information

[0682] Specific operation: The server uses a JSON parser to analyze the data and extract the material list and sentiment information.

[0683] Step 4:

[0684] Recipe database search

[0685] The server searches the recipe database based on the analyzed ingredient list and emotional information. Using the emotional engine, it prioritizes selecting recipes that are appropriate for the user's emotional state.

[0686] Input: Material list and emotional information

[0687] Output: Searched recipe information

[0688] Specific operation: The server executes a database query to search for recipes that meet the specified criteria. For example, it might find a recipe for "pancakes".

[0689] Step 5:

[0690] Send recipe information

[0691] The server converts the search results into JSON format and sends them back to the terminal. A specific example of the returned data is {"Recipe": ["Pancakes"]}.

[0692] Input: Searched recipe information

[0693] Output: Recipe information in JSON format

[0694] Specific operation: The server sends the recipe information to the terminal in JSON format as an HTTP response.

[0695] Step 6:

[0696] Displaying recipe information

[0697] The device parses the received JSON data and displays it in a user-friendly format. A specific example of this display is "Relaxing recipes you can make with your ingredients: Pancakes."

[0698] Input: Recipe information in JSON format sent from the server.

[0699] Output: Recipe information displayed to the user

[0700] Specific operation: The terminal analyzes the received data and displays a message to the user on the application.

[0701] Through these steps, users can obtain the optimal recipe based on the ingredients they have at home and their emotions. This system utilizes an emotion engine to provide recipes that take into account the user's psychological state, resulting in a better cooking experience.

[0702] (Application Example 2)

[0703] 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."

[0704] Current recipe search systems only provide recipes based on the ingredients the user possesses, thus failing to consider the emotional aspect of enjoying cooking. Furthermore, the need to purchase additional ingredients to prepare a dish is often cumbersome, resulting in low user convenience.

[0705] 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 transmitting material information and emotion data entered by the user to the server; means for comparing the material information and emotion data received by the server with a database to search for recipe information; means for transmitting the search results from the server to the user; and means for ordering delivery of the necessary ingredients based on the recipe. As a result, the user can easily find a recipe that suits their emotional state and immediately order delivery of the necessary ingredients.

[0706] "A means for users to input the ingredients they possess" refers to an interface for users to input information about the ingredients they have into the system.

[0707] "Means for analyzing the information on the materials and the user's emotional data" refers to means for analyzing the input material information and the user's emotional data to perform processing for searching for an appropriate recipe.

[0708] "Means for searching recipe information based on the analyzed material information and sentiment data" refers to means for searching for an appropriate recipe from within a database based on the analyzed material information and sentiment data.

[0709] "Means for providing the searched recipe information to the user" refers to means for providing the recipe information obtained as a search result to the user in an easy-to-understand format.

[0710] "Means for ordering ingredients for delivery based on the recipe information provided" refers to means for automatically ordering the necessary ingredients for delivery based on the proposed recipe.

[0711] A "server" is a computer system on a network that receives data sent by users, compares it with a database to search for recipe information, and returns the results.

[0712] A "database" is a system that stores and manages information such as recipe information, ingredient information, and emotional data in a searchable format.

[0713] "Emotional data" refers to data in which users input their own emotional state, expressed in a format such as "I am feeling stressed."

[0714] This invention is a system that searches for and provides the optimal recipe based on the user's material and emotional data, and orders the necessary ingredients for delivery. This system consists of a user interface (terminal), a server, a recipe database, and an emotional engine.

[0715] 1. User Interface (Terminal)

[0716] The device provides an interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, and camera, allowing users to communicate materials they have at home and their emotions to the system. Upon receiving this information, the system begins processing.

[0717] 2. Transmission of material information and emotional data

[0718] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The data sent is in the following format, for example:

[0719] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[0720] Emotion: "I am feeling stressed."

[0721] 3. Database search (server)

[0722] The server analyzes the received ingredient information and emotional data, and compares it with the recipe database to search for an appropriate recipe. Based on the ingredient list and emotional data, the server prioritizes searching for relaxing recipes, for example, if the user is "feeling stressed."

[0723] 4. Submit recipe information

[0724] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[0725] 5. Displaying recipe information (on the device)

[0726] The device analyzes the received recipe information and displays it in a user-friendly format. For example, a message like "Relaxing recipe you can make with your ingredients: Pancakes" might be displayed.

[0727] 6. Ordering delivery of ingredients

[0728] The device can also automatically order delivery of any missing ingredients based on the suggested recipe. This allows users to quickly obtain the necessary ingredients and begin cooking.

[0729] Hardware and software to be used

[0730] Hardware: Smartphones (iOS / Android), Servers (cloud or on-premises)

[0731] Software: Python is used, HTTP requests are handled by the requests library, data format is JSON, and the server API is implemented via a RESTful API.

[0732] Specific example

[0733] For example, if a user enters "eggs, milk, flour, sugar" and sets their status to "feeling stressed," the system will suggest a pancake recipe, which has a relaxing effect, and automatically order the ingredients for delivery.

[0734] Example of a prompt

[0735] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[0736] Emotion: "I am feeling stressed."

[0737] As a result, the system of the present invention can improve the user's cooking experience by suggesting recipes that match the user's emotional state and quickly ordering delivery of the necessary ingredients.

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

[0739] Step 1:

[0740] The user inputs material information and emotional data into the device. Using a smartphone application, the user enters the materials into a text box and selects or voices their own emotions. An example of input data would be "eggs, milk, flour, sugar" and "feeling stressed."

[0741] input:

[0742] Ingredients: "Eggs, milk, flour, sugar"

[0743] Emotional data: "Feeling stressed"

[0744] output:

[0745] The device acquires material information and emotion data.

[0746] Step 2:

[0747] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The terminal parses the input data and converts it into JSON data as follows:

[0748] {

[0749] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[0750] "Emotion": "Feeling stressed"

[0751] }

[0752] input:

[0753] Material information and emotional data entered by the user on the device.

[0754] output:

[0755] Material information and emotion data converted to JSON format

[0756] Step 3:

[0757] The server parses the received JSON data and extracts material information and emotion data. The server first parses the received data and stores the material information and emotion data in separate variables.

[0758] input:

[0759] JSON data sent from the device

[0760] output:

[0761] Extracted material information and emotional data

[0762] Step 4:

[0763] The server searches the recipe database based on extracted ingredient information and emotional data to retrieve appropriate recipe information. Based on emotional data, for example, if the user is "feeling stressed," the search prioritizes recipes that promote relaxation. As a search result, it retrieves recipe information for "pancakes."

[0764] input:

[0765] Extracted material information and emotional data

[0766] output:

[0767] Searched recipe information

[0768] Step 5:

[0769] The server converts the retrieved recipe information into JSON format and sends it back to the device. The search results are sent to the device as JSON data like this:

[0770] {

[0771] "Recipe": ["Pancakes"]

[0772] }

[0773] input:

[0774] Searched recipe information

[0775] output:

[0776] Recipe information converted to JSON format

[0777] Step 6:

[0778] The device parses the JSON recipe information it receives and displays it in a user-friendly format. Specifically, it displays detailed recipe instructions along with the message, "A relaxing recipe you can make with your ingredients: Pancakes."

[0779] input:

[0780] JSON recipe information sent from the server

[0781] output:

[0782] Recipe information displayed in a user-friendly format.

[0783] Step 7:

[0784] The device automatically orders delivery of any missing ingredients based on the suggested recipe. The user then confirms the necessary ingredients, finalizes the delivery order, and places the order with the delivery service. This process allows the user to receive the necessary ingredients immediately.

[0785] input:

[0786] Suggested recipe information

[0787] output:

[0788] Once the delivery order is confirmed, the necessary ingredients are delivered to the user.

[0789] As described above, the system of the present invention provides a series of processes that suggest the optimal recipe based on the material information and emotion data entered by the user, and quickly order delivery of the necessary ingredients.

[0790] 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.

[0791] 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.

[0792] 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.

[0793] [Third Embodiment]

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

[0795] 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.

[0796] 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).

[0797] 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.

[0798] 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.

[0799] 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).

[0800] 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.

[0801] 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.

[0802] 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.

[0803] 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.

[0804] 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.

[0805] 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".

[0806] This invention is a system that allows a user to input the materials they possess and provides recipes based on those materials. This system mainly consists of the following components.

[0807] 1. User Interface (Terminal)

[0808] An interface for users to input the materials they possess. This may include text boxes or voice input. Through this interface, users communicate the materials they have at home to the system.

[0809] 2. Sending material information

[0810] The terminal analyzes the input material information and sends it to the server as JSON data. This ensures that the material information is accurately transmitted to the server.

[0811] 3. Database search (server)

[0812] The server analyzes the received ingredient information and compares it with recipe information in the database. This comparison takes into account attributes such as the type and quantity of ingredients. Then, it identifies a recipe that can be made using the ingredients entered by the user.

[0813] 4. Submit recipe information

[0814] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information.

[0815] 5. Displaying recipe information (on the device)

[0816] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it provides details such as ingredients, cooking steps, and preparation time in a list or card format.

[0817] Specific example

[0818] The user enters the ingredients they have at home—eggs, milk, flour, and sugar—into a text box on the device. The user can also use a smartphone application, for example.

[0819] The terminal converts these ingredients into JSON format and sends it to the server as an HTTP POST request. For example, the data sent will be in the following format: ["eggs","milk","flour","sugar"].

[0820] The server analyzes the received data and compares it with the database. The server then searches for a matching recipe by comparing it with the recipe information stored in the database. For example, "pancakes" might be identified as a matching recipe.

[0821] The server sends the "pancake" recipe information back to the terminal as JSON data. For example, the returned data will be in the following format: ["Pancake"].

[0822] The device analyzes the received recipe information and displays a message such as, "Recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking detailed recipe information.

[0823] For this system to work, smooth communication between the user interface and the server is crucial. Using a secure protocol for communication is recommended. Furthermore, it is necessary to pre-store multiple recipe entries in the database to improve search efficiency.

[0824] The following describes the processing flow.

[0825] Step 1:

[0826] The user enters the ingredients they have at home into the input field on the device. For example, the user might enter "eggs, milk, flour, sugar."

[0827] Step 2:

[0828] The terminal converts the entered ingredients into JSON data. Specifically, the terminal takes the user's input and generates a list like ["eggs", "milk", "flour", "sugar"].

[0829] Step 3:

[0830] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[0831] Step 4:

[0832] The server receives an HTTP request and parses the JSON data sent. Specifically, the server parses the received data and converts it into a Python list (e.g., ['egg', 'milk', 'flour', 'sugar']).

[0833] Step 5:

[0834] The server searches the database based on the analyzed ingredient list. Specifically, it compares each recipe in the database with the user's ingredient list to find a matching recipe. In this case, the "pancake" recipe matches.

[0835] Step 6:

[0836] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and sends it to the device as JSON data.

[0837] Step 7:

[0838] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[0839] Step 8:

[0840] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "Recipe you can make with your ingredients: Pancakes."

[0841] Step 9:

[0842] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed as the user progresses through the cooking process.

[0843] (Example 1)

[0844] 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."

[0845] In many modern households, there is a growing need for users to easily cook meals using ingredients they already have at home. However, it is time-consuming for users to find appropriate recipes based on the ingredients they have. Furthermore, it is difficult to find recipes that perfectly match the ingredients entered when searching online. This can lead to users wasting ingredients they already possess. This invention aims to solve this problem by developing a system that quickly provides recipe information based on the ingredients a user has at home.

[0846] 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.

[0847] In this invention, the server includes means for inputting ingredients owned by the user, means for converting the ingredient information into JSON format, means for transmitting the ingredient information to the server, means for analyzing the received ingredient information and comparing it with a database to search for recipe information, means for returning the retrieved recipe information to the terminal in JSON format, and means for displaying the returned recipe information. This makes it possible for the user to easily input ingredients they have at home and quickly obtain appropriate recipe information based on those ingredients.

[0848] A "user" refers to a person who uses the system to input the ingredients they have at home and receive recipe information.

[0849] "Ingredients" refers to the food items that users use to make food.

[0850] "Means of input" refers to the interface through which the user provides material information to the system, and specifically includes text boxes and voice input.

[0851] "JSON format" is an abbreviation for JavaScript Object Notation, and refers to a lightweight data exchange format for structuring and representing data.

[0852] "Means of transmission" refers to the method of sending the input material information to the server, and specifically includes HTTP POST requests.

[0853] A "server" refers to a computer system that analyzes received ingredient information, compares it with a database to retrieve recipe information, and sends it back to the terminal.

[0854] "Analyzing" refers to the process by which a server breaks down the material information it receives and converts it into an understandable format.

[0855] A "database" refers to a place where information is collected and stored, such as a place to store multiple recipes.

[0856] "Matching" refers to the process of comparing the ingredient information analyzed by the server with the recipe information in the database and identifying matching items.

[0857] "Means of searching" refers to the methods by which the server finds recipe data within the database, and specifically includes SQL queries and similar search techniques.

[0858] "Means of returning information" refers to the method by which the server returns the retrieved recipe information to the terminal, and specifically includes HTTP responses.

[0859] "Means of display" refers to methods by which the terminal visually presents the returned recipe information to the user, and specifically includes HTML and UI components within the application.

[0860] A "secure protocol" refers to a set of rules used to ensure secure data communication between a server and a terminal, and specifically includes HTTPS.

[0861] "Storing in advance" refers to registering recipe information in a database beforehand to improve search efficiency.

[0862] "List format" refers to a display method in which information is arranged item by item.

[0863] "Card format" refers to a method of displaying information in a visually easy-to-understand way by dividing it into card-like blocks.

[0864] This invention is a system that allows users to input ingredients they have at home and provides an optimal recipe based on those ingredients. This system mainly consists of a user interface, data transmission, database search, recipe information transmission, and recipe information display.

[0865] Hardware / software to use

[0866] Terminal:

[0867] Hardware: Smartphones, PCs, tablets, etc.

[0868] Software: Web browsers, mobile applications

[0869] server:

[0870] Hardware: Cloud servers (e.g., AWS, Google Cloud)

[0871] Software: Database management systems (e.g., MySQL, PostgreSQL), API servers (e.g., Node.js, Django)

[0872] Communication: Secure protocols (e.g., HTTPS)

[0873] System Operation Overview

[0874] User actions

[0875] The user enters the ingredients they have at home into a text box on a device such as a smartphone or PC. For example, they might enter "eggs, milk, flour, sugar." This transmits information about the ingredients the user possesses to the device.

[0876] Terminal operation

[0877] The terminal converts the ingredient information entered by the user into JSON format and sends it to the server as an HTTP POST request. For example, the converted data will be in the following format: ["Eggs","Milk","Flour","Sugar"].

[0878] Server operation

[0879] The server analyzes the received ingredient information and compares it with the database. The server then searches the database for recipes that can be made using the ingredients entered by the user. This matching process uses search techniques such as SQL queries to efficiently identify recipes. For example, "pancakes" might be identified as a matching recipe.

[0880] Next, the server returns the searched recipe information to the terminal as JSON data. For example, the returned data will be in the following format: {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. Break the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further..."}.

[0881] Terminal display behavior

[0882] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it might display "Recipe you can make with your ingredients: Pancakes" and show detailed cooking instructions in list or card format.

[0883] Specific example

[0884] User input and server response

[0885] The user enters "eggs, milk, flour, sugar" into the device. The device converts this into JSON format and sends it to the server.

[0886] The server receives this and compares it with the database. For example, "pancakes" might be identified as a matching recipe.

[0887] The server converts the recipe information into JSON format and sends it back to the terminal as an HTTP response.

[0888] The device analyzes the received recipe information and displays to the user, "Recipe you can make with your ingredients: Pancakes."

[0889] Examples of prompt statements

[0890] Input prompt:

[0891] User: Enter the ingredients you have at home. Search for recipes using "eggs, milk, flour, sugar".

[0892] Output prompt:

[0893] System: "Recipe you can make with your ingredients: Pancakes". Follow these steps to prepare: 1. Crack the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further. ...

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

[0895] Step 1:

[0896] The user inputs the ingredients they have at home into the user interface of a device such as a smartphone or PC. For example, the ingredients might be "eggs, milk, flour, and sugar." These ingredients are entered in text format.

[0897] Input: Ingredients entered by the user on the device (e.g., "eggs, milk, flour, sugar")

[0898] Output: Material information (text format)

[0899] Step 2:

[0900] The terminal converts the entered ingredient information into JSON format. Specifically, it converts the text data entered by the user into JSON data using a script such as JavaScript. This converted JSON data would look like this: ["egg", "milk", "flour", "sugar"].

[0901] Input: Material information (text format)

[0902] Output: Material information (JSON format)

[0903] Step 3:

[0904] The terminal sends the converted JSON-formatted material information to the server as an HTTP POST request. This transmission uses a secure protocol (e.g., HTTPS) to safely transfer the data to the server.

[0905] Input: Material information (JSON format)

[0906] Output: HTTP POST request (material information)

[0907] Step 4:

[0908] The server parses the material information received as an HTTP POST request. Specifically, the server uses Python or Node.js scripts to deserialize the received JSON data and extract the material list.

[0909] Input: HTTP POST request (material information)

[0910] Output: Material list (analyzed data)

[0911] Step 5:

[0912] The server uses the extracted list of ingredients to match it against the database and search for a suitable recipe. The server generates an SQL query to search the recipe data in the database and identify a matching recipe. For example, "pancakes" might be identified as the best recipe.

[0913] Input: Material list (analyzed data)

[0914] Output: Matching recipe information (e.g., "pancakes")

[0915] Step 6:

[0916] The server converts the retrieved recipe information into JSON data and sends it back to the terminal as an HTTP response. Specifically, it converts the search results into JSON format (e.g., {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. ... 2. ..."}) and sends it to the terminal using a secure protocol.

[0917] Input: Matching recipe information

[0918] Output: Recipe information in JSON format (HTTP response)

[0919] Step 7:

[0920] The system parses the JSON-formatted recipe information received by the device and displays it in a user-friendly format. Specifically, it uses scripts such as JavaScript to parse the received data and update the HTML and UI components within the application for display. For example, it might display "Recipe you can make with your ingredients: Pancakes" and present detailed instructions in list or card format.

[0921] Input: Recipe information in JSON format (HTTP response)

[0922] Output: Visually displayed recipe information (e.g., "Recipes you can make with your ingredients: Pancakes")

[0923] (Application Example 1)

[0924] 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."

[0925] When cooking at home, there is a need for a way to efficiently utilize the ingredients available and to quickly procure any missing ingredients. In particular, there is a need for a system that allows users to easily input and analyze ingredient information using devices such as smartphones, receive appropriate recipe suggestions, and quickly order any missing ingredients online.

[0926] 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.

[0927] In this invention, the server includes means for inputting the materials the user possesses, means for analyzing the material information, means for searching for recipe information based on the analyzed material information, means for providing the searched recipe information to the user, means for identifying materials the user does not possess based on the search results, and means for ordering the materials the user does not possess online. This enables a system in which the user can effectively utilize the materials they have on hand while quickly procuring any missing materials.

[0928] A "user" is someone who uses the system to input ingredient information, receive recipe suggestions, and place online orders.

[0929] "Ingredients" refers to the raw materials for cooking, such as food items, that the user possesses.

[0930] The "means of analysis" refer to a function that analyzes the input material information as data and searches for recipes based on that information.

[0931] "Recipe information" refers to data that includes instructions and information about the necessary ingredients for preparing a dish using specific ingredients.

[0932] "Means of providing" refers to functions that display or notify users of analysis results and recipe information.

[0933] "Searching methods" refer to the function of finding recipe information within a database based on ingredient information.

[0934] "Material information" refers to data such as the types and quantities of food items owned by the user.

[0935] "Means of identification" refers to a function that lists materials that the user does not possess.

[0936] "Online ordering" refers to the function of purchasing ingredients that the user does not possess through an external food distribution service.

[0937] A "server" is a computer system that analyzes ingredient information based on user input, searches for recipe information, identifies necessary ingredients, and processes online orders.

[0938] This invention provides a system that allows users to input the ingredients they possess, provides an optimal recipe based on those ingredients, and automatically orders any missing ingredients online. This system consists of multiple components, including a user interface, a server, a recipe database, and an online ordering function.

[0939] 1. User Interface

[0940] The user interface is a means for users to input the materials they possess, and it operates on devices such as smartphones and tablets. Users input material information using text boxes or voice input. The entered material information is sent to the server as data in JSON format.

[0941] 2. Server

[0942] The server analyzes the received ingredient information and compares it with the recipe database to find the optimal recipe. Specifically, it uses software such as Python, Flask, and FastAPI to process the ingredient information and match it with recipe data.

[0943] 3. Recipe Database

[0944] The recipe database is a database containing a large amount of pre-registered recipe information. Based on the user's ingredient information, it searches for the most suitable recipe and returns the matching recipe information to the server as data in JSON format.

[0945] 4. Online ordering function

[0946] The server identifies ingredients the user does not possess based on the search results. These missing ingredients are ordered online via an external food delivery service API. This feature allows users to quickly procure the missing ingredients.

[0947] Specific example

[0948] For example, if a user enters "eggs, milk, and flour," the server will search for recipe information based on these ingredients and suggest recipes such as "pancakes." If the user does not have "sugar," the server will identify "sugar" as a missing ingredient and place an order with the appropriate food delivery service through the online ordering function.

[0949] Example of a prompt

[0950] Create a program that suggests the best recipe based on the ingredients a user has at home ("eggs, milk, flour") and then orders any missing ingredients. The input ingredients are: eggs, milk, and flour. Explain how the program retrieves the appropriate recipe and orders the missing ingredients based on these ingredients. Specifically, clearly explain which API endpoint to use, in what format to send the ingredient information, and how to retrieve the recipe and any missing ingredients.

[0951] By building such a system, users can make the most of the ingredients they have on hand, easily order the necessary ingredients, and cook efficiently.

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

[0953] Step 1:

[0954] The user launches a smartphone application and enters the ingredients they have on hand into a text box. This ingredient information is recorded, for example, "eggs, milk, flour." This ingredient information is then processed as input and converted into JSON format data.

[0955] Step 2:

[0956] The terminal converts the entered ingredient information into JSON format and sends it to the server as an HTTP POST request. The converted data is in a format such as: "["Egg", "Milk", "Flour"]". This request is sent to a specific API endpoint on the server, and the ingredient information is transmitted to the server.

[0957] Step 3:

[0958] The server analyzes the received material information. Specific examples of analysis include the use of software such as Python, Flask, and FastAPI. Based on the analyzed material information, a request for matching is sent to the recipe database. The system searches the recipe database using SQL queries and other methods to find matching recipe information.

[0959] Step 4:

[0960] The server receives search results from the recipe database and identifies the optimal recipe based on the ingredient information. For example, a recipe for "pancakes" might be identified. This identified recipe information is generated in JSON format and temporarily stored on the server.

[0961] Step 5:

[0962] The server sends the recipe information, which is the search result, back to the terminal. It is sent as an HTTP response in a format such as the following: "{"recipe": "pancakes", "ingredients": ["eggs", "milk", "flour", "sugar"]}". This response is received by the terminal.

[0963] Step 6:

[0964] The device analyzes the received recipe information and displays it visually to the user. Based on the analyzed information, the ingredients and instructions for the recipe are displayed on the user's screen in a list format. The user can then proceed with cooking while referring to this information.

[0965] Step 7:

[0966] The server identifies ingredients that the user does not possess, based on the recipe information. It compares the ingredient information in the database with the ingredient information entered by the user, and for example, identifies that "sugar" is missing.

[0967] Step 8:

[0968] The server calls an external food delivery service API to order the missing ingredients online. Specifically, it generates an order request for the missing ingredient "sugar" and sends it to the food delivery service. It receives a response from the API and confirms that the order was placed successfully.

[0969] Step 9:

[0970] The order result from the food delivery service API is sent back to the server. If the order is successful, the server notifies the terminal of this information. The terminal displays the success of the order to the user and informs them that any missing ingredients will be delivered.

[0971] Through these steps, users can obtain recipes based on the ingredients they have on hand and quickly order any missing ingredients online. This ensures a smooth cooking process and reduces the hassle of sourcing ingredients.

[0972] 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.

[0973] This invention combines a system that allows users to input ingredients they possess and then searches for and provides recipes based on that information with an emotion engine that recognizes the user's emotions. This system comprises a user interface (terminal), a server, a recipe database, and an emotion engine.

[0974] 1. User Interface (Terminal)

[0975] An interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, camera, etc., allowing users to communicate materials they have at home and their emotions to the system.

[0976] 2. Transmission of material information and emotional data

[0977] The terminal converts the entered ingredient information and emotion data into JSON format and sends it to the server. Ingredient information is sent in the format of "eggs, milk, flour, sugar," and emotion data is sent in the format of "feeling stressed."

[0978] 3. Database search (server)

[0979] The server analyzes the received ingredient information and emotional data and compares it with recipe information in the database. Based on the ingredient list and emotional data, the server searches for an appropriate recipe. For example, if the emotional data indicates "feeling stressed," a simple, relaxing recipe will be searched for.

[0980] 4. Submit recipe information

[0981] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[0982] 5. Displaying recipe information (on the device)

[0983] The device analyzes the received recipe information and displays it in a user-friendly format, as a recipe that is also emotionally resonant. For example, it might notify the user with a message like, "A relaxing recipe you can make with your ingredients: Pancakes."

[0984] Specific example

[0985] The user inputs the ingredients they have at home—"eggs, milk, flour, sugar"—and their current feeling—"feeling stressed"—into the device's interface. The user then uses, for example, a smartphone application.

[0986] The device converts this information into JSON format and sends it to the server as an HTTP POST request. The data sent will be in the following format: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0987] The server analyzes the received data and compares the ingredient list and emotional data with the database. The server then compares this with recipe information in the database and searches for a pancake recipe that has a relaxing effect based on the emotional data.

[0988] The server sends the "pancake" recipe information back to the terminal as JSON data. The returned data will be in the following format: {"Recipe": ["Pancake"]}.

[0989] The device analyzes the received recipe information and displays a message such as, "A relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking the detailed recipe information.

[0990] The system of this invention allows users to have a more satisfying cooking experience because they are not only offered recipes based on the ingredients they have, but also recipes that suit their emotional state. This allows users to easily select recipes that match their mood, prevent food waste, and enjoy cooking.

[0991] The following describes the processing flow.

[0992] Step 1:

[0993] The user enters ingredients they have at home and their feelings into the input fields on the device. For example, the user might enter "eggs, milk, flour, sugar" and "feeling stressed" as their feeling.

[0994] Step 2:

[0995] The terminal converts the input material information and emotion data into JSON format data. Specifically, the terminal takes user input and generates JSON data like this: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[0996] Step 3:

[0997] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[0998] Step 4:

[0999] The server receives an HTTP request and parses the JSON data sent to it. Specifically, the server parses the received data and converts it into Python lists and strings (e.g., {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}).

[1000] Step 5:

[1001] The server searches the database based on the analyzed ingredient list and emotional data. Specifically, it compares each recipe in the database with the user's ingredient list and prioritizes searching for recipes with a relaxing effect based on the emotional data "feeling stressed."

[1002] Step 6:

[1003] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and generates JSON data like the following, which is then sent to the device: {"Recipe": ["Pancakes"]}.

[1004] Step 7:

[1005] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[1006] Step 8:

[1007] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "A relaxing recipe you can make with your ingredients: Pancakes."

[1008] Step 9:

[1009] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed, and the user proceeds with cooking according to it.

[1010] (Example 2)

[1011] 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."

[1012] Traditional recipe suggestion systems typically propose recipes based on the ingredients the user possesses. However, recipe suggestions based solely on ingredients, without considering the user's emotional state, do not necessarily increase user satisfaction. Users often need recipes that suit their current emotional state, such as when they are stressed or want to relax. Furthermore, the system's configuration for providing optimal recipes based on emotional state is insufficient, resulting in an unoptimized user experience.

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

[1014] In this invention, the server includes means for inputting the ingredients and emotions held by the user, means for analyzing the information on ingredients and emotions, means for searching for recipe information based on the analyzed information on ingredients and emotions, and means for providing the searched recipe information to the user. This makes it possible to suggest the most suitable recipe not only based on the ingredient information entered by the user, but also based on their emotional state. For example, if the user is feeling stressed, recipes with a relaxing effect will be prioritized, thereby improving the user's satisfaction and cooking experience.

[1015] A "user" refers to an individual or group that can use the system to input materials they have at home and their own emotional state.

[1016] "Ingredients" refers to the specific elements that the user possesses, such as food and seasonings, that are used in cooking.

[1017] "Emotions" refer to the psychological state or mood that a user is experiencing. Examples include stress, relaxation, and joy.

[1018] "Input method" refers to an interface for users to input materials and emotions, specifically referring to input devices such as text boxes, microphones, and cameras.

[1019] "Analysis means" refers to an element that has the function of processing input material and emotional information and converting it into a format that can be understood by the system.

[1020] "Recipe information" refers to information that includes detailed instructions and explanations for cooking based on specific ingredients and procedures.

[1021] "Search method" refers to an element that has the function of finding the most suitable recipe information from within the database based on the analyzed material and emotional information.

[1022] "Means of provision" refers to elements that have the function of notifying and displaying the searched recipe information to the user.

[1023] This invention is a system that allows users to input their own ingredients and emotions, and then searches for and provides the most suitable recipe based on that information. This system consists of a user interface (terminal), a server, a recipe database, and an emotion engine.

[1024] 1. User Interface (Terminal)

[1025] A user interface is an interface for inputting materials and emotions that a user possesses. A smartphone application is a specific example. A user interface includes input devices such as text boxes, microphones, and cameras. This allows the user to input materials they have at home (e.g., eggs, milk, flour, sugar) and their emotions (e.g., feeling stressed) into the system.

[1026] 2. Transmission of material information and emotional data

[1027] The terminal converts the input material information and emotion data into JSON format. Specific format examples are as follows:

[1028] {

[1029] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[1030] "Emotion": "Feeling stressed"

[1031] }

[1032] The converted data is sent from the terminal to the server as an HTTP POST request.

[1033] 3. Data analysis and recipe search on the server

[1034] The server analyzes the received ingredient information and emotion data. First, the server analyzes the data in JSON format to extract the list of ingredients to be used and the emotion information. Next, it uses the recipe database and emotion engine to search for an appropriate recipe. For example, if the user's emotion data is "feeling stressed," recipes with relaxing effects will be prioritized in the search.

[1035] 4. Submit recipe information

[1036] The server converts the search results into JSON format and sends that data back to the terminal. An example of the data sent back is as follows:

[1037] {

[1038] "Recipe": ["Pancakes"]

[1039] }

[1040] 5. Displaying recipe information

[1041] The device parses the received JSON data and displays it in a user-friendly format. A specific example of this display is a message such as, "Relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking based on the detailed recipe information.

[1042] Examples of specific actions

[1043] The user uses a smartphone application to input information about ingredients such as "eggs, milk, flour, and sugar" and information about their emotions, such as "feeling stressed."

[1044] The device converts this information into JSON format and sends it to the server.

[1045] The server analyzes the received data and uses a recipe database and emotion engine to search for the most suitable recipe. For example, it might find a recipe for "pancakes."

[1046] The server returns the search results to the terminal in JSON format.

[1047] The device analyzes the received recipe information and displays a message to the user such as, "A relaxing recipe you can make with your ingredients: Pancakes."

[1048] This system allows users to have a more satisfying cooking experience because it not only suggests recipes based on ingredients, but also provides recipes that match their emotional state. This makes it easy for users to select recipes that suit their mood, preventing food waste and allowing them to enjoy cooking.

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

[1050] Step 1:

[1051] Input in the user interface

[1052] The user opens the application on their device and enters ingredient information and emotion data. For example, the user enters "eggs, milk, flour, sugar" as the ingredient information in a text box and selects "feeling stressed" as the emotion data. Input devices include a keyboard and voice input.

[1053] Input: User material information and emotion data

[1054] Output: Material and emotion data entered in the text box

[1055] Step 2:

[1056] Transmission of material information and emotional data

[1057] The terminal converts the input material information and emotion data into JSON format. For example, it converts it to the format {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[1058] Input: Material information and emotion data entered by the user.

[1059] Output: Data converted to JSON format

[1060] Specific operation: The terminal generates an HTTP POST request and sends the converted JSON data to the server.

[1061] Step 3:

[1062] Data analysis on the server

[1063] The server analyzes the received material information and emotion data. First, the server parses the data in JSON format and extracts the list of materials to be used and the emotion information.

[1064] Input: JSON data sent from the device

[1065] Output: Extracted material list and sentiment information

[1066] Specific operation: The server uses a JSON parser to analyze the data and extract the material list and sentiment information.

[1067] Step 4:

[1068] Recipe database search

[1069] The server searches the recipe database based on the analyzed ingredient list and emotional information. Using the emotional engine, it prioritizes selecting recipes that are appropriate for the user's emotional state.

[1070] Input: Material list and emotional information

[1071] Output: Searched recipe information

[1072] Specific operation: The server executes a database query to search for recipes that meet the specified criteria. For example, it might find a recipe for "pancakes".

[1073] Step 5:

[1074] Send recipe information

[1075] The server converts the search results into JSON format and sends them back to the terminal. A specific example of the returned data is {"Recipe": ["Pancakes"]}.

[1076] Input: Searched recipe information

[1077] Output: Recipe information in JSON format

[1078] Specific operation: The server sends the recipe information to the terminal in JSON format as an HTTP response.

[1079] Step 6:

[1080] Displaying recipe information

[1081] The device parses the received JSON data and displays it in a user-friendly format. A specific example of this display is "Relaxing recipes you can make with your ingredients: Pancakes."

[1082] Input: Recipe information in JSON format sent from the server.

[1083] Output: Recipe information displayed to the user

[1084] Specific operation: The terminal analyzes the received data and displays a message to the user on the application.

[1085] Through these steps, users can obtain the optimal recipe based on the ingredients they have at home and their emotions. This system utilizes an emotion engine to provide recipes that take into account the user's psychological state, resulting in a better cooking experience.

[1086] (Application Example 2)

[1087] 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."

[1088] Current recipe search systems only provide recipes based on the ingredients the user possesses, thus failing to consider the emotional aspect of enjoying cooking. Furthermore, the need to purchase additional ingredients to prepare a dish is often cumbersome, resulting in low user convenience.

[1089] 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 transmitting material information and emotion data entered by the user to the server; means for comparing the material information and emotion data received by the server with a database to search for recipe information; means for transmitting the search results from the server to the user; and means for ordering delivery of the necessary ingredients based on the recipe. As a result, the user can easily find a recipe that suits their emotional state and immediately order delivery of the necessary ingredients.

[1090] "A means for users to input the ingredients they possess" refers to an interface for users to input information about the ingredients they have into the system.

[1091] "Means for analyzing the information on the materials and the user's emotional data" refers to means for analyzing the input material information and the user's emotional data to perform processing for searching for an appropriate recipe.

[1092] "Means for searching recipe information based on the analyzed material information and sentiment data" refers to means for searching for an appropriate recipe from within a database based on the analyzed material information and sentiment data.

[1093] "Means for providing the searched recipe information to the user" refers to means for providing the recipe information obtained as a search result to the user in an easy-to-understand format.

[1094] "Means for ordering ingredients for delivery based on the recipe information provided" refers to means for automatically ordering the necessary ingredients for delivery based on the proposed recipe.

[1095] A "server" is a computer system on a network that receives data sent by users, compares it with a database to search for recipe information, and returns the results.

[1096] A "database" is a system that stores and manages information such as recipe information, ingredient information, and emotional data in a searchable format.

[1097] "Emotional data" refers to data in which users input their own emotional state, expressed in a format such as "I am feeling stressed."

[1098] This invention is a system that searches for and provides the optimal recipe based on the user's material and emotional data, and orders the necessary ingredients for delivery. This system consists of a user interface (terminal), a server, a recipe database, and an emotional engine.

[1099] 1. User Interface (Terminal)

[1100] The device provides an interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, and camera, allowing users to communicate materials they have at home and their emotions to the system. Upon receiving this information, the system begins processing.

[1101] 2. Transmission of material information and emotional data

[1102] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The data sent is in the following format, for example:

[1103] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[1104] Emotion: "I am feeling stressed."

[1105] 3. Database search (server)

[1106] The server analyzes the received ingredient information and emotional data, and compares it with the recipe database to search for an appropriate recipe. Based on the ingredient list and emotional data, the server prioritizes searching for relaxing recipes, for example, if the user is "feeling stressed."

[1107] 4. Submit recipe information

[1108] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[1109] 5. Displaying recipe information (on the device)

[1110] The device analyzes the received recipe information and displays it in a user-friendly format. For example, a message like "Relaxing recipe you can make with your ingredients: Pancakes" might be displayed.

[1111] 6. Ordering delivery of ingredients

[1112] The device can also automatically order delivery of any missing ingredients based on the suggested recipe. This allows users to quickly obtain the necessary ingredients and begin cooking.

[1113] Hardware and software to be used

[1114] Hardware: Smartphones (iOS / Android), Servers (cloud or on-premises)

[1115] Software: Python is used, HTTP requests are handled by the requests library, data format is JSON, and the server API is implemented via a RESTful API.

[1116] Specific example

[1117] For example, if a user enters "eggs, milk, flour, sugar" and sets their status to "feeling stressed," the system will suggest a pancake recipe, which has a relaxing effect, and automatically order the ingredients for delivery.

[1118] Example of a prompt

[1119] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[1120] Emotion: "I am feeling stressed."

[1121] As a result, the system of the present invention can improve the user's cooking experience by suggesting recipes that match the user's emotional state and quickly ordering delivery of the necessary ingredients.

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

[1123] Step 1:

[1124] The user inputs material information and emotional data into the device. Using a smartphone application, the user enters the materials into a text box and selects or voices their own emotions. An example of input data would be "eggs, milk, flour, sugar" and "feeling stressed."

[1125] input:

[1126] Ingredients: "Eggs, milk, flour, sugar"

[1127] Emotional data: "Feeling stressed"

[1128] output:

[1129] The device acquires material information and emotion data.

[1130] Step 2:

[1131] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The terminal parses the input data and converts it into JSON data as follows:

[1132] {

[1133] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[1134] "Emotion": "Feeling stressed"

[1135] }

[1136] input:

[1137] Material information and emotional data entered by the user on the device.

[1138] output:

[1139] Material information and emotion data converted to JSON format

[1140] Step 3:

[1141] The server parses the received JSON data and extracts material information and emotion data. The server first parses the received data and stores the material information and emotion data in separate variables.

[1142] input:

[1143] JSON data sent from the device

[1144] output:

[1145] Extracted material information and emotional data

[1146] Step 4:

[1147] The server searches the recipe database based on extracted ingredient information and emotional data to retrieve appropriate recipe information. Based on emotional data, for example, if the user is "feeling stressed," the search prioritizes recipes that promote relaxation. As a search result, it retrieves recipe information for "pancakes."

[1148] input:

[1149] Extracted material information and emotional data

[1150] output:

[1151] Searched recipe information

[1152] Step 5:

[1153] The server converts the retrieved recipe information into JSON format and sends it back to the device. The search results are sent to the device as JSON data like this:

[1154] {

[1155] "Recipe": ["Pancakes"]

[1156] }

[1157] input:

[1158] Searched recipe information

[1159] output:

[1160] Recipe information converted to JSON format

[1161] Step 6:

[1162] The device parses the JSON recipe information it receives and displays it in a user-friendly format. Specifically, it displays detailed recipe instructions along with the message, "A relaxing recipe you can make with your ingredients: Pancakes."

[1163] input:

[1164] JSON recipe information sent from the server

[1165] output:

[1166] Recipe information displayed in a user-friendly format.

[1167] Step 7:

[1168] The device automatically orders delivery of any missing ingredients based on the suggested recipe. The user then confirms the necessary ingredients, finalizes the delivery order, and places the order with the delivery service. This process allows the user to receive the necessary ingredients immediately.

[1169] input:

[1170] Suggested recipe information

[1171] output:

[1172] Once the delivery order is confirmed, the necessary ingredients are delivered to the user.

[1173] As described above, the system of the present invention provides a series of processes that suggest the optimal recipe based on the material information and emotion data entered by the user, and quickly order delivery of the necessary ingredients.

[1174] 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.

[1175] 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.

[1176] 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.

[1177] [Fourth Embodiment]

[1178] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[1179] 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.

[1180] 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).

[1181] 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.

[1182] 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.

[1183] 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).

[1184] 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.

[1185] 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.

[1186] 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.

[1187] 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.

[1188] 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.

[1189] 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.

[1190] 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".

[1191] This invention is a system that allows a user to input the materials they possess and provides recipes based on those materials. This system mainly consists of the following components.

[1192] 1. User Interface (Terminal)

[1193] An interface for users to input the materials they possess. This may include text boxes or voice input. Through this interface, users communicate the materials they have at home to the system.

[1194] 2. Sending material information

[1195] The terminal analyzes the input material information and sends it to the server as JSON data. This ensures that the material information is accurately transmitted to the server.

[1196] 3. Database search (server)

[1197] The server analyzes the received ingredient information and compares it with recipe information in the database. This comparison takes into account attributes such as the type and quantity of ingredients. Then, it identifies a recipe that can be made using the ingredients entered by the user.

[1198] 4. Submit recipe information

[1199] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information.

[1200] 5. Displaying recipe information (on the device)

[1201] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it provides details such as ingredients, cooking steps, and preparation time in a list or card format.

[1202] Specific example

[1203] The user enters the ingredients they have at home—eggs, milk, flour, and sugar—into a text box on the device. The user can also use a smartphone application, for example.

[1204] The terminal converts these ingredients into JSON format and sends it to the server as an HTTP POST request. For example, the data sent will be in the following format: ["eggs","milk","flour","sugar"].

[1205] The server analyzes the received data and compares it with the database. The server then searches for a matching recipe by comparing it with the recipe information stored in the database. For example, "pancakes" might be identified as a matching recipe.

[1206] The server sends the "pancake" recipe information back to the terminal as JSON data. For example, the returned data will be in the following format: ["Pancake"].

[1207] The device analyzes the received recipe information and displays a message such as, "Recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking detailed recipe information.

[1208] For this system to work, smooth communication between the user interface and the server is crucial. Using a secure protocol for communication is recommended. Furthermore, it is necessary to pre-store multiple recipe entries in the database to improve search efficiency.

[1209] The following describes the processing flow.

[1210] Step 1:

[1211] The user enters the ingredients they have at home into the input field on the device. For example, the user might enter "eggs, milk, flour, sugar."

[1212] Step 2:

[1213] The terminal converts the entered ingredients into JSON data. Specifically, the terminal takes the user's input and generates a list like ["eggs", "milk", "flour", "sugar"].

[1214] Step 3:

[1215] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[1216] Step 4:

[1217] The server receives an HTTP request and parses the JSON data sent. Specifically, the server parses the received data and converts it into a Python list (e.g., ['egg', 'milk', 'flour', 'sugar']).

[1218] Step 5:

[1219] The server searches the database based on the analyzed ingredient list. Specifically, it compares each recipe in the database with the user's ingredient list to find a matching recipe. In this case, the "pancake" recipe matches.

[1220] Step 6:

[1221] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and sends it to the device as JSON data.

[1222] Step 7:

[1223] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[1224] Step 8:

[1225] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "Recipe you can make with your ingredients: Pancakes."

[1226] Step 9:

[1227] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed as the user progresses through the cooking process.

[1228] (Example 1)

[1229] 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".

[1230] In many modern households, there is a growing need for users to easily cook meals using ingredients they already have at home. However, it is time-consuming for users to find appropriate recipes based on the ingredients they have. Furthermore, it is difficult to find recipes that perfectly match the ingredients entered when searching online. This can lead to users wasting ingredients they already possess. This invention aims to solve this problem by developing a system that quickly provides recipe information based on the ingredients a user has at home.

[1231] 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.

[1232] In this invention, the server includes means for inputting ingredients owned by the user, means for converting the ingredient information into JSON format, means for transmitting the ingredient information to the server, means for analyzing the received ingredient information and comparing it with a database to search for recipe information, means for returning the retrieved recipe information to the terminal in JSON format, and means for displaying the returned recipe information. This makes it possible for the user to easily input ingredients they have at home and quickly obtain appropriate recipe information based on those ingredients.

[1233] A "user" refers to a person who uses the system to input the ingredients they have at home and receive recipe information.

[1234] "Ingredients" refers to the food items that users use to make food.

[1235] "Means of input" refers to the interface through which the user provides material information to the system, and specifically includes text boxes and voice input.

[1236] "JSON format" is an abbreviation for JavaScript Object Notation, and refers to a lightweight data exchange format for structuring and representing data.

[1237] "Means of transmission" refers to the method of sending the input material information to the server, and specifically includes HTTP POST requests.

[1238] A "server" refers to a computer system that analyzes received ingredient information, compares it with a database to retrieve recipe information, and sends it back to the terminal.

[1239] "Analyzing" refers to the process by which a server breaks down the material information it receives and converts it into an understandable format.

[1240] A "database" refers to a place where information is collected and stored, such as a place to store multiple recipes.

[1241] "Matching" refers to the process of comparing the ingredient information analyzed by the server with the recipe information in the database and identifying matching items.

[1242] "Means of searching" refers to the methods by which the server finds recipe data within the database, and specifically includes SQL queries and similar search techniques.

[1243] "Means of returning information" refers to the method by which the server returns the retrieved recipe information to the terminal, and specifically includes HTTP responses.

[1244] "Means of display" refers to methods by which the terminal visually presents the returned recipe information to the user, and specifically includes HTML and UI components within the application.

[1245] A "secure protocol" refers to a set of rules used to ensure secure data communication between a server and a terminal, and specifically includes HTTPS.

[1246] "Storing in advance" refers to registering recipe information in a database beforehand to improve search efficiency.

[1247] "List format" refers to a display method in which information is arranged item by item.

[1248] "Card format" refers to a method of displaying information in a visually easy-to-understand way by dividing it into card-like blocks.

[1249] This invention is a system that allows users to input ingredients they have at home and provides an optimal recipe based on those ingredients. This system mainly consists of a user interface, data transmission, database search, recipe information transmission, and recipe information display.

[1250] Hardware / software to use

[1251] Terminal:

[1252] Hardware: Smartphones, PCs, tablets, etc.

[1253] Software: Web browsers, mobile applications

[1254] server:

[1255] Hardware: Cloud servers (e.g., AWS, Google Cloud)

[1256] Software: Database management systems (e.g., MySQL, PostgreSQL), API servers (e.g., Node.js, Django)

[1257] Communication: Secure protocols (e.g., HTTPS)

[1258] System Operation Overview

[1259] User actions

[1260] The user enters the ingredients they have at home into a text box on a device such as a smartphone or PC. For example, they might enter "eggs, milk, flour, sugar." This transmits information about the ingredients the user possesses to the device.

[1261] Terminal operation

[1262] The terminal converts the ingredient information entered by the user into JSON format and sends it to the server as an HTTP POST request. For example, the converted data will be in the following format: ["Eggs","Milk","Flour","Sugar"].

[1263] Server operation

[1264] The server analyzes the received ingredient information and compares it with the database. The server then searches the database for recipes that can be made using the ingredients entered by the user. This matching process uses search techniques such as SQL queries to efficiently identify recipes. For example, "pancakes" might be identified as a matching recipe.

[1265] Next, the server returns the searched recipe information to the terminal as JSON data. For example, the returned data will be in the following format: {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. Break the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further..."}.

[1266] Terminal display behavior

[1267] The device analyzes the received recipe information and displays it in a user-friendly format. For example, it might display "Recipe you can make with your ingredients: Pancakes" and show detailed cooking instructions in list or card format.

[1268] Specific example

[1269] User input and server response

[1270] The user enters "eggs, milk, flour, sugar" into the device. The device converts this into JSON format and sends it to the server.

[1271] The server receives this and compares it with the database. For example, "pancakes" might be identified as a matching recipe.

[1272] The server converts the recipe information into JSON format and sends it back to the terminal as an HTTP response.

[1273] The device analyzes the received recipe information and displays to the user, "Recipe you can make with your ingredients: Pancakes."

[1274] Examples of prompt statements

[1275] Input prompt:

[1276] User: Enter the ingredients you have at home. Search for recipes using "eggs, milk, flour, sugar".

[1277] Output prompt:

[1278] System: "Recipe you can make with your ingredients: Pancakes". Follow these steps to prepare: 1. Crack the eggs into a bowl and mix well. 2. Add the milk, flour, and sugar and mix further. ...

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

[1280] Step 1:

[1281] The user inputs the ingredients they have at home into the user interface of a device such as a smartphone or PC. For example, the ingredients might be "eggs, milk, flour, and sugar." These ingredients are entered in text format.

[1282] Input: Ingredients entered by the user on the device (e.g., "eggs, milk, flour, sugar")

[1283] Output: Material information (text format)

[1284] Step 2:

[1285] The terminal converts the entered ingredient information into JSON format. Specifically, it converts the text data entered by the user into JSON data using a script such as JavaScript. This converted JSON data would look like this: ["egg", "milk", "flour", "sugar"].

[1286] Input: Material information (text format)

[1287] Output: Material information (JSON format)

[1288] Step 3:

[1289] The terminal sends the converted JSON-formatted material information to the server as an HTTP POST request. This transmission uses a secure protocol (e.g., HTTPS) to safely transfer the data to the server.

[1290] Input: Material information (JSON format)

[1291] Output: HTTP POST request (material information)

[1292] Step 4:

[1293] The server parses the material information received as an HTTP POST request. Specifically, the server uses Python or Node.js scripts to deserialize the received JSON data and extract the material list.

[1294] Input: HTTP POST request (material information)

[1295] Output: Material list (analyzed data)

[1296] Step 5:

[1297] The server uses the extracted list of ingredients to match it against the database and search for a suitable recipe. The server generates an SQL query to search the recipe data in the database and identify a matching recipe. For example, "pancakes" might be identified as the best recipe.

[1298] Input: Material list (analyzed data)

[1299] Output: Matching recipe information (e.g., "pancakes")

[1300] Step 6:

[1301] The server converts the retrieved recipe information into JSON data and sends it back to the terminal as an HTTP response. Specifically, it converts the search results into JSON format (e.g., {"Recipe Name":"Pancakes","Ingredients":["Eggs","Milk","Flour","Sugar"],"Instructions":"1. ... 2. ..."}) and sends it to the terminal using a secure protocol.

[1302] Input: Matching recipe information

[1303] Output: Recipe information in JSON format (HTTP response)

[1304] Step 7:

[1305] The system parses the JSON-formatted recipe information received by the device and displays it in a user-friendly format. Specifically, it uses scripts such as JavaScript to parse the received data and update the HTML and UI components within the application for display. For example, it might display "Recipe you can make with your ingredients: Pancakes" and present detailed instructions in list or card format.

[1306] Input: Recipe information in JSON format (HTTP response)

[1307] Output: Visually displayed recipe information (e.g., "Recipes you can make with your ingredients: Pancakes")

[1308] (Application Example 1)

[1309] 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".

[1310] When cooking at home, there is a need for a way to efficiently utilize the ingredients available and to quickly procure any missing ingredients. In particular, there is a need for a system that allows users to easily input and analyze ingredient information using devices such as smartphones, receive appropriate recipe suggestions, and quickly order any missing ingredients online.

[1311] 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.

[1312] In this invention, the server includes means for inputting the materials the user possesses, means for analyzing the material information, means for searching for recipe information based on the analyzed material information, means for providing the searched recipe information to the user, means for identifying materials the user does not possess based on the search results, and means for ordering the materials the user does not possess online. This enables a system in which the user can effectively utilize the materials they have on hand while quickly procuring any missing materials.

[1313] A "user" is someone who uses the system to input ingredient information, receive recipe suggestions, and place online orders.

[1314] "Ingredients" refers to the raw materials for cooking, such as food items, that the user possesses.

[1315] The "means of analysis" refer to a function that analyzes the input material information as data and searches for recipes based on that information.

[1316] "Recipe information" refers to data that includes instructions and information about the necessary ingredients for preparing a dish using specific ingredients.

[1317] "Means of providing" refers to functions that display or notify users of analysis results and recipe information.

[1318] "Searching methods" refer to the function of finding recipe information within a database based on ingredient information.

[1319] "Material information" refers to data such as the types and quantities of food items owned by the user.

[1320] "Means of identification" refers to a function that lists materials that the user does not possess.

[1321] "Online ordering" refers to the function of purchasing ingredients that the user does not possess through an external food distribution service.

[1322] A "server" is a computer system that analyzes ingredient information based on user input, searches for recipe information, identifies necessary ingredients, and processes online orders.

[1323] This invention provides a system that allows users to input the ingredients they possess, provides an optimal recipe based on those ingredients, and automatically orders any missing ingredients online. This system consists of multiple components, including a user interface, a server, a recipe database, and an online ordering function.

[1324] 1. User Interface

[1325] The user interface is a means for users to input the materials they possess, and it operates on devices such as smartphones and tablets. Users input material information using text boxes or voice input. The entered material information is sent to the server as data in JSON format.

[1326] 2. Server

[1327] The server analyzes the received ingredient information and compares it with the recipe database to find the optimal recipe. Specifically, it uses software such as Python, Flask, and FastAPI to process the ingredient information and match it with recipe data.

[1328] 3. Recipe Database

[1329] The recipe database is a database containing a large amount of pre-registered recipe information. Based on the user's ingredient information, it searches for the most suitable recipe and returns the matching recipe information to the server as data in JSON format.

[1330] 4. Online ordering function

[1331] The server identifies ingredients the user does not possess based on the search results. These missing ingredients are ordered online via an external food delivery service API. This feature allows users to quickly procure the missing ingredients.

[1332] Specific example

[1333] For example, if a user enters "eggs, milk, and flour," the server will search for recipe information based on these ingredients and suggest recipes such as "pancakes." If the user does not have "sugar," the server will identify "sugar" as a missing ingredient and place an order with the appropriate food delivery service through the online ordering function.

[1334] Example of a prompt

[1335] Create a program that suggests the best recipe based on the ingredients a user has at home ("eggs, milk, flour") and then orders any missing ingredients. The input ingredients are: eggs, milk, and flour. Explain how the program retrieves the appropriate recipe and orders the missing ingredients based on these ingredients. Specifically, clearly explain which API endpoint to use, in what format to send the ingredient information, and how to retrieve the recipe and any missing ingredients.

[1336] By building such a system, users can make the most of the ingredients they have on hand, easily order the necessary ingredients, and cook efficiently.

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

[1338] Step 1:

[1339] The user launches a smartphone application and enters the ingredients they have on hand into a text box. This ingredient information is recorded, for example, "eggs, milk, flour." This ingredient information is then processed as input and converted into JSON format data.

[1340] Step 2:

[1341] The terminal converts the entered ingredient information into JSON format and sends it to the server as an HTTP POST request. The converted data is in a format such as: "["Egg", "Milk", "Flour"]". This request is sent to a specific API endpoint on the server, and the ingredient information is transmitted to the server.

[1342] Step 3:

[1343] The server analyzes the received material information. Specific examples of analysis include the use of software such as Python, Flask, and FastAPI. Based on the analyzed material information, a request for matching is sent to the recipe database. The system searches the recipe database using SQL queries and other methods to find matching recipe information.

[1344] Step 4:

[1345] The server receives search results from the recipe database and identifies the optimal recipe based on the ingredient information. For example, a recipe for "pancakes" might be identified. This identified recipe information is generated in JSON format and temporarily stored on the server.

[1346] Step 5:

[1347] The server sends the recipe information, which is the search result, back to the terminal. It is sent as an HTTP response in a format such as the following: "{"recipe": "pancakes", "ingredients": ["eggs", "milk", "flour", "sugar"]}". This response is received by the terminal.

[1348] Step 6:

[1349] The device analyzes the received recipe information and displays it visually to the user. Based on the analyzed information, the ingredients and instructions for the recipe are displayed on the user's screen in a list format. The user can then proceed with cooking while referring to this information.

[1350] Step 7:

[1351] The server identifies ingredients that the user does not possess, based on the recipe information. It compares the ingredient information in the database with the ingredient information entered by the user, and for example, identifies that "sugar" is missing.

[1352] Step 8:

[1353] The server calls an external food delivery service API to order the missing ingredients online. Specifically, it generates an order request for the missing ingredient "sugar" and sends it to the food delivery service. It receives a response from the API and confirms that the order was placed successfully.

[1354] Step 9:

[1355] The order result from the food delivery service API is sent back to the server. If the order is successful, the server notifies the terminal of this information. The terminal displays the success of the order to the user and informs them that any missing ingredients will be delivered.

[1356] Through these steps, users can obtain recipes based on the ingredients they have on hand and quickly order any missing ingredients online. This ensures a smooth cooking process and reduces the hassle of sourcing ingredients.

[1357] 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.

[1358] This invention combines a system that allows users to input ingredients they possess and then searches for and provides recipes based on that information with an emotion engine that recognizes the user's emotions. This system comprises a user interface (terminal), a server, a recipe database, and an emotion engine.

[1359] 1. User Interface (Terminal)

[1360] An interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, camera, etc., allowing users to communicate materials they have at home and their emotions to the system.

[1361] 2. Transmission of material information and emotional data

[1362] The terminal converts the entered ingredient information and emotion data into JSON format and sends it to the server. Ingredient information is sent in the format of "eggs, milk, flour, sugar," and emotion data is sent in the format of "feeling stressed."

[1363] 3. Database search (server)

[1364] The server analyzes the received ingredient information and emotional data and compares it with recipe information in the database. Based on the ingredient list and emotional data, the server searches for an appropriate recipe. For example, if the emotional data indicates "feeling stressed," a simple, relaxing recipe will be searched for.

[1365] 4. Submit recipe information

[1366] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[1367] 5. Displaying recipe information (on the device)

[1368] The device analyzes the received recipe information and displays it in a user-friendly format, as a recipe that is also emotionally resonant. For example, it might notify the user with a message like, "A relaxing recipe you can make with your ingredients: Pancakes."

[1369] Specific example

[1370] The user inputs the ingredients they have at home—"eggs, milk, flour, sugar"—and their current feeling—"feeling stressed"—into the device's interface. The user then uses, for example, a smartphone application.

[1371] The device converts this information into JSON format and sends it to the server as an HTTP POST request. The data sent will be in the following format: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[1372] The server analyzes the received data and compares the ingredient list and emotional data with the database. The server then compares this with recipe information in the database and searches for a pancake recipe that has a relaxing effect based on the emotional data.

[1373] The server sends the "pancake" recipe information back to the terminal as JSON data. The returned data will be in the following format: {"Recipe": ["Pancake"]}.

[1374] The device analyzes the received recipe information and displays a message such as, "A relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking while checking the detailed recipe information.

[1375] The system of this invention allows users to have a more satisfying cooking experience because they are not only offered recipes based on the ingredients they have, but also recipes that suit their emotional state. This allows users to easily select recipes that match their mood, prevent food waste, and enjoy cooking.

[1376] The following describes the processing flow.

[1377] Step 1:

[1378] The user enters ingredients they have at home and their feelings into the input fields on the device. For example, the user might enter "eggs, milk, flour, sugar" and "feeling stressed" as their feeling.

[1379] Step 2:

[1380] The terminal converts the input material information and emotion data into JSON format data. Specifically, the terminal takes user input and generates JSON data like this: {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[1381] Step 3:

[1382] The device sends the converted JSON data to the server via an HTTP request. Specifically, the device sends the data as an HTTP POST request.

[1383] Step 4:

[1384] The server receives an HTTP request and parses the JSON data sent to it. Specifically, the server parses the received data and converts it into Python lists and strings (e.g., {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}).

[1385] Step 5:

[1386] The server searches the database based on the analyzed ingredient list and emotional data. Specifically, it compares each recipe in the database with the user's ingredient list and prioritizes searching for recipes with a relaxing effect based on the emotional data "feeling stressed."

[1387] Step 6:

[1388] The server returns matching recipe information (e.g., "pancakes") to the device in JSON format. Specifically, the server compiles the search results into a list and generates JSON data like the following, which is then sent to the device: {"Recipe": ["Pancakes"]}.

[1389] Step 7:

[1390] The device parses the JSON data received from the server. Specifically, the device parses the received data and converts it into a list format (e.g., ["Pancakes"]).

[1391] Step 8:

[1392] The device analyzes recipe information and displays it in a user-friendly format. Specifically, it notifies the user in a format such as, "A relaxing recipe you can make with your ingredients: Pancakes."

[1393] Step 9:

[1394] The user checks the displayed recipe information and begins cooking. Detailed recipe information (ingredients, cooking steps, etc.) is displayed, and the user proceeds with cooking according to it.

[1395] (Example 2)

[1396] 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".

[1397] Traditional recipe suggestion systems typically propose recipes based on the ingredients the user possesses. However, recipe suggestions based solely on ingredients, without considering the user's emotional state, do not necessarily increase user satisfaction. Users often need recipes that suit their current emotional state, such as when they are stressed or want to relax. Furthermore, the system's configuration for providing optimal recipes based on emotional state is insufficient, resulting in an unoptimized user experience.

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

[1399] In this invention, the server includes means for inputting the ingredients and emotions held by the user, means for analyzing the information on ingredients and emotions, means for searching for recipe information based on the analyzed information on ingredients and emotions, and means for providing the searched recipe information to the user. This makes it possible to suggest the most suitable recipe not only based on the ingredient information entered by the user, but also based on their emotional state. For example, if the user is feeling stressed, recipes with a relaxing effect will be prioritized, thereby improving the user's satisfaction and cooking experience.

[1400] A "user" refers to an individual or group that can use the system to input materials they have at home and their own emotional state.

[1401] "Ingredients" refers to the specific elements that the user possesses, such as food and seasonings, that are used in cooking.

[1402] "Emotions" refer to the psychological state or mood that a user is experiencing. Examples include stress, relaxation, and joy.

[1403] "Input method" refers to an interface for users to input materials and emotions, specifically referring to input devices such as text boxes, microphones, and cameras.

[1404] "Analysis means" refers to an element that has the function of processing input material and emotional information and converting it into a format that can be understood by the system.

[1405] "Recipe information" refers to information that includes detailed instructions and explanations for cooking based on specific ingredients and procedures.

[1406] "Search method" refers to an element that has the function of finding the most suitable recipe information from within the database based on the analyzed material and emotional information.

[1407] "Means of provision" refers to elements that have the function of notifying and displaying the searched recipe information to the user.

[1408] This invention is a system that allows users to input their own ingredients and emotions, and then searches for and provides the most suitable recipe based on that information. This system consists of a user interface (terminal), a server, a recipe database, and an emotion engine.

[1409] 1. User Interface (Terminal)

[1410] A user interface is an interface for inputting materials and emotions that a user possesses. A smartphone application is a specific example. A user interface includes input devices such as text boxes, microphones, and cameras. This allows the user to input materials they have at home (e.g., eggs, milk, flour, sugar) and their emotions (e.g., feeling stressed) into the system.

[1411] 2. Transmission of material information and emotional data

[1412] The terminal converts the input material information and emotion data into JSON format. Specific format examples are as follows:

[1413] {

[1414] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[1415] "Emotion": "Feeling stressed"

[1416] }

[1417] The converted data is sent from the terminal to the server as an HTTP POST request.

[1418] 3. Data analysis and recipe search on the server

[1419] The server analyzes the received ingredient information and emotion data. First, the server analyzes the data in JSON format to extract the list of ingredients to be used and the emotion information. Next, it uses the recipe database and emotion engine to search for an appropriate recipe. For example, if the user's emotion data is "feeling stressed," recipes with relaxing effects will be prioritized in the search.

[1420] 4. Submit recipe information

[1421] The server converts the search results into JSON format and sends that data back to the terminal. An example of the data sent back is as follows:

[1422] {

[1423] "Recipe": ["Pancakes"]

[1424] }

[1425] 5. Displaying recipe information

[1426] The device parses the received JSON data and displays it in a user-friendly format. A specific example of this display is a message such as, "Relaxing recipe you can make with your ingredients: Pancakes." The user can then proceed with cooking based on the detailed recipe information.

[1427] Examples of specific actions

[1428] The user uses a smartphone application to input information about ingredients such as "eggs, milk, flour, and sugar" and information about their emotions, such as "feeling stressed."

[1429] The device converts this information into JSON format and sends it to the server.

[1430] The server analyzes the received data and uses a recipe database and emotion engine to search for the most suitable recipe. For example, it might find a recipe for "pancakes."

[1431] The server returns the search results to the terminal in JSON format.

[1432] The device analyzes the received recipe information and displays a message to the user such as, "A relaxing recipe you can make with your ingredients: Pancakes."

[1433] This system allows users to have a more satisfying cooking experience because it not only suggests recipes based on ingredients, but also provides recipes that match their emotional state. This makes it easy for users to select recipes that suit their mood, preventing food waste and allowing them to enjoy cooking.

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

[1435] Step 1:

[1436] Input in the user interface

[1437] The user opens the application on their device and enters ingredient information and emotion data. For example, the user enters "eggs, milk, flour, sugar" as the ingredient information in a text box and selects "feeling stressed" as the emotion data. Input devices include a keyboard and voice input.

[1438] Input: User material information and emotion data

[1439] Output: Material and emotion data entered in the text box

[1440] Step 2:

[1441] Transmission of material information and emotional data

[1442] The terminal converts the input material information and emotion data into JSON format. For example, it converts it to the format {"Ingredients": ["Eggs", "Milk", "Flour", "Sugar"], "Emotion": "Feeling stressed"}.

[1443] Input: Material information and emotion data entered by the user.

[1444] Output: Data converted to JSON format

[1445] Specific operation: The terminal generates an HTTP POST request and sends the converted JSON data to the server.

[1446] Step 3:

[1447] Data analysis on the server

[1448] The server analyzes the received material information and emotion data. First, the server parses the data in JSON format and extracts the list of materials to be used and the emotion information.

[1449] Input: JSON data sent from the device

[1450] Output: Extracted material list and sentiment information

[1451] Specific operation: The server uses a JSON parser to analyze the data and extract the material list and sentiment information.

[1452] Step 4:

[1453] Recipe database search

[1454] The server searches the recipe database based on the analyzed ingredient list and emotional information. Using the emotional engine, it prioritizes selecting recipes that are appropriate for the user's emotional state.

[1455] Input: Material list and emotional information

[1456] Output: Searched recipe information

[1457] Specific operation: The server executes a database query to search for recipes that meet the specified criteria. For example, it might find a recipe for "pancakes".

[1458] Step 5:

[1459] Send recipe information

[1460] The server converts the search results into JSON format and sends them back to the terminal. A specific example of the returned data is {"Recipe": ["Pancakes"]}.

[1461] Input: Searched recipe information

[1462] Output: Recipe information in JSON format

[1463] Specific operation: The server sends the recipe information to the terminal in JSON format as an HTTP response.

[1464] Step 6:

[1465] Displaying recipe information

[1466] The device parses the received JSON data and displays it in a user-friendly format. A specific example of this display is "Relaxing recipes you can make with your ingredients: Pancakes."

[1467] Input: Recipe information in JSON format sent from the server.

[1468] Output: Recipe information displayed to the user

[1469] Specific operation: The terminal analyzes the received data and displays a message to the user on the application.

[1470] Through these steps, users can obtain the optimal recipe based on the ingredients they have at home and their emotions. This system utilizes an emotion engine to provide recipes that take into account the user's psychological state, resulting in a better cooking experience.

[1471] (Application Example 2)

[1472] 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".

[1473] Current recipe search systems only provide recipes based on the ingredients the user possesses, thus failing to consider the emotional aspect of enjoying cooking. Furthermore, the need to purchase additional ingredients to prepare a dish is often cumbersome, resulting in low user convenience.

[1474] 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 transmitting material information and emotion data entered by the user to the server; means for comparing the material information and emotion data received by the server with a database to search for recipe information; means for transmitting the search results from the server to the user; and means for ordering delivery of the necessary ingredients based on the recipe. As a result, the user can easily find a recipe that suits their emotional state and immediately order delivery of the necessary ingredients.

[1475] "A means for users to input the ingredients they possess" refers to an interface for users to input information about the ingredients they have into the system.

[1476] "Means for analyzing the information on the materials and the user's emotional data" refers to means for analyzing the input material information and the user's emotional data to perform processing for searching for an appropriate recipe.

[1477] "Means for searching recipe information based on the analyzed material information and sentiment data" refers to means for searching for an appropriate recipe from within a database based on the analyzed material information and sentiment data.

[1478] "Means for providing the searched recipe information to the user" refers to means for providing the recipe information obtained as a search result to the user in an easy-to-understand format.

[1479] "Means for ordering ingredients for delivery based on the recipe information provided" refers to means for automatically ordering the necessary ingredients for delivery based on the proposed recipe.

[1480] A "server" is a computer system on a network that receives data sent by users, compares it with a database to search for recipe information, and returns the results.

[1481] A "database" is a system that stores and manages information such as recipe information, ingredient information, and emotional data in a searchable format.

[1482] "Emotional data" refers to data in which users input their own emotional state, expressed in a format such as "I am feeling stressed."

[1483] This invention is a system that searches for and provides the optimal recipe based on the user's material and emotional data, and orders the necessary ingredients for delivery. This system consists of a user interface (terminal), a server, a recipe database, and an emotional engine.

[1484] 1. User Interface (Terminal)

[1485] The device provides an interface for users to input materials they possess and their own emotions. Specifically, it includes a text box, microphone, and camera, allowing users to communicate materials they have at home and their emotions to the system. Upon receiving this information, the system begins processing.

[1486] 2. Transmission of material information and emotional data

[1487] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The data sent is in the following format, for example:

[1488] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[1489] Emotion: "I am feeling stressed."

[1490] 3. Database search (server)

[1491] The server analyzes the received ingredient information and emotional data, and compares it with the recipe database to search for an appropriate recipe. Based on the ingredient list and emotional data, the server prioritizes searching for relaxing recipes, for example, if the user is "feeling stressed."

[1492] 4. Submit recipe information

[1493] The server returns the recipe information found through the search to the terminal in JSON format. This allows the user to receive the appropriate recipe information. For example, recipe information for "pancakes" might be returned.

[1494] 5. Displaying recipe information (on the device)

[1495] The device analyzes the received recipe information and displays it in a user-friendly format. For example, a message like "Relaxing recipe you can make with your ingredients: Pancakes" might be displayed.

[1496] 6. Ordering delivery of ingredients

[1497] The device can also automatically order delivery of any missing ingredients based on the suggested recipe. This allows users to quickly obtain the necessary ingredients and begin cooking.

[1498] Hardware and software to be used

[1499] Hardware: Smartphones (iOS / Android), Servers (cloud or on-premises)

[1500] Software: Python is used, HTTP requests are handled by the requests library, data format is JSON, and the server API is implemented via a RESTful API.

[1501] Specific example

[1502] For example, if a user enters "eggs, milk, flour, sugar" and sets their status to "feeling stressed," the system will suggest a pancake recipe, which has a relaxing effect, and automatically order the ingredients for delivery.

[1503] Example of a prompt

[1504] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"]

[1505] Emotion: "I am feeling stressed."

[1506] As a result, the system of the present invention can improve the user's cooking experience by suggesting recipes that match the user's emotional state and quickly ordering delivery of the necessary ingredients.

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

[1508] Step 1:

[1509] The user inputs material information and emotional data into the device. Using a smartphone application, the user enters the materials into a text box and selects or voices their own emotions. An example of input data would be "eggs, milk, flour, sugar" and "feeling stressed."

[1510] input:

[1511] Ingredients: "Eggs, milk, flour, sugar"

[1512] Emotional data: "Feeling stressed"

[1513] output:

[1514] The device acquires material information and emotion data.

[1515] Step 2:

[1516] The terminal converts the input material information and emotion data into JSON format and sends it to the server as an HTTP POST request. The terminal parses the input data and converts it into JSON data as follows:

[1517] {

[1518] Ingredients: ["Eggs", "Milk", "Flour", "Sugar"],

[1519] "Emotion": "Feeling stressed"

[1520] }

[1521] input:

[1522] Material information and emotional data entered by the user on the device.

[1523] output:

[1524] Material information and emotion data converted to JSON format

[1525] Step 3:

[1526] The server parses the received JSON data and extracts material information and emotion data. The server first parses the received data and stores the material information and emotion data in separate variables.

[1527] input:

[1528] JSON data sent from the device

[1529] output:

[1530] Extracted material information and emotional data

[1531] Step 4:

[1532] The server searches the recipe database based on extracted ingredient information and emotional data to retrieve appropriate recipe information. Based on emotional data, for example, if the user is "feeling stressed," the search prioritizes recipes that promote relaxation. As a search result, it retrieves recipe information for "pancakes."

[1533] input:

[1534] Extracted material information and emotional data

[1535] output:

[1536] Searched recipe information

[1537] Step 5:

[1538] The server converts the retrieved recipe information into JSON format and sends it back to the device. The search results are sent to the device as JSON data like this:

[1539] {

[1540] "Recipe": ["Pancakes"]

[1541] }

[1542] input:

[1543] Searched recipe information

[1544] output:

[1545] Recipe information converted to JSON format

[1546] Step 6:

[1547] The device parses the JSON recipe information it receives and displays it in a user-friendly format. Specifically, it displays detailed recipe instructions along with the message, "A relaxing recipe you can make with your ingredients: Pancakes."

[1548] input:

[1549] JSON recipe information sent from the server

[1550] output:

[1551] Recipe information displayed in a user-friendly format.

[1552] Step 7:

[1553] The device automatically orders delivery of any missing ingredients based on the suggested recipe. The user then confirms the necessary ingredients, finalizes the delivery order, and places the order with the delivery service. This process allows the user to receive the necessary ingredients immediately.

[1554] input:

[1555] Suggested recipe information

[1556] output:

[1557] Once the delivery order is confirmed, the necessary ingredients are delivered to the user.

[1558] As described above, the system of the present invention provides a series of processes that suggest the optimal recipe based on the material information and emotion data entered by the user, and quickly order delivery of the necessary ingredients.

[1559] 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.

[1560] 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.

[1561] 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 robot 414.

[1562] 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.

[1563] 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.

[1564] 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.

[1565] 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.

[1566] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[1567] 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."

[1568] 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.

[1569] 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.

[1570] 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.

[1571] 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.

[1572] 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.

[1573] 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.

[1574] 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.

[1575] 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.

[1576] 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.

[1577] 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.

[1578] 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.

[1579] 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 as being incorporated by reference.

[1580] The following is further disclosed regarding the embodiments described above.

[1581] (Claim 1)

[1582] A means for the user to input the materials they possess,

[1583] Means for analyzing information about the aforementioned material,

[1584] A means for searching for recipe information based on the analyzed material information,

[1585] A means for providing the user with the searched recipe information,

[1586] A system that includes this.

[1587] (Claim 2)

[1588] The system according to claim 1, characterized in that if the searched recipe information is a recipe that includes all of the ingredients, it will be provided preferentially.

[1589] (Claim 3)

[1590] A means for transmitting the material information entered by the user to a server,

[1591] The server has means for comparing the material information it receives with a database to search for recipe information,

[1592] Means for sending the aforementioned search results from the server to the user,

[1593] The system according to claim 1, characterized by including the following:

[1594] "Example 1"

[1595] (Claim 1)

[1596] A means for the user to input the materials they possess,

[1597] A means for converting the aforementioned material information into JSON format,

[1598] Means for transmitting the material information to a server,

[1599] The server analyzes the material information it receives and compares it with a database to search for recipe information.

[1600] A means of returning the searched recipe information to the terminal in JSON format,

[1601] The means for displaying the returned recipe information,

[1602] A system that includes this.

[1603] (Claim 2)

[1604] The system according to claim 1, characterized in that if the searched recipe information is a recipe that includes all of the ingredients, it will be provided preferentially.

[1605] (Claim 3)

[1606] Means for using a secure protocol for communication between the server and the terminal,

[1607] The server has a means of pre-storing multiple recipe information in a database,

[1608] The system according to claim 1, characterized by including the following:

[1609] "Application Example 1"

[1610] (Claim 1)

[1611] A means for the user to input the materials they possess,

[1612] Means for analyzing information about the aforementioned material,

[1613] A means for searching for recipe information based on the analyzed material information,

[1614] A means for providing the user with the searched recipe information,

[1615] Based on the aforementioned search results, a means for identifying materials that the user does not possess,

[1616] A means for users to order materials they do not possess online,

[1617] A system that includes this.

[1618] (Claim 2)

[1619] The system according to claim 1, characterized in that if the searched recipe information is a recipe that includes all of the ingredients, it will be provided preferentially.

[1620] (Claim 3)

[1621] A means for transmitting the material information entered by the user to a server,

[1622] The server has means for comparing the material information it receives with a database to search for recipe information,

[1623] Means for sending the aforementioned search results from the server to the user,

[1624] A means for identifying materials that the user does not possess,

[1625] In order to order the aforementioned specified ingredients online, a means of coordinating with an external food delivery service,

[1626] The system according to claim 1, characterized by including the following:

[1627] "Example 2 of combining an emotion engine"

[1628] (Claim 1)

[1629] A means for the user to input materials and emotions they possess,

[1630] Means for analyzing the aforementioned materials and emotional information,

[1631] A means for searching for recipe information based on the analyzed material and emotional information,

[1632] A means for providing the user with the searched recipe information,

[1633] A system that includes this.

[1634] (Claim 2)

[1635] The system according to claim 1, characterized in that it prioritizes providing recipe information when the searched recipe information is a recipe that includes all of the ingredients and is suitable for the user's emotional state.

[1636] (Claim 3)

[1637] Means for transmitting material information and emotional data entered by the user to a server,

[1638] The server has means for comparing the material information and emotion data received with a database to search for recipe information,

[1639] Means for sending the aforementioned search results from the server to the user,

[1640] The system according to claim 1, including the following:

[1641] "Application example 2 when combining with an emotional engine"

[1642] (Claim 1)

[1643] A means for the user to input the materials they possess,

[1644] Means for analyzing information on the aforementioned materials and user emotion data,

[1645] A means for searching for recipe information based on the analyzed material information and emotion data,

[1646] A means for providing the user with the searched recipe information,

[1647] A means for ordering ingredients for delivery based on the recipe information provided,

[1648] A system that includes this.

[1649] (Claim 2)

[1650] The system according to claim 1, characterized in that if the searched recipe information is a recipe that includes all of the ingredients, it will be provided preferentially.

[1651] (Claim 3)

[1652] Means for transmitting material information and emotional data entered by the user to a server,

[1653] The server has means for comparing the material information and emotion data received with a database to search for recipe information,

[1654] Means for sending the aforementioned search results from the server to the user,

[1655] A means for ordering the necessary ingredients for delivery based on the aforementioned recipe,

[1656] The system according to claim 1, characterized by including the following: [Explanation of Symbols]

[1657] 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 the materials they possess, Means for analyzing information about the aforementioned material, A means for searching for recipe information based on the analyzed material information, A means for providing the user with the searched recipe information, A system that includes this.

2. The system according to claim 1, characterized in that if the searched recipe information is a recipe that includes all of the ingredients, it will be provided with priority.

3. A means for transmitting the material information entered by the user to a server, The server has means for comparing the material information it receives with a database to search for recipe information, Means for sending the aforementioned search results from the server to the user, The system according to claim 1, characterized by including the following:

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A