system
A system that suggests healthy meals based on user location and budget, using past meal history and health goals to select and adjust menus, addresses the challenge of maintaining nutritional balance while eating out.
Patent Information
- Application Number
- JP2024119009
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-24
- Publication Date
- 2026-02-05
AI Technical Summary
Individuals find it difficult to maintain a healthy diet when eating out, as it is challenging to quickly determine which menu items are healthy, and selecting optimal meals based on health goals and budget requires extensive information collection and analysis, which is time-consuming.
A system that acquires user location, budget, past meal history, and health goals to select optimal menus from nearby restaurants, calculates nutritional balance, and adjusts other meals to maintain calorie and PFC balance, providing tailored suggestions.
Enables users to easily make healthy meal choices by suggesting balanced meals based on their location and budget, supporting them in maintaining nutritional balance through other meals.
Smart Images

Figure 2026017948000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In modern society, many people find it difficult to maintain a healthy diet. Especially when eating out, it can be difficult to quickly determine which menu items are healthy, often resulting in excessive calories and an imbalance in PFCs. Furthermore, selecting the optimal diet based on individual health goals and budgets requires the collection and analysis of extensive information, which can be extremely time-consuming to do alone. Aiming to solve these problems, the present invention provides a system that suggests healthy and balanced meals based on the user's current location information and budget, and also adjusts the balance of other meals. [Means for solving the problem]
[0005] The present invention solves the above problems by the following means. First, a means for acquiring information about the user's current location is provided. Next, a means for acquiring information about the user's budget is provided. Furthermore, a means for acquiring the user's past meal history and health goals is provided. Next, a means for acquiring information about nearby restaurants based on the user's current location is provided. Then, a means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus is provided. A means for calculating the nutritional balance of the selected menu is also provided. Finally, a means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted is provided. Finally, a system is provided that supports the user in maintaining their health by providing a means for displaying the optimal menu and suggested adjustments to the menu. This allows the user to easily make healthy meal choices.
[0006] "User's current location information" is data indicating the geographical location where the user is located in real time.
[0007] "Budget information" is data indicating the amount of money a user can spend on a meal.
[0008] "Dietary history" is data indicating the contents of meals the user has eaten in the past and the nutritional information associated with those meals.
[0009] "Health goals" are data that indicate specific goals regarding health status, weight, and nutritional balance that the user wants to achieve.
[0010] "Restaurant information" is data that indicates the locations, menus, prices, and other related information of nearby restaurants.
[0011] A "menu" is data that indicates the types of meals offered by a restaurant and their specific contents.
[0012] "Nutritional balance" is data that shows the calories and PFC (protein, fat, carbohydrate) percentages that a particular meal contains.
[0013] "Adjustment suggestions" are data that provide specific advice and recommendations for balancing other aspects of a user's diet in order to achieve the desired nutritional balance. [Brief explanation of the drawings]
[0014] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0015] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0016] First, the terms used in the following description will be explained.
[0017] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0018] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0019] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0020] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0021] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0022] [First embodiment]
[0023] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0024] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0025] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0026] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0027] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0028] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0029] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0030] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0032] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0033] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0034] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0035] This invention is a system that suggests healthy and well-balanced meals based on the user's current location information and budget, and supports the user in achieving balance through other meals.
[0036] System Overview
[0037] The system's main components are a user's device and a server. When a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then selects the optimal meal from the menus of nearby restaurants based on the user's past meal history and health goals, and provides the user with tailored suggestions.
[0038] Program processing
[0039] Obtaining location and budget information
[0040] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[0041] The device obtains the user's GPS data and determines their current location.
[0042] The device saves the entered budget information (e.g., 1,000 yen).
[0043] Requesting and Retrieving Data
[0044] The terminal transmits the current location information and budget information to the server along with the user ID.
[0045] The server retrieves the user's past dietary history and health goals from a database.
[0046] Gathering restaurant information
[0047] The server uses an external API to obtain information about restaurants near the current location.
[0048] Menu information for each restaurant is collected from the restaurant information acquired by the server.
[0049] For example, it provides menu information for ramen shops, cafes, and set meal restaurants in the Shinjuku area.
[0050] Menu evaluation and selection
[0051] The server evaluates the collected menu information based on the user's budget and health goals.
[0052] For example, select a "chicken salad set meal" and calculate its nutritional balance (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[0053] Balance Suggestions
[0054] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[0055] The server generates suggestions for balancing nutrition at dinner or other meals.
[0056] For example, make specific suggestions such as, "Choose a low-fat, high-protein menu for dinner."
[0057] View Suggestions
[0058] The server sends the selected menu and adjustment suggestions to the terminal.
[0059] The device displays the optimal meal menu and adjustment suggestions to the user.
[0060] For example, you can select a "chicken salad set meal" for lunch, and then display a message saying, "For dinner, please choose a low-fat, high-protein menu."
[0061] Specific examples
[0062] Consider a case where a user is looking for lunch suggestions and is looking for meals under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. In this case, for example, a "chicken salad set meal" is selected and its nutritional information is calculated. The server then generates advice for dinner, suggesting a low-fat, high-protein option. Finally, the device displays this information to the user, supporting them in making healthy dietary choices.
[0063] This system allows users to easily choose meals to eat out while maintaining their individual health goals, and makes it easier to maintain good health by providing suggestions that take into account total daily calories and PFC balance.
[0064] The processing flow will be explained below.
[0065] Step 1:
[0066] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[0067] Step 2:
[0068] Enable GPS to obtain your device's current location, which will determine your real-time location.
[0069] Step 3:
[0070] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[0071] Step 4:
[0072] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[0073] Step 5:
[0074] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0075] Step 6:
[0076] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[0077] Step 7:
[0078] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, it calculates its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[0079] Step 8:
[0080] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[0081] Step 9:
[0082] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[0083] Step 10:
[0084] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[0085] In this way, specific processing is performed at each step, allowing the user to efficiently make healthy meal choices.
[0086] Example 1
[0087] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0088] In today's society, choosing a healthy and balanced diet can be difficult. When eating out, it can be even more challenging to choose the best meal based on your budget, location, and individual health goals. There is a need to solve this problem and make healthy food choices easier for users.
[0089] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0090] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past diet history and health goals, thereby enabling the user to easily select healthy meals based on their current location and budget.
[0091] The "means for acquiring the user's current location information" is a means for identifying the user's current geographical location by utilizing the location information service of the user's terminal.
[0092] The "means for acquiring user budget information" is a means for acquiring the range of expenses that the user can spend on meals that is input in advance by the user.
[0093] The "means for acquiring the user's past dietary history and health goals" refers to a means for acquiring information on the meals the user has eaten in the past from a database and health goals based on that information.
[0094] The "means for obtaining information about restaurants in the vicinity" is a means for obtaining information about restaurants in the vicinity of the user's current location via an external database or API based on the user's current location information.
[0095] The "means for selecting the optimal menu" is a means for selecting the menu that best suits the user's budget and health goals from the acquired restaurant information and menu information.
[0096] "Means for calculating the nutritional balance of a selected menu" refers to means for calculating nutritional information such as calories and PFC balance of a selected menu.
[0097] "Means for adjusting other meals so as to maintain calorie and PFC balance" refers to means for planning and adjusting other meals on a daily or weekly basis so as to maintain the user's total calorie and PFC balance.
[0098] The "means for transmitting the user ID, location information, and budget information to the server" is a means for transmitting the user's identification information, current location information, and budget information from the terminal to the server.
[0099] "Means for obtaining information about nearby restaurants from an external data source" refers to means for obtaining information about restaurants around the user's current location using an external database or API.
[0100] The "means for displaying the optimal menu and adjustment suggestions to the user" is a means for displaying the selected menu and other meal adjustment suggestions on the user's terminal.
[0101] "Means for simulating nutritional balance based on an optimal menu" refers to means for simulating the nutritional intake balance for one day or one week from a selected menu.
[0102] The "means for generating suggestions for maintaining nutritional balance in other meals" refers to a means for generating specific suggestions for the user to maintain nutritional balance in other meals.
[0103] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and supports the user in achieving a balanced diet through other means. The system mainly includes a user terminal and a server.
[0104] When a user requests meal suggestions, the system first obtains current location and budget information from the user's device and sends that information to the server. The server then uses the obtained data to obtain the user's past meal history and health goals from a database.
[0105] The server then uses external APIs (such as the Google Maps API or Yelp API) to collect information about restaurants near the user's current location. It then extracts menu information from the restaurant information and selects the optimal menu based on the user's budget and health goals. It then calculates the nutritional balance (calories, protein, fat, carbohydrates, etc.) of the selected menu and, based on the results, generates recommendations for adjusting other meals to maintain the user's total daily or weekly calorie intake and PFC balance.
[0106] Finally, the server sends the selected menu and adjustment suggestions to the user's device, which then displays them to the user, allowing the user to easily choose a healthy and balanced diet.
[0107] Specific examples
[0108] For example, consider a case where a user requests lunch suggestions in the Shinjuku area and sets a budget of 1,000 yen. When the user makes a request from their device, the device identifies the user's current location and sends it to the server along with their budget information. The server obtains the user's past eating history and health goals, and uses an external API to collect menu information from restaurants near their current location. The server then evaluates the collected menu information and selects, for example, a "chicken salad set meal." The server calculates the nutritional information for the selected menu (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates), and generates a dinner suggestion such as "Choose a low-fat, high-protein menu." Finally, this information is displayed on the user's device.
[0109] Prompt Sentence Examples
[0110] "I'd like some lunch suggestions in the Shinjuku area for under 1000 yen. My health goals are low in fat and high in protein."
[0111] The system helps users make healthy food choices easily and provides specific suggestions for maintaining total calories and PFC balance for the day.
[0112] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0113] Step 1:
[0114] The user requests meal suggestions from the device. The user opens the app and enters their budget and meal request. The device obtains the user's current location information using GPS. The inputs at this time are the user's location data (e.g., latitude and longitude) and budget amount (e.g., 1,000 yen). The device obtains and stores this information.
[0115] Step 2:
[0116] The device sends the user's saved current location information and budget information to the server. The input is data including the user ID, current location information, and budget information. The device packages this data and sends it to the server via an HTTP request. The output is the formatted data received on the server side.
[0117] Step 3:
[0118] The server retrieves the user's past dietary history and health goals from the database. The input is the submitted user ID. The server executes a database query to retrieve the past dietary history and health goals. The output is the retrieved dietary history data and health goal data.
[0119] Step 4:
[0120] The server uses an external API to obtain information about restaurants near the current location. The input is the user's current location. The server makes a request to an external API such as Google Maps API or Yelp API to obtain information about restaurants near the current location. The output is data such as the addresses, names, and ratings of nearby restaurants.
[0121] Step 5:
[0122] The server collects menu information for each restaurant from the restaurant information it has acquired. The input is information about nearby restaurants. The server collects detailed menu information using APIs containing each restaurant's website and menu. The output is detailed menu information for each restaurant (e.g., menu name, price, nutritional information).
[0123] Step 6:
[0124] The server evaluates the collected menu information based on the user's budget and health goals. The inputs are the user's budget, health goals, and menu information for each restaurant. The server filters the menus that can be purchased within the budget and selects the menu that best suits the user's health goals. The output is the selected optimal menu.
[0125] Step 7:
[0126] The server calculates the nutritional balance of the selected menu. The input is the selected menu information. The server calculates nutritional information such as calories, protein, fat, and carbohydrates. The output is the numerical value of each nutritional component.
[0127] Step 8:
[0128] The server simulates the total calories and PFC balance for a day or a week based on the lunch menu suggested by the server. The input is the nutritional information for lunch. The server calculates the user's total calories and PFC balance for a day or a week and performs the simulation. The output is the simulation results.
[0129] Step 9:
[0130] The server generates suggestions for balancing nutrition for dinner and other meals. The input is the simulation results. The server takes into account the current nutritional balance and suggests menus suitable for dinner and other meals. The output is specific meal suggestions.
[0131] Step 10:
[0132] The server sends the selected menu and adjustment suggestions to the device. The input is the optimal menu and adjustment suggestions. The server sends these suggestions to the user's device as an HTTP response. The output is the optimal menu and adjustment suggestions sent to the device.
[0133] Step 11:
[0134] The terminal displays the optimal meal menu and adjustment suggestions to the user. The input is the optimal menu and adjustment suggestions received from the server. The terminal displays this information on the screen and presents it to the user. The output is the menu and suggestions displayed to the user.
[0135] (Application example 1)
[0136] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0137] The main function of conventional restaurant information systems is to suggest optimal restaurants and menus based on the user's current location and budget. However, they do not offer health support such as suggesting balanced meals based on the user's health goals and past eating history, or adjusting the overall balance of daily meals. Furthermore, there are no systems that provide an execution environment for various devices, including smartphones, and efficiently integrate delivery information. These issues need to be resolved.
[0138] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0139] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past meal history and health goals. This makes it possible to select an optimal menu based on the user's health goals from restaurant information and menus, and to provide suggestions for adjusting the balance of the next meal. Furthermore, by including a means for providing an execution environment installed on a smartphone, smart glasses, a head-mounted display, or a robot, healthy meal suggestions can be efficiently made to the user's various devices. Furthermore, by including a means for acquiring restaurant information from an external database or API and providing integrated delivery information, the server expands delivery menu options, making it easier for users to achieve their health goals.
[0140] "User's current location information" is information indicating the user's current location, and is mainly obtained using GPS data.
[0141] "User budget information" is information indicating the amount of money the user plans to spend on meals.
[0142] "User's past meal history" is information that indicates a record of meals that the user has eaten in the past.
[0143] "Health goals" is information that indicates the health status or diet goals that the user wants to achieve.
[0144] "Restaurant information" refers to information about restaurants and their menus located within a specific area.
[0145] "Menu" means a specific list and detailed information about the food and beverages offered at a restaurant.
[0146] "Nutritional balance" refers to the proportion and composition of each nutrient contained in a meal, and is calculated based on health goals.
[0147] "PFC balance" is information that indicates the ratio of protein, fat, and carbohydrates.
[0148] "Food delivery" is a service that delivers food and drinks from restaurants to users.
[0149] A "smartphone" is a mobile phone terminal that has Internet connectivity and can run a variety of applications.
[0150] "Smart glasses" are eyeglass-type electronic devices with information display functions.
[0151] A "head-mounted display" is a display device that provides visual information when worn on the head.
[0152] A "robot" is a mechanical device that can perform a specific action or function autonomously or by remote control.
[0153] An "external database" is an externally accessible collection of data that stores specific information.
[0154] An "API" is an interface for exchanging information between different software applications.
[0155] "Execution environment" refers to the hardware and software configuration required for an application to run.
[0156] This system proposes healthy and balanced meals based on the user's current location and budget, and supports the user in achieving a balanced diet. The system's main components include a user's device, a server, an external database, and an API. This system is particularly targeted at users who use food delivery services.
[0157] Overall system overview
[0158] The server includes the following means:
[0159] 1. How to obtain the user's current location
[0160] 2. How to get user budget information
[0161] 3. A means of capturing a user's past dietary history and health goals
[0162] 4. A method for obtaining information about nearby restaurants based on the user's current location
[0163] 5. A means to select the most suitable menu from the acquired restaurant information and menus based on the user's budget and health goals
[0164] 6. A method for calculating the nutritional balance of the selected menu
[0165] 7. A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis.
[0166] 8. A way to present the user with optimal menus and adjustment suggestions
[0167] 9. Means for providing an execution environment to be installed on a smartphone, smart glasses, head-mounted display, or robot
[0168] Program processing overview
[0169] The user's budget and current location information are acquired from the device and sent to the server. The server then provides the user with optimal meal suggestions and delivery information through the following steps:
[0170] 1. Obtain location and budget information:
[0171] The user uses the device to input their current location and budget information, and the device uses GPS data to determine their current location and sends this information to the server.
[0172] 2. Requesting and retrieving data:
[0173] The server receives the user ID, current location information, and budget information, and retrieves the user's past diet history and health goals from a database.
[0174] 3. Collecting restaurant information:
[0175] The server uses an external API to obtain information about restaurants near the current location. From the obtained restaurant information, the server collects menu information for each restaurant, including menu items available for delivery.
[0176] 4. Menu Evaluation and Selection:
[0177] The server evaluates the collected menu information based on the user's budget and health goals, selects the optimal menu, and calculates its nutritional balance.
[0178] 5. Balance Suggestions:
[0179] The server simulates the total calories and PFC balance for a day or week based on the lunch menu suggestions, and generates specific suggestions for achieving nutritional balance for dinner and subsequent meals.
[0180] 6. Displaying Proposals:
[0181] The selected menu and adjustment suggestions are sent to the terminal and displayed to the user.
[0182] Hardware and software used
[0183] The main hardware used is a smartphone, which uses GPS to obtain current location information. The software is implemented using Python, external APIs, and the Geopy library. The server side uses a database management system to manage past dietary history and health goals.
[0184] Examples and prompts
[0185] For example, if a user is looking for lunch in the Shinjuku area for under 1,000 yen, they open the app and enter their budget. The device then locates their current location and sends it along with their budget information to the server. The server then compares their past eating history with their health goals and uses an external API to collect menu information from nearby restaurants. In this case, a "chicken salad set meal" is selected, and its nutritional balance is calculated. Furthermore, the server generates advice such as "Choose a low-fat, high-protein menu for dinner."
[0186] Example prompt for a generative AI model:
[0187] I'm looking for lunch options in the Shinjuku area that cost under 1,000 yen. I've eaten a lot of high-calorie meals in the past, so I'd appreciate some suggestions for low-calorie, healthy options. I'd also like some advice on how to balance my meals at dinner.
[0188] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0189] Step 1:
[0190] The user opens the app and enters budget information. The budget information set by the user is entered into the device. The device obtains the user's current location information based on the input. Specifically, the device uses the GPS function to identify the current location.
[0191] Step 2:
[0192] The device transmits the acquired current location information and input budget information to the server. Upon receiving this information, the server retrieves the user's past diet history and health goal information from a database. Specifically, the server executes a database query using the user ID to retrieve the relevant data.
[0193] Step 3:
[0194] The server uses an external API to obtain information about nearby restaurants based on the current location. The current location information is sent to the external API as input. Information about nearby restaurants and their menus is returned to the server as output. Specifically, the server sends a request to the API endpoint and obtains the required information from a remote database.
[0195] Step 4:
[0196] The server evaluates the restaurant and menu information it obtains based on the user's budget and health goals. The input includes menu information and the user's health goals. To process the data, the server calculates the calorie and nutrient balance of each menu item and evaluates whether it matches the user's health goals. The output is the selection of the optimal menu item.
[0197] Step 5:
[0198] The system calculates the nutritional balance of the selected menu in detail and generates specific adjustment suggestions for the next meal to maintain the total daily or weekly calorie and PFC balance. The input includes the nutritional information of the selected menu and the daily or weekly health goals. As a data calculation, the server performs a simulation based on this and generates adjustment suggestions. The adjustment suggestions are formulated as the output.
[0199] Step 6:
[0200] The server sends the selected menu and adjustment suggestions to the terminal, which receives them and displays them to the user. The input includes the menu information and adjustment suggestions from the server. As data processing, the terminal formats this into an easy-to-read format and displays it.
[0201] As a concrete example, a user looking for lunch in the Shinjuku area opens the app and enters a budget of 1,000 yen. The device then uses GPS to obtain its current location and sends it to the server. The server then collects restaurant information and menus from an external API and evaluates them based on the user's health goals. As a result, a "chicken salad set meal" is selected and its nutritional balance is calculated. The server then generates advice such as "Choose a low-fat, high-protein menu" as a dinner adjustment suggestion, and sends this information to the device for display.
[0202] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0203] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state, thereby supporting optimal meal selection that takes the user's psychological state into consideration.
[0204] System Overview
[0205] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[0206] Program processing
[0207] Obtaining location and budget information
[0208] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[0209] The device obtains the user's GPS data and determines their current location.
[0210] The device saves the entered budget information (e.g., 1,000 yen).
[0211] Requesting and Retrieving Data
[0212] The terminal transmits the current location information and budget information to the server along with the user ID.
[0213] The server retrieves the user's past diet history and health goal information from a database.
[0214] Gathering restaurant information
[0215] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0216] Recognizing the user's emotional state
[0217] The device recognizes the user's emotional state using an emotion engine that analyzes the user's facial expressions, tone of voice, and input text.
[0218] Menu evaluation and selection
[0219] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[0220] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[0221] Balance Suggestions
[0222] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[0223] The server generates nutritional recommendations for dinner and other meals, such as "Choose a low-fat, high-protein menu for dinner."
[0224] View Suggestions
[0225] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[0226] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[0227] Specific examples
[0228] Consider a case where a user is looking for lunch suggestions and is searching for a meal under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it selects a "chicken salad set meal," which has a relaxing effect, and calculates its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[0229] This system allows users to easily choose meals to eat out while maintaining their individual health goals and psychological state. It also makes it easier to maintain health by providing suggestions that take into account total daily calories and PFC balance.
[0230] The processing flow will be explained below.
[0231] Step 1:
[0232] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[0233] Step 2:
[0234] Enable GPS to obtain your device's current location, which will determine your real-time location.
[0235] Step 3:
[0236] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[0237] Step 4:
[0238] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[0239] Step 5:
[0240] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0241] Step 6:
[0242] The device activates an emotion engine to recognize the user's emotions. The emotion engine analyzes the user's facial expressions, tone of voice, input text, etc. to evaluate their emotional state.
[0243] Step 7:
[0244] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[0245] Step 8:
[0246] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates) is also calculated.
[0247] Step 9:
[0248] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[0249] Step 10:
[0250] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[0251] Step 11:
[0252] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[0253] Step 12:
[0254] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[0255] In this way, by performing specific processing at each step, the system allows the user to efficiently select meals that are healthy and suited to their psychological state.
[0256] Example 2
[0257] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0258] Conventional meal recommendation systems could suggest optimal menus based on a user's current location and budget. However, they were unable to take into account the user's emotional state or health goals, making it difficult to select meals that satisfied psychological aspects and nutritional balance. Furthermore, they did not adequately consider the management of total daily calories and PFC balance, making it difficult to maintain the user's optimal health.
[0259] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location from an external database or API, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for recognizing the user's emotional state and adjusting the suggestions based on the emotional state, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, and means for displaying the optimal menu and adjustment suggestions to the user. This allows the user to receive optimal meal suggestions based on their psychological state and health goals, enabling comprehensive management of their daily nutritional balance.
[0260] "Current location information" refers to the geographic location of a user, typically obtained through GPS or other location acquisition technology.
[0261] "Budget information" is information that indicates the amount of money a user can spend on meals.
[0262] "Diet history" is a record of meals the user has had in the past, and is data including information such as date and time, meal contents, and calorie intake.
[0263] "Health goals" refer to target values set by a user for managing their health and physical condition, and include specific goals such as weight loss, muscle gain, and limiting calorie intake.
[0264] "Restaurant information" is data that includes information such as the location, store name, menu contents, prices, and ratings of a restaurant.
[0265] "External Database or API" means a data source or programmatic interface for obtaining information from another system or service.
[0266] "Menu selection" is the process of selecting the most suitable restaurant menu based on the user's budget and health goals.
[0267] "Nutritional balance calculation" is the process of calculating the balance of nutritional components such as calories, protein, fat, and carbohydrates of a selected menu.
[0268] "Emotional state" refers to the user's current psychological state, including emotions such as stress, joy, and sadness.
[0269] "Adjusting the proposal" is a process for making optimal menu proposals taking into account the user's emotional state.
[0270] "Calorie and PFC Balance" refers to the amount of calories and the percentage of protein, fat, and carbohydrates a user consumes per day.
[0271] "Adjustment suggestions" are suggestions that include specific advice to help users make optimal dietary choices that take into account their health goals and psychological state.
[0272] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. This system helps the user choose the optimal meal while taking their psychological state into consideration.
[0273] System configuration
[0274] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[0275] Hardware and Software
[0276] The following hardware and software are used in this system:
[0277] User terminal: A device such as a smartphone or tablet is used, which has a built-in GPS module.
[0278] Server: A cloud-based server is used to provide the database and data processing functions. Software used includes a database management system such as MySQL and Python scripts.
[0279] Emotion engine: The camera and microphone are used to analyze the emotional state, using IBM Watson and Microsoft Azure Emotion APIs.
[0280] Data processing and calculation
[0281] The terminal acquires the user's current location using GPS and acquires budget information from the user.
[0282] The device sends the current location information and budget information along with the user ID to the server.
[0283] The server retrieves the user's past dietary history and health goals from a database.
[0284] The server calls external APIs (e.g., Google Maps API, Yelp API) based on the current location information to collect information about nearby restaurants.
[0285] The terminal uses an emotion engine to recognize the user's emotional state and transmits the result to the server.
[0286] The server analyzes the restaurant menu information collected and selects a menu that suits the user's budget and health goals.
[0287] The suggested menu is adjusted based on the emotional state recognized by the emotion engine.
[0288] The server generates daily and weekly nutritionally balanced recommendations.
[0289] The terminal displays this information to the user.
[0290] Specific examples
[0291] For example, consider a case where a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[0292] Prompt Sentence Examples
[0293] "If a user is looking for lunch in the Shinjuku area for under 1,000 yen, send their current location and budget information to the server and collect menu information from nearby restaurants. Use an emotion engine to analyze the user's current emotional state, and if they are feeling stressed, suggest a menu item that will have a relaxing effect."
[0294] With the above configuration and processing, this system can provide optimal meal suggestions based on the user's location information, budget, emotional state, and health goals, and simultaneously support the user's health maintenance and psychological satisfaction.
[0295] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0296] Program processing flow
[0297] Step 1:
[0298] The user launches the app and requests meal suggestions. The user then enters their budget.
[0299] Input: User request, budget information (e.g. 1000 yen)
[0300] Output: Confirmation of request, saving of budget information
[0301] Specific behavior: The user taps the meal suggestion button in the app and enters the amount in the budget input field that appears.
[0302] Step 2:
[0303] The device uses the built-in GPS module to obtain the user's current location.
[0304] Input: None (GPS automatically acquires location information)
[0305] Output: Current location information (e.g., latitude 35.6895, longitude 139.6917)
[0306] Specific operation: The device calls the GPS library, measures location information in real time, and records it in a log.
[0307] Step 3:
[0308] The terminal transmits the user ID, current location information, and budget information to the server.
[0309] Input: User ID, current location information, budget information
[0310] Output: Send data to the server
[0311] Specific behavior: The device makes a POST request and sends data to the endpoint / API.
[0312] Step 4:
[0313] The server retrieves the user's past dietary history and health goals from a database.
[0314] Input: User ID
[0315] Output: Past diet history, health goals
[0316] What happens: The server searches the database using an SQL query and extracts the relevant data.
[0317] Step 5:
[0318] The server uses the current location information to collect information about nearby restaurants from an external API.
[0319] Input: Current location information
[0320] Output: Restaurant information (store name, menu, price, rating)
[0321] Specific operation: The server calls an external restaurant API and retrieves information using the required parameters.
[0322] Step 6:
[0323] The device captures the user's facial expressions and voice using a camera and microphone, and analyzes the user's emotional state using an emotion engine.
[0324] Input: User's facial expression data, tone of voice
[0325] Output: Emotional state data (e.g., stress level, feelings of appreciation)
[0326] Specific operation: The device activates the camera and microphone to collect data, sends it to the emotion engine API, and receives the analysis results.
[0327] Step 7:
[0328] The server analyzes the restaurant menu information collected and selects the optimal menu that suits the user's budget and health goals.
[0329] Input: Restaurant information, budget information, health goals
[0330] Output: Optimal menu (e.g. "Chicken salad set meal", price, nutritional information)
[0331] What it does: The server chooses the best menu by filtering the menu information and scoring items that match your budget and health goals.
[0332] Step 8:
[0333] An emotion engine assesses the user's emotional state and adjusts menu suggestions.
[0334] Input: Emotional state data, optimal menu list
[0335] Output: Tailored menu suggestions
[0336] Specific operation: The emotion engine analyzes emotional data and, for example, if stress levels are high, prioritizes suggesting menus with a relaxing effect.
[0337] Step 9:
[0338] Based on the menu selected by the server, adjustment suggestions are generated for one day or one week.
[0339] Input: Optimal menu, past diet history, health goals
[0340] Output: Adjustment suggestion (e.g., "Choose a low-fat, high-protein option for dinner")
[0341] What it does: Uses nutrition calculation software to simulate daily or weekly dietary balances and generate suggested adjustments.
[0342] Step 10:
[0343] The server sends the final proposal as a response to the terminal.
[0344] Input: Tailored menu suggestions, nutritional balance information
[0345] Output: Final proposal
[0346] Specific operation: Parse the generated proposal content in JSON format and send it to the device.
[0347] Step 11:
[0348] The terminal receives the response from the server and displays the proposal to the user.
[0349] Input: Final proposal (JSON data)
[0350] Output: Update the user interface and display the suggestions.
[0351] Specific behavior: The device parses the response, updates the app's UI, and displays it to the user.
[0352] Through these steps, the system provides optimal meal suggestions based on the user's location, budget, emotional state, and health goals, enabling comprehensive nutrition management.
[0353] (Application example 2)
[0354] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0355] Conventional meal recommendation systems take into account the user's location and budget information, but often fail to provide optimal recommendations that reflect the user's emotional state. This can lead to users making incorrect meal choices when they are under stress or anxiety, which can cause problems in maintaining overall health. Furthermore, the lack of dietary recommendations based on total daily calories or PFC balance makes long-term health management difficult.
[0356] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0357] In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, means for recognizing the user's emotional state and adjusting the suggested menu, and means for displaying the optimal menu and suggested adjustments to the user. This enables optimal meal selection and long-term health management that takes the user's psychological state into consideration.
[0358] "User's current location information" is latitude and longitude data for identifying the user's current location.
[0359] "User budget information" is information about the financial constraints that a user can spend on a single meal.
[0360] "User's past dietary history" refers to a record of the contents and nutritional information of meals previously consumed by the user.
[0361] "Health goals" are the health conditions that a user wants to achieve and the diet, exercise, and other goals required for achieving them.
[0362] "Restaurant information" is information such as menus, prices, and ratings of restaurants near the user's current location.
[0363] An "optimal menu" refers to the meal that best fits a user's budget, health goals, and emotional state.
[0364] "Nutritional balance" refers to the amount of each nutrient provided by a particular meal, specifically the amount of calories, protein, fat, and carbohydrates.
[0365] "Calorie and PFC balance" refers to the total amount of calories and the ratio of protein, fat, and carbohydrates over a given period of time.
[0366] A "means for recognizing emotional states" is an algorithm or system that reads emotions from a user's facial expressions, tone of voice, and input text.
[0367] A "means for tailoring recommendations" is an algorithm or system that changes the meal selection based on the user's emotional state.
[0368] A "displaying means" is a display or application interface that visually presents the selected menu and suggestions to the user.
[0369] This invention is a system that suggests healthy and balanced meals based on a user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. The system's main components are a user's terminal, a server, and an emotion engine.
[0370] System Program
[0371] First, when a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then acquires the user's past eating history and health goals, and selects the optimal meal from the menu of nearby restaurants. At this time, an emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with the adjustment suggestions it generates, helping them select the optimal meal.
[0372] Hardware and software used
[0373] Geopy: Software used to obtain location information
[0374] EmotionEngine: Software used to analyze emotional states (specifically, OpenCV and TensorFlow may be used)
[0375] Requests: Software used to communicate with the server
[0376] Program processing overview
[0377] First, the user inputs their current location and budget into the device to request meal suggestions. The device uses GPS data to obtain the user's precise location and sends it along with budget information to the server. The server then retrieves the user's past meal history and health goals from a database based on the user's ID. The server then uses an external API to collect information about restaurants near the user's current location and analyzes the data, including the nutritional information of their menus. Based on the analysis results, the server selects the menu that best suits the user's budget and health goals. Furthermore, an emotion engine evaluates the user's emotional state and, in some cases, reflects menu suggestions that have a relaxing effect.
[0378] Based on the lunch menu suggestions, the server simulates the total calorie and PFC balance for a day or a week, and generates specific recommendations for dinner and other meals. Finally, the device displays these suggestions to the user, providing healthy and psychologically appropriate meal choices.
[0379] Specific examples
[0380] For example, suppose a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a healthy meal that is appropriate for their psychological state.
[0381] Prompt Sentence Examples
[0382] "If a user is in Shinjuku, has a budget of 1,000 yen, and is feeling stressed, what program can suggest a relaxing meal for them? The application would suggest menus from nearby restaurants based on the user's location, budget, and emotional state."
[0383] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0384] Step 1:
[0385] A user requests meal suggestions
[0386] The user operates the device and requests meal suggestions. The input information is the current location (GPS data) and budget information. The device acquires the user's current location information using GPS and saves the input budget information.
[0387] Input: User's current location, budget information
[0388] Output: Current location information, budget information
[0389] Step 2:
[0390] Send the user's current location and budget information to the server
[0391] The device sends the acquired current location information and budget information to the server, along with the user ID.
[0392] Input: Current location, budget information, user ID
[0393] Output: Request data to the server
[0394] Step 3:
[0395] The server retrieves the user's past dietary history and health goals.
[0396] The server uses the received user ID to refer to a database and obtain the user's past dietary history and health goals.
[0397] Input: User ID
[0398] Output: Past diet history, health goals
[0399] Step 4:
[0400] The server obtains information about nearby restaurants using an external API.
[0401] The server uses the user's current location information to call an external API and obtain information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0402] Input: Current location
[0403] Output: Restaurant information (store name, menu, price, rating)
[0404] Step 5:
[0405] Emotion engine recognizes the user's emotional state
[0406] The on-device emotion engine analyzes the user's facial expressions, tone of voice, and input text data to recognize the user's emotional state.
[0407] Input: User's facial expression data, tone of voice, text data
[0408] Output: User's emotional state
[0409] Step 6:
[0410] The server selects and evaluates the most suitable menu
[0411] The server selects the optimal menu based on the acquired restaurant information, the user's budget, health goals, and past eating history, and also calculates the amount of calories, protein, fat, and carbohydrates for each menu item to evaluate the optimal menu for the user.
[0412] Input: Restaurant information, budget information, health goals, past meal history
[0413] Output: Optimal menu and its nutritional information
[0414] Step 7:
[0415] Tailoring suggestions based on the user's emotional state
[0416] The emotion engine recognizes the user's emotional state (e.g., stress) and adjusts the suggested menu as needed. For example, if the user is feeling stressed, it will prioritize menus that have a relaxing effect.
[0417] Input: optimal menu, user emotional state
[0418] Output: Adjusted optimal menu
[0419] Step 8:
[0420] The server simulates the total calories and PFC balance
[0421] Based on the lunch menu suggestions, the server simulates the total calories and PFC balance for a day or week and generates specific suggestions for dinner and other meals.
[0422] Input: Your optimal menu, health goals
[0423] Output: Daily or weekly meal suggestions
[0424] Step 9:
[0425] The device displays adjustment suggestions to the user
[0426] The device receives the adjustment suggestions generated by the server and visually displays them to the user, allowing them to make appropriate meal choices.
[0427] Input: Tailored optimal menus and specific suggestions
[0428] Output: Information displayed to the user
[0429] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0430] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0431] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0432] [Second embodiment]
[0433] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0434] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0435] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0436] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0437] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0438] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0439] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0440] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0441] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0442] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0443] In the smart glasses 214, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0444] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0445] This invention is a system that suggests healthy and well-balanced meals based on the user's current location information and budget, and supports the user in achieving balance through other meals.
[0446] System Overview
[0447] The system's main components are a user's device and a server. When a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then selects the optimal meal from the menus of nearby restaurants based on the user's past meal history and health goals, and provides the user with tailored suggestions.
[0448] Program processing
[0449] Obtaining location and budget information
[0450] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[0451] The device obtains the user's GPS data and determines their current location.
[0452] The device saves the entered budget information (e.g., 1,000 yen).
[0453] Requesting and Retrieving Data
[0454] The terminal transmits the current location information and budget information to the server along with the user ID.
[0455] The server retrieves the user's past dietary history and health goals from a database.
[0456] Gathering restaurant information
[0457] The server uses an external API to obtain information about restaurants near the current location.
[0458] Menu information for each restaurant is collected from the restaurant information acquired by the server.
[0459] For example, it provides menu information for ramen shops, cafes, and set meal restaurants in the Shinjuku area.
[0460] Menu evaluation and selection
[0461] The server evaluates the collected menu information based on the user's budget and health goals.
[0462] For example, select a "chicken salad set meal" and calculate its nutritional balance (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[0463] Balance Suggestions
[0464] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[0465] The server generates suggestions for balancing nutrition at dinner or other meals.
[0466] For example, make specific suggestions such as, "Choose a low-fat, high-protein menu for dinner."
[0467] View Suggestions
[0468] The server sends the selected menu and adjustment suggestions to the terminal.
[0469] The device displays the optimal meal menu and adjustment suggestions to the user.
[0470] For example, you can select a "chicken salad set meal" for lunch, and then display a message saying, "For dinner, please choose a low-fat, high-protein menu."
[0471] Specific examples
[0472] Consider a case where a user is looking for lunch suggestions and is looking for meals under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. In this case, for example, a "chicken salad set meal" is selected and its nutritional information is calculated. The server then generates advice for dinner, suggesting a low-fat, high-protein option. Finally, the device displays this information to the user, supporting them in making healthy dietary choices.
[0473] This system allows users to easily choose meals to eat out while maintaining their individual health goals, and makes it easier to maintain good health by providing suggestions that take into account total daily calories and PFC balance.
[0474] The processing flow will be explained below.
[0475] Step 1:
[0476] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[0477] Step 2:
[0478] Enable GPS to obtain your device's current location, which will determine your real-time location.
[0479] Step 3:
[0480] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[0481] Step 4:
[0482] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[0483] Step 5:
[0484] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0485] Step 6:
[0486] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[0487] Step 7:
[0488] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, it calculates its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[0489] Step 8:
[0490] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[0491] Step 9:
[0492] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[0493] Step 10:
[0494] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[0495] In this way, specific processing is performed at each step, allowing the user to efficiently make healthy meal choices.
[0496] Example 1
[0497] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0498] In today's society, choosing a healthy and balanced diet can be difficult. When eating out, it can be even more challenging to choose the best meal based on your budget, location, and individual health goals. There is a need to solve this problem and make healthy food choices easier for users.
[0499] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0500] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past diet history and health goals, thereby enabling the user to easily select healthy meals based on their current location and budget.
[0501] The "means for acquiring the user's current location information" is a means for identifying the user's current geographical location by utilizing the location information service of the user's terminal.
[0502] The "means for acquiring user budget information" is a means for acquiring the range of expenses that the user can spend on meals that is input in advance by the user.
[0503] The "means for acquiring the user's past dietary history and health goals" refers to a means for acquiring information on the meals the user has eaten in the past from a database and health goals based on that information.
[0504] The "means for obtaining information about restaurants in the vicinity" is a means for obtaining information about restaurants in the vicinity of the user's current location via an external database or API based on the user's current location information.
[0505] The "means for selecting the optimal menu" is a means for selecting the menu that best suits the user's budget and health goals from the acquired restaurant information and menu information.
[0506] "Means for calculating the nutritional balance of a selected menu" refers to means for calculating nutritional information such as calories and PFC balance of a selected menu.
[0507] "Means for adjusting other meals so as to maintain calorie and PFC balance" refers to means for planning and adjusting other meals on a daily or weekly basis so as to maintain the user's total calorie and PFC balance.
[0508] The "means for transmitting the user ID, location information, and budget information to the server" is a means for transmitting the user's identification information, current location information, and budget information from the terminal to the server.
[0509] "Means for obtaining information about nearby restaurants from an external data source" refers to means for obtaining information about restaurants around the user's current location using an external database or API.
[0510] The "means for displaying the optimal menu and adjustment suggestions to the user" is a means for displaying the selected menu and other meal adjustment suggestions on the user's terminal.
[0511] "Means for simulating nutritional balance based on an optimal menu" refers to means for simulating the nutritional intake balance for one day or one week from a selected menu.
[0512] The "means for generating suggestions for maintaining nutritional balance in other meals" refers to a means for generating specific suggestions for the user to maintain nutritional balance in other meals.
[0513] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and supports the user in achieving a balanced diet through other means. The system mainly includes a user terminal and a server.
[0514] When a user requests meal suggestions, the system first obtains current location and budget information from the user's device and sends that information to the server. The server then uses the obtained data to obtain the user's past meal history and health goals from a database.
[0515] The server then uses external APIs (such as the Google Maps API or Yelp API) to collect information about restaurants near the user's current location. It then extracts menu information from the restaurant information and selects the optimal menu based on the user's budget and health goals. It then calculates the nutritional balance (calories, protein, fat, carbohydrates, etc.) of the selected menu and, based on the results, generates recommendations for adjusting other meals to maintain the user's total daily or weekly calorie intake and PFC balance.
[0516] Finally, the server sends the selected menu and adjustment suggestions to the user's device, which then displays them to the user, allowing the user to easily choose a healthy and balanced diet.
[0517] Specific examples
[0518] For example, consider a case where a user requests lunch suggestions in the Shinjuku area and sets a budget of 1,000 yen. When the user makes a request from their device, the device identifies the user's current location and sends it to the server along with their budget information. The server obtains the user's past eating history and health goals, and uses an external API to collect menu information from restaurants near their current location. The server then evaluates the collected menu information and selects, for example, a "chicken salad set meal." The server calculates the nutritional information for the selected menu (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates), and generates a dinner suggestion such as "Choose a low-fat, high-protein menu." Finally, this information is displayed on the user's device.
[0519] Prompt Sentence Examples
[0520] "I'd like some lunch suggestions in the Shinjuku area for under 1000 yen. My health goals are low in fat and high in protein."
[0521] The system helps users make healthy food choices easily and provides specific suggestions for maintaining total calories and PFC balance for the day.
[0522] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0523] Step 1:
[0524] The user requests meal suggestions from the device. The user opens the app and enters their budget and meal request. The device obtains the user's current location information using GPS. The inputs at this time are the user's location data (e.g., latitude and longitude) and budget amount (e.g., 1,000 yen). The device obtains and stores this information.
[0525] Step 2:
[0526] The device sends the user's saved current location information and budget information to the server. The input is data including the user ID, current location information, and budget information. The device packages this data and sends it to the server via an HTTP request. The output is the formatted data received on the server side.
[0527] Step 3:
[0528] The server retrieves the user's past dietary history and health goals from the database. The input is the submitted user ID. The server executes a database query to retrieve the past dietary history and health goals. The output is the retrieved dietary history data and health goal data.
[0529] Step 4:
[0530] The server uses an external API to obtain information about restaurants near the current location. The input is the user's current location. The server makes a request to an external API such as Google Maps API or Yelp API to obtain information about restaurants near the current location. The output is data such as the addresses, names, and ratings of nearby restaurants.
[0531] Step 5:
[0532] The server collects menu information for each restaurant from the restaurant information it has acquired. The input is information about nearby restaurants. The server collects detailed menu information using APIs containing each restaurant's website and menu. The output is detailed menu information for each restaurant (e.g., menu name, price, nutritional information).
[0533] Step 6:
[0534] The server evaluates the collected menu information based on the user's budget and health goals. The inputs are the user's budget, health goals, and menu information for each restaurant. The server filters the menus that can be purchased within the budget and selects the menu that best suits the user's health goals. The output is the selected optimal menu.
[0535] Step 7:
[0536] The server calculates the nutritional balance of the selected menu. The input is the selected menu information. The server calculates nutritional information such as calories, protein, fat, and carbohydrates. The output is the numerical value of each nutritional component.
[0537] Step 8:
[0538] The server simulates the total calories and PFC balance for a day or a week based on the lunch menu suggested by the server. The input is the nutritional information for lunch. The server calculates the user's total calories and PFC balance for a day or a week and performs the simulation. The output is the simulation results.
[0539] Step 9:
[0540] The server generates suggestions for balancing nutrition for dinner and other meals. The input is the simulation results. The server takes into account the current nutritional balance and suggests menus suitable for dinner and other meals. The output is specific meal suggestions.
[0541] Step 10:
[0542] The server sends the selected menu and adjustment suggestions to the device. The input is the optimal menu and adjustment suggestions. The server sends these suggestions to the user's device as an HTTP response. The output is the optimal menu and adjustment suggestions sent to the device.
[0543] Step 11:
[0544] The terminal displays the optimal meal menu and adjustment suggestions to the user. The input is the optimal menu and adjustment suggestions received from the server. The terminal displays this information on the screen and presents it to the user. The output is the menu and suggestions displayed to the user.
[0545] (Application example 1)
[0546] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0547] The main function of conventional restaurant information systems is to suggest optimal restaurants and menus based on the user's current location and budget. However, they do not offer health support such as suggesting balanced meals based on the user's health goals and past eating history, or adjusting the overall balance of daily meals. Furthermore, there are no systems that provide an execution environment for various devices, including smartphones, and efficiently integrate delivery information. These issues need to be resolved.
[0548] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0549] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past meal history and health goals. This makes it possible to select an optimal menu based on the user's health goals from restaurant information and menus, and to provide suggestions for adjusting the balance of the next meal. Furthermore, by including a means for providing an execution environment installed on a smartphone, smart glasses, a head-mounted display, or a robot, healthy meal suggestions can be efficiently made to the user's various devices. Furthermore, by including a means for acquiring restaurant information from an external database or API and providing integrated delivery information, the server expands delivery menu options, making it easier for users to achieve their health goals.
[0550] "User's current location information" is information indicating the user's current location, and is mainly obtained using GPS data.
[0551] "User budget information" is information indicating the amount of money the user plans to spend on meals.
[0552] "User's past meal history" is information that indicates a record of meals that the user has eaten in the past.
[0553] "Health goals" is information that indicates the health status or diet goals that the user wants to achieve.
[0554] "Restaurant information" refers to information about restaurants and their menus located within a specific area.
[0555] "Menu" means a specific list and detailed information about the food and beverages offered at a restaurant.
[0556] "Nutritional balance" refers to the proportion and composition of each nutrient contained in a meal, and is calculated based on health goals.
[0557] "PFC balance" is information that indicates the ratio of protein, fat, and carbohydrates.
[0558] "Food delivery" is a service that delivers food and drinks from restaurants to users.
[0559] A "smartphone" is a mobile phone terminal that has Internet connectivity and can run a variety of applications.
[0560] "Smart glasses" are eyeglass-type electronic devices with information display functions.
[0561] A "head-mounted display" is a display device that provides visual information when worn on the head.
[0562] A "robot" is a mechanical device that can perform a specific action or function autonomously or by remote control.
[0563] An "external database" is an externally accessible collection of data that stores specific information.
[0564] An "API" is an interface for exchanging information between different software applications.
[0565] "Execution environment" refers to the hardware and software configuration required for an application to run.
[0566] This system proposes healthy and balanced meals based on the user's current location and budget, and supports the user in achieving a balanced diet. The system's main components include a user's device, a server, an external database, and an API. This system is particularly targeted at users who use food delivery services.
[0567] Overall system overview
[0568] The server includes the following means:
[0569] 1. How to obtain the user's current location
[0570] 2. How to get user budget information
[0571] 3. A means of capturing a user's past dietary history and health goals
[0572] 4. A method for obtaining information about nearby restaurants based on the user's current location
[0573] 5. A means to select the most suitable menu from the acquired restaurant information and menus based on the user's budget and health goals
[0574] 6. A method for calculating the nutritional balance of the selected menu
[0575] 7. A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis.
[0576] 8. A way to present the user with optimal menus and adjustment suggestions
[0577] 9. Means for providing an execution environment to be installed on a smartphone, smart glasses, head-mounted display, or robot
[0578] Program processing overview
[0579] The user's budget and current location information are acquired from the device and sent to the server. The server then provides the user with optimal meal suggestions and delivery information through the following steps:
[0580] 1. Obtain location and budget information:
[0581] The user uses the device to input their current location and budget information, and the device uses GPS data to determine their current location and sends this information to the server.
[0582] 2. Requesting and retrieving data:
[0583] The server receives the user ID, current location information, and budget information, and retrieves the user's past diet history and health goals from a database.
[0584] 3. Collecting restaurant information:
[0585] The server uses an external API to obtain information about restaurants near the current location. From the obtained restaurant information, the server collects menu information for each restaurant, including menu items available for delivery.
[0586] 4. Menu Evaluation and Selection:
[0587] The server evaluates the collected menu information based on the user's budget and health goals, selects the optimal menu, and calculates its nutritional balance.
[0588] 5. Balance Suggestions:
[0589] The server simulates the total calories and PFC balance for a day or week based on the lunch menu suggestions, and generates specific suggestions for achieving nutritional balance for dinner and subsequent meals.
[0590] 6. Displaying Proposals:
[0591] The selected menu and adjustment suggestions are sent to the terminal and displayed to the user.
[0592] Hardware and software used
[0593] The main hardware used is a smartphone, which uses GPS to obtain current location information. The software is implemented using Python, external APIs, and the Geopy library. The server side uses a database management system to manage past dietary history and health goals.
[0594] Examples and prompts
[0595] For example, if a user is looking for lunch in the Shinjuku area for under 1,000 yen, they open the app and enter their budget. The device then locates their current location and sends it along with their budget information to the server. The server then compares their past eating history with their health goals and uses an external API to collect menu information from nearby restaurants. In this case, a "chicken salad set meal" is selected, and its nutritional balance is calculated. Furthermore, the server generates advice such as "Choose a low-fat, high-protein menu for dinner."
[0596] Example prompt for a generative AI model:
[0597] I'm looking for lunch options in the Shinjuku area that cost under 1,000 yen. I've eaten a lot of high-calorie meals in the past, so I'd appreciate some suggestions for low-calorie, healthy options. I'd also like some advice on how to balance my meals at dinner.
[0598] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0599] Step 1:
[0600] The user opens the app and enters budget information. The budget information set by the user is entered into the device. The device obtains the user's current location information based on the input. Specifically, the device uses the GPS function to identify the current location.
[0601] Step 2:
[0602] The device transmits the acquired current location information and input budget information to the server. Upon receiving this information, the server retrieves the user's past diet history and health goal information from a database. Specifically, the server executes a database query using the user ID to retrieve the relevant data.
[0603] Step 3:
[0604] The server uses an external API to obtain information about nearby restaurants based on the current location. The current location information is sent to the external API as input. Information about nearby restaurants and their menus is returned to the server as output. Specifically, the server sends a request to the API endpoint and obtains the required information from a remote database.
[0605] Step 4:
[0606] The server evaluates the restaurant and menu information it obtains based on the user's budget and health goals. The input includes menu information and the user's health goals. To process the data, the server calculates the calorie and nutrient balance of each menu item and evaluates whether it matches the user's health goals. The output is the selection of the optimal menu item.
[0607] Step 5:
[0608] The system calculates the nutritional balance of the selected menu in detail and generates specific adjustment suggestions for the next meal to maintain the total daily or weekly calorie and PFC balance. The input includes the nutritional information of the selected menu and the daily or weekly health goals. As a data calculation, the server performs a simulation based on this and generates adjustment suggestions. The adjustment suggestions are formulated as the output.
[0609] Step 6:
[0610] The server sends the selected menu and adjustment suggestions to the terminal, which receives them and displays them to the user. The input includes the menu information and adjustment suggestions from the server. As data processing, the terminal formats this into an easy-to-read format and displays it.
[0611] As a concrete example, a user looking for lunch in the Shinjuku area opens the app and enters a budget of 1,000 yen. The device then uses GPS to obtain its current location and sends it to the server. The server then collects restaurant information and menus from an external API and evaluates them based on the user's health goals. As a result, a "chicken salad set meal" is selected and its nutritional balance is calculated. The server then generates advice such as "Choose a low-fat, high-protein menu" as a dinner adjustment suggestion, and sends this information to the device for display.
[0612] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0613] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state, thereby supporting optimal meal selection that takes the user's psychological state into consideration.
[0614] System Overview
[0615] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[0616] Program processing
[0617] Obtaining location and budget information
[0618] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[0619] The device obtains the user's GPS data and determines their current location.
[0620] The device saves the entered budget information (e.g., 1,000 yen).
[0621] Requesting and Retrieving Data
[0622] The terminal transmits the current location information and budget information to the server along with the user ID.
[0623] The server retrieves the user's past diet history and health goal information from a database.
[0624] Gathering restaurant information
[0625] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0626] Recognizing the user's emotional state
[0627] The device recognizes the user's emotional state using an emotion engine that analyzes the user's facial expressions, tone of voice, and input text.
[0628] Menu evaluation and selection
[0629] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[0630] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[0631] Balance Suggestions
[0632] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[0633] The server generates nutritional recommendations for dinner and other meals, such as "Choose a low-fat, high-protein menu for dinner."
[0634] View Suggestions
[0635] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[0636] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[0637] Specific examples
[0638] Consider a case where a user is looking for lunch suggestions and is searching for a meal under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it selects a "chicken salad set meal," which has a relaxing effect, and calculates its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[0639] This system allows users to easily choose meals to eat out while maintaining their individual health goals and psychological state. It also makes it easier to maintain health by providing suggestions that take into account total daily calories and PFC balance.
[0640] The processing flow will be explained below.
[0641] Step 1:
[0642] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[0643] Step 2:
[0644] Enable GPS to obtain your device's current location, which will determine your real-time location.
[0645] Step 3:
[0646] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[0647] Step 4:
[0648] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[0649] Step 5:
[0650] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0651] Step 6:
[0652] The device activates an emotion engine to recognize the user's emotions. The emotion engine analyzes the user's facial expressions, tone of voice, input text, etc. to evaluate their emotional state.
[0653] Step 7:
[0654] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[0655] Step 8:
[0656] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates) is also calculated.
[0657] Step 9:
[0658] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[0659] Step 10:
[0660] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[0661] Step 11:
[0662] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[0663] Step 12:
[0664] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[0665] In this way, by performing specific processing at each step, the system allows the user to efficiently select meals that are healthy and suited to their psychological state.
[0666] Example 2
[0667] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0668] Conventional meal recommendation systems could suggest optimal menus based on a user's current location and budget. However, they were unable to take into account the user's emotional state or health goals, making it difficult to select meals that satisfied psychological aspects and nutritional balance. Furthermore, they did not adequately consider the management of total daily calories and PFC balance, making it difficult to maintain the user's optimal health.
[0669] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location from an external database or API, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for recognizing the user's emotional state and adjusting the suggestions based on the emotional state, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, and means for displaying the optimal menu and adjustment suggestions to the user. This allows the user to receive optimal meal suggestions based on their psychological state and health goals, enabling comprehensive management of their daily nutritional balance.
[0670] "Current location information" refers to the geographic location of a user, typically obtained through GPS or other location acquisition technology.
[0671] "Budget information" is information that indicates the amount of money a user can spend on meals.
[0672] "Diet history" is a record of meals the user has had in the past, and is data including information such as date and time, meal contents, and calorie intake.
[0673] "Health goals" refer to target values set by a user for managing their health and physical condition, and include specific goals such as weight loss, muscle gain, and limiting calorie intake.
[0674] "Restaurant information" is data that includes information such as the location, store name, menu contents, prices, and ratings of a restaurant.
[0675] "External Database or API" means a data source or programmatic interface for obtaining information from another system or service.
[0676] "Menu selection" is the process of selecting the most suitable restaurant menu based on the user's budget and health goals.
[0677] "Nutritional balance calculation" is the process of calculating the balance of nutritional components such as calories, protein, fat, and carbohydrates of a selected menu.
[0678] "Emotional state" refers to the user's current psychological state, including emotions such as stress, joy, and sadness.
[0679] "Adjusting the proposal" is a process for making optimal menu proposals taking into account the user's emotional state.
[0680] "Calorie and PFC Balance" refers to the amount of calories and the percentage of protein, fat, and carbohydrates a user consumes per day.
[0681] "Adjustment suggestions" are suggestions that include specific advice to help users make optimal dietary choices that take into account their health goals and psychological state.
[0682] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. This system helps the user choose the optimal meal while taking their psychological state into consideration.
[0683] System configuration
[0684] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[0685] Hardware and Software
[0686] The following hardware and software are used in this system:
[0687] User terminal: A device such as a smartphone or tablet is used, which has a built-in GPS module.
[0688] Server: A cloud-based server is used to provide the database and data processing functions. Software used includes a database management system such as MySQL and Python scripts.
[0689] Emotion engine: The camera and microphone are used to analyze the emotional state, using IBM Watson and Microsoft Azure Emotion APIs.
[0690] Data processing and calculation
[0691] The terminal acquires the user's current location using GPS and acquires budget information from the user.
[0692] The device sends the current location information and budget information along with the user ID to the server.
[0693] The server retrieves the user's past dietary history and health goals from a database.
[0694] The server calls external APIs (e.g., Google Maps API, Yelp API) based on the current location information to collect information about nearby restaurants.
[0695] The terminal uses an emotion engine to recognize the user's emotional state and transmits the result to the server.
[0696] The server analyzes the restaurant menu information collected and selects a menu that suits the user's budget and health goals.
[0697] The suggested menu is adjusted based on the emotional state recognized by the emotion engine.
[0698] The server generates daily and weekly nutritionally balanced recommendations.
[0699] The terminal displays this information to the user.
[0700] Specific examples
[0701] For example, consider a case where a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[0702] Prompt Sentence Examples
[0703] "If a user is looking for lunch in the Shinjuku area for under 1,000 yen, send their current location and budget information to the server and collect menu information from nearby restaurants. Use an emotion engine to analyze the user's current emotional state, and if they are feeling stressed, suggest a menu item that will have a relaxing effect."
[0704] With the above configuration and processing, this system can provide optimal meal suggestions based on the user's location information, budget, emotional state, and health goals, and simultaneously support the user's health maintenance and psychological satisfaction.
[0705] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0706] Program processing flow
[0707] Step 1:
[0708] The user launches the app and requests meal suggestions. The user then enters their budget.
[0709] Input: User request, budget information (e.g. 1000 yen)
[0710] Output: Confirmation of request, saving of budget information
[0711] Specific behavior: The user taps the meal suggestion button in the app and enters the amount in the budget input field that appears.
[0712] Step 2:
[0713] The device uses the built-in GPS module to obtain the user's current location.
[0714] Input: None (GPS automatically acquires location information)
[0715] Output: Current location information (e.g., latitude 35.6895, longitude 139.6917)
[0716] Specific operation: The device calls the GPS library, measures location information in real time, and records it in a log.
[0717] Step 3:
[0718] The terminal transmits the user ID, current location information, and budget information to the server.
[0719] Input: User ID, current location information, budget information
[0720] Output: Send data to the server
[0721] Specific behavior: The device makes a POST request and sends data to the endpoint / API.
[0722] Step 4:
[0723] The server retrieves the user's past dietary history and health goals from a database.
[0724] Input: User ID
[0725] Output: Past diet history, health goals
[0726] What happens: The server searches the database using an SQL query and extracts the relevant data.
[0727] Step 5:
[0728] The server uses the current location information to collect information about nearby restaurants from an external API.
[0729] Input: Current location information
[0730] Output: Restaurant information (store name, menu, price, rating)
[0731] Specific operation: The server calls an external restaurant API and retrieves information using the required parameters.
[0732] Step 6:
[0733] The device captures the user's facial expressions and voice using a camera and microphone, and analyzes the user's emotional state using an emotion engine.
[0734] Input: User's facial expression data, tone of voice
[0735] Output: Emotional state data (e.g., stress level, feelings of appreciation)
[0736] Specific operation: The device activates the camera and microphone to collect data, sends it to the emotion engine API, and receives the analysis results.
[0737] Step 7:
[0738] The server analyzes the restaurant menu information collected and selects the optimal menu that suits the user's budget and health goals.
[0739] Input: Restaurant information, budget information, health goals
[0740] Output: Optimal menu (e.g. "Chicken salad set meal", price, nutritional information)
[0741] What it does: The server chooses the best menu by filtering the menu information and scoring items that match your budget and health goals.
[0742] Step 8:
[0743] An emotion engine assesses the user's emotional state and adjusts menu suggestions.
[0744] Input: Emotional state data, optimal menu list
[0745] Output: Tailored menu suggestions
[0746] Specific operation: The emotion engine analyzes emotional data and, for example, if stress levels are high, prioritizes suggesting menus with a relaxing effect.
[0747] Step 9:
[0748] Based on the menu selected by the server, adjustment suggestions are generated for one day or one week.
[0749] Input: Optimal menu, past diet history, health goals
[0750] Output: Adjustment suggestion (e.g., "Choose a low-fat, high-protein option for dinner")
[0751] What it does: Uses nutrition calculation software to simulate daily or weekly dietary balances and generate suggested adjustments.
[0752] Step 10:
[0753] The server sends the final proposal as a response to the terminal.
[0754] Input: Tailored menu suggestions, nutritional balance information
[0755] Output: Final proposal
[0756] Specific operation: Parse the generated proposal content in JSON format and send it to the device.
[0757] Step 11:
[0758] The terminal receives the response from the server and displays the proposal to the user.
[0759] Input: Final proposal (JSON data)
[0760] Output: Update the user interface and display the suggestions.
[0761] Specific behavior: The device parses the response, updates the app's UI, and displays it to the user.
[0762] Through these steps, the system provides optimal meal suggestions based on the user's location, budget, emotional state, and health goals, enabling comprehensive nutrition management.
[0763] (Application example 2)
[0764] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0765] Conventional meal recommendation systems take into account the user's location and budget information, but often fail to provide optimal recommendations that reflect the user's emotional state. This can lead to users making incorrect meal choices when they are under stress or anxiety, which can cause problems in maintaining overall health. Furthermore, the lack of dietary recommendations based on total daily calories or PFC balance makes long-term health management difficult.
[0766] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0767] In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, means for recognizing the user's emotional state and adjusting the suggested menu, and means for displaying the optimal menu and suggested adjustments to the user. This enables optimal meal selection and long-term health management that takes the user's psychological state into consideration.
[0768] "User's current location information" is latitude and longitude data for identifying the user's current location.
[0769] "User budget information" is information about the financial constraints that a user can spend on a single meal.
[0770] "User's past dietary history" refers to a record of the contents and nutritional information of meals previously consumed by the user.
[0771] "Health goals" are the health conditions that a user wants to achieve and the diet, exercise, and other goals required for achieving them.
[0772] "Restaurant information" is information such as menus, prices, and ratings of restaurants near the user's current location.
[0773] An "optimal menu" refers to the meal that best fits a user's budget, health goals, and emotional state.
[0774] "Nutritional balance" refers to the amount of each nutrient provided by a particular meal, specifically the amount of calories, protein, fat, and carbohydrates.
[0775] "Calorie and PFC balance" refers to the total amount of calories and the ratio of protein, fat, and carbohydrates over a given period of time.
[0776] A "means for recognizing emotional states" is an algorithm or system that reads emotions from a user's facial expressions, tone of voice, and input text.
[0777] A "means for tailoring recommendations" is an algorithm or system that changes the meal selection based on the user's emotional state.
[0778] A "displaying means" is a display or application interface that visually presents the selected menu and suggestions to the user.
[0779] This invention is a system that suggests healthy and balanced meals based on a user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. The system's main components are a user's terminal, a server, and an emotion engine.
[0780] System Program
[0781] First, when a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then acquires the user's past eating history and health goals, and selects the optimal meal from the menu of nearby restaurants. At this time, an emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with the adjustment suggestions it generates, helping them select the optimal meal.
[0782] Hardware and software used
[0783] Geopy: Software used to obtain location information
[0784] EmotionEngine: Software used to analyze emotional states (specifically, OpenCV and TensorFlow may be used)
[0785] Requests: Software used to communicate with the server
[0786] Program processing overview
[0787] First, the user inputs their current location and budget into the device to request meal suggestions. The device uses GPS data to obtain the user's precise location and sends it along with budget information to the server. The server then retrieves the user's past meal history and health goals from a database based on the user's ID. The server then uses an external API to collect information about restaurants near the user's current location and analyzes the data, including the nutritional information of their menus. Based on the analysis results, the server selects the menu that best suits the user's budget and health goals. Furthermore, an emotion engine evaluates the user's emotional state and, in some cases, reflects menu suggestions that have a relaxing effect.
[0788] Based on the lunch menu suggestions, the server simulates the total calorie and PFC balance for a day or a week, and generates specific recommendations for dinner and other meals. Finally, the device displays these suggestions to the user, providing healthy and psychologically appropriate meal choices.
[0789] Specific examples
[0790] For example, suppose a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a healthy meal that is appropriate for their psychological state.
[0791] Prompt Sentence Examples
[0792] "If a user is in Shinjuku, has a budget of 1,000 yen, and is feeling stressed, what program can suggest a relaxing meal for them? The application would suggest menus from nearby restaurants based on the user's location, budget, and emotional state."
[0793] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0794] Step 1:
[0795] A user requests meal suggestions
[0796] The user operates the device and requests meal suggestions. The input information is the current location (GPS data) and budget information. The device acquires the user's current location information using GPS and saves the input budget information.
[0797] Input: User's current location, budget information
[0798] Output: Current location information, budget information
[0799] Step 2:
[0800] Send the user's current location and budget information to the server
[0801] The device sends the acquired current location information and budget information to the server, along with the user ID.
[0802] Input: Current location, budget information, user ID
[0803] Output: Request data to the server
[0804] Step 3:
[0805] The server retrieves the user's past dietary history and health goals.
[0806] The server uses the received user ID to refer to a database and obtain the user's past dietary history and health goals.
[0807] Input: User ID
[0808] Output: Past diet history, health goals
[0809] Step 4:
[0810] The server obtains information about nearby restaurants using an external API.
[0811] The server uses the user's current location information to call an external API and obtain information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0812] Input: Current location
[0813] Output: Restaurant information (store name, menu, price, rating)
[0814] Step 5:
[0815] Emotion engine recognizes the user's emotional state
[0816] The on-device emotion engine analyzes the user's facial expressions, tone of voice, and input text data to recognize the user's emotional state.
[0817] Input: User's facial expression data, tone of voice, text data
[0818] Output: User's emotional state
[0819] Step 6:
[0820] The server selects and evaluates the most suitable menu
[0821] The server selects the optimal menu based on the acquired restaurant information, the user's budget, health goals, and past eating history, and also calculates the amount of calories, protein, fat, and carbohydrates for each menu item to evaluate the optimal menu for the user.
[0822] Input: Restaurant information, budget information, health goals, past meal history
[0823] Output: Optimal menu and its nutritional information
[0824] Step 7:
[0825] Tailoring suggestions based on the user's emotional state
[0826] The emotion engine recognizes the user's emotional state (e.g., stress) and adjusts the suggested menu as needed. For example, if the user is feeling stressed, it will prioritize menus that have a relaxing effect.
[0827] Input: optimal menu, user emotional state
[0828] Output: Adjusted optimal menu
[0829] Step 8:
[0830] The server simulates the total calories and PFC balance
[0831] Based on the lunch menu suggestions, the server simulates the total calories and PFC balance for a day or week and generates specific suggestions for dinner and other meals.
[0832] Input: Your optimal menu, health goals
[0833] Output: Daily or weekly meal suggestions
[0834] Step 9:
[0835] The device displays adjustment suggestions to the user
[0836] The device receives the adjustment suggestions generated by the server and visually displays them to the user, allowing them to make appropriate meal choices.
[0837] Input: Tailored optimal menus and specific suggestions
[0838] Output: Information displayed to the user
[0839] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0840] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0841] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0842] [Third embodiment]
[0843] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0844] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0845] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0846] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0847] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0848] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0849] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0850] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0851] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0852] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0853] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0854] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0855] This invention is a system that suggests healthy and well-balanced meals based on the user's current location information and budget, and supports the user in achieving balance through other meals.
[0856] System Overview
[0857] The system's main components are a user's device and a server. When a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then selects the optimal meal from the menus of nearby restaurants based on the user's past meal history and health goals, and provides the user with tailored suggestions.
[0858] Program processing
[0859] Obtaining location and budget information
[0860] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[0861] The device obtains the user's GPS data and determines their current location.
[0862] The device saves the entered budget information (e.g., 1,000 yen).
[0863] Requesting and Retrieving Data
[0864] The terminal transmits the current location information and budget information to the server along with the user ID.
[0865] The server retrieves the user's past dietary history and health goals from a database.
[0866] Gathering restaurant information
[0867] The server uses an external API to obtain information about restaurants near the current location.
[0868] Menu information for each restaurant is collected from the restaurant information acquired by the server.
[0869] For example, it provides menu information for ramen shops, cafes, and set meal restaurants in the Shinjuku area.
[0870] Menu evaluation and selection
[0871] The server evaluates the collected menu information based on the user's budget and health goals.
[0872] For example, select a "chicken salad set meal" and calculate its nutritional balance (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[0873] Balance Suggestions
[0874] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[0875] The server generates suggestions for balancing nutrition at dinner or other meals.
[0876] For example, make specific suggestions such as, "Choose a low-fat, high-protein menu for dinner."
[0877] View Suggestions
[0878] The server sends the selected menu and adjustment suggestions to the terminal.
[0879] The device displays the optimal meal menu and adjustment suggestions to the user.
[0880] For example, you can select a "chicken salad set meal" for lunch, and then display a message saying, "For dinner, please choose a low-fat, high-protein menu."
[0881] Specific examples
[0882] Consider a case where a user is looking for lunch suggestions and is looking for meals under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. In this case, for example, a "chicken salad set meal" is selected and its nutritional information is calculated. The server then generates advice for dinner, suggesting a low-fat, high-protein option. Finally, the device displays this information to the user, supporting them in making healthy dietary choices.
[0883] This system allows users to easily choose meals to eat out while maintaining their individual health goals, and makes it easier to maintain good health by providing suggestions that take into account total daily calories and PFC balance.
[0884] The processing flow will be explained below.
[0885] Step 1:
[0886] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[0887] Step 2:
[0888] Enable GPS to obtain your device's current location, which will determine your real-time location.
[0889] Step 3:
[0890] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[0891] Step 4:
[0892] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[0893] Step 5:
[0894] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[0895] Step 6:
[0896] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[0897] Step 7:
[0898] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, it calculates its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[0899] Step 8:
[0900] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[0901] Step 9:
[0902] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[0903] Step 10:
[0904] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[0905] In this way, specific processing is performed at each step, allowing the user to efficiently make healthy meal choices.
[0906] Example 1
[0907] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0908] In today's society, choosing a healthy and balanced diet can be difficult. When eating out, it can be even more challenging to choose the best meal based on your budget, location, and individual health goals. There is a need to solve this problem and make healthy food choices easier for users.
[0909] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0910] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past diet history and health goals, thereby enabling the user to easily select healthy meals based on their current location and budget.
[0911] The "means for acquiring the user's current location information" is a means for identifying the user's current geographical location by utilizing the location information service of the user's terminal.
[0912] The "means for acquiring user budget information" is a means for acquiring the range of expenses that the user can spend on meals that is input in advance by the user.
[0913] The "means for acquiring the user's past dietary history and health goals" refers to a means for acquiring information on the meals the user has eaten in the past from a database and health goals based on that information.
[0914] The "means for obtaining information about restaurants in the vicinity" is a means for obtaining information about restaurants in the vicinity of the user's current location via an external database or API based on the user's current location information.
[0915] The "means for selecting the optimal menu" is a means for selecting the menu that best suits the user's budget and health goals from the acquired restaurant information and menu information.
[0916] "Means for calculating the nutritional balance of a selected menu" refers to means for calculating nutritional information such as calories and PFC balance of a selected menu.
[0917] "Means for adjusting other meals so as to maintain calorie and PFC balance" refers to means for planning and adjusting other meals on a daily or weekly basis so as to maintain the user's total calorie and PFC balance.
[0918] The "means for transmitting the user ID, location information, and budget information to the server" is a means for transmitting the user's identification information, current location information, and budget information from the terminal to the server.
[0919] "Means for obtaining information about nearby restaurants from an external data source" refers to means for obtaining information about restaurants around the user's current location using an external database or API.
[0920] The "means for displaying the optimal menu and adjustment suggestions to the user" is a means for displaying the selected menu and other meal adjustment suggestions on the user's terminal.
[0921] "Means for simulating nutritional balance based on an optimal menu" refers to means for simulating the nutritional intake balance for one day or one week from a selected menu.
[0922] The "means for generating suggestions for maintaining nutritional balance in other meals" refers to a means for generating specific suggestions for the user to maintain nutritional balance in other meals.
[0923] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and supports the user in achieving a balanced diet through other means. The system mainly includes a user terminal and a server.
[0924] When a user requests meal suggestions, the system first obtains current location and budget information from the user's device and sends that information to the server. The server then uses the obtained data to obtain the user's past meal history and health goals from a database.
[0925] The server then uses external APIs (such as the Google Maps API or Yelp API) to collect information about restaurants near the user's current location. It then extracts menu information from the restaurant information and selects the optimal menu based on the user's budget and health goals. It then calculates the nutritional balance (calories, protein, fat, carbohydrates, etc.) of the selected menu and, based on the results, generates recommendations for adjusting other meals to maintain the user's total daily or weekly calorie intake and PFC balance.
[0926] Finally, the server sends the selected menu and adjustment suggestions to the user's device, which then displays them to the user, allowing the user to easily choose a healthy and balanced diet.
[0927] Specific examples
[0928] For example, consider a case where a user requests lunch suggestions in the Shinjuku area and sets a budget of 1,000 yen. When the user makes a request from their device, the device identifies the user's current location and sends it to the server along with their budget information. The server obtains the user's past eating history and health goals, and uses an external API to collect menu information from restaurants near their current location. The server then evaluates the collected menu information and selects, for example, a "chicken salad set meal." The server calculates the nutritional information for the selected menu (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates), and generates a dinner suggestion such as "Choose a low-fat, high-protein menu." Finally, this information is displayed on the user's device.
[0929] Prompt Sentence Examples
[0930] "I'd like some lunch suggestions in the Shinjuku area for under 1000 yen. My health goals are low in fat and high in protein."
[0931] The system helps users make healthy food choices easily and provides specific suggestions for maintaining total calories and PFC balance for the day.
[0932] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0933] Step 1:
[0934] The user requests meal suggestions from the device. The user opens the app and enters their budget and meal request. The device obtains the user's current location information using GPS. The inputs at this time are the user's location data (e.g., latitude and longitude) and budget amount (e.g., 1,000 yen). The device obtains and stores this information.
[0935] Step 2:
[0936] The device sends the user's saved current location information and budget information to the server. The input is data including the user ID, current location information, and budget information. The device packages this data and sends it to the server via an HTTP request. The output is the formatted data received on the server side.
[0937] Step 3:
[0938] The server retrieves the user's past dietary history and health goals from the database. The input is the submitted user ID. The server executes a database query to retrieve the past dietary history and health goals. The output is the retrieved dietary history data and health goal data.
[0939] Step 4:
[0940] The server uses an external API to obtain information about restaurants near the current location. The input is the user's current location. The server makes a request to an external API such as Google Maps API or Yelp API to obtain information about restaurants near the current location. The output is data such as the addresses, names, and ratings of nearby restaurants.
[0941] Step 5:
[0942] The server collects menu information for each restaurant from the restaurant information it has acquired. The input is information about nearby restaurants. The server collects detailed menu information using APIs containing each restaurant's website and menu. The output is detailed menu information for each restaurant (e.g., menu name, price, nutritional information).
[0943] Step 6:
[0944] The server evaluates the collected menu information based on the user's budget and health goals. The inputs are the user's budget, health goals, and menu information for each restaurant. The server filters the menus that can be purchased within the budget and selects the menu that best suits the user's health goals. The output is the selected optimal menu.
[0945] Step 7:
[0946] The server calculates the nutritional balance of the selected menu. The input is the selected menu information. The server calculates nutritional information such as calories, protein, fat, and carbohydrates. The output is the numerical value of each nutritional component.
[0947] Step 8:
[0948] The server simulates the total calories and PFC balance for a day or a week based on the lunch menu suggested by the server. The input is the nutritional information for lunch. The server calculates the user's total calories and PFC balance for a day or a week and performs the simulation. The output is the simulation results.
[0949] Step 9:
[0950] The server generates suggestions for balancing nutrition for dinner and other meals. The input is the simulation results. The server takes into account the current nutritional balance and suggests menus suitable for dinner and other meals. The output is specific meal suggestions.
[0951] Step 10:
[0952] The server sends the selected menu and adjustment suggestions to the device. The input is the optimal menu and adjustment suggestions. The server sends these suggestions to the user's device as an HTTP response. The output is the optimal menu and adjustment suggestions sent to the device.
[0953] Step 11:
[0954] The terminal displays the optimal meal menu and adjustment suggestions to the user. The input is the optimal menu and adjustment suggestions received from the server. The terminal displays this information on the screen and presents it to the user. The output is the menu and suggestions displayed to the user.
[0955] (Application example 1)
[0956] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0957] The main function of conventional restaurant information systems is to suggest optimal restaurants and menus based on the user's current location and budget. However, they do not offer health support such as suggesting balanced meals based on the user's health goals and past eating history, or adjusting the overall balance of daily meals. Furthermore, there are no systems that provide an execution environment for various devices, including smartphones, and efficiently integrate delivery information. These issues need to be resolved.
[0958] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0959] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past meal history and health goals. This makes it possible to select an optimal menu based on the user's health goals from restaurant information and menus, and to provide suggestions for adjusting the balance of the next meal. Furthermore, by including a means for providing an execution environment installed on a smartphone, smart glasses, a head-mounted display, or a robot, healthy meal suggestions can be efficiently made to the user's various devices. Furthermore, by including a means for acquiring restaurant information from an external database or API and providing integrated delivery information, the server expands delivery menu options, making it easier for users to achieve their health goals.
[0960] "User's current location information" is information indicating the user's current location, and is mainly obtained using GPS data.
[0961] "User budget information" is information indicating the amount of money the user plans to spend on meals.
[0962] "User's past meal history" is information that indicates a record of meals that the user has eaten in the past.
[0963] "Health goals" is information that indicates the health status or diet goals that the user wants to achieve.
[0964] "Restaurant information" refers to information about restaurants and their menus located within a specific area.
[0965] "Menu" means a specific list and detailed information about the food and beverages offered at a restaurant.
[0966] "Nutritional balance" refers to the proportion and composition of each nutrient contained in a meal, and is calculated based on health goals.
[0967] "PFC balance" is information that indicates the ratio of protein, fat, and carbohydrates.
[0968] "Food delivery" is a service that delivers food and drinks from restaurants to users.
[0969] A "smartphone" is a mobile phone terminal that has Internet connectivity and can run a variety of applications.
[0970] "Smart glasses" are eyeglass-type electronic devices with information display functions.
[0971] A "head-mounted display" is a display device that provides visual information when worn on the head.
[0972] A "robot" is a mechanical device that can perform a specific action or function autonomously or by remote control.
[0973] An "external database" is an externally accessible collection of data that stores specific information.
[0974] An "API" is an interface for exchanging information between different software applications.
[0975] "Execution environment" refers to the hardware and software configuration required for an application to run.
[0976] This system proposes healthy and balanced meals based on the user's current location and budget, and supports the user in achieving a balanced diet. The system's main components include a user's device, a server, an external database, and an API. This system is particularly targeted at users who use food delivery services.
[0977] Overall system overview
[0978] The server includes the following means:
[0979] 1. How to obtain the user's current location
[0980] 2. How to get user budget information
[0981] 3. A means of capturing a user's past dietary history and health goals
[0982] 4. A method for obtaining information about nearby restaurants based on the user's current location
[0983] 5. A means to select the most suitable menu from the acquired restaurant information and menus based on the user's budget and health goals
[0984] 6. A method for calculating the nutritional balance of the selected menu
[0985] 7. A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis.
[0986] 8. A way to present the user with optimal menus and adjustment suggestions
[0987] 9. Means for providing an execution environment to be installed on a smartphone, smart glasses, head-mounted display, or robot
[0988] Program processing overview
[0989] The user's budget and current location information are acquired from the device and sent to the server. The server then provides the user with optimal meal suggestions and delivery information through the following steps:
[0990] 1. Obtain location and budget information:
[0991] The user uses the device to input their current location and budget information, and the device uses GPS data to determine their current location and sends this information to the server.
[0992] 2. Requesting and retrieving data:
[0993] The server receives the user ID, current location information, and budget information, and retrieves the user's past diet history and health goals from a database.
[0994] 3. Collecting restaurant information:
[0995] The server uses an external API to obtain information about restaurants near the current location. From the obtained restaurant information, the server collects menu information for each restaurant, including menu items available for delivery.
[0996] 4. Menu Evaluation and Selection:
[0997] The server evaluates the collected menu information based on the user's budget and health goals, selects the optimal menu, and calculates its nutritional balance.
[0998] 5. Balance Suggestions:
[0999] The server simulates the total calories and PFC balance for a day or week based on the lunch menu suggestions, and generates specific suggestions for achieving nutritional balance for dinner and subsequent meals.
[1000] 6. Displaying Proposals:
[1001] The selected menu and adjustment suggestions are sent to the terminal and displayed to the user.
[1002] Hardware and software used
[1003] The main hardware used is a smartphone, which uses GPS to obtain current location information. The software is implemented using Python, external APIs, and the Geopy library. The server side uses a database management system to manage past dietary history and health goals.
[1004] Examples and prompts
[1005] For example, if a user is looking for lunch in the Shinjuku area for under 1,000 yen, they open the app and enter their budget. The device then locates their current location and sends it along with their budget information to the server. The server then compares their past eating history with their health goals and uses an external API to collect menu information from nearby restaurants. In this case, a "chicken salad set meal" is selected, and its nutritional balance is calculated. Furthermore, the server generates advice such as "Choose a low-fat, high-protein menu for dinner."
[1006] Example prompt for a generative AI model:
[1007] I'm looking for lunch options in the Shinjuku area that cost under 1,000 yen. I've eaten a lot of high-calorie meals in the past, so I'd appreciate some suggestions for low-calorie, healthy options. I'd also like some advice on how to balance my meals at dinner.
[1008] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1009] Step 1:
[1010] The user opens the app and enters budget information. The budget information set by the user is entered into the device. The device obtains the user's current location information based on the input. Specifically, the device uses the GPS function to identify the current location.
[1011] Step 2:
[1012] The device transmits the acquired current location information and input budget information to the server. Upon receiving this information, the server retrieves the user's past diet history and health goal information from a database. Specifically, the server executes a database query using the user ID to retrieve the relevant data.
[1013] Step 3:
[1014] The server uses an external API to obtain information about nearby restaurants based on the current location. The current location information is sent to the external API as input. Information about nearby restaurants and their menus is returned to the server as output. Specifically, the server sends a request to the API endpoint and obtains the required information from a remote database.
[1015] Step 4:
[1016] The server evaluates the restaurant and menu information it obtains based on the user's budget and health goals. The input includes menu information and the user's health goals. To process the data, the server calculates the calorie and nutrient balance of each menu item and evaluates whether it matches the user's health goals. The output is the selection of the optimal menu item.
[1017] Step 5:
[1018] The system calculates the nutritional balance of the selected menu in detail and generates specific adjustment suggestions for the next meal to maintain the total daily or weekly calorie and PFC balance. The input includes the nutritional information of the selected menu and the daily or weekly health goals. As a data calculation, the server performs a simulation based on this and generates adjustment suggestions. The adjustment suggestions are formulated as the output.
[1019] Step 6:
[1020] The server sends the selected menu and adjustment suggestions to the terminal, which receives them and displays them to the user. The input includes the menu information and adjustment suggestions from the server. As data processing, the terminal formats this into an easy-to-read format and displays it.
[1021] As a concrete example, a user looking for lunch in the Shinjuku area opens the app and enters a budget of 1,000 yen. The device then uses GPS to obtain its current location and sends it to the server. The server then collects restaurant information and menus from an external API and evaluates them based on the user's health goals. As a result, a "chicken salad set meal" is selected and its nutritional balance is calculated. The server then generates advice such as "Choose a low-fat, high-protein menu" as a dinner adjustment suggestion, and sends this information to the device for display.
[1022] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1023] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state, thereby supporting optimal meal selection that takes the user's psychological state into consideration.
[1024] System Overview
[1025] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[1026] Program processing
[1027] Obtaining location and budget information
[1028] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[1029] The device obtains the user's GPS data and determines their current location.
[1030] The device saves the entered budget information (e.g., 1,000 yen).
[1031] Requesting and Retrieving Data
[1032] The terminal transmits the current location information and budget information to the server along with the user ID.
[1033] The server retrieves the user's past diet history and health goal information from a database.
[1034] Gathering restaurant information
[1035] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[1036] Recognizing the user's emotional state
[1037] The device recognizes the user's emotional state using an emotion engine that analyzes the user's facial expressions, tone of voice, and input text.
[1038] Menu evaluation and selection
[1039] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[1040] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[1041] Balance Suggestions
[1042] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[1043] The server generates nutritional recommendations for dinner and other meals, such as "Choose a low-fat, high-protein menu for dinner."
[1044] View Suggestions
[1045] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[1046] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[1047] Specific examples
[1048] Consider a case where a user is looking for lunch suggestions and is searching for a meal under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it selects a "chicken salad set meal," which has a relaxing effect, and calculates its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[1049] This system allows users to easily choose meals to eat out while maintaining their individual health goals and psychological state. It also makes it easier to maintain health by providing suggestions that take into account total daily calories and PFC balance.
[1050] The processing flow will be explained below.
[1051] Step 1:
[1052] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[1053] Step 2:
[1054] Enable GPS to obtain your device's current location, which will determine your real-time location.
[1055] Step 3:
[1056] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[1057] Step 4:
[1058] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[1059] Step 5:
[1060] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[1061] Step 6:
[1062] The device activates an emotion engine to recognize the user's emotions. The emotion engine analyzes the user's facial expressions, tone of voice, input text, etc. to evaluate their emotional state.
[1063] Step 7:
[1064] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[1065] Step 8:
[1066] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates) is also calculated.
[1067] Step 9:
[1068] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[1069] Step 10:
[1070] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[1071] Step 11:
[1072] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[1073] Step 12:
[1074] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[1075] In this way, by performing specific processing at each step, the system allows the user to efficiently select meals that are healthy and suited to their psychological state.
[1076] Example 2
[1077] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1078] Conventional meal recommendation systems could suggest optimal menus based on a user's current location and budget. However, they were unable to take into account the user's emotional state or health goals, making it difficult to select meals that satisfied psychological aspects and nutritional balance. Furthermore, they did not adequately consider the management of total daily calories and PFC balance, making it difficult to maintain the user's optimal health.
[1079] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location from an external database or API, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for recognizing the user's emotional state and adjusting the suggestions based on the emotional state, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, and means for displaying the optimal menu and adjustment suggestions to the user. This allows the user to receive optimal meal suggestions based on their psychological state and health goals, enabling comprehensive management of their daily nutritional balance.
[1080] "Current location information" refers to the geographic location of a user, typically obtained through GPS or other location acquisition technology.
[1081] "Budget information" is information that indicates the amount of money a user can spend on meals.
[1082] "Diet history" is a record of meals the user has had in the past, and is data including information such as date and time, meal contents, and calorie intake.
[1083] "Health goals" refer to target values set by a user for managing their health and physical condition, and include specific goals such as weight loss, muscle gain, and limiting calorie intake.
[1084] "Restaurant information" is data that includes information such as the location, store name, menu contents, prices, and ratings of a restaurant.
[1085] "External Database or API" means a data source or programmatic interface for obtaining information from another system or service.
[1086] "Menu selection" is the process of selecting the most suitable restaurant menu based on the user's budget and health goals.
[1087] "Nutritional balance calculation" is the process of calculating the balance of nutritional components such as calories, protein, fat, and carbohydrates of a selected menu.
[1088] "Emotional state" refers to the user's current psychological state, including emotions such as stress, joy, and sadness.
[1089] "Adjusting the proposal" is a process for making optimal menu proposals taking into account the user's emotional state.
[1090] "Calorie and PFC Balance" refers to the amount of calories and the percentage of protein, fat, and carbohydrates a user consumes per day.
[1091] "Adjustment suggestions" are suggestions that include specific advice to help users make optimal dietary choices that take into account their health goals and psychological state.
[1092] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. This system helps the user choose the optimal meal while taking their psychological state into consideration.
[1093] System configuration
[1094] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[1095] Hardware and Software
[1096] The following hardware and software are used in this system:
[1097] User terminal: A device such as a smartphone or tablet is used, which has a built-in GPS module.
[1098] Server: A cloud-based server is used to provide the database and data processing functions. Software used includes a database management system such as MySQL and Python scripts.
[1099] Emotion engine: The camera and microphone are used to analyze the emotional state, using IBM Watson and Microsoft Azure Emotion APIs.
[1100] Data processing and calculation
[1101] The terminal acquires the user's current location using GPS and acquires budget information from the user.
[1102] The device sends the current location information and budget information along with the user ID to the server.
[1103] The server retrieves the user's past dietary history and health goals from a database.
[1104] The server calls external APIs (e.g., Google Maps API, Yelp API) based on the current location information to collect information about nearby restaurants.
[1105] The terminal uses an emotion engine to recognize the user's emotional state and transmits the result to the server.
[1106] The server analyzes the restaurant menu information collected and selects a menu that suits the user's budget and health goals.
[1107] The suggested menu is adjusted based on the emotional state recognized by the emotion engine.
[1108] The server generates daily and weekly nutritionally balanced recommendations.
[1109] The terminal displays this information to the user.
[1110] Specific examples
[1111] For example, consider a case where a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[1112] Prompt Sentence Examples
[1113] "If a user is looking for lunch in the Shinjuku area for under 1,000 yen, send their current location and budget information to the server and collect menu information from nearby restaurants. Use an emotion engine to analyze the user's current emotional state, and if they are feeling stressed, suggest a menu item that will have a relaxing effect."
[1114] With the above configuration and processing, this system can provide optimal meal suggestions based on the user's location information, budget, emotional state, and health goals, and simultaneously support the user's health maintenance and psychological satisfaction.
[1115] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1116] Program processing flow
[1117] Step 1:
[1118] The user launches the app and requests meal suggestions. The user then enters their budget.
[1119] Input: User request, budget information (e.g. 1000 yen)
[1120] Output: Confirmation of request, saving of budget information
[1121] Specific behavior: The user taps the meal suggestion button in the app and enters the amount in the budget input field that appears.
[1122] Step 2:
[1123] The device uses the built-in GPS module to obtain the user's current location.
[1124] Input: None (GPS automatically acquires location information)
[1125] Output: Current location information (e.g., latitude 35.6895, longitude 139.6917)
[1126] Specific operation: The device calls the GPS library, measures location information in real time, and records it in a log.
[1127] Step 3:
[1128] The terminal transmits the user ID, current location information, and budget information to the server.
[1129] Input: User ID, current location information, budget information
[1130] Output: Send data to the server
[1131] Specific behavior: The device makes a POST request and sends data to the endpoint / API.
[1132] Step 4:
[1133] The server retrieves the user's past dietary history and health goals from a database.
[1134] Input: User ID
[1135] Output: Past diet history, health goals
[1136] What happens: The server searches the database using an SQL query and extracts the relevant data.
[1137] Step 5:
[1138] The server uses the current location information to collect information about nearby restaurants from an external API.
[1139] Input: Current location information
[1140] Output: Restaurant information (store name, menu, price, rating)
[1141] Specific operation: The server calls an external restaurant API and retrieves information using the required parameters.
[1142] Step 6:
[1143] The device captures the user's facial expressions and voice using a camera and microphone, and analyzes the user's emotional state using an emotion engine.
[1144] Input: User's facial expression data, tone of voice
[1145] Output: Emotional state data (e.g., stress level, feelings of appreciation)
[1146] Specific operation: The device activates the camera and microphone to collect data, sends it to the emotion engine API, and receives the analysis results.
[1147] Step 7:
[1148] The server analyzes the restaurant menu information collected and selects the optimal menu that suits the user's budget and health goals.
[1149] Input: Restaurant information, budget information, health goals
[1150] Output: Optimal menu (e.g. "Chicken salad set meal", price, nutritional information)
[1151] What it does: The server chooses the best menu by filtering the menu information and scoring items that match your budget and health goals.
[1152] Step 8:
[1153] An emotion engine assesses the user's emotional state and adjusts menu suggestions.
[1154] Input: Emotional state data, optimal menu list
[1155] Output: Tailored menu suggestions
[1156] Specific operation: The emotion engine analyzes emotional data and, for example, if stress levels are high, prioritizes suggesting menus with a relaxing effect.
[1157] Step 9:
[1158] Based on the menu selected by the server, adjustment suggestions are generated for one day or one week.
[1159] Input: Optimal menu, past diet history, health goals
[1160] Output: Adjustment suggestion (e.g., "Choose a low-fat, high-protein option for dinner")
[1161] What it does: Uses nutrition calculation software to simulate daily or weekly dietary balances and generate suggested adjustments.
[1162] Step 10:
[1163] The server sends the final proposal as a response to the terminal.
[1164] Input: Tailored menu suggestions, nutritional balance information
[1165] Output: Final proposal
[1166] Specific operation: Parse the generated proposal content in JSON format and send it to the device.
[1167] Step 11:
[1168] The terminal receives the response from the server and displays the proposal to the user.
[1169] Input: Final proposal (JSON data)
[1170] Output: Update the user interface and display the suggestions.
[1171] Specific behavior: The device parses the response, updates the app's UI, and displays it to the user.
[1172] Through these steps, the system provides optimal meal suggestions based on the user's location, budget, emotional state, and health goals, enabling comprehensive nutrition management.
[1173] (Application example 2)
[1174] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1175] Conventional meal recommendation systems take into account the user's location and budget information, but often fail to provide optimal recommendations that reflect the user's emotional state. This can lead to users making incorrect meal choices when they are under stress or anxiety, which can cause problems in maintaining overall health. Furthermore, the lack of dietary recommendations based on total daily calories or PFC balance makes long-term health management difficult.
[1176] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1177] In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, means for recognizing the user's emotional state and adjusting the suggested menu, and means for displaying the optimal menu and suggested adjustments to the user. This enables optimal meal selection and long-term health management that takes the user's psychological state into consideration.
[1178] "User's current location information" is latitude and longitude data for identifying the user's current location.
[1179] "User budget information" is information about the financial constraints that a user can spend on a single meal.
[1180] "User's past dietary history" refers to a record of the contents and nutritional information of meals previously consumed by the user.
[1181] "Health goals" are the health conditions that a user wants to achieve and the diet, exercise, and other goals required for achieving them.
[1182] "Restaurant information" is information such as menus, prices, and ratings of restaurants near the user's current location.
[1183] An "optimal menu" refers to the meal that best fits a user's budget, health goals, and emotional state.
[1184] "Nutritional balance" refers to the amount of each nutrient provided by a particular meal, specifically the amount of calories, protein, fat, and carbohydrates.
[1185] "Calorie and PFC balance" refers to the total amount of calories and the ratio of protein, fat, and carbohydrates over a given period of time.
[1186] A "means for recognizing emotional states" is an algorithm or system that reads emotions from a user's facial expressions, tone of voice, and input text.
[1187] A "means for tailoring recommendations" is an algorithm or system that changes the meal selection based on the user's emotional state.
[1188] A "displaying means" is a display or application interface that visually presents the selected menu and suggestions to the user.
[1189] This invention is a system that suggests healthy and balanced meals based on a user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. The system's main components are a user's terminal, a server, and an emotion engine.
[1190] System Program
[1191] First, when a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then acquires the user's past eating history and health goals, and selects the optimal meal from the menu of nearby restaurants. At this time, an emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with the adjustment suggestions it generates, helping them select the optimal meal.
[1192] Hardware and software used
[1193] Geopy: Software used to obtain location information
[1194] EmotionEngine: Software used to analyze emotional states (specifically, OpenCV and TensorFlow may be used)
[1195] Requests: Software used to communicate with the server
[1196] Program processing overview
[1197] First, the user inputs their current location and budget into the device to request meal suggestions. The device uses GPS data to obtain the user's precise location and sends it along with budget information to the server. The server then retrieves the user's past meal history and health goals from a database based on the user's ID. The server then uses an external API to collect information about restaurants near the user's current location and analyzes the data, including the nutritional information of their menus. Based on the analysis results, the server selects the menu that best suits the user's budget and health goals. Furthermore, an emotion engine evaluates the user's emotional state and, in some cases, reflects menu suggestions that have a relaxing effect.
[1198] Based on the lunch menu suggestions, the server simulates the total calorie and PFC balance for a day or a week, and generates specific recommendations for dinner and other meals. Finally, the device displays these suggestions to the user, providing healthy and psychologically appropriate meal choices.
[1199] Specific examples
[1200] For example, suppose a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a healthy meal that is appropriate for their psychological state.
[1201] Prompt Sentence Examples
[1202] "If a user is in Shinjuku, has a budget of 1,000 yen, and is feeling stressed, what program can suggest a relaxing meal for them? The application would suggest menus from nearby restaurants based on the user's location, budget, and emotional state."
[1203] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1204] Step 1:
[1205] A user requests meal suggestions
[1206] The user operates the device and requests meal suggestions. The input information is the current location (GPS data) and budget information. The device acquires the user's current location information using GPS and saves the input budget information.
[1207] Input: User's current location, budget information
[1208] Output: Current location information, budget information
[1209] Step 2:
[1210] Send the user's current location and budget information to the server
[1211] The device sends the acquired current location information and budget information to the server, along with the user ID.
[1212] Input: Current location, budget information, user ID
[1213] Output: Request data to the server
[1214] Step 3:
[1215] The server retrieves the user's past dietary history and health goals.
[1216] The server uses the received user ID to refer to a database and obtain the user's past dietary history and health goals.
[1217] Input: User ID
[1218] Output: Past diet history, health goals
[1219] Step 4:
[1220] The server obtains information about nearby restaurants using an external API.
[1221] The server uses the user's current location information to call an external API and obtain information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[1222] Input: Current location
[1223] Output: Restaurant information (store name, menu, price, rating)
[1224] Step 5:
[1225] Emotion engine recognizes the user's emotional state
[1226] The on-device emotion engine analyzes the user's facial expressions, tone of voice, and input text data to recognize the user's emotional state.
[1227] Input: User's facial expression data, tone of voice, text data
[1228] Output: User's emotional state
[1229] Step 6:
[1230] The server selects and evaluates the most suitable menu
[1231] The server selects the optimal menu based on the acquired restaurant information, the user's budget, health goals, and past eating history, and also calculates the amount of calories, protein, fat, and carbohydrates for each menu item to evaluate the optimal menu for the user.
[1232] Input: Restaurant information, budget information, health goals, past meal history
[1233] Output: Optimal menu and its nutritional information
[1234] Step 7:
[1235] Tailoring suggestions based on the user's emotional state
[1236] The emotion engine recognizes the user's emotional state (e.g., stress) and adjusts the suggested menu as needed. For example, if the user is feeling stressed, it will prioritize menus that have a relaxing effect.
[1237] Input: optimal menu, user emotional state
[1238] Output: Adjusted optimal menu
[1239] Step 8:
[1240] The server simulates the total calories and PFC balance
[1241] Based on the lunch menu suggestions, the server simulates the total calories and PFC balance for a day or week and generates specific suggestions for dinner and other meals.
[1242] Input: Your optimal menu, health goals
[1243] Output: Daily or weekly meal suggestions
[1244] Step 9:
[1245] The device displays adjustment suggestions to the user
[1246] The device receives the adjustment suggestions generated by the server and visually displays them to the user, allowing them to make appropriate meal choices.
[1247] Input: Tailored optimal menus and specific suggestions
[1248] Output: Information displayed to the user
[1249] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1250] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1251] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1252] [Fourth embodiment]
[1253] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1254] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1255] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1256] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1257] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1258] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1259] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1260] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1261] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1262] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1263] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1264] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1265] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1266] This invention is a system that suggests healthy and well-balanced meals based on the user's current location information and budget, and supports the user in achieving balance through other meals.
[1267] System Overview
[1268] The system's main components are a user's device and a server. When a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then selects the optimal meal from the menus of nearby restaurants based on the user's past meal history and health goals, and provides the user with tailored suggestions.
[1269] Program processing
[1270] Obtaining location and budget information
[1271] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[1272] The device obtains the user's GPS data and determines their current location.
[1273] The device saves the entered budget information (e.g., 1,000 yen).
[1274] Requesting and Retrieving Data
[1275] The terminal transmits the current location information and budget information to the server along with the user ID.
[1276] The server retrieves the user's past dietary history and health goals from a database.
[1277] Gathering restaurant information
[1278] The server uses an external API to obtain information about restaurants near the current location.
[1279] Menu information for each restaurant is collected from the restaurant information acquired by the server.
[1280] For example, it provides menu information for ramen shops, cafes, and set meal restaurants in the Shinjuku area.
[1281] Menu evaluation and selection
[1282] The server evaluates the collected menu information based on the user's budget and health goals.
[1283] For example, select a "chicken salad set meal" and calculate its nutritional balance (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[1284] Balance Suggestions
[1285] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[1286] The server generates suggestions for balancing nutrition at dinner or other meals.
[1287] For example, make specific suggestions such as, "Choose a low-fat, high-protein menu for dinner."
[1288] View Suggestions
[1289] The server sends the selected menu and adjustment suggestions to the terminal.
[1290] The device displays the optimal meal menu and adjustment suggestions to the user.
[1291] For example, you can select a "chicken salad set meal" for lunch, and then display a message saying, "For dinner, please choose a low-fat, high-protein menu."
[1292] Specific examples
[1293] Consider a case where a user is looking for lunch suggestions and is looking for meals under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. In this case, for example, a "chicken salad set meal" is selected and its nutritional information is calculated. The server then generates advice for dinner, suggesting a low-fat, high-protein option. Finally, the device displays this information to the user, supporting them in making healthy dietary choices.
[1294] This system allows users to easily choose meals to eat out while maintaining their individual health goals, and makes it easier to maintain good health by providing suggestions that take into account total daily calories and PFC balance.
[1295] The processing flow will be explained below.
[1296] Step 1:
[1297] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[1298] Step 2:
[1299] Enable GPS to obtain your device's current location, which will determine your real-time location.
[1300] Step 3:
[1301] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[1302] Step 4:
[1303] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[1304] Step 5:
[1305] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[1306] Step 6:
[1307] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[1308] Step 7:
[1309] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, it calculates its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates).
[1310] Step 8:
[1311] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[1312] Step 9:
[1313] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[1314] Step 10:
[1315] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[1316] In this way, specific processing is performed at each step, allowing the user to efficiently make healthy meal choices.
[1317] Example 1
[1318] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1319] In today's society, choosing a healthy and balanced diet can be difficult. When eating out, it can be even more challenging to choose the best meal based on your budget, location, and individual health goals. There is a need to solve this problem and make healthy food choices easier for users.
[1320] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1321] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past diet history and health goals, thereby enabling the user to easily select healthy meals based on their current location and budget.
[1322] The "means for acquiring the user's current location information" is a means for identifying the user's current geographical location by utilizing the location information service of the user's terminal.
[1323] The "means for acquiring user budget information" is a means for acquiring the range of expenses that the user can spend on meals that is input in advance by the user.
[1324] The "means for acquiring the user's past dietary history and health goals" refers to a means for acquiring information on the meals the user has eaten in the past from a database and health goals based on that information.
[1325] The "means for obtaining information about restaurants in the vicinity" is a means for obtaining information about restaurants in the vicinity of the user's current location via an external database or API based on the user's current location information.
[1326] The "means for selecting the optimal menu" is a means for selecting the menu that best suits the user's budget and health goals from the acquired restaurant information and menu information.
[1327] "Means for calculating the nutritional balance of a selected menu" refers to means for calculating nutritional information such as calories and PFC balance of a selected menu.
[1328] "Means for adjusting other meals so as to maintain calorie and PFC balance" refers to means for planning and adjusting other meals on a daily or weekly basis so as to maintain the user's total calorie and PFC balance.
[1329] The "means for transmitting the user ID, location information, and budget information to the server" is a means for transmitting the user's identification information, current location information, and budget information from the terminal to the server.
[1330] "Means for obtaining information about nearby restaurants from an external data source" refers to means for obtaining information about restaurants around the user's current location using an external database or API.
[1331] The "means for displaying the optimal menu and adjustment suggestions to the user" is a means for displaying the selected menu and other meal adjustment suggestions on the user's terminal.
[1332] "Means for simulating nutritional balance based on an optimal menu" refers to means for simulating the nutritional intake balance for one day or one week from a selected menu.
[1333] The "means for generating suggestions for maintaining nutritional balance in other meals" refers to a means for generating specific suggestions for the user to maintain nutritional balance in other meals.
[1334] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and supports the user in achieving a balanced diet through other means. The system mainly includes a user terminal and a server.
[1335] When a user requests meal suggestions, the system first obtains current location and budget information from the user's device and sends that information to the server. The server then uses the obtained data to obtain the user's past meal history and health goals from a database.
[1336] The server then uses external APIs (such as the Google Maps API or Yelp API) to collect information about restaurants near the user's current location. It then extracts menu information from the restaurant information and selects the optimal menu based on the user's budget and health goals. It then calculates the nutritional balance (calories, protein, fat, carbohydrates, etc.) of the selected menu and, based on the results, generates recommendations for adjusting other meals to maintain the user's total daily or weekly calorie intake and PFC balance.
[1337] Finally, the server sends the selected menu and adjustment suggestions to the user's device, which then displays them to the user, allowing the user to easily choose a healthy and balanced diet.
[1338] Specific examples
[1339] For example, consider a case where a user requests lunch suggestions in the Shinjuku area and sets a budget of 1,000 yen. When the user makes a request from their device, the device identifies the user's current location and sends it to the server along with their budget information. The server obtains the user's past eating history and health goals, and uses an external API to collect menu information from restaurants near their current location. The server then evaluates the collected menu information and selects, for example, a "chicken salad set meal." The server calculates the nutritional information for the selected menu (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates), and generates a dinner suggestion such as "Choose a low-fat, high-protein menu." Finally, this information is displayed on the user's device.
[1340] Prompt Sentence Examples
[1341] "I'd like some lunch suggestions in the Shinjuku area for under 1000 yen. My health goals are low in fat and high in protein."
[1342] The system helps users make healthy food choices easily and provides specific suggestions for maintaining total calories and PFC balance for the day.
[1343] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1344] Step 1:
[1345] The user requests meal suggestions from the device. The user opens the app and enters their budget and meal request. The device obtains the user's current location information using GPS. The inputs at this time are the user's location data (e.g., latitude and longitude) and budget amount (e.g., 1,000 yen). The device obtains and stores this information.
[1346] Step 2:
[1347] The device sends the user's saved current location information and budget information to the server. The input is data including the user ID, current location information, and budget information. The device packages this data and sends it to the server via an HTTP request. The output is the formatted data received on the server side.
[1348] Step 3:
[1349] The server retrieves the user's past dietary history and health goals from the database. The input is the submitted user ID. The server executes a database query to retrieve the past dietary history and health goals. The output is the retrieved dietary history data and health goal data.
[1350] Step 4:
[1351] The server uses an external API to obtain information about restaurants near the current location. The input is the user's current location. The server makes a request to an external API such as Google Maps API or Yelp API to obtain information about restaurants near the current location. The output is data such as the addresses, names, and ratings of nearby restaurants.
[1352] Step 5:
[1353] The server collects menu information for each restaurant from the restaurant information it has acquired. The input is information about nearby restaurants. The server collects detailed menu information using APIs containing each restaurant's website and menu. The output is detailed menu information for each restaurant (e.g., menu name, price, nutritional information).
[1354] Step 6:
[1355] The server evaluates the collected menu information based on the user's budget and health goals. The inputs are the user's budget, health goals, and menu information for each restaurant. The server filters the menus that can be purchased within the budget and selects the menu that best suits the user's health goals. The output is the selected optimal menu.
[1356] Step 7:
[1357] The server calculates the nutritional balance of the selected menu. The input is the selected menu information. The server calculates nutritional information such as calories, protein, fat, and carbohydrates. The output is the numerical value of each nutritional component.
[1358] Step 8:
[1359] The server simulates the total calories and PFC balance for a day or a week based on the lunch menu suggested by the server. The input is the nutritional information for lunch. The server calculates the user's total calories and PFC balance for a day or a week and performs the simulation. The output is the simulation results.
[1360] Step 9:
[1361] The server generates suggestions for balancing nutrition for dinner and other meals. The input is the simulation results. The server takes into account the current nutritional balance and suggests menus suitable for dinner and other meals. The output is specific meal suggestions.
[1362] Step 10:
[1363] The server sends the selected menu and adjustment suggestions to the device. The input is the optimal menu and adjustment suggestions. The server sends these suggestions to the user's device as an HTTP response. The output is the optimal menu and adjustment suggestions sent to the device.
[1364] Step 11:
[1365] The terminal displays the optimal meal menu and adjustment suggestions to the user. The input is the optimal menu and adjustment suggestions received from the server. The terminal displays this information on the screen and presents it to the user. The output is the menu and suggestions displayed to the user.
[1366] (Application example 1)
[1367] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1368] The main function of conventional restaurant information systems is to suggest optimal restaurants and menus based on the user's current location and budget. However, they do not offer health support such as suggesting balanced meals based on the user's health goals and past eating history, or adjusting the overall balance of daily meals. Furthermore, there are no systems that provide an execution environment for various devices, including smartphones, and efficiently integrate delivery information. These issues need to be resolved.
[1369] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1370] In this invention, the server includes a means for acquiring the user's current location information, a means for acquiring the user's budget information, and a means for acquiring the user's past meal history and health goals. This makes it possible to select an optimal menu based on the user's health goals from restaurant information and menus, and to provide suggestions for adjusting the balance of the next meal. Furthermore, by including a means for providing an execution environment installed on a smartphone, smart glasses, a head-mounted display, or a robot, healthy meal suggestions can be efficiently made to the user's various devices. Furthermore, by including a means for acquiring restaurant information from an external database or API and providing integrated delivery information, the server expands delivery menu options, making it easier for users to achieve their health goals.
[1371] "User's current location information" is information indicating the user's current location, and is mainly obtained using GPS data.
[1372] "User budget information" is information indicating the amount of money the user plans to spend on meals.
[1373] "User's past meal history" is information that indicates a record of meals that the user has eaten in the past.
[1374] "Health goals" is information that indicates the health status or diet goals that the user wants to achieve.
[1375] "Restaurant information" refers to information about restaurants and their menus located within a specific area.
[1376] "Menu" means a specific list and detailed information about the food and beverages offered at a restaurant.
[1377] "Nutritional balance" refers to the proportion and composition of each nutrient contained in a meal, and is calculated based on health goals.
[1378] "PFC balance" is information that indicates the ratio of protein, fat, and carbohydrates.
[1379] "Food delivery" is a service that delivers food and drinks from restaurants to users.
[1380] A "smartphone" is a mobile phone terminal that has Internet connectivity and can run a variety of applications.
[1381] "Smart glasses" are eyeglass-type electronic devices with information display functions.
[1382] A "head-mounted display" is a display device that provides visual information when worn on the head.
[1383] A "robot" is a mechanical device that can perform a specific action or function autonomously or by remote control.
[1384] An "external database" is an externally accessible collection of data that stores specific information.
[1385] An "API" is an interface for exchanging information between different software applications.
[1386] "Execution environment" refers to the hardware and software configuration required for an application to run.
[1387] This system proposes healthy and balanced meals based on the user's current location and budget, and supports the user in achieving a balanced diet. The system's main components include a user's device, a server, an external database, and an API. This system is particularly targeted at users who use food delivery services.
[1388] Overall system overview
[1389] The server includes the following means:
[1390] 1. How to obtain the user's current location
[1391] 2. How to get user budget information
[1392] 3. A means of capturing a user's past dietary history and health goals
[1393] 4. A method for obtaining information about nearby restaurants based on the user's current location
[1394] 5. A means to select the most suitable menu from the acquired restaurant information and menus based on the user's budget and health goals
[1395] 6. A method for calculating the nutritional balance of the selected menu
[1396] 7. A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis.
[1397] 8. A way to present the user with optimal menus and adjustment suggestions
[1398] 9. Means for providing an execution environment to be installed on a smartphone, smart glasses, head-mounted display, or robot
[1399] Program processing overview
[1400] The user's budget and current location information are acquired from the device and sent to the server. The server then provides the user with optimal meal suggestions and delivery information through the following steps:
[1401] 1. Obtain location and budget information:
[1402] The user uses the device to input their current location and budget information, and the device uses GPS data to determine their current location and sends this information to the server.
[1403] 2. Requesting and retrieving data:
[1404] The server receives the user ID, current location information, and budget information, and retrieves the user's past diet history and health goals from a database.
[1405] 3. Collecting restaurant information:
[1406] The server uses an external API to obtain information about restaurants near the current location. From the obtained restaurant information, the server collects menu information for each restaurant, including menu items available for delivery.
[1407] 4. Menu Evaluation and Selection:
[1408] The server evaluates the collected menu information based on the user's budget and health goals, selects the optimal menu, and calculates its nutritional balance.
[1409] 5. Balance Suggestions:
[1410] The server simulates the total calories and PFC balance for a day or week based on the lunch menu suggestions, and generates specific suggestions for achieving nutritional balance for dinner and subsequent meals.
[1411] 6. Displaying Proposals:
[1412] The selected menu and adjustment suggestions are sent to the terminal and displayed to the user.
[1413] Hardware and software used
[1414] The main hardware used is a smartphone, which uses GPS to obtain current location information. The software is implemented using Python, external APIs, and the Geopy library. The server side uses a database management system to manage past dietary history and health goals.
[1415] Examples and prompts
[1416] For example, if a user is looking for lunch in the Shinjuku area for under 1,000 yen, they open the app and enter their budget. The device then locates their current location and sends it along with their budget information to the server. The server then compares their past eating history with their health goals and uses an external API to collect menu information from nearby restaurants. In this case, a "chicken salad set meal" is selected, and its nutritional balance is calculated. Furthermore, the server generates advice such as "Choose a low-fat, high-protein menu for dinner."
[1417] Example prompt for a generative AI model:
[1418] I'm looking for lunch options in the Shinjuku area that cost under 1,000 yen. I've eaten a lot of high-calorie meals in the past, so I'd appreciate some suggestions for low-calorie, healthy options. I'd also like some advice on how to balance my meals at dinner.
[1419] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1420] Step 1:
[1421] The user opens the app and enters budget information. The budget information set by the user is entered into the device. The device obtains the user's current location information based on the input. Specifically, the device uses the GPS function to identify the current location.
[1422] Step 2:
[1423] The device transmits the acquired current location information and input budget information to the server. Upon receiving this information, the server retrieves the user's past diet history and health goal information from a database. Specifically, the server executes a database query using the user ID to retrieve the relevant data.
[1424] Step 3:
[1425] The server uses an external API to obtain information about nearby restaurants based on the current location. The current location information is sent to the external API as input. Information about nearby restaurants and their menus is returned to the server as output. Specifically, the server sends a request to the API endpoint and obtains the required information from a remote database.
[1426] Step 4:
[1427] The server evaluates the restaurant and menu information it obtains based on the user's budget and health goals. The input includes menu information and the user's health goals. To process the data, the server calculates the calorie and nutrient balance of each menu item and evaluates whether it matches the user's health goals. The output is the selection of the optimal menu item.
[1428] Step 5:
[1429] The system calculates the nutritional balance of the selected menu in detail and generates specific adjustment suggestions for the next meal to maintain the total daily or weekly calorie and PFC balance. The input includes the nutritional information of the selected menu and the daily or weekly health goals. As a data calculation, the server performs a simulation based on this and generates adjustment suggestions. The adjustment suggestions are formulated as the output.
[1430] Step 6:
[1431] The server sends the selected menu and adjustment suggestions to the terminal, which receives them and displays them to the user. The input includes the menu information and adjustment suggestions from the server. As data processing, the terminal formats this into an easy-to-read format and displays it.
[1432] As a concrete example, a user looking for lunch in the Shinjuku area opens the app and enters a budget of 1,000 yen. The device then uses GPS to obtain its current location and sends it to the server. The server then collects restaurant information and menus from an external API and evaluates them based on the user's health goals. As a result, a "chicken salad set meal" is selected and its nutritional balance is calculated. The server then generates advice such as "Choose a low-fat, high-protein menu" as a dinner adjustment suggestion, and sends this information to the device for display.
[1433] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1434] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state, thereby supporting optimal meal selection that takes the user's psychological state into consideration.
[1435] System Overview
[1436] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[1437] Program processing
[1438] Obtaining location and budget information
[1439] When a user requests meal suggestions from a terminal, the user inputs current location information and budget information.
[1440] The device obtains the user's GPS data and determines their current location.
[1441] The device saves the entered budget information (e.g., 1,000 yen).
[1442] Requesting and Retrieving Data
[1443] The terminal transmits the current location information and budget information to the server along with the user ID.
[1444] The server retrieves the user's past diet history and health goal information from a database.
[1445] Gathering restaurant information
[1446] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[1447] Recognizing the user's emotional state
[1448] The device recognizes the user's emotional state using an emotion engine that analyzes the user's facial expressions, tone of voice, and input text.
[1449] Menu evaluation and selection
[1450] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[1451] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[1452] Balance Suggestions
[1453] Based on the lunch menu suggested by the server, the total calories and PFC balance for a day or a week are simulated.
[1454] The server generates nutritional recommendations for dinner and other meals, such as "Choose a low-fat, high-protein menu for dinner."
[1455] View Suggestions
[1456] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[1457] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[1458] Specific examples
[1459] Consider a case where a user is looking for lunch suggestions and is searching for a meal under 1,000 yen in the Shinjuku area. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it selects a "chicken salad set meal," which has a relaxing effect, and calculates its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[1460] This system allows users to easily choose meals to eat out while maintaining their individual health goals and psychological state. It also makes it easier to maintain health by providing suggestions that take into account total daily calories and PFC balance.
[1461] The processing flow will be explained below.
[1462] Step 1:
[1463] The user launches the application and requests "meal suggestions." The user enters budget information (e.g., 1000 yen).
[1464] Step 2:
[1465] Enable GPS to obtain your device's current location, which will determine your real-time location.
[1466] Step 3:
[1467] The device sends the entered budget information and the acquired location information to the server, including the user's ID.
[1468] Step 4:
[1469] The server accesses the database to retrieve the user's past diet history and health goal information, including data such as the user's calorie consumption and PFC balance.
[1470] Step 5:
[1471] The server calls an external API based on the user's current location to collect information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[1472] Step 6:
[1473] The device activates an emotion engine to recognize the user's emotions. The emotion engine analyzes the user's facial expressions, tone of voice, input text, etc. to evaluate their emotional state.
[1474] Step 7:
[1475] The server analyzes the collected restaurant menu information and evaluates the menu items that fit the user's budget and health goals, for example, calculating the amount of calories, protein, fat, and carbohydrates for each menu item.
[1476] Step 8:
[1477] The server selects the most suitable menu item based on the evaluation results. For example, if the "chicken salad set meal" is determined to be the best, its nutritional information (600 kcal, 30 g protein, 15 g fat, 50 g carbohydrates) is also calculated.
[1478] Step 9:
[1479] The emotion engine evaluates the user's emotional state and adjusts the suggestions accordingly. For example, if the user is feeling stressed, it will prioritize suggestions that have a relaxing effect.
[1480] Step 10:
[1481] The server simulates the total calories and PFC balance for a day or a week. Based on this simulation, it generates adjustment suggestions for other meals (e.g., dinner). For example, it may suggest, "Choose a low-fat, high-protein menu for dinner."
[1482] Step 11:
[1483] The server generates an optimal menu and adjustment suggestions as a response and sends it to the device. The response includes detailed menu information and suggestions.
[1484] Step 12:
[1485] The device receives the response from the server and displays it to the user. Specifically, it displays the "Chicken Salad Set Meal" and its nutritional information, as well as "Notes about Dinner."
[1486] In this way, by performing specific processing at each step, the system allows the user to efficiently select meals that are healthy and suited to their psychological state.
[1487] Example 2
[1488] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1489] Conventional meal recommendation systems could suggest optimal menus based on a user's current location and budget. However, they were unable to take into account the user's emotional state or health goals, making it difficult to select meals that satisfied psychological aspects and nutritional balance. Furthermore, they did not adequately consider the management of total daily calories and PFC balance, making it difficult to maintain the user's optimal health.
[1490] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location from an external database or API, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for recognizing the user's emotional state and adjusting the suggestions based on the emotional state, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, and means for displaying the optimal menu and adjustment suggestions to the user. This allows the user to receive optimal meal suggestions based on their psychological state and health goals, enabling comprehensive management of their daily nutritional balance.
[1491] "Current location information" refers to the geographic location of a user, typically obtained through GPS or other location acquisition technology.
[1492] "Budget information" is information that indicates the amount of money a user can spend on meals.
[1493] "Diet history" is a record of meals the user has had in the past, and is data including information such as date and time, meal contents, and calorie intake.
[1494] "Health goals" refer to target values set by a user for managing their health and physical condition, and include specific goals such as weight loss, muscle gain, and limiting calorie intake.
[1495] "Restaurant information" is data that includes information such as the location, store name, menu contents, prices, and ratings of a restaurant.
[1496] "External Database or API" means a data source or programmatic interface for obtaining information from another system or service.
[1497] "Menu selection" is the process of selecting the most suitable restaurant menu based on the user's budget and health goals.
[1498] "Nutritional balance calculation" is the process of calculating the balance of nutritional components such as calories, protein, fat, and carbohydrates of a selected menu.
[1499] "Emotional state" refers to the user's current psychological state, including emotions such as stress, joy, and sadness.
[1500] "Adjusting the proposal" is a process for making optimal menu proposals taking into account the user's emotional state.
[1501] "Calorie and PFC Balance" refers to the amount of calories and the percentage of protein, fat, and carbohydrates a user consumes per day.
[1502] "Adjustment suggestions" are suggestions that include specific advice to help users make optimal dietary choices that take into account their health goals and psychological state.
[1503] This invention is a system that suggests healthy and balanced meals based on the user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. This system helps the user choose the optimal meal while taking their psychological state into consideration.
[1504] System configuration
[1505] The system's main components are the user's device, a server, and an emotion engine. When a user requests meal suggestions, the device obtains the user's current location and budget information and sends it to the server. The server obtains the user's past eating history and health goals, and selects the optimal meal from the menus of nearby restaurants. At this time, the emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with adjustment suggestions, helping them choose the optimal meal.
[1506] Hardware and Software
[1507] The following hardware and software are used in this system:
[1508] User terminal: A device such as a smartphone or tablet is used, which has a built-in GPS module.
[1509] Server: A cloud-based server is used to provide the database and data processing functions. Software used includes a database management system such as MySQL and Python scripts.
[1510] Emotion engine: The camera and microphone are used to analyze the emotional state, using IBM Watson and Microsoft Azure Emotion APIs.
[1511] Data processing and calculation
[1512] The terminal acquires the user's current location using GPS and acquires budget information from the user.
[1513] The device sends the current location information and budget information along with the user ID to the server.
[1514] The server retrieves the user's past dietary history and health goals from a database.
[1515] The server calls external APIs (e.g., Google Maps API, Yelp API) based on the current location information to collect information about nearby restaurants.
[1516] The terminal uses an emotion engine to recognize the user's emotional state and transmits the result to the server.
[1517] The server analyzes the restaurant menu information collected and selects a menu that suits the user's budget and health goals.
[1518] The suggested menu is adjusted based on the emotional state recognized by the emotion engine.
[1519] The server generates daily and weekly nutritionally balanced recommendations.
[1520] The terminal displays this information to the user.
[1521] Specific examples
[1522] For example, consider a case where a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a meal that is healthy and suited to their psychological state.
[1523] Prompt Sentence Examples
[1524] "If a user is looking for lunch in the Shinjuku area for under 1,000 yen, send their current location and budget information to the server and collect menu information from nearby restaurants. Use an emotion engine to analyze the user's current emotional state, and if they are feeling stressed, suggest a menu item that will have a relaxing effect."
[1525] With the above configuration and processing, this system can provide optimal meal suggestions based on the user's location information, budget, emotional state, and health goals, and simultaneously support the user's health maintenance and psychological satisfaction.
[1526] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1527] Program processing flow
[1528] Step 1:
[1529] The user launches the app and requests meal suggestions. The user then enters their budget.
[1530] Input: User request, budget information (e.g. 1000 yen)
[1531] Output: Confirmation of request, saving of budget information
[1532] Specific behavior: The user taps the meal suggestion button in the app and enters the amount in the budget input field that appears.
[1533] Step 2:
[1534] The device uses the built-in GPS module to obtain the user's current location.
[1535] Input: None (GPS automatically acquires location information)
[1536] Output: Current location information (e.g., latitude 35.6895, longitude 139.6917)
[1537] Specific operation: The device calls the GPS library, measures location information in real time, and records it in a log.
[1538] Step 3:
[1539] The terminal transmits the user ID, current location information, and budget information to the server.
[1540] Input: User ID, current location information, budget information
[1541] Output: Send data to the server
[1542] Specific behavior: The device makes a POST request and sends data to the endpoint / API.
[1543] Step 4:
[1544] The server retrieves the user's past dietary history and health goals from a database.
[1545] Input: User ID
[1546] Output: Past diet history, health goals
[1547] What happens: The server searches the database using an SQL query and extracts the relevant data.
[1548] Step 5:
[1549] The server uses the current location information to collect information about nearby restaurants from an external API.
[1550] Input: Current location information
[1551] Output: Restaurant information (store name, menu, price, rating)
[1552] Specific operation: The server calls an external restaurant API and retrieves information using the required parameters.
[1553] Step 6:
[1554] The device captures the user's facial expressions and voice using a camera and microphone, and analyzes the user's emotional state using an emotion engine.
[1555] Input: User's facial expression data, tone of voice
[1556] Output: Emotional state data (e.g., stress level, feelings of appreciation)
[1557] Specific operation: The device activates the camera and microphone to collect data, sends it to the emotion engine API, and receives the analysis results.
[1558] Step 7:
[1559] The server analyzes the restaurant menu information collected and selects the optimal menu that suits the user's budget and health goals.
[1560] Input: Restaurant information, budget information, health goals
[1561] Output: Optimal menu (e.g. "Chicken salad set meal", price, nutritional information)
[1562] What it does: The server chooses the best menu by filtering the menu information and scoring items that match your budget and health goals.
[1563] Step 8:
[1564] An emotion engine assesses the user's emotional state and adjusts menu suggestions.
[1565] Input: Emotional state data, optimal menu list
[1566] Output: Tailored menu suggestions
[1567] Specific operation: The emotion engine analyzes emotional data and, for example, if stress levels are high, prioritizes suggesting menus with a relaxing effect.
[1568] Step 9:
[1569] Based on the menu selected by the server, adjustment suggestions are generated for one day or one week.
[1570] Input: Optimal menu, past diet history, health goals
[1571] Output: Adjustment suggestion (e.g., "Choose a low-fat, high-protein option for dinner")
[1572] What it does: Uses nutrition calculation software to simulate daily or weekly dietary balances and generate suggested adjustments.
[1573] Step 10:
[1574] The server sends the final proposal as a response to the terminal.
[1575] Input: Tailored menu suggestions, nutritional balance information
[1576] Output: Final proposal
[1577] Specific operation: Parse the generated proposal content in JSON format and send it to the device.
[1578] Step 11:
[1579] The terminal receives the response from the server and displays the proposal to the user.
[1580] Input: Final proposal (JSON data)
[1581] Output: Update the user interface and display the suggestions.
[1582] Specific behavior: The device parses the response, updates the app's UI, and displays it to the user.
[1583] Through these steps, the system provides optimal meal suggestions based on the user's location, budget, emotional state, and health goals, enabling comprehensive nutrition management.
[1584] (Application example 2)
[1585] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1586] Conventional meal recommendation systems take into account the user's location and budget information, but often fail to provide optimal recommendations that reflect the user's emotional state. This can lead to users making incorrect meal choices when they are under stress or anxiety, which can cause problems in maintaining overall health. Furthermore, the lack of dietary recommendations based on total daily calories or PFC balance makes long-term health management difficult.
[1587] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1588] In this invention, the server includes means for acquiring current location information of the user, means for acquiring budget information of the user, means for acquiring the user's past meal history and health goals, means for acquiring information on nearby restaurants based on the user's current location, means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus, means for calculating the nutritional balance of the selected menu, means for adjusting other meals on a daily or weekly basis to prevent the user's calorie and PFC balance from being disrupted, means for recognizing the user's emotional state and adjusting the suggested menu, and means for displaying the optimal menu and suggested adjustments to the user. This enables optimal meal selection and long-term health management that takes the user's psychological state into consideration.
[1589] "User's current location information" is latitude and longitude data for identifying the user's current location.
[1590] "User budget information" is information about the financial constraints that a user can spend on a single meal.
[1591] "User's past dietary history" refers to a record of the contents and nutritional information of meals previously consumed by the user.
[1592] "Health goals" are the health conditions that a user wants to achieve and the diet, exercise, and other goals required for achieving them.
[1593] "Restaurant information" is information such as menus, prices, and ratings of restaurants near the user's current location.
[1594] An "optimal menu" refers to the meal that best fits a user's budget, health goals, and emotional state.
[1595] "Nutritional balance" refers to the amount of each nutrient provided by a particular meal, specifically the amount of calories, protein, fat, and carbohydrates.
[1596] "Calorie and PFC balance" refers to the total amount of calories and the ratio of protein, fat, and carbohydrates over a given period of time.
[1597] A "means for recognizing emotional states" is an algorithm or system that reads emotions from a user's facial expressions, tone of voice, and input text.
[1598] A "means for tailoring recommendations" is an algorithm or system that changes the meal selection based on the user's emotional state.
[1599] A "displaying means" is a display or application interface that visually presents the selected menu and suggestions to the user.
[1600] This invention is a system that suggests healthy and balanced meals based on a user's current location information and budget, and further adjusts the suggestions by recognizing the user's emotional state. The system's main components are a user's terminal, a server, and an emotion engine.
[1601] System Program
[1602] First, when a user requests meal suggestions, the device acquires the user's current location and budget information and sends them to the server. The server then acquires the user's past eating history and health goals, and selects the optimal meal from the menu of nearby restaurants. At this time, an emotion engine recognizes the user's emotional state and reflects it in the suggestions. The server then provides the user with the adjustment suggestions it generates, helping them select the optimal meal.
[1603] Hardware and software used
[1604] Geopy: Software used to obtain location information
[1605] EmotionEngine: Software used to analyze emotional states (specifically, OpenCV and TensorFlow may be used)
[1606] Requests: Software used to communicate with the server
[1607] Program processing overview
[1608] First, the user inputs their current location and budget into the device to request meal suggestions. The device uses GPS data to obtain the user's precise location and sends it along with budget information to the server. The server then retrieves the user's past meal history and health goals from a database based on the user's ID. The server then uses an external API to collect information about restaurants near the user's current location and analyzes the data, including the nutritional information of their menus. Based on the analysis results, the server selects the menu that best suits the user's budget and health goals. Furthermore, an emotion engine evaluates the user's emotional state and, in some cases, reflects menu suggestions that have a relaxing effect.
[1609] Based on the lunch menu suggestions, the server simulates the total calorie and PFC balance for a day or a week, and generates specific recommendations for dinner and other meals. Finally, the device displays these suggestions to the user, providing healthy and psychologically appropriate meal choices.
[1610] Specific examples
[1611] For example, suppose a user is looking for lunch suggestions and is looking for a meal in the Shinjuku area for under 1,000 yen. When the user opens the app and enters their budget, the device identifies their current location and sends it along with the budget information to the server. The server then checks the user's health goals based on their past meal history. The server then uses an external API to collect menu information from nearby restaurants and evaluates menus that fit the user's budget and health goals. If the emotion engine detects the user's stress, it will select a "chicken salad set meal," which has a relaxing effect, and calculate its nutritional balance. The server then generates a dinner suggestion, suggesting a low-fat, high-protein menu. Finally, the device displays this information to the user, supporting them in choosing a healthy meal that is appropriate for their psychological state.
[1612] Prompt Sentence Examples
[1613] "If a user is in Shinjuku, has a budget of 1,000 yen, and is feeling stressed, what program can suggest a relaxing meal for them? The application would suggest menus from nearby restaurants based on the user's location, budget, and emotional state."
[1614] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1615] Step 1:
[1616] A user requests meal suggestions
[1617] The user operates the device and requests meal suggestions. The input information is the current location (GPS data) and budget information. The device acquires the user's current location information using GPS and saves the input budget information.
[1618] Input: User's current location, budget information
[1619] Output: Current location information, budget information
[1620] Step 2:
[1621] Send the user's current location and budget information to the server
[1622] The device sends the acquired current location information and budget information to the server, along with the user ID.
[1623] Input: Current location, budget information, user ID
[1624] Output: Request data to the server
[1625] Step 3:
[1626] The server retrieves the user's past dietary history and health goals.
[1627] The server uses the received user ID to refer to a database and obtain the user's past dietary history and health goals.
[1628] Input: User ID
[1629] Output: Past diet history, health goals
[1630] Step 4:
[1631] The server obtains information about nearby restaurants using an external API.
[1632] The server uses the user's current location information to call an external API and obtain information about nearby restaurants, including restaurant names, menus, prices, and ratings.
[1633] Input: Current location
[1634] Output: Restaurant information (store name, menu, price, rating)
[1635] Step 5:
[1636] Emotion engine recognizes the user's emotional state
[1637] The on-device emotion engine analyzes the user's facial expressions, tone of voice, and input text data to recognize the user's emotional state.
[1638] Input: User's facial expression data, tone of voice, text data
[1639] Output: User's emotional state
[1640] Step 6:
[1641] The server selects and evaluates the most suitable menu
[1642] The server selects the optimal menu based on the acquired restaurant information, the user's budget, health goals, and past eating history, and also calculates the amount of calories, protein, fat, and carbohydrates for each menu item to evaluate the optimal menu for the user.
[1643] Input: Restaurant information, budget information, health goals, past meal history
[1644] Output: Optimal menu and its nutritional information
[1645] Step 7:
[1646] Tailoring suggestions based on the user's emotional state
[1647] The emotion engine recognizes the user's emotional state (e.g., stress) and adjusts the suggested menu as needed. For example, if the user is feeling stressed, it will prioritize menus that have a relaxing effect.
[1648] Input: optimal menu, user emotional state
[1649] Output: Adjusted optimal menu
[1650] Step 8:
[1651] The server simulates the total calories and PFC balance
[1652] Based on the lunch menu suggestions, the server simulates the total calories and PFC balance for a day or week and generates specific suggestions for dinner and other meals.
[1653] Input: Your optimal menu, health goals
[1654] Output: Daily or weekly meal suggestions
[1655] Step 9:
[1656] The device displays adjustment suggestions to the user
[1657] The device receives the adjustment suggestions generated by the server and visually displays them to the user, allowing them to make appropriate meal choices.
[1658] Input: Tailored optimal menus and specific suggestions
[1659] Output: Information displayed to the user
[1660] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1661] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1662] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1663] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1664] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1665] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1666] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1667] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1668] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1669] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1670] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1671] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1672] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1673] 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.
[1674] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1675] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1676] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1677] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1678] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1679] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1680] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1681] The following is further disclosed regarding the above embodiment.
[1682] (Claim 1)
[1683] A means for acquiring current location information of a user;
[1684] a means for obtaining budget information for a user;
[1685] a means for capturing a user's past dietary history and health goals;
[1686] A means for acquiring information about restaurants in the vicinity based on the user's current location;
[1687] A means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus;
[1688] A means for calculating the nutritional balance of the selected menu;
[1689] A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis;
[1690] means for displaying optimal menus and adjustment suggestions to the user;
[1691] A system including:
[1692] (Claim 2)
[1693] 10. The system of claim 1, further comprising means for evaluating an optimal menu based on a user's dietary history and health goals.
[1694] (Claim 3)
[1695] The system according to claim 1, further comprising means for acquiring restaurant information from an external database or API based on the user's current location.
[1696] "Example 1"
[1697] (Claim 1)
[1698] A means for acquiring current location information of a user;
[1699] a means for obtaining budget information for a user;
[1700] a means for capturing a user's past dietary history and health goals;
[1701] A means for acquiring information about restaurants in the vicinity based on the user's current location;
[1702] A means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus;
[1703] A means for calculating the nutritional balance of the selected menu;
[1704] A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis;
[1705] a means for evaluating the acquired menu information based on the user's budget and health goals;
[1706] means for transmitting a user ID, location information, and budget information to a server;
[1707] means for obtaining the user's past dietary history and health goals from a server;
[1708] A means for obtaining nearby restaurant information from an external data source;
[1709] means for displaying optimal menus and adjustment suggestions to the user;
[1710] A method for simulating nutritional balance based on optimal menus, and
[1711] means for generating nutritional balancing suggestions for other meals;
[1712] A system including:
[1713] (Claim 2)
[1714] 10. The system of claim 1, further comprising means for evaluating an optimal menu based on a user's dietary history and health goals.
[1715] (Claim 3)
[1716] The system according to claim 1, further comprising means for acquiring restaurant information from an external database or API based on the user's current location.
[1717] "Application Example 1"
[1718] (Claim 1)
[1719] A means for acquiring current location information of a user;
[1720] a means for obtaining budget information for a user;
[1721] a means for capturing a user's past dietary history and health goals;
[1722] A means for acquiring information about restaurants in the vicinity based on the user's current location;
[1723] A means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus;
[1724] A means for calculating the nutritional balance of the selected menu;
[1725] A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis;
[1726] means for displaying optimal menus and adjustment suggestions to the user;
[1727] A means for providing an execution environment to be installed on a smartphone, smart glasses, a head-mounted display, or a robot;
[1728] A system including:
[1729] (Claim 2)
[1730] 10. The system of claim 1, further comprising means for evaluating an optimal menu based on a user's dietary history and health goals, and generating recommendations for adjusting the balance of the next meal.
[1731] (Claim 3)
[1732] The system according to claim 1, further comprising means for obtaining restaurant information from an external database or API based on the user's current location, and integrating and providing delivery information.
[1733] "Example 2: Combining Emotion Engines"
[1734] (Claim 1)
[1735] A means for acquiring current location information of a user;
[1736] a means for obtaining budget information for a user;
[1737] a means for capturing a user's past dietary history and health goals;
[1738] A means for acquiring information about restaurants in the vicinity based on the user's current location from an external database or API;
[1739] A means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus;
[1740] A means for calculating the nutritional balance of the selected menu;
[1741] means for recognizing a user's emotional state and tailoring suggestions based on the emotional state;
[1742] A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis;
[1743] means for displaying optimal menus and adjustment suggestions to the user;
[1744] A system including:
[1745] (Claim 2)
[1746] 10. The system of claim 1, further comprising means for evaluating an optimal menu based on a user's dietary history and health goals.
[1747] (Claim 3)
[1748] 10. The system of claim 1, further comprising means for using a camera and a microphone to analyze the user's emotional state.
[1749] "Application example 2 when combining emotion engines"
[1750] (Claim 1)
[1751] A means for acquiring current location information of a user;
[1752] a means for obtaining budget information for a user;
[1753] a means for capturing a user's past dietary history and health goals;
[1754] A means for acquiring information about restaurants in the vicinity based on the user's current location;
[1755] A means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus;
[1756] A means for calculating the nutritional balance of the selected menu;
[1757] A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis;
[1758] means for recognizing a user's emotional state and adjusting the suggestions;
[1759] means for displaying optimal menus and adjustment suggestions to the user;
[1760] A system including:
[1761] (Claim 2)
[1762] 10. The system of claim 1, further comprising: means for evaluating an optimal menu based on the user's dietary history and health goals; and means for evaluating the user's emotional state and possibly adjusting the suggestions.
[1763] (Claim 3)
[1764] The system according to claim 1, further comprising means for acquiring restaurant information from an external database or API based on the user's current location. [Explanation of symbols]
[1765] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for acquiring current location information of a user; a means for obtaining budget information for a user; a means for capturing a user's past dietary history and health goals; A means for acquiring information about restaurants in the vicinity based on the user's current location; A means for selecting an optimal menu based on the user's budget and health goals from the acquired restaurant information and menus; A means for calculating the nutritional balance of the selected menu; A way to adjust other dietary habits to maintain the user's calorie and PFC balance on a daily or weekly basis; means for displaying optimal menus and adjustment suggestions to the user; A system including:
2. 10. The system of claim 1, further comprising means for evaluating an optimal menu based on the user's dietary history and health goals.
3. The system according to claim 1, further comprising means for acquiring restaurant information from an external database or API based on the user's current location.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A