System
The system addresses inefficiencies in shopping by using generative AI to adapt menus to price changes and user emotions, ensuring efficient and economical shopping experiences.
Patent Information
- Application Number
- JP2024115236
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-18
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional shopping systems are inefficient due to fluctuating food prices, causing users to waste time and effort in reconsidering their shopping plans, as they often cannot adapt to price changes and user preferences or emotional states.
A system that collects food data from nearby stores, uses generative AI to automatically generate menus based on user conditions, selects the optimal menu, and provides purchasing details, incorporating emotional data to enhance user experience.
Enables efficient and economical shopping by adapting to price fluctuations and user emotions, reducing waste and stress through optimized meal planning.
Smart Images

Figure 2026014239000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] The present invention relates to a system for realizing efficient shopping amidst rising prices. Conventionally, due to fluctuating food prices, even if users plan their menu in advance and go shopping, the actual prices often rise, forcing them to reconsider their menu while shopping. This causes users to waste a lot of time and effort, making the shopping process inefficient. Technology that solves this problem is needed. [Means for solving the problem]
[0005] The present invention solves the above problem by providing a system that includes a means for collecting food data from multiple nearby stores, a means for using a generation AI to automatically generate multiple menus and their costs based on the collected food data and the user's desired conditions, a means for selecting the optimal menu from the menus generated based on the user's desired conditions, and a means for providing the user with details of the selected menu and where to purchase it.
[0006] "Multiple nearby stores" refers to multiple sales stores located within a certain range from the user's current location or a specified location.
[0007] "Food data" refers to information about the food products sold at each store, including data such as price, inventory, quality, and type.
[0008] "Generative AI" refers to an artificial intelligence model that uses machine learning and natural language processing to automatically generate menus based on collected data.
[0009] "User's desired conditions" refers to the conditions that the user inputs into the system, such as the desired budget, ingredients they want to use, and ingredients they want to avoid.
[0010] A "menu" refers to a plan that includes a list of ingredients needed to prepare a particular meal and cooking instructions.
[0011] "Expenses" refers to the amount required to purchase the necessary ingredients based on the generated menu.
[0012] "Automatic generation" refers to the process by which the system uses artificial intelligence to automatically create a menu based on the user's desired conditions and collected food data.
[0013] The "optimal menu" refers to the menu that best matches the user's desired conditions and is judged to be cost-effective.
[0014] "Purchase location details" refers to information including the name and location of the store where the necessary ingredients can be purchased based on the selected menu, as well as price information for the ingredients. [Brief explanation of the drawings]
[0015] [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
[0016] 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.
[0017] First, the terms used in the following description will be explained.
[0018] 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).
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 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.
[0026] 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).
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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."
[0036] This invention is a system for effective and efficient shopping in an era of rising prices. Below, we will create a program for this system and explain the program's processing in natural language.
[0037] Data collection
[0038] Server: First, food data (price, inventory, quality, etc.) is periodically collected from multiple nearby stores using an API. The collected data is received in JSON format, analyzed, and then stored in a database.
[0039] Entering User Conditions
[0040] Terminal: The user inputs their desired conditions such as budget, specific ingredients, and ingredient exclusion list through the application. These conditions are sent to the server.
[0041] Automatic menu generation
[0042] Server: The server retrieves the latest food data from the database and passes the collected data and the user's desired conditions as input to the generation AI. The generation AI is used to automatically generate different menu patterns. For example, this includes menus using ingredients available at the same store, and menus that combine ingredients from multiple stores. For each pattern, several menu variations and their costs are calculated.
[0043] Selection of the optimal menu
[0044] Server: Compares the generated menus and their costs with the user's requirements and selects the best menu that best meets the user's requirements. For example, this selection will target menus that are within the budget, contain specific ingredients, and are not on an exclusion list.
[0045] Providing results
[0046] Server: Provides the user with the optimal menu selected for them, its details, and information on where to buy ingredients, such as which store is most efficient. This allows the user to shop according to the optimal menu they have decided in advance.
[0047] Specific examples
[0048] For example, consider the case where a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions." These conditions are sent to the server.
[0049] The server provides the AI with the latest food data, which then generates a menu like this:
[0050] 1. Store A only: Stir-fried carrots - 1,500 yen
[0051] 2. Store B only: Carrot and pork stew - 1,800 yen
[0052] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[0053] The server evaluates these menus based on the user's desired criteria, selects the most suitable menu (e.g., boiled carrots and pork), and provides the user with information detailing where to purchase it (e.g., buy carrots from store A and pork from store B).
[0054] This allows users to purchase ingredients efficiently and economically, eliminating waste. The system makes it easy to find the perfect meal plan while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[0055] The processing flow will be explained below.
[0056] Step 1:
[0057] The server uses an API to obtain food data from multiple nearby stores, including price, inventory, and quality. The server receives this data in JSON format, analyzes it, and stores it in a database.
[0058] Step 2:
[0059] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. The input conditions are sent from the terminal to the server.
[0060] Step 3:
[0061] The server retrieves the latest food data from the database, including all collected price, availability, quality, etc. data.
[0062] Step 4:
[0063] The server sends food data and the user's desired conditions to the generation AI, which then automatically generates multiple menu options based on this data. For example, this could include a menu using ingredients available at the same restaurant or a menu combining ingredients from multiple restaurants.
[0064] Step 5:
[0065] The server compiles the multiple menus and their respective costs received from the generation AI and evaluates whether each menu meets the user's desired criteria. This evaluation includes whether it is within the budget, whether it includes specific ingredients, whether it includes ingredients that the user wants to exclude, etc.
[0066] Step 6:
[0067] The server selects the menu that best meets the user's requirements, such as the menu that is the cheapest within the user's budget and includes the desired ingredients.
[0068] Step 7:
[0069] The server then sends the user the selected optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[0070] Step 8:
[0071] At the terminal, the user confirms the information provided, which allows them to shop efficiently and economically.
[0072] This allows the entire process to proceed smoothly, allowing users to shop based on the optimal menu without waste.
[0073] Example 1
[0074] 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."
[0075] In an era of rising prices, it is becoming increasingly difficult for consumers to shop effectively and efficiently. In particular, there is a lack of means to purchase necessary ingredients within a limited budget and avoid waste. Furthermore, efficiently collecting and analyzing food data from multiple stores and generating menus based on the user's preferences is a technical challenge. Furthermore, selecting the optimal items from the generated menus and providing the user with information on which stores to actually purchase them from is also difficult. To solve these challenges, an efficient and effective shopping support system is required.
[0076] 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.
[0077] In this invention, the server includes means for collecting food data from multiple nearby locations, means for analyzing the collected food data and saving it in a database, means for transmitting the budget, specific ingredients, and ingredients to be excluded input by the user to the server, means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, means for comparing the generated multiple menus and their costs with the user's desired conditions and selecting the optimal menu, and means for providing the user with details of the selected menu and where to purchase it, thereby enabling the user to efficiently and effectively make optimal shopping purchases.
[0078] "Food data" is data that includes information such as price, inventory, and quality.
[0079] "Analysis" is the process of organizing collected information so that it can be stored or displayed in a particular format.
[0080] A "database" is an electronic storage system for the effective management and retrieval of organized information.
[0081] "Generative AI" is an artificial intelligence model that automatically generates new information (in this case, a menu) based on specific input data, for example, using a natural language processing model.
[0082] "User's desired conditions" are conditions such as a budget entered by the user, ingredients that the user wants to use, and ingredients that the user wants to exclude.
[0083] "Automatic generation" is the process of mechanically creating required information based on specific input data using specific algorithms or models.
[0084] "Selection" is the process of choosing the best option from multiple options.
[0085] "Details of purchase location" is information indicating which product should be purchased at which location.
[0086] A "menu" is a specific cooking plan or menu.
[0087] The present invention is a system for enabling consumers to shop efficiently and effectively in an era of rising prices. An embodiment of this system will be described in detail below.
[0088] Data collection
[0089] server:
[0090] The server collects food data from multiple nearby locations. This collection is done using APIs, such as the Yelp API or Google Places API, which periodically retrieve data such as price, stock, and quality. The server receives this data in JSON format and parses it using a dedicated parser. The parsed data is then stored in a database (e.g., PostgreSQL).
[0091] Entering User Conditions
[0092] Device:
[0093] Users input their desired conditions through a smartphone or PC application (for example, an application using "React Native"), such as budget, specific ingredients, excluded ingredients, etc., in a form format, and a "Submit" button is provided to send the information to the server.
[0094] Automatic menu generation
[0095] server:
[0096] The server retrieves the latest food data from the database, then generates a prompt that includes the collected data and the user's desired conditions, and passes this prompt to a generative AI model (e.g., GPT-4). The generative AI then automatically generates multiple menus and their costs based on the input data.
[0097] example:
[0098] User conditions:
[0099] Budget: Under 2000 yen
[0100] Ingredients used: Carrots
[0101] Ingredients to exclude: onion
[0102] Latest Food Data:
[0103] Store A: Carrots 100 yen, pork 400 yen, chicken 300 yen, stir-fry ingredients 200 yen
[0104] Store B: Carrots 150 yen, pork 380 yen, chicken 320 yen, simmered ingredients 250 yen
[0105] Based on this information, please generate a menu that meets the above conditions.
[0106] Selection of the optimal menu
[0107] server:
[0108] After the generative AI model generates multiple meal plans and their costs, the server compares these plans with the user's desired criteria and selects the best plan that fits the user's budget and includes specific ingredients but does not exclude any excluded ingredients. This selection process uses an efficient algorithm.
[0109] Providing results
[0110] server:
[0111] After the optimal menu is selected, the server generates details and information on where to purchase each ingredient most efficiently. This information is compiled in HTML or JSON format and sent to the user's device. The user can then check these details on the application and shop efficiently.
[0112] The system allows users to find the best meal plan within their budget based on current market prices and availability, and also allows for price comparisons between stores and efficient shopping plans, resulting in less wasteful shopping.
[0113] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0114] Step 1: Data collection
[0115] server:
[0116] Input: API requests from multiple nearby locations
[0117] Specific behavior:
[0118] The server periodically calls the API and retrieves food data such as price, stock, and quality in JSON format.
[0119] For example, sending an HTTP request to an API endpoint and receiving a response.
[0120] Data processing:
[0121] The received JSON data is analyzed using a dedicated parser to extract the necessary items (price, inventory, quality).
[0122] Output: Save the parsed food data in a database.
[0123] Step 2: Entering User Conditions
[0124] Device:
[0125] Input: budget, specific ingredients, excluded ingredients, and other desired conditions
[0126] Specific behavior:
[0127] The user enters their desired requirements into the application's input form.
[0128] Tapping the "Send" button will send the conditions to the server.
[0129] Data processing:
[0130] The entered desired conditions are packaged in JSON format.
[0131] Output: The user's preferences are sent to the server.
[0132] Step 3: Data Acquisition and Prompt Generation
[0133] server:
[0134] Input: User's desired conditions and the latest food data from the database
[0135] Specific behavior:
[0136] The server retrieves food data from the database.
[0137] Prompts are generated based on the user's desired conditions and the acquired food data.
[0138] Data processing:
[0139] Integrate desired criteria and food data to create text prompts.
[0140] Output: Pass the generated prompt to the generative AI model.
[0141] Step 4: Automatic menu generation
[0142] server:
[0143] Input: Generated prompt
[0144] Specific behavior:
[0145] The server inputs prompts into the AI model (e.g., "GPT-4").
[0146] AI generates multiple menus and their costs.
[0147] Data processing:
[0148] Generative AI automatically generates multiple menu plans and their costs based on prompts.
[0149] Output: The generated menu items and their costs are returned to the server.
[0150] Step 5: Choose the best menu
[0151] server:
[0152] Input: Generated multiple menus and their costs, user's desired conditions
[0153] Specific behavior:
[0154] The server matches the generated menu and costs with the user's requirements.
[0155] To select the optimal menu, evaluations are conducted based on cost and desired conditions.
[0156] Data processing:
[0157] The optimal menu is selected from the comparison results.
[0158] Output: Selected optimal menu and related data.
[0159] Step 6: Delivering results
[0160] server:
[0161] Input: Selected optimal menu and its details
[0162] Specific behavior:
[0163] The server creates the selected menu details (which ingredients to purchase at which locations).
[0164] Construct these details in HTML or JSON format.
[0165] Output: The generated detailed information is delivered to the user's device.
[0166] Through this process, users can efficiently and effectively find out the optimal menu and where to purchase, resulting in less wasteful shopping.
[0167] (Application example 1)
[0168] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0169] Rising prices have made it difficult to shop efficiently and economically. In particular, selecting the optimal menu based on the user's desired conditions while taking into account price and inventory information from multiple stores is time-consuming. Furthermore, there is insufficient information provided to enable efficient shopping at physical stores based on the selected menu.
[0170] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0171] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, and a means for generating the most cost-effective menu by combining different stores based on the day's special offers and store inventory status, allowing users to obtain the information they need to shop efficiently and economically without hassle.
[0172] "Multiple nearby stores" refers to multiple retail stores and supermarkets within an accessible range from the user's place of residence or current location.
[0173] "Food data" refers to information such as food prices, inventory, and quality collected from stores.
[0174] "Generative AI" is an artificial intelligence technology that generates new information and results based on input data and conditions.
[0175] The "user's desired conditions" are conditions that the user indicates such as budget, specific ingredients, and ingredients that the user wants to exclude.
[0176] "Inter-store combination" is the process of selecting the necessary ingredients from multiple stores to create the most cost-effective menu.
[0177] The "optimal menu" is a combination of meals that best meets the user's desired conditions and can be provided within their budget.
[0178] "Purchase location details" is information such as the name and address of the store where the user purchases the specified ingredients.
[0179] A "shopping list" is a list of the food items and quantities that a user needs to purchase at a physical store.
[0180] A "mobile device" is a portable electronic device, such as a smartphone, that is capable of connecting to the Internet.
[0181] This invention is a system for supporting users in shopping efficiently and economically in the face of rising prices. This system includes the following programs and processing steps.
[0182] System configuration
[0183] The system includes the following main modules:
[0184] Store information collection module: Collects food data (price, inventory, quality) from multiple nearby stores using APIs.
[0185] User input module: The user inputs desired conditions such as budget, specific ingredients, and ingredients to exclude.
[0186] Database: Stores collected store information and user input information.
[0187] Generative AI module: Automatically generates different menu patterns using collected data and the user's desired conditions.
[0188] Menu selection module: Select the best menu from multiple options.
[0189] Results module: Provides users with optimal meal plans and details on where to buy, and displays a shopping list for the physical store on their mobile device.
[0190] Hardware and software used
[0191] Server: Data collection, analysis, storage, and execution of the AI generation are performed on the server. A typical technology is to use a library or framework (e.g., Flask) for handling JSON format data.
[0192] Mobile devices: Users can use the system on mobile electronic devices such as smartphones to easily access, input, and confirm data.
[0193] Generative AI: Generative AI models are used to generate optimal menus based on user criteria. Examples include various machine learning libraries (e.g., TensorFlow).
[0194] Prompt Sentence Examples
[0195] For example, if a user enters the criteria "budget under 2000 yen, use carrots, exclude onions," the prompt text would be:
[0196] "Budget is under 2000 yen, use carrots, exclude onions"
[0197] By inputting the data collected based on these conditions and the user's desired conditions into the AI generator, the following menu is generated:
[0198] 1. Store A only: Stir-fried carrots - 1,500 yen
[0199] 2. Store B only: Carrot and pork stew - 1,800 yen
[0200] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[0201] The system then selects the most suitable menu from these and provides it to the user. For example, by selecting "braised carrots and pork" and providing details of where to purchase it, the user can shop efficiently and economically. This system makes it easy to find the best menu while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[0202] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0203] Step 1:
[0204] Food data (price, stock, quality) is collected from multiple nearby stores using API. This process is handled by the server. The API URL of each store is used as input, and the resulting food data is received in JSON format as output. The server analyzes the received data and stores it in a database.
[0205] Step 2:
[0206] The user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. through the application terminal. This process is handled by the terminal. The conditions manually entered by the user are used as input, and the conditions are sent as output to the server, where they are processed.
[0207] Step 3:
[0208] The server retrieves the latest food data from the database and passes it to the generation AI along with the user's desired conditions. This process is handled by the server. The food data in the database and the user's conditions are used as input, and the generation AI generates multiple menus and their costs as output.
[0209] Step 4:
[0210] The server compares the multiple menus and their costs obtained from the generation AI with the user's desired conditions and selects the optimal menu. This process is handled by the server. The generated menu information is used as input, and the optimal menu and its detailed information are obtained as output.
[0211] Step 5:
[0212] The server sends the details of the best meal plan and where to buy it to the terminal and provides it to the user. This process is performed by the server and the terminal in cooperation. The best meal plan information is used as input, and the information is displayed on the user's terminal as output.
[0213] Step 6:
[0214] The user goes to the physical store and buys food based on the shopping list displayed on the device. This process is handled by the user. The shopping list displayed on the device is used as input, and the actual purchased food is obtained as output.
[0215] 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.
[0216] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that recognizes the user's emotions and adjusts menus based on those emotions. Below, we will create a program for this system and explain the program's processing in natural language.
[0217] Data collection
[0218] The server periodically obtains food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[0219] Entering User Conditions
[0220] On the device, users input their desired criteria, such as budget, specific ingredients, ingredients they want to exclude, etc. This data is sent to the server in real time.
[0221] Introducing the Emotion Engine
[0222] The emotion engine analyzes the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether they are relaxed or stressed. The analyzed emotional data is sent to the server.
[0223] Automatic menu generation
[0224] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to cook and relaxing.
[0225] Selection of the optimal menu
[0226] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0227] Providing results
[0228] The server then sends the user the optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[0229] Specific examples
[0230] For example, if a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server.
[0231] The server provides the AI with the latest food data, which then generates the following menu:
[0232] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[0233] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[0234] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[0235] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and simultaneously provides detailed information on purchasing carrots at store A and pork at store B.
[0236] This allows users to shop efficiently and based on the optimal menu according to their emotional state, enabling them to purchase economically while reducing stress. The system responds to fluctuations in food prices and provides flexible menu adjustments according to the user's emotions, greatly streamlining the shopping process.
[0237] The processing flow will be explained below.
[0238] Step 1:
[0239] The server periodically retrieves food data from multiple nearby stores via API. This food data includes information on price, stock, and quality. The data is received in JSON format, parsed, and stored in a database.
[0240] Step 2:
[0241] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. This input information is immediately sent to the server when the send button is pressed.
[0242] Step 3:
[0243] The server receives the user's input conditions and retrieves the latest food data from the database.
[0244] Step 4:
[0245] The emotion engine analyzes the user's emotional state in real time. It uses technologies such as facial recognition, voice tone analysis, and text analysis to determine the user's current emotion. This emotion data is also sent to the server.
[0246] Step 5:
[0247] The server passes the emotion data from the emotion engine, along with the user's input conditions and food data, to the generation AI. The generation AI then automatically generates multiple menus based on this data. For example, if the user is feeling stressed, it will prioritize creating menus that are easy to prepare and have a soothing effect.
[0248] Step 6:
[0249] The server compiles the multiple menu options and their costs returned by the AI generator. It evaluates whether each option meets the user's desired criteria and selects the most suitable option. This evaluation includes whether the option fits within the user's budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0250] Step 7:
[0251] The server generates detailed information about the optimal meal plan and where to purchase it, including specific instructions on which stores to purchase which ingredients most efficiently.
[0252] Step 8:
[0253] The server sends this information to the user, who then uses their device to check the optimal menu and its purchasing information.
[0254] Step 9:
[0255] Using the information provided on the device, users can shop efficiently and economically, reducing stress and enabling them to create the perfect meal plan.
[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 shopping support systems often provide menus based solely on the user's preferences, without taking into account the user's emotional state. This has led to problems such as being unable to suggest menus that help users relax in today's busy and stressful society. Another issue is that these systems are unable to flexibly respond to fluctuations in food prices, making economical shopping difficult.
[0259] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0260] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions and emotional data using a generation AI, a means for selecting an optimal menu from the menus generated based on the user's desired conditions and emotional data, and a means for providing the user with details of the selected menu and its purchasing location. This allows for optimal menu suggestions based on the user's emotional state, enabling efficient and relaxing shopping even in busy lives. It also enables economical shopping based on the latest food data.
[0261] "Food data" is data that includes information such as price, inventory, and quality collected from multiple nearby stores.
[0262] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus and their costs based on collected food data and the user's desired conditions and emotional data.
[0263] "User's desired conditions" include conditions such as the budget the user considers when shopping, specific ingredients, and ingredients the user wants to exclude.
[0264] "Emotional data" refers to data about a user's emotional state that is analyzed from the user's voice, text, facial expressions, etc.
[0265] The "optimal menu" is the menu that best meets the evaluation criteria from among multiple menus automatically generated by the generation AI based on the user's desired conditions and emotional data.
[0266] "Purchase details" is specific information about a particular store or sales location where ingredients for the selected optimal menu can be purchased.
[0267] The term "means" refers to a method, device, system, etc. for performing a specific function or process.
[0268] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that has the function of recognizing the user's emotions and adjusting menus based on them.
[0269] Specific forms of data collection
[0270] The server periodically obtains food data from multiple nearby stores via API. This food data includes information such as price, stock availability, and quality. The server receives this data in JSON format, analyzes it, and then stores it in a database. Specifically, the server uses Python to send API requests, analyzes the responses, and stores them in an SQL database.
[0271] Specific form of user condition input
[0272] Users access a dedicated application using a device such as a smartphone or PC. The application has an input form where users can specify desired conditions such as budget, specific ingredients, and ingredients to exclude. These desired conditions are immediately sent to the server. Consider an example where a user enters the conditions "budget under 2000 yen, use carrots, and exclude onions." This input data is sent to the server via an HTTP POST request.
[0273] Specific form of emotional engine implementation
[0274] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this input data to determine the user's emotional state. For example, if the user's voice is high-pitched or their face is grim, it is interpreted as indicating stress. This data is sent to a server, where the Google Speech-to-Text API is used for voice analysis and the Facial Emotion Recognition SDK is used for facial expression analysis.
[0275] Specific form of automatic menu generation
[0276] The server retrieves the latest food data collected from the database and sends it to the generative AI model along with the user's input conditions and emotional data. The generative AI model generates multiple menus based on this data. Specifically, the generative AI model uses GPT-4, and generates menus such as "stir-fried carrots," "braised carrots and pork," and "carrot salad and grilled chicken" based on the user's conditions and emotional data.
[0277] Specific form of optimal menu selection
[0278] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's desired conditions and emotional state. For example, "braised carrots and pork" is selected because it is easy to prepare and reduces stress. Selection includes evaluation criteria such as whether the product's price is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0279] Specific form of providing results
[0280] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. For example, specific instructions such as "Purchase carrots from store A and pork from store B" are provided. This allows the user to efficiently select the optimal menu according to their emotional state.
[0281] Examples of prompt statements
[0282] Here is an example of a specific prompt sentence to input into the generative AI model.
[0283] Generate the best meal plan based on the user's preferences and emotional state.
[0284] Budget: Under 2,000 yen
[0285] Ingredients: Carrots
[0286] Excluded ingredients: onions
[0287] Emotional state: Feeling stressed
[0288] By inputting this prompt into the model, the optimal menu is generated based on the user's conditions and emotional state.
[0289] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0290] Step 1: Data collection
[0291] The server retrieves food data from multiple nearby stores via API. The server sends API requests periodically every day and receives information such as price, stock, and quality in JSON format. The received data is analyzed using a Python script and then stored in an SQL database. Specifically, the server sends the following API requests and analyzes the responses:
[0292] Input: API request
[0293] Output: Parsed food data (price, availability, quality)
[0294] Step 2: Entering User Conditions
[0295] Users access a dedicated application from their smartphone or PC and enter desired conditions such as budget, specific ingredients, and ingredients to exclude. By entering specific conditions through an input form, an HTTP POST request is sent to the server. For example, conditions such as "budget under 2,000 yen, use carrots, exclude onions" can be entered.
[0296] Input: User's desired conditions (budget, specific ingredients, excluded ingredients)
[0297] Output: HTTP POST request to the server
[0298] Step 3: Obtaining emotion data
[0299] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this data to determine the user's emotional state. For example, the Google Speech-to-Text API is used to analyze voice data, and facial expressions are analyzed using facial recognition software. The analysis results are then sent to a server.
[0300] Input: Voice data, facial expression data
[0301] Output: Parsed emotion data
[0302] Step 4: Automatic menu generation
[0303] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generative AI model. The generative AI model (GPT-4) automatically generates multiple menus based on this data. Specifically, it sends the following prompt to the AI model:
[0304] Input: Food data, user preferences, emotional data
[0305] Output: Multiple menu suggestions and their costs
[0306] Step 5: Choose the best menu
[0307] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's preferences and emotional state. This process includes multiple evaluation criteria, such as whether the menu fits within the user's budget, whether it uses specified ingredients, and whether it is easy to prepare.
[0308] Input: Multiple menus provided by a generative AI model
[0309] Output: Selection of optimal menu
[0310] Step 6: Delivering results
[0311] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. Specific purchasing instructions are included, allowing the user to shop efficiently. For example, specific instructions such as "purchase carrots from store A and pork from store B" are provided.
[0312] Input: Information on the best menu and where to buy
[0313] Output: Detailed instructions to the user
[0314] This series of processes allows the user to efficiently obtain the optimal menu according to their emotional state.
[0315] (Application example 2)
[0316] 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."
[0317] In an era of rising prices, it is becoming increasingly difficult for users to shop efficiently within their budget. It is also difficult to choose an appropriate meal plan that takes into account daily stress and emotional state. Therefore, users need a way to shop efficiently while reducing stress and select an appropriate meal plan while staying within their budget.
[0318] 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.
[0319] In this invention, the server includes: means for collecting food data from multiple nearby stores; means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI; means for selecting an optimal menu from the menus generated based on the user's desired conditions; means for generating a menu based on the analyzed emotional data, including an emotion engine that analyzes the user's emotional state in real time; and means for providing the user with details of the selected menu and where to purchase it. This enables automatic generation of menus based on the user's emotions, enabling efficient shopping and the selection of an appropriate menu within budget while reducing stress, even in times of rising prices.
[0320] "Food data" is a collection of food ingredient information, including price, availability, and quality.
[0321] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus based on collected data and the user's desired conditions.
[0322] "User's desired conditions" are conditions regarding shopping and menus that the user enters, such as budget, specific ingredients, ingredients to exclude, etc.
[0323] The "emotion engine" is a technology that analyzes the user's emotional state in real time and outputs it as emotional data.
[0324] A "menu" is a combination of dishes suggested based on specific conditions and data.
[0325] "Purchase details" are information about the nearest store to purchase a particular food or ingredient.
[0326] A "server" is a computer system that collects, analyzes, stores, and provides information to users.
[0327] "Real-time analysis" is a processing technology that analyzes data instantly the moment the user enters it.
[0328] "Emotional data" is data that expresses a user's emotional state as numerical values or categories.
[0329] This invention provides a smartphone application that streamlines shopping in an era of rising prices, and in particular, adjusts menus by recognizing emotions. The application is mainly composed of three elements: a server, a device, and the user.
[0330] Data collection
[0331] The server periodically retrieves food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[0332] Entering User Conditions
[0333] The user uses a terminal to input desired conditions such as budget, specific ingredients, ingredients to be excluded, etc. This data is sent to the server in real time.
[0334] Introducing the Emotion Engine
[0335] The server uses an emotion engine to analyze the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether the user is relaxed or stressed. The analyzed emotion data is sent to the server.
[0336] Automatic menu generation
[0337] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. If the user is feeling particularly stressed, it will prioritize menus that are easy to prepare and relaxing.
[0338] Selection of the optimal menu
[0339] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0340] Providing results
[0341] The server then sends the user the optimal meal plan, along with details and purchasing information, including specific instructions on which ingredients to buy from which store.
[0342] Specific examples
[0343] For example, if a user inputs the conditions "budget under 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server. The server then provides the latest food data to the generation AI, which then generates the following menu:
[0344] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[0345] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[0346] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[0347] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and provides detailed information on purchasing carrots from store A and pork from store B.
[0348] Hardware and software used
[0349] Cloud server: A computer system for collecting, analyzing, storing, and providing information to users.
[0350] Smartphone app: Allows users to enter their preferences, receives sentiment analysis results, and suggests menus.
[0351] Sentiment analysis software: An engine for analyzing the user's emotional state. It uses Python libraries (e.g., nltk, transformers).
[0352] Example prompts to input to a generative AI model
[0353] "User is stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2000 yen."
[0354] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0355] Step 1:
[0356] The server collects food data from multiple nearby stores. Specifically, it periodically obtains food data (price, stock, quality, etc.) from each store via API and receives this data in JSON format. The received data is analyzed and then stored in a database. The input is food data from the API, and the output is the analyzed data stored in the database.
[0357] Step 2:
[0358] The user uses a terminal to input desired conditions such as budget, specific ingredients, and ingredients to exclude. This input data is sent to the server in real time. The input is the user's desired conditions, and the output is the desired condition data sent to the server.
[0359] Step 3:
[0360] The server uses an emotion engine to analyze the user's emotions in real time from their voice, text, facial expressions, etc. The analyzed emotion data is sent to the server, which determines whether the user is relaxed or stressed. The input is emotion data such as voice, text, and facial expressions, and the output is analyzed emotional state data.
[0361] Step 4:
[0362] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to prepare and relaxing. The input is food data, desired conditions, and emotional data, and the output is the multiple generated menu plans.
[0363] Step 5:
[0364] The server compiles the multiple menu options and their costs obtained from the generation AI, and selects the optimal menu based on the user's desired conditions and emotional state. The selection includes evaluation criteria such as whether it is within budget, whether it contains specific ingredients, and whether it is easy to prepare. The input is the multiple generated menu options, desired conditions, and emotional data, and the output is the selected optimal menu.
[0365] Step 6:
[0366] The server sends the selected optimal menu, its details, and purchasing location information to the user, including specific instructions on which stores to purchase which ingredients. The input is the selected optimal menu, and the output is the menu details and purchasing location information provided to the user.
[0367] Specific examples
[0368] An example of a prompt sentence provided to the AI is, "The user is feeling stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2,000 yen." Based on this prompt, the AI will suggest the optimal menu that meets specific conditions from the generated menu plans. Specific operations include retrieving data via API, filtering based on budget and conditions, and using sentiment analysis results.
[0369] 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.
[0370] 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.
[0371] 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.
[0372] [Second embodiment]
[0373] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0374] 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.
[0375] 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).
[0376] 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.
[0377] 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.
[0378] 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).
[0379] 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.
[0380] 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.
[0381] 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.
[0382] 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.
[0383] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0384] 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."
[0385] This invention is a system for effective and efficient shopping in an era of rising prices. Below, we will create a program for this system and explain the program's processing in natural language.
[0386] Data collection
[0387] Server: First, food data (price, inventory, quality, etc.) is periodically collected from multiple nearby stores using an API. The collected data is received in JSON format, analyzed, and then stored in a database.
[0388] Entering User Conditions
[0389] Terminal: The user inputs their desired conditions such as budget, specific ingredients, and ingredient exclusion list through the application. These conditions are sent to the server.
[0390] Automatic menu generation
[0391] Server: The server retrieves the latest food data from the database and passes the collected data and the user's desired conditions as input to the generation AI. The generation AI is used to automatically generate different menu patterns. For example, this includes menus using ingredients available at the same store, and menus that combine ingredients from multiple stores. For each pattern, several menu variations and their costs are calculated.
[0392] Selection of the optimal menu
[0393] Server: Compares the generated menus and their costs with the user's requirements and selects the best menu that best meets the user's requirements. For example, this selection will target menus that are within the budget, contain specific ingredients, and are not on an exclusion list.
[0394] Providing results
[0395] Server: Provides the user with the optimal menu selected for them, its details, and information on where to buy ingredients, such as which store is most efficient. This allows the user to shop according to the optimal menu they have decided in advance.
[0396] Specific examples
[0397] For example, consider the case where a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions." These conditions are sent to the server.
[0398] The server provides the AI with the latest food data, which then generates a menu like this:
[0399] 1. Store A only: Stir-fried carrots - 1,500 yen
[0400] 2. Store B only: Carrot and pork stew - 1,800 yen
[0401] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[0402] The server evaluates these menus based on the user's desired criteria, selects the most suitable menu (e.g., boiled carrots and pork), and provides the user with information detailing where to purchase it (e.g., buy carrots from store A and pork from store B).
[0403] This allows users to purchase ingredients efficiently and economically, eliminating waste. The system makes it easy to find the perfect meal plan while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[0404] The processing flow will be explained below.
[0405] Step 1:
[0406] The server uses an API to obtain food data from multiple nearby stores, including price, inventory, and quality. The server receives this data in JSON format, analyzes it, and stores it in a database.
[0407] Step 2:
[0408] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. The input conditions are sent from the terminal to the server.
[0409] Step 3:
[0410] The server retrieves the latest food data from the database, including all collected price, availability, quality, etc. data.
[0411] Step 4:
[0412] The server sends food data and the user's desired conditions to the generation AI, which then automatically generates multiple menu options based on this data. For example, this could include a menu using ingredients available at the same restaurant or a menu combining ingredients from multiple restaurants.
[0413] Step 5:
[0414] The server compiles the multiple menus and their respective costs received from the generation AI and evaluates whether each menu meets the user's desired criteria. This evaluation includes whether it is within the budget, whether it includes specific ingredients, whether it includes ingredients that the user wants to exclude, etc.
[0415] Step 6:
[0416] The server selects the menu that best meets the user's requirements, such as the menu that is the cheapest within the user's budget and includes the desired ingredients.
[0417] Step 7:
[0418] The server then sends the user the selected optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[0419] Step 8:
[0420] At the terminal, the user confirms the information provided, which allows them to shop efficiently and economically.
[0421] This allows the entire process to proceed smoothly, allowing users to shop based on the optimal menu without waste.
[0422] Example 1
[0423] 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."
[0424] In an era of rising prices, it is becoming increasingly difficult for consumers to shop effectively and efficiently. In particular, there is a lack of means to purchase necessary ingredients within a limited budget and avoid waste. Furthermore, efficiently collecting and analyzing food data from multiple stores and generating menus based on the user's preferences is a technical challenge. Furthermore, selecting the optimal items from the generated menus and providing the user with information on which stores to actually purchase them from is also difficult. To solve these challenges, an efficient and effective shopping support system is required.
[0425] 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.
[0426] In this invention, the server includes means for collecting food data from multiple nearby locations, means for analyzing the collected food data and saving it in a database, means for transmitting the budget, specific ingredients, and ingredients to be excluded input by the user to the server, means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, means for comparing the generated multiple menus and their costs with the user's desired conditions and selecting the optimal menu, and means for providing the user with details of the selected menu and where to purchase it, thereby enabling the user to efficiently and effectively make optimal shopping purchases.
[0427] "Food data" is data that includes information such as price, inventory, and quality.
[0428] "Analysis" is the process of organizing collected information so that it can be stored or displayed in a particular format.
[0429] A "database" is an electronic storage system for the effective management and retrieval of organized information.
[0430] "Generative AI" is an artificial intelligence model that automatically generates new information (in this case, a menu) based on specific input data, for example, using a natural language processing model.
[0431] "User's desired conditions" are conditions such as a budget entered by the user, ingredients that the user wants to use, and ingredients that the user wants to exclude.
[0432] "Automatic generation" is the process of mechanically creating required information based on specific input data using specific algorithms or models.
[0433] "Selection" is the process of choosing the best option from multiple options.
[0434] "Details of purchase location" is information indicating which product should be purchased at which location.
[0435] A "menu" is a specific cooking plan or menu.
[0436] The present invention is a system for enabling consumers to shop efficiently and effectively in an era of rising prices. An embodiment of this system will be described in detail below.
[0437] Data collection
[0438] server:
[0439] The server collects food data from multiple nearby locations. This collection is done using APIs, such as the Yelp API or Google Places API, which periodically retrieve data such as price, stock, and quality. The server receives this data in JSON format and parses it using a dedicated parser. The parsed data is then stored in a database (e.g., PostgreSQL).
[0440] Entering User Conditions
[0441] Device:
[0442] Users input their desired conditions through a smartphone or PC application (for example, an application using "React Native"), such as budget, specific ingredients, excluded ingredients, etc., in a form format, and a "Submit" button is provided to send the information to the server.
[0443] Automatic menu generation
[0444] server:
[0445] The server retrieves the latest food data from the database, then generates a prompt that includes the collected data and the user's desired conditions, and passes this prompt to a generative AI model (e.g., GPT-4). The generative AI then automatically generates multiple menus and their costs based on the input data.
[0446] example:
[0447] User conditions:
[0448] Budget: Under 2000 yen
[0449] Ingredients used: Carrots
[0450] Ingredients to exclude: onion
[0451] Latest Food Data:
[0452] Store A: Carrots 100 yen, pork 400 yen, chicken 300 yen, stir-fry ingredients 200 yen
[0453] Store B: Carrots 150 yen, pork 380 yen, chicken 320 yen, simmered ingredients 250 yen
[0454] Based on this information, please generate a menu that meets the above conditions.
[0455] Selection of the optimal menu
[0456] server:
[0457] After the generative AI model generates multiple meal plans and their costs, the server compares these plans with the user's desired criteria and selects the best plan that fits the user's budget and includes specific ingredients but does not exclude any excluded ingredients. This selection process uses an efficient algorithm.
[0458] Providing results
[0459] server:
[0460] After the optimal menu is selected, the server generates details and information on where to purchase each ingredient most efficiently. This information is compiled in HTML or JSON format and sent to the user's device. The user can then check these details on the application and shop efficiently.
[0461] The system allows users to find the best meal plan within their budget based on current market prices and availability, and also allows for price comparisons between stores and efficient shopping plans, resulting in less wasteful shopping.
[0462] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0463] Step 1: Data collection
[0464] server:
[0465] Input: API requests from multiple nearby locations
[0466] Specific behavior:
[0467] The server periodically calls the API and retrieves food data such as price, stock, and quality in JSON format.
[0468] For example, sending an HTTP request to an API endpoint and receiving a response.
[0469] Data processing:
[0470] The received JSON data is analyzed using a dedicated parser to extract the necessary items (price, inventory, quality).
[0471] Output: Save the parsed food data in a database.
[0472] Step 2: Entering User Conditions
[0473] Device:
[0474] Input: budget, specific ingredients, excluded ingredients, and other desired conditions
[0475] Specific behavior:
[0476] The user enters their desired requirements into the application's input form.
[0477] Tapping the "Send" button will send the conditions to the server.
[0478] Data processing:
[0479] The entered desired conditions are packaged in JSON format.
[0480] Output: The user's preferences are sent to the server.
[0481] Step 3: Data Acquisition and Prompt Generation
[0482] server:
[0483] Input: User's desired conditions and the latest food data from the database
[0484] Specific behavior:
[0485] The server retrieves food data from the database.
[0486] Prompts are generated based on the user's desired conditions and the acquired food data.
[0487] Data processing:
[0488] Integrate desired criteria and food data to create text prompts.
[0489] Output: Pass the generated prompt to the generative AI model.
[0490] Step 4: Automatic menu generation
[0491] server:
[0492] Input: Generated prompt
[0493] Specific behavior:
[0494] The server inputs prompts into the AI model (e.g., "GPT-4").
[0495] AI generates multiple menus and their costs.
[0496] Data processing:
[0497] Generative AI automatically generates multiple menu plans and their costs based on prompts.
[0498] Output: The generated menu items and their costs are returned to the server.
[0499] Step 5: Choose the best menu
[0500] server:
[0501] Input: Generated multiple menus and their costs, user's desired conditions
[0502] Specific behavior:
[0503] The server matches the generated menu and costs with the user's requirements.
[0504] To select the optimal menu, evaluations are conducted based on cost and desired conditions.
[0505] Data processing:
[0506] The optimal menu is selected from the comparison results.
[0507] Output: Selected optimal menu and related data.
[0508] Step 6: Delivering results
[0509] server:
[0510] Input: Selected optimal menu and its details
[0511] Specific behavior:
[0512] The server creates the selected menu details (which ingredients to purchase at which locations).
[0513] Construct these details in HTML or JSON format.
[0514] Output: The generated detailed information is delivered to the user's device.
[0515] Through this process, users can efficiently and effectively find out the optimal menu and where to purchase, resulting in less wasteful shopping.
[0516] (Application example 1)
[0517] 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."
[0518] Rising prices have made it difficult to shop efficiently and economically. In particular, selecting the optimal menu based on the user's desired conditions while taking into account price and inventory information from multiple stores is time-consuming. Furthermore, there is insufficient information provided to enable efficient shopping at physical stores based on the selected menu.
[0519] 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.
[0520] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, and a means for generating the most cost-effective menu by combining different stores based on the day's special offers and store inventory status, allowing users to obtain the information they need to shop efficiently and economically without hassle.
[0521] "Multiple nearby stores" refers to multiple retail stores and supermarkets within an accessible range from the user's place of residence or current location.
[0522] "Food data" refers to information such as food prices, inventory, and quality collected from stores.
[0523] "Generative AI" is an artificial intelligence technology that generates new information and results based on input data and conditions.
[0524] The "user's desired conditions" are conditions that the user indicates such as budget, specific ingredients, and ingredients that the user wants to exclude.
[0525] "Inter-store combination" is the process of selecting the necessary ingredients from multiple stores to create the most cost-effective menu.
[0526] The "optimal menu" is a combination of meals that best meets the user's desired conditions and can be provided within their budget.
[0527] "Purchase location details" is information such as the name and address of the store where the user purchases the specified ingredients.
[0528] A "shopping list" is a list of the food items and quantities that a user needs to purchase at a physical store.
[0529] A "mobile device" is a portable electronic device, such as a smartphone, that is capable of connecting to the Internet.
[0530] This invention is a system for supporting users in shopping efficiently and economically in the face of rising prices. This system includes the following programs and processing steps.
[0531] System configuration
[0532] The system includes the following main modules:
[0533] Store information collection module: Collects food data (price, inventory, quality) from multiple nearby stores using APIs.
[0534] User input module: The user inputs desired conditions such as budget, specific ingredients, and ingredients to exclude.
[0535] Database: Stores collected store information and user input information.
[0536] Generative AI module: Automatically generates different menu patterns using collected data and the user's desired conditions.
[0537] Menu selection module: Select the best menu from multiple options.
[0538] Results module: Provides users with optimal meal plans and details on where to buy, and displays a shopping list for the physical store on their mobile device.
[0539] Hardware and software used
[0540] Server: Data collection, analysis, storage, and execution of the AI generation are performed on the server. A typical technology is to use a library or framework (e.g., Flask) for handling JSON format data.
[0541] Mobile devices: Users can use the system on mobile electronic devices such as smartphones to easily access, input, and confirm data.
[0542] Generative AI: Generative AI models are used to generate optimal menus based on user criteria. Examples include various machine learning libraries (e.g., TensorFlow).
[0543] Prompt Sentence Examples
[0544] For example, if a user enters the criteria "budget under 2000 yen, use carrots, exclude onions," the prompt text would be:
[0545] "Budget is under 2000 yen, use carrots, exclude onions"
[0546] By inputting the data collected based on these conditions and the user's desired conditions into the AI generator, the following menu is generated:
[0547] 1. Store A only: Stir-fried carrots - 1,500 yen
[0548] 2. Store B only: Carrot and pork stew - 1,800 yen
[0549] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[0550] The system then selects the most suitable menu from these and provides it to the user. For example, by selecting "braised carrots and pork" and providing details of where to purchase it, the user can shop efficiently and economically. This system makes it easy to find the best menu while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[0551] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0552] Step 1:
[0553] Food data (price, stock, quality) is collected from multiple nearby stores using API. This process is handled by the server. The API URL of each store is used as input, and the resulting food data is received in JSON format as output. The server analyzes the received data and stores it in a database.
[0554] Step 2:
[0555] The user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. through the application terminal. This process is handled by the terminal. The conditions manually entered by the user are used as input, and the conditions are sent as output to the server, where they are processed.
[0556] Step 3:
[0557] The server retrieves the latest food data from the database and passes it to the generation AI along with the user's desired conditions. This process is handled by the server. The food data in the database and the user's conditions are used as input, and the generation AI generates multiple menus and their costs as output.
[0558] Step 4:
[0559] The server compares the multiple menus and their costs obtained from the generation AI with the user's desired conditions and selects the optimal menu. This process is handled by the server. The generated menu information is used as input, and the optimal menu and its detailed information are obtained as output.
[0560] Step 5:
[0561] The server sends the details of the best meal plan and where to buy it to the terminal and provides it to the user. This process is performed by the server and the terminal in cooperation. The best meal plan information is used as input, and the information is displayed on the user's terminal as output.
[0562] Step 6:
[0563] The user goes to the physical store and buys food based on the shopping list displayed on the device. This process is handled by the user. The shopping list displayed on the device is used as input, and the actual purchased food is obtained as output.
[0564] 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.
[0565] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that recognizes the user's emotions and adjusts menus based on those emotions. Below, we will create a program for this system and explain the program's processing in natural language.
[0566] Data collection
[0567] The server periodically obtains food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[0568] Entering User Conditions
[0569] On the device, users input their desired criteria, such as budget, specific ingredients, ingredients they want to exclude, etc. This data is sent to the server in real time.
[0570] Introducing the Emotion Engine
[0571] The emotion engine analyzes the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether they are relaxed or stressed. The analyzed emotional data is sent to the server.
[0572] Automatic menu generation
[0573] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to cook and relaxing.
[0574] Selection of the optimal menu
[0575] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0576] Providing results
[0577] The server then sends the user the optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[0578] Specific examples
[0579] For example, if a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server.
[0580] The server provides the AI with the latest food data, which then generates the following menu:
[0581] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[0582] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[0583] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[0584] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and simultaneously provides detailed information on purchasing carrots at store A and pork at store B.
[0585] This allows users to shop efficiently and based on the optimal menu according to their emotional state, enabling them to purchase economically while reducing stress. The system responds to fluctuations in food prices and provides flexible menu adjustments according to the user's emotions, greatly streamlining the shopping process.
[0586] The processing flow will be explained below.
[0587] Step 1:
[0588] The server periodically retrieves food data from multiple nearby stores via API. This food data includes information on price, stock, and quality. The data is received in JSON format, parsed, and stored in a database.
[0589] Step 2:
[0590] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. This input information is immediately sent to the server when the send button is pressed.
[0591] Step 3:
[0592] The server receives the user's input conditions and retrieves the latest food data from the database.
[0593] Step 4:
[0594] The emotion engine analyzes the user's emotional state in real time. It uses technologies such as facial recognition, voice tone analysis, and text analysis to determine the user's current emotion. This emotion data is also sent to the server.
[0595] Step 5:
[0596] The server passes the emotion data from the emotion engine, along with the user's input conditions and food data, to the generation AI. The generation AI then automatically generates multiple menus based on this data. For example, if the user is feeling stressed, it will prioritize creating menus that are easy to prepare and have a soothing effect.
[0597] Step 6:
[0598] The server compiles the multiple menu options and their costs returned by the AI generator. It evaluates whether each option meets the user's desired criteria and selects the most suitable option. This evaluation includes whether the option fits within the user's budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0599] Step 7:
[0600] The server generates detailed information about the optimal meal plan and where to purchase it, including specific instructions on which stores to purchase which ingredients most efficiently.
[0601] Step 8:
[0602] The server sends this information to the user, who then uses their device to check the optimal menu and its purchasing information.
[0603] Step 9:
[0604] Using the information provided on the device, users can shop efficiently and economically, reducing stress and enabling them to create the perfect meal plan.
[0605] Example 2
[0606] 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."
[0607] Conventional shopping support systems often provide menus based solely on the user's preferences, without taking into account the user's emotional state. This has led to problems such as being unable to suggest menus that help users relax in today's busy and stressful society. Another issue is that these systems are unable to flexibly respond to fluctuations in food prices, making economical shopping difficult.
[0608] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0609] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions and emotional data using a generation AI, a means for selecting an optimal menu from the menus generated based on the user's desired conditions and emotional data, and a means for providing the user with details of the selected menu and its purchasing location. This allows for optimal menu suggestions based on the user's emotional state, enabling efficient and relaxing shopping even in busy lives. It also enables economical shopping based on the latest food data.
[0610] "Food data" is data that includes information such as price, inventory, and quality collected from multiple nearby stores.
[0611] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus and their costs based on collected food data and the user's desired conditions and emotional data.
[0612] "User's desired conditions" include conditions such as the budget the user considers when shopping, specific ingredients, and ingredients the user wants to exclude.
[0613] "Emotional data" refers to data about a user's emotional state that is analyzed from the user's voice, text, facial expressions, etc.
[0614] The "optimal menu" is the menu that best meets the evaluation criteria from among multiple menus automatically generated by the generation AI based on the user's desired conditions and emotional data.
[0615] "Purchase details" is specific information about a particular store or sales location where ingredients for the selected optimal menu can be purchased.
[0616] The term "means" refers to a method, device, system, etc. for performing a specific function or process.
[0617] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that has the function of recognizing the user's emotions and adjusting menus based on them.
[0618] Specific forms of data collection
[0619] The server periodically obtains food data from multiple nearby stores via API. This food data includes information such as price, stock availability, and quality. The server receives this data in JSON format, analyzes it, and then stores it in a database. Specifically, the server uses Python to send API requests, analyzes the responses, and stores them in an SQL database.
[0620] Specific form of user condition input
[0621] Users access a dedicated application using a device such as a smartphone or PC. The application has an input form where users can specify desired conditions such as budget, specific ingredients, and ingredients to exclude. These desired conditions are immediately sent to the server. Consider an example where a user enters the conditions "budget under 2000 yen, use carrots, and exclude onions." This input data is sent to the server via an HTTP POST request.
[0622] Specific form of emotional engine implementation
[0623] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this input data to determine the user's emotional state. For example, if the user's voice is high-pitched or their face is grim, it is interpreted as indicating stress. This data is sent to a server, where the Google Speech-to-Text API is used for voice analysis and the Facial Emotion Recognition SDK is used for facial expression analysis.
[0624] Specific form of automatic menu generation
[0625] The server retrieves the latest food data collected from the database and sends it to the generative AI model along with the user's input conditions and emotional data. The generative AI model generates multiple menus based on this data. Specifically, the generative AI model uses GPT-4, and generates menus such as "stir-fried carrots," "braised carrots and pork," and "carrot salad and grilled chicken" based on the user's conditions and emotional data.
[0626] Specific form of optimal menu selection
[0627] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's desired conditions and emotional state. For example, "braised carrots and pork" is selected because it is easy to prepare and reduces stress. Selection includes evaluation criteria such as whether the product's price is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0628] Specific form of providing results
[0629] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. For example, specific instructions such as "Purchase carrots from store A and pork from store B" are provided. This allows the user to efficiently select the optimal menu according to their emotional state.
[0630] Examples of prompt statements
[0631] Here is an example of a specific prompt sentence to input into the generative AI model.
[0632] Generate the best meal plan based on the user's preferences and emotional state.
[0633] Budget: Under 2,000 yen
[0634] Ingredients: Carrots
[0635] Excluded ingredients: onions
[0636] Emotional state: Feeling stressed
[0637] By inputting this prompt into the model, the optimal menu is generated based on the user's conditions and emotional state.
[0638] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0639] Step 1: Data collection
[0640] The server retrieves food data from multiple nearby stores via API. The server sends API requests periodically every day and receives information such as price, stock, and quality in JSON format. The received data is analyzed using a Python script and then stored in an SQL database. Specifically, the server sends the following API requests and analyzes the responses:
[0641] Input: API request
[0642] Output: Parsed food data (price, availability, quality)
[0643] Step 2: Entering User Conditions
[0644] Users access a dedicated application from their smartphone or PC and enter desired conditions such as budget, specific ingredients, and ingredients to exclude. By entering specific conditions through an input form, an HTTP POST request is sent to the server. For example, conditions such as "budget under 2,000 yen, use carrots, exclude onions" can be entered.
[0645] Input: User's desired conditions (budget, specific ingredients, excluded ingredients)
[0646] Output: HTTP POST request to the server
[0647] Step 3: Obtaining emotion data
[0648] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this data to determine the user's emotional state. For example, the Google Speech-to-Text API is used to analyze voice data, and facial expressions are analyzed using facial recognition software. The analysis results are then sent to a server.
[0649] Input: Voice data, facial expression data
[0650] Output: Parsed emotion data
[0651] Step 4: Automatic menu generation
[0652] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generative AI model. The generative AI model (GPT-4) automatically generates multiple menus based on this data. Specifically, it sends the following prompt to the AI model:
[0653] Input: Food data, user preferences, emotional data
[0654] Output: Multiple menu suggestions and their costs
[0655] Step 5: Choose the best menu
[0656] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's preferences and emotional state. This process includes multiple evaluation criteria, such as whether the menu fits within the user's budget, whether it uses specified ingredients, and whether it is easy to prepare.
[0657] Input: Multiple menus provided by a generative AI model
[0658] Output: Selection of optimal menu
[0659] Step 6: Delivering results
[0660] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. Specific purchasing instructions are included, allowing the user to shop efficiently. For example, specific instructions such as "purchase carrots from store A and pork from store B" are provided.
[0661] Input: Information on the best menu and where to buy
[0662] Output: Detailed instructions to the user
[0663] This series of processes allows the user to efficiently obtain the optimal menu according to their emotional state.
[0664] (Application example 2)
[0665] 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."
[0666] In an era of rising prices, it is becoming increasingly difficult for users to shop efficiently within their budget. It is also difficult to choose an appropriate meal plan that takes into account daily stress and emotional state. Therefore, users need a way to shop efficiently while reducing stress and select an appropriate meal plan while staying within their budget.
[0667] 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.
[0668] In this invention, the server includes: means for collecting food data from multiple nearby stores; means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI; means for selecting an optimal menu from the menus generated based on the user's desired conditions; means for generating a menu based on the analyzed emotional data, including an emotion engine that analyzes the user's emotional state in real time; and means for providing the user with details of the selected menu and where to purchase it. This enables automatic generation of menus based on the user's emotions, enabling efficient shopping and the selection of an appropriate menu within budget while reducing stress, even in times of rising prices.
[0669] "Food data" is a collection of food ingredient information, including price, availability, and quality.
[0670] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus based on collected data and the user's desired conditions.
[0671] "User's desired conditions" are conditions regarding shopping and menus that the user enters, such as budget, specific ingredients, ingredients to exclude, etc.
[0672] The "emotion engine" is a technology that analyzes the user's emotional state in real time and outputs it as emotional data.
[0673] A "menu" is a combination of dishes suggested based on specific conditions and data.
[0674] "Purchase details" are information about the nearest store to purchase a particular food or ingredient.
[0675] A "server" is a computer system that collects, analyzes, stores, and provides information to users.
[0676] "Real-time analysis" is a processing technology that analyzes data instantly the moment the user enters it.
[0677] "Emotional data" is data that expresses a user's emotional state as numerical values or categories.
[0678] This invention provides a smartphone application that streamlines shopping in an era of rising prices, and in particular, adjusts menus by recognizing emotions. The application is mainly composed of three elements: a server, a device, and the user.
[0679] Data collection
[0680] The server periodically retrieves food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[0681] Entering User Conditions
[0682] The user uses a terminal to input desired conditions such as budget, specific ingredients, ingredients to be excluded, etc. This data is sent to the server in real time.
[0683] Introducing the Emotion Engine
[0684] The server uses an emotion engine to analyze the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether the user is relaxed or stressed. The analyzed emotion data is sent to the server.
[0685] Automatic menu generation
[0686] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. If the user is feeling particularly stressed, it will prioritize menus that are easy to prepare and relaxing.
[0687] Selection of the optimal menu
[0688] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0689] Providing results
[0690] The server then sends the user the optimal meal plan, along with details and purchasing information, including specific instructions on which ingredients to buy from which store.
[0691] Specific examples
[0692] For example, if a user inputs the conditions "budget under 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server. The server then provides the latest food data to the generation AI, which then generates the following menu:
[0693] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[0694] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[0695] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[0696] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and provides detailed information on purchasing carrots from store A and pork from store B.
[0697] Hardware and software used
[0698] Cloud server: A computer system for collecting, analyzing, storing, and providing information to users.
[0699] Smartphone app: Allows users to enter their preferences, receives sentiment analysis results, and suggests menus.
[0700] Sentiment analysis software: An engine for analyzing the user's emotional state. It uses Python libraries (e.g., nltk, transformers).
[0701] Example prompts to input to a generative AI model
[0702] "User is stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2000 yen."
[0703] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0704] Step 1:
[0705] The server collects food data from multiple nearby stores. Specifically, it periodically obtains food data (price, stock, quality, etc.) from each store via API and receives this data in JSON format. The received data is analyzed and then stored in a database. The input is food data from the API, and the output is the analyzed data stored in the database.
[0706] Step 2:
[0707] The user uses a terminal to input desired conditions such as budget, specific ingredients, and ingredients to exclude. This input data is sent to the server in real time. The input is the user's desired conditions, and the output is the desired condition data sent to the server.
[0708] Step 3:
[0709] The server uses an emotion engine to analyze the user's emotions in real time from their voice, text, facial expressions, etc. The analyzed emotion data is sent to the server, which determines whether the user is relaxed or stressed. The input is emotion data such as voice, text, and facial expressions, and the output is analyzed emotional state data.
[0710] Step 4:
[0711] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to prepare and relaxing. The input is food data, desired conditions, and emotional data, and the output is the multiple generated menu plans.
[0712] Step 5:
[0713] The server compiles the multiple menu options and their costs obtained from the generation AI, and selects the optimal menu based on the user's desired conditions and emotional state. The selection includes evaluation criteria such as whether it is within budget, whether it contains specific ingredients, and whether it is easy to prepare. The input is the multiple generated menu options, desired conditions, and emotional data, and the output is the selected optimal menu.
[0714] Step 6:
[0715] The server sends the selected optimal menu, its details, and purchasing location information to the user, including specific instructions on which stores to purchase which ingredients. The input is the selected optimal menu, and the output is the menu details and purchasing location information provided to the user.
[0716] Specific examples
[0717] An example of a prompt sentence provided to the AI is, "The user is feeling stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2,000 yen." Based on this prompt, the AI will suggest the optimal menu that meets specific conditions from the generated menu plans. Specific operations include retrieving data via API, filtering based on budget and conditions, and using sentiment analysis results.
[0718] 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.
[0719] 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.
[0720] 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.
[0721] [Third embodiment]
[0722] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0723] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0724] 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).
[0725] 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.
[0726] 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.
[0727] 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).
[0728] 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.
[0729] 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.
[0730] 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.
[0731] 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.
[0732] 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.
[0733] 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."
[0734] This invention is a system for effective and efficient shopping in an era of rising prices. Below, we will create a program for this system and explain the program's processing in natural language.
[0735] Data collection
[0736] Server: First, food data (price, inventory, quality, etc.) is periodically collected from multiple nearby stores using an API. The collected data is received in JSON format, analyzed, and then stored in a database.
[0737] Entering User Conditions
[0738] Terminal: The user inputs their desired conditions such as budget, specific ingredients, and ingredient exclusion list through the application. These conditions are sent to the server.
[0739] Automatic menu generation
[0740] Server: The server retrieves the latest food data from the database and passes the collected data and the user's desired conditions as input to the generation AI. The generation AI is used to automatically generate different menu patterns. For example, this includes menus using ingredients available at the same store, and menus that combine ingredients from multiple stores. For each pattern, several menu variations and their costs are calculated.
[0741] Selection of the optimal menu
[0742] Server: Compares the generated menus and their costs with the user's requirements and selects the best menu that best meets the user's requirements. For example, this selection will target menus that are within the budget, contain specific ingredients, and are not on an exclusion list.
[0743] Providing results
[0744] Server: Provides the user with the optimal menu selected for them, its details, and information on where to buy ingredients, such as which store is most efficient. This allows the user to shop according to the optimal menu they have decided in advance.
[0745] Specific examples
[0746] For example, consider the case where a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions." These conditions are sent to the server.
[0747] The server provides the AI with the latest food data, which then generates a menu like this:
[0748] 1. Store A only: Stir-fried carrots - 1,500 yen
[0749] 2. Store B only: Carrot and pork stew - 1,800 yen
[0750] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[0751] The server evaluates these menus based on the user's desired criteria, selects the most suitable menu (e.g., boiled carrots and pork), and provides the user with information detailing where to purchase it (e.g., buy carrots from store A and pork from store B).
[0752] This allows users to purchase ingredients efficiently and economically, eliminating waste. The system makes it easy to find the perfect meal plan while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[0753] The processing flow will be explained below.
[0754] Step 1:
[0755] The server uses an API to obtain food data from multiple nearby stores, including price, inventory, and quality. The server receives this data in JSON format, analyzes it, and stores it in a database.
[0756] Step 2:
[0757] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. The input conditions are sent from the terminal to the server.
[0758] Step 3:
[0759] The server retrieves the latest food data from the database, including all collected price, availability, quality, etc. data.
[0760] Step 4:
[0761] The server sends food data and the user's desired conditions to the generation AI, which then automatically generates multiple menu options based on this data. For example, this could include a menu using ingredients available at the same restaurant or a menu combining ingredients from multiple restaurants.
[0762] Step 5:
[0763] The server compiles the multiple menus and their respective costs received from the generation AI and evaluates whether each menu meets the user's desired criteria. This evaluation includes whether it is within the budget, whether it includes specific ingredients, whether it includes ingredients that the user wants to exclude, etc.
[0764] Step 6:
[0765] The server selects the menu that best meets the user's requirements, such as the menu that is the cheapest within the user's budget and includes the desired ingredients.
[0766] Step 7:
[0767] The server then sends the user the selected optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[0768] Step 8:
[0769] At the terminal, the user confirms the information provided, which allows them to shop efficiently and economically.
[0770] This allows the entire process to proceed smoothly, allowing users to shop based on the optimal menu without waste.
[0771] Example 1
[0772] 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."
[0773] In an era of rising prices, it is becoming increasingly difficult for consumers to shop effectively and efficiently. In particular, there is a lack of means to purchase necessary ingredients within a limited budget and avoid waste. Furthermore, efficiently collecting and analyzing food data from multiple stores and generating menus based on the user's preferences is a technical challenge. Furthermore, selecting the optimal items from the generated menus and providing the user with information on which stores to actually purchase them from is also difficult. To solve these challenges, an efficient and effective shopping support system is required.
[0774] 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.
[0775] In this invention, the server includes means for collecting food data from multiple nearby locations, means for analyzing the collected food data and saving it in a database, means for transmitting the budget, specific ingredients, and ingredients to be excluded input by the user to the server, means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, means for comparing the generated multiple menus and their costs with the user's desired conditions and selecting the optimal menu, and means for providing the user with details of the selected menu and where to purchase it, thereby enabling the user to efficiently and effectively make optimal shopping purchases.
[0776] "Food data" is data that includes information such as price, inventory, and quality.
[0777] "Analysis" is the process of organizing collected information so that it can be stored or displayed in a particular format.
[0778] A "database" is an electronic storage system for the effective management and retrieval of organized information.
[0779] "Generative AI" is an artificial intelligence model that automatically generates new information (in this case, a menu) based on specific input data, for example, using a natural language processing model.
[0780] "User's desired conditions" are conditions such as a budget entered by the user, ingredients that the user wants to use, and ingredients that the user wants to exclude.
[0781] "Automatic generation" is the process of mechanically creating required information based on specific input data using specific algorithms or models.
[0782] "Selection" is the process of choosing the best option from multiple options.
[0783] "Details of purchase location" is information indicating which product should be purchased at which location.
[0784] A "menu" is a specific cooking plan or menu.
[0785] The present invention is a system for enabling consumers to shop efficiently and effectively in an era of rising prices. An embodiment of this system will be described in detail below.
[0786] Data collection
[0787] server:
[0788] The server collects food data from multiple nearby locations. This collection is done using APIs, such as the Yelp API or Google Places API, which periodically retrieve data such as price, stock, and quality. The server receives this data in JSON format and parses it using a dedicated parser. The parsed data is then stored in a database (e.g., PostgreSQL).
[0789] Entering User Conditions
[0790] Device:
[0791] Users input their desired conditions through a smartphone or PC application (for example, an application using "React Native"), such as budget, specific ingredients, excluded ingredients, etc., in a form format, and a "Submit" button is provided to send the information to the server.
[0792] Automatic menu generation
[0793] server:
[0794] The server retrieves the latest food data from the database, then generates a prompt that includes the collected data and the user's desired conditions, and passes this prompt to a generative AI model (e.g., GPT-4). The generative AI then automatically generates multiple menus and their costs based on the input data.
[0795] example:
[0796] User conditions:
[0797] Budget: Under 2000 yen
[0798] Ingredients used: Carrots
[0799] Ingredients to exclude: onion
[0800] Latest Food Data:
[0801] Store A: Carrots 100 yen, pork 400 yen, chicken 300 yen, stir-fry ingredients 200 yen
[0802] Store B: Carrots 150 yen, pork 380 yen, chicken 320 yen, simmered ingredients 250 yen
[0803] Based on this information, please generate a menu that meets the above conditions.
[0804] Selection of the optimal menu
[0805] server:
[0806] After the generative AI model generates multiple meal plans and their costs, the server compares these plans with the user's desired criteria and selects the best plan that fits the user's budget and includes specific ingredients but does not exclude any excluded ingredients. This selection process uses an efficient algorithm.
[0807] Providing results
[0808] server:
[0809] After the optimal menu is selected, the server generates details and information on where to purchase each ingredient most efficiently. This information is compiled in HTML or JSON format and sent to the user's device. The user can then check these details on the application and shop efficiently.
[0810] The system allows users to find the best meal plan within their budget based on current market prices and availability, and also allows for price comparisons between stores and efficient shopping plans, resulting in less wasteful shopping.
[0811] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0812] Step 1: Data collection
[0813] server:
[0814] Input: API requests from multiple nearby locations
[0815] Specific behavior:
[0816] The server periodically calls the API and retrieves food data such as price, stock, and quality in JSON format.
[0817] For example, sending an HTTP request to an API endpoint and receiving a response.
[0818] Data processing:
[0819] The received JSON data is analyzed using a dedicated parser to extract the necessary items (price, inventory, quality).
[0820] Output: Save the parsed food data in a database.
[0821] Step 2: Entering User Conditions
[0822] Device:
[0823] Input: budget, specific ingredients, excluded ingredients, and other desired conditions
[0824] Specific behavior:
[0825] The user enters their desired requirements into the application's input form.
[0826] Tapping the "Send" button will send the conditions to the server.
[0827] Data processing:
[0828] The entered desired conditions are packaged in JSON format.
[0829] Output: The user's preferences are sent to the server.
[0830] Step 3: Data Acquisition and Prompt Generation
[0831] server:
[0832] Input: User's desired conditions and the latest food data from the database
[0833] Specific behavior:
[0834] The server retrieves food data from the database.
[0835] Prompts are generated based on the user's desired conditions and the acquired food data.
[0836] Data processing:
[0837] Integrate desired criteria and food data to create text prompts.
[0838] Output: Pass the generated prompt to the generative AI model.
[0839] Step 4: Automatic menu generation
[0840] server:
[0841] Input: Generated prompt
[0842] Specific behavior:
[0843] The server inputs prompts into the AI model (e.g., "GPT-4").
[0844] AI generates multiple menus and their costs.
[0845] Data processing:
[0846] Generative AI automatically generates multiple menu plans and their costs based on prompts.
[0847] Output: The generated menu items and their costs are returned to the server.
[0848] Step 5: Choose the best menu
[0849] server:
[0850] Input: Generated multiple menus and their costs, user's desired conditions
[0851] Specific behavior:
[0852] The server matches the generated menu and costs with the user's requirements.
[0853] To select the optimal menu, evaluations are conducted based on cost and desired conditions.
[0854] Data processing:
[0855] The optimal menu is selected from the comparison results.
[0856] Output: Selected optimal menu and related data.
[0857] Step 6: Delivering results
[0858] server:
[0859] Input: Selected optimal menu and its details
[0860] Specific behavior:
[0861] The server creates the selected menu details (which ingredients to purchase at which locations).
[0862] Construct these details in HTML or JSON format.
[0863] Output: The generated detailed information is delivered to the user's device.
[0864] Through this process, users can efficiently and effectively find out the optimal menu and where to purchase, resulting in less wasteful shopping.
[0865] (Application example 1)
[0866] 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."
[0867] Rising prices have made it difficult to shop efficiently and economically. In particular, selecting the optimal menu based on the user's desired conditions while taking into account price and inventory information from multiple stores is time-consuming. Furthermore, there is insufficient information provided to enable efficient shopping at physical stores based on the selected menu.
[0868] 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.
[0869] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, and a means for generating the most cost-effective menu by combining different stores based on the day's special offers and store inventory status, allowing users to obtain the information they need to shop efficiently and economically without hassle.
[0870] "Multiple nearby stores" refers to multiple retail stores and supermarkets within an accessible range from the user's place of residence or current location.
[0871] "Food data" refers to information such as food prices, inventory, and quality collected from stores.
[0872] "Generative AI" is an artificial intelligence technology that generates new information and results based on input data and conditions.
[0873] The "user's desired conditions" are conditions that the user indicates such as budget, specific ingredients, and ingredients that the user wants to exclude.
[0874] "Inter-store combination" is the process of selecting the necessary ingredients from multiple stores to create the most cost-effective menu.
[0875] The "optimal menu" is a combination of meals that best meets the user's desired conditions and can be provided within their budget.
[0876] "Purchase location details" is information such as the name and address of the store where the user purchases the specified ingredients.
[0877] A "shopping list" is a list of the food items and quantities that a user needs to purchase at a physical store.
[0878] A "mobile device" is a portable electronic device, such as a smartphone, that is capable of connecting to the Internet.
[0879] This invention is a system for supporting users in shopping efficiently and economically in the face of rising prices. This system includes the following programs and processing steps.
[0880] System configuration
[0881] The system includes the following main modules:
[0882] Store information collection module: Collects food data (price, inventory, quality) from multiple nearby stores using APIs.
[0883] User input module: The user inputs desired conditions such as budget, specific ingredients, and ingredients to exclude.
[0884] Database: Stores collected store information and user input information.
[0885] Generative AI module: Automatically generates different menu patterns using collected data and the user's desired conditions.
[0886] Menu selection module: Select the best menu from multiple options.
[0887] Results module: Provides users with optimal meal plans and details on where to buy, and displays a shopping list for the physical store on their mobile device.
[0888] Hardware and software used
[0889] Server: Data collection, analysis, storage, and execution of the AI generation are performed on the server. A typical technology is to use a library or framework (e.g., Flask) for handling JSON format data.
[0890] Mobile devices: Users can use the system on mobile electronic devices such as smartphones to easily access, input, and confirm data.
[0891] Generative AI: Generative AI models are used to generate optimal menus based on user criteria. Examples include various machine learning libraries (e.g., TensorFlow).
[0892] Prompt Sentence Examples
[0893] For example, if a user enters the criteria "budget under 2000 yen, use carrots, exclude onions," the prompt text would be:
[0894] "Budget is under 2000 yen, use carrots, exclude onions"
[0895] By inputting the data collected based on these conditions and the user's desired conditions into the AI generator, the following menu is generated:
[0896] 1. Store A only: Stir-fried carrots - 1,500 yen
[0897] 2. Store B only: Carrot and pork stew - 1,800 yen
[0898] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[0899] The system then selects the most suitable menu from these and provides it to the user. For example, by selecting "braised carrots and pork" and providing details of where to purchase it, the user can shop efficiently and economically. This system makes it easy to find the best menu while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[0900] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0901] Step 1:
[0902] Food data (price, stock, quality) is collected from multiple nearby stores using API. This process is handled by the server. The API URL of each store is used as input, and the resulting food data is received in JSON format as output. The server analyzes the received data and stores it in a database.
[0903] Step 2:
[0904] The user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. through the application terminal. This process is handled by the terminal. The conditions manually entered by the user are used as input, and the conditions are sent as output to the server, where they are processed.
[0905] Step 3:
[0906] The server retrieves the latest food data from the database and passes it to the generation AI along with the user's desired conditions. This process is handled by the server. The food data in the database and the user's conditions are used as input, and the generation AI generates multiple menus and their costs as output.
[0907] Step 4:
[0908] The server compares the multiple menus and their costs obtained from the generation AI with the user's desired conditions and selects the optimal menu. This process is handled by the server. The generated menu information is used as input, and the optimal menu and its detailed information are obtained as output.
[0909] Step 5:
[0910] The server sends the details of the best meal plan and where to buy it to the terminal and provides it to the user. This process is performed by the server and the terminal in cooperation. The best meal plan information is used as input, and the information is displayed on the user's terminal as output.
[0911] Step 6:
[0912] The user goes to the physical store and buys food based on the shopping list displayed on the device. This process is handled by the user. The shopping list displayed on the device is used as input, and the actual purchased food is obtained as output.
[0913] 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.
[0914] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that recognizes the user's emotions and adjusts menus based on those emotions. Below, we will create a program for this system and explain the program's processing in natural language.
[0915] Data collection
[0916] The server periodically obtains food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[0917] Entering User Conditions
[0918] On the device, users input their desired criteria, such as budget, specific ingredients, ingredients they want to exclude, etc. This data is sent to the server in real time.
[0919] Introducing the Emotion Engine
[0920] The emotion engine analyzes the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether they are relaxed or stressed. The analyzed emotional data is sent to the server.
[0921] Automatic menu generation
[0922] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to cook and relaxing.
[0923] Selection of the optimal menu
[0924] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0925] Providing results
[0926] The server then sends the user the optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[0927] Specific examples
[0928] For example, if a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server.
[0929] The server provides the AI with the latest food data, which then generates the following menu:
[0930] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[0931] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[0932] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[0933] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and simultaneously provides detailed information on purchasing carrots at store A and pork at store B.
[0934] This allows users to shop efficiently and based on the optimal menu according to their emotional state, enabling them to purchase economically while reducing stress. The system responds to fluctuations in food prices and provides flexible menu adjustments according to the user's emotions, greatly streamlining the shopping process.
[0935] The processing flow will be explained below.
[0936] Step 1:
[0937] The server periodically retrieves food data from multiple nearby stores via API. This food data includes information on price, stock, and quality. The data is received in JSON format, parsed, and stored in a database.
[0938] Step 2:
[0939] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. This input information is immediately sent to the server when the send button is pressed.
[0940] Step 3:
[0941] The server receives the user's input conditions and retrieves the latest food data from the database.
[0942] Step 4:
[0943] The emotion engine analyzes the user's emotional state in real time. It uses technologies such as facial recognition, voice tone analysis, and text analysis to determine the user's current emotion. This emotion data is also sent to the server.
[0944] Step 5:
[0945] The server passes the emotion data from the emotion engine, along with the user's input conditions and food data, to the generation AI. The generation AI then automatically generates multiple menus based on this data. For example, if the user is feeling stressed, it will prioritize creating menus that are easy to prepare and have a soothing effect.
[0946] Step 6:
[0947] The server compiles the multiple menu options and their costs returned by the AI generator. It evaluates whether each option meets the user's desired criteria and selects the most suitable option. This evaluation includes whether the option fits within the user's budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0948] Step 7:
[0949] The server generates detailed information about the optimal meal plan and where to purchase it, including specific instructions on which stores to purchase which ingredients most efficiently.
[0950] Step 8:
[0951] The server sends this information to the user, who then uses their device to check the optimal menu and its purchasing information.
[0952] Step 9:
[0953] Using the information provided on the device, users can shop efficiently and economically, reducing stress and enabling them to create the perfect meal plan.
[0954] Example 2
[0955] 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."
[0956] Conventional shopping support systems often provide menus based solely on the user's preferences, without taking into account the user's emotional state. This has led to problems such as being unable to suggest menus that help users relax in today's busy and stressful society. Another issue is that these systems are unable to flexibly respond to fluctuations in food prices, making economical shopping difficult.
[0957] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0958] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions and emotional data using a generation AI, a means for selecting an optimal menu from the menus generated based on the user's desired conditions and emotional data, and a means for providing the user with details of the selected menu and its purchasing location. This allows for optimal menu suggestions based on the user's emotional state, enabling efficient and relaxing shopping even in busy lives. It also enables economical shopping based on the latest food data.
[0959] "Food data" is data that includes information such as price, inventory, and quality collected from multiple nearby stores.
[0960] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus and their costs based on collected food data and the user's desired conditions and emotional data.
[0961] "User's desired conditions" include conditions such as the budget the user considers when shopping, specific ingredients, and ingredients the user wants to exclude.
[0962] "Emotional data" refers to data about a user's emotional state that is analyzed from the user's voice, text, facial expressions, etc.
[0963] The "optimal menu" is the menu that best meets the evaluation criteria from among multiple menus automatically generated by the generation AI based on the user's desired conditions and emotional data.
[0964] "Purchase details" is specific information about a particular store or sales location where ingredients for the selected optimal menu can be purchased.
[0965] The term "means" refers to a method, device, system, etc. for performing a specific function or process.
[0966] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that has the function of recognizing the user's emotions and adjusting menus based on them.
[0967] Specific forms of data collection
[0968] The server periodically obtains food data from multiple nearby stores via API. This food data includes information such as price, stock availability, and quality. The server receives this data in JSON format, analyzes it, and then stores it in a database. Specifically, the server uses Python to send API requests, analyzes the responses, and stores them in an SQL database.
[0969] Specific form of user condition input
[0970] Users access a dedicated application using a device such as a smartphone or PC. The application has an input form where users can specify desired conditions such as budget, specific ingredients, and ingredients to exclude. These desired conditions are immediately sent to the server. Consider an example where a user enters the conditions "budget under 2000 yen, use carrots, and exclude onions." This input data is sent to the server via an HTTP POST request.
[0971] Specific form of emotional engine implementation
[0972] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this input data to determine the user's emotional state. For example, if the user's voice is high-pitched or their face is grim, it is interpreted as indicating stress. This data is sent to a server, where the Google Speech-to-Text API is used for voice analysis and the Facial Emotion Recognition SDK is used for facial expression analysis.
[0973] Specific form of automatic menu generation
[0974] The server retrieves the latest food data collected from the database and sends it to the generative AI model along with the user's input conditions and emotional data. The generative AI model generates multiple menus based on this data. Specifically, the generative AI model uses GPT-4, and generates menus such as "stir-fried carrots," "braised carrots and pork," and "carrot salad and grilled chicken" based on the user's conditions and emotional data.
[0975] Specific form of optimal menu selection
[0976] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's desired conditions and emotional state. For example, "braised carrots and pork" is selected because it is easy to prepare and reduces stress. Selection includes evaluation criteria such as whether the product's price is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[0977] Specific form of providing results
[0978] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. For example, specific instructions such as "Purchase carrots from store A and pork from store B" are provided. This allows the user to efficiently select the optimal menu according to their emotional state.
[0979] Examples of prompt statements
[0980] Here is an example of a specific prompt sentence to input into the generative AI model.
[0981] Generate the best meal plan based on the user's preferences and emotional state.
[0982] Budget: Under 2,000 yen
[0983] Ingredients: Carrots
[0984] Excluded ingredients: onions
[0985] Emotional state: Feeling stressed
[0986] By inputting this prompt into the model, the optimal menu is generated based on the user's conditions and emotional state.
[0987] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0988] Step 1: Data collection
[0989] The server retrieves food data from multiple nearby stores via API. The server sends API requests periodically every day and receives information such as price, stock, and quality in JSON format. The received data is analyzed using a Python script and then stored in an SQL database. Specifically, the server sends the following API requests and analyzes the responses:
[0990] Input: API request
[0991] Output: Parsed food data (price, availability, quality)
[0992] Step 2: Entering User Conditions
[0993] Users access a dedicated application from their smartphone or PC and enter desired conditions such as budget, specific ingredients, and ingredients to exclude. By entering specific conditions through an input form, an HTTP POST request is sent to the server. For example, conditions such as "budget under 2,000 yen, use carrots, exclude onions" can be entered.
[0994] Input: User's desired conditions (budget, specific ingredients, excluded ingredients)
[0995] Output: HTTP POST request to the server
[0996] Step 3: Obtaining emotion data
[0997] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this data to determine the user's emotional state. For example, the Google Speech-to-Text API is used to analyze voice data, and facial expressions are analyzed using facial recognition software. The analysis results are then sent to a server.
[0998] Input: Voice data, facial expression data
[0999] Output: Parsed emotion data
[1000] Step 4: Automatic menu generation
[1001] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generative AI model. The generative AI model (GPT-4) automatically generates multiple menus based on this data. Specifically, it sends the following prompt to the AI model:
[1002] Input: Food data, user preferences, emotional data
[1003] Output: Multiple menu suggestions and their costs
[1004] Step 5: Choose the best menu
[1005] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's preferences and emotional state. This process includes multiple evaluation criteria, such as whether the menu fits within the user's budget, whether it uses specified ingredients, and whether it is easy to prepare.
[1006] Input: Multiple menus provided by a generative AI model
[1007] Output: Selection of optimal menu
[1008] Step 6: Delivering results
[1009] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. Specific purchasing instructions are included, allowing the user to shop efficiently. For example, specific instructions such as "purchase carrots from store A and pork from store B" are provided.
[1010] Input: Information on the best menu and where to buy
[1011] Output: Detailed instructions to the user
[1012] This series of processes allows the user to efficiently obtain the optimal menu according to their emotional state.
[1013] (Application example 2)
[1014] 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."
[1015] In an era of rising prices, it is becoming increasingly difficult for users to shop efficiently within their budget. It is also difficult to choose an appropriate meal plan that takes into account daily stress and emotional state. Therefore, users need a way to shop efficiently while reducing stress and select an appropriate meal plan while staying within their budget.
[1016] 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.
[1017] In this invention, the server includes: means for collecting food data from multiple nearby stores; means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI; means for selecting an optimal menu from the menus generated based on the user's desired conditions; means for generating a menu based on the analyzed emotional data, including an emotion engine that analyzes the user's emotional state in real time; and means for providing the user with details of the selected menu and where to purchase it. This enables automatic generation of menus based on the user's emotions, enabling efficient shopping and the selection of an appropriate menu within budget while reducing stress, even in times of rising prices.
[1018] "Food data" is a collection of food ingredient information, including price, availability, and quality.
[1019] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus based on collected data and the user's desired conditions.
[1020] "User's desired conditions" are conditions regarding shopping and menus that the user enters, such as budget, specific ingredients, ingredients to exclude, etc.
[1021] The "emotion engine" is a technology that analyzes the user's emotional state in real time and outputs it as emotional data.
[1022] A "menu" is a combination of dishes suggested based on specific conditions and data.
[1023] "Purchase details" are information about the nearest store to purchase a particular food or ingredient.
[1024] A "server" is a computer system that collects, analyzes, stores, and provides information to users.
[1025] "Real-time analysis" is a processing technology that analyzes data instantly the moment the user enters it.
[1026] "Emotional data" is data that expresses a user's emotional state as numerical values or categories.
[1027] This invention provides a smartphone application that streamlines shopping in an era of rising prices, and in particular, adjusts menus by recognizing emotions. The application is mainly composed of three elements: a server, a device, and the user.
[1028] Data collection
[1029] The server periodically retrieves food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[1030] Entering User Conditions
[1031] The user uses a terminal to input desired conditions such as budget, specific ingredients, ingredients to be excluded, etc. This data is sent to the server in real time.
[1032] Introducing the Emotion Engine
[1033] The server uses an emotion engine to analyze the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether the user is relaxed or stressed. The analyzed emotion data is sent to the server.
[1034] Automatic menu generation
[1035] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. If the user is feeling particularly stressed, it will prioritize menus that are easy to prepare and relaxing.
[1036] Selection of the optimal menu
[1037] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[1038] Providing results
[1039] The server then sends the user the optimal meal plan, along with details and purchasing information, including specific instructions on which ingredients to buy from which store.
[1040] Specific examples
[1041] For example, if a user inputs the conditions "budget under 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server. The server then provides the latest food data to the generation AI, which then generates the following menu:
[1042] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[1043] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[1044] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[1045] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and provides detailed information on purchasing carrots from store A and pork from store B.
[1046] Hardware and software used
[1047] Cloud server: A computer system for collecting, analyzing, storing, and providing information to users.
[1048] Smartphone app: Allows users to enter their preferences, receives sentiment analysis results, and suggests menus.
[1049] Sentiment analysis software: An engine for analyzing the user's emotional state. It uses Python libraries (e.g., nltk, transformers).
[1050] Example prompts to input to a generative AI model
[1051] "User is stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2000 yen."
[1052] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1053] Step 1:
[1054] The server collects food data from multiple nearby stores. Specifically, it periodically obtains food data (price, stock, quality, etc.) from each store via API and receives this data in JSON format. The received data is analyzed and then stored in a database. The input is food data from the API, and the output is the analyzed data stored in the database.
[1055] Step 2:
[1056] The user uses a terminal to input desired conditions such as budget, specific ingredients, and ingredients to exclude. This input data is sent to the server in real time. The input is the user's desired conditions, and the output is the desired condition data sent to the server.
[1057] Step 3:
[1058] The server uses an emotion engine to analyze the user's emotions in real time from their voice, text, facial expressions, etc. The analyzed emotion data is sent to the server, which determines whether the user is relaxed or stressed. The input is emotion data such as voice, text, and facial expressions, and the output is analyzed emotional state data.
[1059] Step 4:
[1060] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to prepare and relaxing. The input is food data, desired conditions, and emotional data, and the output is the multiple generated menu plans.
[1061] Step 5:
[1062] The server compiles the multiple menu options and their costs obtained from the generation AI, and selects the optimal menu based on the user's desired conditions and emotional state. The selection includes evaluation criteria such as whether it is within budget, whether it contains specific ingredients, and whether it is easy to prepare. The input is the multiple generated menu options, desired conditions, and emotional data, and the output is the selected optimal menu.
[1063] Step 6:
[1064] The server sends the selected optimal menu, its details, and purchasing location information to the user, including specific instructions on which stores to purchase which ingredients. The input is the selected optimal menu, and the output is the menu details and purchasing location information provided to the user.
[1065] Specific examples
[1066] An example of a prompt sentence provided to the AI is, "The user is feeling stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2,000 yen." Based on this prompt, the AI will suggest the optimal menu that meets specific conditions from the generated menu plans. Specific operations include retrieving data via API, filtering based on budget and conditions, and using sentiment analysis results.
[1067] 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.
[1068] 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.
[1069] 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.
[1070] [Fourth embodiment]
[1071] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1072] 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.
[1073] 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).
[1074] 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.
[1075] 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.
[1076] 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).
[1077] 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.
[1078] 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.
[1079] 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.
[1080] 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.
[1081] 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.
[1082] 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.
[1083] 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."
[1084] This invention is a system for effective and efficient shopping in an era of rising prices. Below, we will create a program for this system and explain the program's processing in natural language.
[1085] Data collection
[1086] Server: First, food data (price, inventory, quality, etc.) is periodically collected from multiple nearby stores using an API. The collected data is received in JSON format, analyzed, and then stored in a database.
[1087] Entering User Conditions
[1088] Terminal: The user inputs their desired conditions such as budget, specific ingredients, and ingredient exclusion list through the application. These conditions are sent to the server.
[1089] Automatic menu generation
[1090] Server: The server retrieves the latest food data from the database and passes the collected data and the user's desired conditions as input to the generation AI. The generation AI is used to automatically generate different menu patterns. For example, this includes menus using ingredients available at the same store, and menus that combine ingredients from multiple stores. For each pattern, several menu variations and their costs are calculated.
[1091] Selection of the optimal menu
[1092] Server: Compares the generated menus and their costs with the user's requirements and selects the best menu that best meets the user's requirements. For example, this selection will target menus that are within the budget, contain specific ingredients, and are not on an exclusion list.
[1093] Providing results
[1094] Server: Provides the user with the optimal menu selected for them, its details, and information on where to buy ingredients, such as which store is most efficient. This allows the user to shop according to the optimal menu they have decided in advance.
[1095] Specific examples
[1096] For example, consider the case where a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions." These conditions are sent to the server.
[1097] The server provides the AI with the latest food data, which then generates a menu like this:
[1098] 1. Store A only: Stir-fried carrots - 1,500 yen
[1099] 2. Store B only: Carrot and pork stew - 1,800 yen
[1100] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[1101] The server evaluates these menus based on the user's desired criteria, selects the most suitable menu (e.g., boiled carrots and pork), and provides the user with information detailing where to purchase it (e.g., buy carrots from store A and pork from store B).
[1102] This allows users to purchase ingredients efficiently and economically, eliminating waste. The system makes it easy to find the perfect meal plan while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[1103] The processing flow will be explained below.
[1104] Step 1:
[1105] The server uses an API to obtain food data from multiple nearby stores, including price, inventory, and quality. The server receives this data in JSON format, analyzes it, and stores it in a database.
[1106] Step 2:
[1107] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. The input conditions are sent from the terminal to the server.
[1108] Step 3:
[1109] The server retrieves the latest food data from the database, including all collected price, availability, quality, etc. data.
[1110] Step 4:
[1111] The server sends food data and the user's desired conditions to the generation AI, which then automatically generates multiple menu options based on this data. For example, this could include a menu using ingredients available at the same restaurant or a menu combining ingredients from multiple restaurants.
[1112] Step 5:
[1113] The server compiles the multiple menus and their respective costs received from the generation AI and evaluates whether each menu meets the user's desired criteria. This evaluation includes whether it is within the budget, whether it includes specific ingredients, whether it includes ingredients that the user wants to exclude, etc.
[1114] Step 6:
[1115] The server selects the menu that best meets the user's requirements, such as the menu that is the cheapest within the user's budget and includes the desired ingredients.
[1116] Step 7:
[1117] The server then sends the user the selected optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[1118] Step 8:
[1119] At the terminal, the user confirms the information provided, which allows them to shop efficiently and economically.
[1120] This allows the entire process to proceed smoothly, allowing users to shop based on the optimal menu without waste.
[1121] Example 1
[1122] 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."
[1123] In an era of rising prices, it is becoming increasingly difficult for consumers to shop effectively and efficiently. In particular, there is a lack of means to purchase necessary ingredients within a limited budget and avoid waste. Furthermore, efficiently collecting and analyzing food data from multiple stores and generating menus based on the user's preferences is a technical challenge. Furthermore, selecting the optimal items from the generated menus and providing the user with information on which stores to actually purchase them from is also difficult. To solve these challenges, an efficient and effective shopping support system is required.
[1124] 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.
[1125] In this invention, the server includes means for collecting food data from multiple nearby locations, means for analyzing the collected food data and saving it in a database, means for transmitting the budget, specific ingredients, and ingredients to be excluded input by the user to the server, means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, means for comparing the generated multiple menus and their costs with the user's desired conditions and selecting the optimal menu, and means for providing the user with details of the selected menu and where to purchase it, thereby enabling the user to efficiently and effectively make optimal shopping purchases.
[1126] "Food data" is data that includes information such as price, inventory, and quality.
[1127] "Analysis" is the process of organizing collected information so that it can be stored or displayed in a particular format.
[1128] A "database" is an electronic storage system for the effective management and retrieval of organized information.
[1129] "Generative AI" is an artificial intelligence model that automatically generates new information (in this case, a menu) based on specific input data, for example, using a natural language processing model.
[1130] "User's desired conditions" are conditions such as a budget entered by the user, ingredients that the user wants to use, and ingredients that the user wants to exclude.
[1131] "Automatic generation" is the process of mechanically creating required information based on specific input data using specific algorithms or models.
[1132] "Selection" is the process of choosing the best option from multiple options.
[1133] "Details of purchase location" is information indicating which product should be purchased at which location.
[1134] A "menu" is a specific cooking plan or menu.
[1135] The present invention is a system for enabling consumers to shop efficiently and effectively in an era of rising prices. An embodiment of this system will be described in detail below.
[1136] Data collection
[1137] server:
[1138] The server collects food data from multiple nearby locations. This collection is done using APIs, such as the Yelp API or Google Places API, which periodically retrieve data such as price, stock, and quality. The server receives this data in JSON format and parses it using a dedicated parser. The parsed data is then stored in a database (e.g., PostgreSQL).
[1139] Entering User Conditions
[1140] Device:
[1141] Users input their desired conditions through a smartphone or PC application (for example, an application using "React Native"), such as budget, specific ingredients, excluded ingredients, etc., in a form format, and a "Submit" button is provided to send the information to the server.
[1142] Automatic menu generation
[1143] server:
[1144] The server retrieves the latest food data from the database, then generates a prompt that includes the collected data and the user's desired conditions, and passes this prompt to a generative AI model (e.g., GPT-4). The generative AI then automatically generates multiple menus and their costs based on the input data.
[1145] example:
[1146] User conditions:
[1147] Budget: Under 2000 yen
[1148] Ingredients used: Carrots
[1149] Ingredients to exclude: onion
[1150] Latest Food Data:
[1151] Store A: Carrots 100 yen, pork 400 yen, chicken 300 yen, stir-fry ingredients 200 yen
[1152] Store B: Carrots 150 yen, pork 380 yen, chicken 320 yen, simmered ingredients 250 yen
[1153] Based on this information, please generate a menu that meets the above conditions.
[1154] Selection of the optimal menu
[1155] server:
[1156] After the generative AI model generates multiple meal plans and their costs, the server compares these plans with the user's desired criteria and selects the best plan that fits the user's budget and includes specific ingredients but does not exclude any excluded ingredients. This selection process uses an efficient algorithm.
[1157] Providing results
[1158] server:
[1159] After the optimal menu is selected, the server generates details and information on where to purchase each ingredient most efficiently. This information is compiled in HTML or JSON format and sent to the user's device. The user can then check these details on the application and shop efficiently.
[1160] The system allows users to find the best meal plan within their budget based on current market prices and availability, and also allows for price comparisons between stores and efficient shopping plans, resulting in less wasteful shopping.
[1161] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1162] Step 1: Data collection
[1163] server:
[1164] Input: API requests from multiple nearby locations
[1165] Specific behavior:
[1166] The server periodically calls the API and retrieves food data such as price, stock, and quality in JSON format.
[1167] For example, sending an HTTP request to an API endpoint and receiving a response.
[1168] Data processing:
[1169] The received JSON data is analyzed using a dedicated parser to extract the necessary items (price, inventory, quality).
[1170] Output: Save the parsed food data in a database.
[1171] Step 2: Entering User Conditions
[1172] Device:
[1173] Input: budget, specific ingredients, excluded ingredients, and other desired conditions
[1174] Specific behavior:
[1175] The user enters their desired requirements into the application's input form.
[1176] Tapping the "Send" button will send the conditions to the server.
[1177] Data processing:
[1178] The entered desired conditions are packaged in JSON format.
[1179] Output: The user's preferences are sent to the server.
[1180] Step 3: Data Acquisition and Prompt Generation
[1181] server:
[1182] Input: User's desired conditions and the latest food data from the database
[1183] Specific behavior:
[1184] The server retrieves food data from the database.
[1185] Prompts are generated based on the user's desired conditions and the acquired food data.
[1186] Data processing:
[1187] Integrate desired criteria and food data to create text prompts.
[1188] Output: Pass the generated prompt to the generative AI model.
[1189] Step 4: Automatic menu generation
[1190] server:
[1191] Input: Generated prompt
[1192] Specific behavior:
[1193] The server inputs prompts into the AI model (e.g., "GPT-4").
[1194] AI generates multiple menus and their costs.
[1195] Data processing:
[1196] Generative AI automatically generates multiple menu plans and their costs based on prompts.
[1197] Output: The generated menu items and their costs are returned to the server.
[1198] Step 5: Choose the best menu
[1199] server:
[1200] Input: Generated multiple menus and their costs, user's desired conditions
[1201] Specific behavior:
[1202] The server matches the generated menu and costs with the user's requirements.
[1203] To select the optimal menu, evaluations are conducted based on cost and desired conditions.
[1204] Data processing:
[1205] The optimal menu is selected from the comparison results.
[1206] Output: Selected optimal menu and related data.
[1207] Step 6: Delivering results
[1208] server:
[1209] Input: Selected optimal menu and its details
[1210] Specific behavior:
[1211] The server creates the selected menu details (which ingredients to purchase at which locations).
[1212] Construct these details in HTML or JSON format.
[1213] Output: The generated detailed information is delivered to the user's device.
[1214] Through this process, users can efficiently and effectively find out the optimal menu and where to purchase, resulting in less wasteful shopping.
[1215] (Application example 1)
[1216] 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."
[1217] Rising prices have made it difficult to shop efficiently and economically. In particular, selecting the optimal menu based on the user's desired conditions while taking into account price and inventory information from multiple stores is time-consuming. Furthermore, there is insufficient information provided to enable efficient shopping at physical stores based on the selected menu.
[1218] 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.
[1219] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI, and a means for generating the most cost-effective menu by combining different stores based on the day's special offers and store inventory status, allowing users to obtain the information they need to shop efficiently and economically without hassle.
[1220] "Multiple nearby stores" refers to multiple retail stores and supermarkets within an accessible range from the user's place of residence or current location.
[1221] "Food data" refers to information such as food prices, inventory, and quality collected from stores.
[1222] "Generative AI" is an artificial intelligence technology that generates new information and results based on input data and conditions.
[1223] The "user's desired conditions" are conditions that the user indicates such as budget, specific ingredients, and ingredients that the user wants to exclude.
[1224] "Inter-store combination" is the process of selecting the necessary ingredients from multiple stores to create the most cost-effective menu.
[1225] The "optimal menu" is a combination of meals that best meets the user's desired conditions and can be provided within their budget.
[1226] "Purchase location details" is information such as the name and address of the store where the user purchases the specified ingredients.
[1227] A "shopping list" is a list of the food items and quantities that a user needs to purchase at a physical store.
[1228] A "mobile device" is a portable electronic device, such as a smartphone, that is capable of connecting to the Internet.
[1229] This invention is a system for supporting users in shopping efficiently and economically in the face of rising prices. This system includes the following programs and processing steps.
[1230] System configuration
[1231] The system includes the following main modules:
[1232] Store information collection module: Collects food data (price, inventory, quality) from multiple nearby stores using APIs.
[1233] User input module: The user inputs desired conditions such as budget, specific ingredients, and ingredients to exclude.
[1234] Database: Stores collected store information and user input information.
[1235] Generative AI module: Automatically generates different menu patterns using collected data and the user's desired conditions.
[1236] Menu selection module: Select the best menu from multiple options.
[1237] Results module: Provides users with optimal meal plans and details on where to buy, and displays a shopping list for the physical store on their mobile device.
[1238] Hardware and software used
[1239] Server: Data collection, analysis, storage, and execution of the AI generation are performed on the server. A typical technology is to use a library or framework (e.g., Flask) for handling JSON format data.
[1240] Mobile devices: Users can use the system on mobile electronic devices such as smartphones to easily access, input, and confirm data.
[1241] Generative AI: Generative AI models are used to generate optimal menus based on user criteria. Examples include various machine learning libraries (e.g., TensorFlow).
[1242] Prompt Sentence Examples
[1243] For example, if a user enters the criteria "budget under 2000 yen, use carrots, exclude onions," the prompt text would be:
[1244] "Budget is under 2000 yen, use carrots, exclude onions"
[1245] By inputting the data collected based on these conditions and the user's desired conditions into the AI generator, the following menu is generated:
[1246] 1. Store A only: Stir-fried carrots - 1,500 yen
[1247] 2. Store B only: Carrot and pork stew - 1,800 yen
[1248] 3. Combination of Store A and Store B: Carrot salad and grilled chicken - 1,950 yen
[1249] The system then selects the most suitable menu from these and provides it to the user. For example, by selecting "braised carrots and pork" and providing details of where to purchase it, the user can shop efficiently and economically. This system makes it easy to find the best menu while adapting to fluctuations in food prices, greatly streamlining the shopping process.
[1250] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1251] Step 1:
[1252] Food data (price, stock, quality) is collected from multiple nearby stores using API. This process is handled by the server. The API URL of each store is used as input, and the resulting food data is received in JSON format as output. The server analyzes the received data and stores it in a database.
[1253] Step 2:
[1254] The user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. through the application terminal. This process is handled by the terminal. The conditions manually entered by the user are used as input, and the conditions are sent as output to the server, where they are processed.
[1255] Step 3:
[1256] The server retrieves the latest food data from the database and passes it to the generation AI along with the user's desired conditions. This process is handled by the server. The food data in the database and the user's conditions are used as input, and the generation AI generates multiple menus and their costs as output.
[1257] Step 4:
[1258] The server compares the multiple menus and their costs obtained from the generation AI with the user's desired conditions and selects the optimal menu. This process is handled by the server. The generated menu information is used as input, and the optimal menu and its detailed information are obtained as output.
[1259] Step 5:
[1260] The server sends the details of the best meal plan and where to buy it to the terminal and provides it to the user. This process is performed by the server and the terminal in cooperation. The best meal plan information is used as input, and the information is displayed on the user's terminal as output.
[1261] Step 6:
[1262] The user goes to the physical store and buys food based on the shopping list displayed on the device. This process is handled by the user. The shopping list displayed on the device is used as input, and the actual purchased food is obtained as output.
[1263] 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.
[1264] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that recognizes the user's emotions and adjusts menus based on those emotions. Below, we will create a program for this system and explain the program's processing in natural language.
[1265] Data collection
[1266] The server periodically obtains food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[1267] Entering User Conditions
[1268] On the device, users input their desired criteria, such as budget, specific ingredients, ingredients they want to exclude, etc. This data is sent to the server in real time.
[1269] Introducing the Emotion Engine
[1270] The emotion engine analyzes the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether they are relaxed or stressed. The analyzed emotional data is sent to the server.
[1271] Automatic menu generation
[1272] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to cook and relaxing.
[1273] Selection of the optimal menu
[1274] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[1275] Providing results
[1276] The server then sends the user the optimal meal plan, its details, and purchasing location information, including specific instructions on which stores to purchase which ingredients.
[1277] Specific examples
[1278] For example, if a user inputs the conditions "budget within 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server.
[1279] The server provides the AI with the latest food data, which then generates the following menu:
[1280] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[1281] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[1282] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[1283] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and simultaneously provides detailed information on purchasing carrots at store A and pork at store B.
[1284] This allows users to shop efficiently and based on the optimal menu according to their emotional state, enabling them to purchase economically while reducing stress. The system responds to fluctuations in food prices and provides flexible menu adjustments according to the user's emotions, greatly streamlining the shopping process.
[1285] The processing flow will be explained below.
[1286] Step 1:
[1287] The server periodically retrieves food data from multiple nearby stores via API. This food data includes information on price, stock, and quality. The data is received in JSON format, parsed, and stored in a database.
[1288] Step 2:
[1289] On the terminal, the user inputs desired conditions such as budget, specific ingredients, ingredients to exclude, etc. This input information is immediately sent to the server when the send button is pressed.
[1290] Step 3:
[1291] The server receives the user's input conditions and retrieves the latest food data from the database.
[1292] Step 4:
[1293] The emotion engine analyzes the user's emotional state in real time. It uses technologies such as facial recognition, voice tone analysis, and text analysis to determine the user's current emotion. This emotion data is also sent to the server.
[1294] Step 5:
[1295] The server passes the emotion data from the emotion engine, along with the user's input conditions and food data, to the generation AI. The generation AI then automatically generates multiple menus based on this data. For example, if the user is feeling stressed, it will prioritize creating menus that are easy to prepare and have a soothing effect.
[1296] Step 6:
[1297] The server compiles the multiple menu options and their costs returned by the AI generator. It evaluates whether each option meets the user's desired criteria and selects the most suitable option. This evaluation includes whether the option fits within the user's budget, whether it contains specific ingredients, and whether it is easy to prepare.
[1298] Step 7:
[1299] The server generates detailed information about the optimal meal plan and where to purchase it, including specific instructions on which stores to purchase which ingredients most efficiently.
[1300] Step 8:
[1301] The server sends this information to the user, who then uses their device to check the optimal menu and its purchasing information.
[1302] Step 9:
[1303] Using the information provided on the device, users can shop efficiently and economically, reducing stress and enabling them to create the perfect meal plan.
[1304] Example 2
[1305] 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."
[1306] Conventional shopping support systems often provide menus based solely on the user's preferences, without taking into account the user's emotional state. This has led to problems such as being unable to suggest menus that help users relax in today's busy and stressful society. Another issue is that these systems are unable to flexibly respond to fluctuations in food prices, making economical shopping difficult.
[1307] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1308] In this invention, the server includes a means for collecting food data from multiple nearby stores, a means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions and emotional data using a generation AI, a means for selecting an optimal menu from the menus generated based on the user's desired conditions and emotional data, and a means for providing the user with details of the selected menu and its purchasing location. This allows for optimal menu suggestions based on the user's emotional state, enabling efficient and relaxing shopping even in busy lives. It also enables economical shopping based on the latest food data.
[1309] "Food data" is data that includes information such as price, inventory, and quality collected from multiple nearby stores.
[1310] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus and their costs based on collected food data and the user's desired conditions and emotional data.
[1311] "User's desired conditions" include conditions such as the budget the user considers when shopping, specific ingredients, and ingredients the user wants to exclude.
[1312] "Emotional data" refers to data about a user's emotional state that is analyzed from the user's voice, text, facial expressions, etc.
[1313] The "optimal menu" is the menu that best meets the evaluation criteria from among multiple menus automatically generated by the generation AI based on the user's desired conditions and emotional data.
[1314] "Purchase details" is specific information about a particular store or sales location where ingredients for the selected optimal menu can be purchased.
[1315] The term "means" refers to a method, device, system, etc. for performing a specific function or process.
[1316] This invention relates to a system that makes shopping more efficient for users in an era of rising prices, and in particular to a system that has the function of recognizing the user's emotions and adjusting menus based on them.
[1317] Specific forms of data collection
[1318] The server periodically obtains food data from multiple nearby stores via API. This food data includes information such as price, stock availability, and quality. The server receives this data in JSON format, analyzes it, and then stores it in a database. Specifically, the server uses Python to send API requests, analyzes the responses, and stores them in an SQL database.
[1319] Specific form of user condition input
[1320] Users access a dedicated application using a device such as a smartphone or PC. The application has an input form where users can specify desired conditions such as budget, specific ingredients, and ingredients to exclude. These desired conditions are immediately sent to the server. Consider an example where a user enters the conditions "budget under 2000 yen, use carrots, and exclude onions." This input data is sent to the server via an HTTP POST request.
[1321] Specific form of emotional engine implementation
[1322] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this input data to determine the user's emotional state. For example, if the user's voice is high-pitched or their face is grim, it is interpreted as indicating stress. This data is sent to a server, where the Google Speech-to-Text API is used for voice analysis and the Facial Emotion Recognition SDK is used for facial expression analysis.
[1323] Specific form of automatic menu generation
[1324] The server retrieves the latest food data collected from the database and sends it to the generative AI model along with the user's input conditions and emotional data. The generative AI model generates multiple menus based on this data. Specifically, the generative AI model uses GPT-4, and generates menus such as "stir-fried carrots," "braised carrots and pork," and "carrot salad and grilled chicken" based on the user's conditions and emotional data.
[1325] Specific form of optimal menu selection
[1326] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's desired conditions and emotional state. For example, "braised carrots and pork" is selected because it is easy to prepare and reduces stress. Selection includes evaluation criteria such as whether the product's price is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[1327] Specific form of providing results
[1328] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. For example, specific instructions such as "Purchase carrots from store A and pork from store B" are provided. This allows the user to efficiently select the optimal menu according to their emotional state.
[1329] Examples of prompt statements
[1330] Here is an example of a specific prompt sentence to input into the generative AI model.
[1331] Generate the best meal plan based on the user's preferences and emotional state.
[1332] Budget: Under 2,000 yen
[1333] Ingredients: Carrots
[1334] Excluded ingredients: onions
[1335] Emotional state: Feeling stressed
[1336] By inputting this prompt into the model, the optimal menu is generated based on the user's conditions and emotional state.
[1337] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1338] Step 1: Data collection
[1339] The server retrieves food data from multiple nearby stores via API. The server sends API requests periodically every day and receives information such as price, stock, and quality in JSON format. The received data is analyzed using a Python script and then stored in an SQL database. Specifically, the server sends the following API requests and analyzes the responses:
[1340] Input: API request
[1341] Output: Parsed food data (price, availability, quality)
[1342] Step 2: Entering User Conditions
[1343] Users access a dedicated application from their smartphone or PC and enter desired conditions such as budget, specific ingredients, and ingredients to exclude. By entering specific conditions through an input form, an HTTP POST request is sent to the server. For example, conditions such as "budget under 2,000 yen, use carrots, exclude onions" can be entered.
[1344] Input: User's desired conditions (budget, specific ingredients, excluded ingredients)
[1345] Output: HTTP POST request to the server
[1346] Step 3: Obtaining emotion data
[1347] The device's built-in camera and microphone are used to capture the user's voice and facial expressions in real time. The emotion engine analyzes this data to determine the user's emotional state. For example, the Google Speech-to-Text API is used to analyze voice data, and facial expressions are analyzed using facial recognition software. The analysis results are then sent to a server.
[1348] Input: Voice data, facial expression data
[1349] Output: Parsed emotion data
[1350] Step 4: Automatic menu generation
[1351] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generative AI model. The generative AI model (GPT-4) automatically generates multiple menus based on this data. Specifically, it sends the following prompt to the AI model:
[1352] Input: Food data, user preferences, emotional data
[1353] Output: Multiple menu suggestions and their costs
[1354] Step 5: Choose the best menu
[1355] The server aggregates multiple menu options and their costs obtained from the generative AI model and selects the optimal menu based on the user's preferences and emotional state. This process includes multiple evaluation criteria, such as whether the menu fits within the user's budget, whether it uses specified ingredients, and whether it is easy to prepare.
[1356] Input: Multiple menus provided by a generative AI model
[1357] Output: Selection of optimal menu
[1358] Step 6: Delivering results
[1359] The server sends the selected optimal menu, its details, and information on where to purchase it to the user. Specific purchasing instructions are included, allowing the user to shop efficiently. For example, specific instructions such as "purchase carrots from store A and pork from store B" are provided.
[1360] Input: Information on the best menu and where to buy
[1361] Output: Detailed instructions to the user
[1362] This series of processes allows the user to efficiently obtain the optimal menu according to their emotional state.
[1363] (Application example 2)
[1364] 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."
[1365] In an era of rising prices, it is becoming increasingly difficult for users to shop efficiently within their budget. It is also difficult to choose an appropriate meal plan that takes into account daily stress and emotional state. Therefore, users need a way to shop efficiently while reducing stress and select an appropriate meal plan while staying within their budget.
[1366] 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.
[1367] In this invention, the server includes: means for collecting food data from multiple nearby stores; means for automatically generating multiple menus and their costs based on the collected food data and the user's desired conditions using a generation AI; means for selecting an optimal menu from the menus generated based on the user's desired conditions; means for generating a menu based on the analyzed emotional data, including an emotion engine that analyzes the user's emotional state in real time; and means for providing the user with details of the selected menu and where to purchase it. This enables automatic generation of menus based on the user's emotions, enabling efficient shopping and the selection of an appropriate menu within budget while reducing stress, even in times of rising prices.
[1368] "Food data" is a collection of food ingredient information, including price, availability, and quality.
[1369] "Generative AI" is an artificial intelligence technology that automatically generates multiple menus based on collected data and the user's desired conditions.
[1370] "User's desired conditions" are conditions regarding shopping and menus that the user enters, such as budget, specific ingredients, ingredients to exclude, etc.
[1371] The "emotion engine" is a technology that analyzes the user's emotional state in real time and outputs it as emotional data.
[1372] A "menu" is a combination of dishes suggested based on specific conditions and data.
[1373] "Purchase details" are information about the nearest store to purchase a particular food or ingredient.
[1374] A "server" is a computer system that collects, analyzes, stores, and provides information to users.
[1375] "Real-time analysis" is a processing technology that analyzes data instantly the moment the user enters it.
[1376] "Emotional data" is data that expresses a user's emotional state as numerical values or categories.
[1377] This invention provides a smartphone application that streamlines shopping in an era of rising prices, and in particular, adjusts menus by recognizing emotions. The application is mainly composed of three elements: a server, a device, and the user.
[1378] Data collection
[1379] The server periodically retrieves food data from multiple nearby stores via API. This food data includes price, stock, quality, etc. The server receives this data in JSON format, analyzes it, and then stores it in a database.
[1380] Entering User Conditions
[1381] The user uses a terminal to input desired conditions such as budget, specific ingredients, ingredients to be excluded, etc. This data is sent to the server in real time.
[1382] Introducing the Emotion Engine
[1383] The server uses an emotion engine to analyze the user's emotional state in real time. The emotion engine reads emotions from the user's voice, text, facial expressions, etc., and determines whether the user is relaxed or stressed. The analyzed emotion data is sent to the server.
[1384] Automatic menu generation
[1385] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. If the user is feeling particularly stressed, it will prioritize menus that are easy to prepare and relaxing.
[1386] Selection of the optimal menu
[1387] The server aggregates multiple menu options and their costs obtained from the AI generator and selects the optimal menu based on the user's preferences and emotional state, including criteria such as whether the menu is within budget, whether it contains specific ingredients, and whether it is easy to prepare.
[1388] Providing results
[1389] The server then sends the user the optimal meal plan, along with details and purchasing information, including specific instructions on which ingredients to buy from which store.
[1390] Specific examples
[1391] For example, if a user inputs the conditions "budget under 2000 yen, use carrots, exclude onions," and the emotion engine detects that the user is feeling stressed, these conditions and emotion data are sent to the server. The server then provides the latest food data to the generation AI, which then generates the following menu:
[1392] 1. Store A only: Stir-fried carrots (easy to prepare) - 1,500 yen
[1393] 2. Store B only: Carrot and pork stew (easy to prepare) - 1,800 yen
[1394] 3. Combination of Store A and Store B: Carrot salad and grilled chicken (relaxing effect) - 1,950 yen
[1395] The server selects the optimal menu item, for example, boiled carrots and pork, based on the user's desired conditions and emotional state, and provides detailed information on purchasing carrots from store A and pork from store B.
[1396] Hardware and software used
[1397] Cloud server: A computer system for collecting, analyzing, storing, and providing information to users.
[1398] Smartphone app: Allows users to enter their preferences, receives sentiment analysis results, and suggests menus.
[1399] Sentiment analysis software: An engine for analyzing the user's emotional state. It uses Python libraries (e.g., nltk, transformers).
[1400] Example prompts to input to a generative AI model
[1401] "User is stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2000 yen."
[1402] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1403] Step 1:
[1404] The server collects food data from multiple nearby stores. Specifically, it periodically obtains food data (price, stock, quality, etc.) from each store via API and receives this data in JSON format. The received data is analyzed and then stored in a database. The input is food data from the API, and the output is the analyzed data stored in the database.
[1405] Step 2:
[1406] The user uses a terminal to input desired conditions such as budget, specific ingredients, and ingredients to exclude. This input data is sent to the server in real time. The input is the user's desired conditions, and the output is the desired condition data sent to the server.
[1407] Step 3:
[1408] The server uses an emotion engine to analyze the user's emotions in real time from their voice, text, facial expressions, etc. The analyzed emotion data is sent to the server, which determines whether the user is relaxed or stressed. The input is emotion data such as voice, text, and facial expressions, and the output is analyzed emotional state data.
[1409] Step 4:
[1410] The server retrieves the latest food data from the database and sends the user's desired conditions and emotional data to the generation AI. The generation AI automatically generates multiple menus based on this data. In particular, if the user is feeling stressed, it will prioritize menus that are easy to prepare and relaxing. The input is food data, desired conditions, and emotional data, and the output is the multiple generated menu plans.
[1411] Step 5:
[1412] The server compiles the multiple menu options and their costs obtained from the generation AI, and selects the optimal menu based on the user's desired conditions and emotional state. The selection includes evaluation criteria such as whether it is within budget, whether it contains specific ingredients, and whether it is easy to prepare. The input is the multiple generated menu options, desired conditions, and emotional data, and the output is the selected optimal menu.
[1413] Step 6:
[1414] The server sends the selected optimal menu, its details, and purchasing location information to the user, including specific instructions on which stores to purchase which ingredients. The input is the selected optimal menu, and the output is the menu details and purchasing location information provided to the user.
[1415] Specific examples
[1416] An example of a prompt sentence provided to the AI is, "The user is feeling stressed. Please suggest a menu that includes carrots but excludes onions, within a budget of 2,000 yen." Based on this prompt, the AI will suggest the optimal menu that meets specific conditions from the generated menu plans. Specific operations include retrieving data via API, filtering based on budget and conditions, and using sentiment analysis results.
[1417] 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.
[1418] 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.
[1419] 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.
[1420] 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.
[1421] FIG. 9 illustrates 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 behaviors 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.
[1422] 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.
[1423] 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).
[1424] 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.
[1425] 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."
[1426] 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.
[1427] 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).
[1428] 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.
[1429] 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.
[1430] 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.
[1431] 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.
[1432] 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.
[1433] 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.
[1434] 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.
[1435] 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.
[1436] 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.
[1437] 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.
[1438] The following is further disclosed regarding the above embodiment.
[1439] (Claim 1)
[1440] A means of collecting food data from multiple nearby stores;
[1441] Using generative AI, we can automatically generate multiple menus and their costs based on collected food data and the user's desired conditions.
[1442] A means for selecting an optimal menu from menus generated based on the user's desired conditions;
[1443] a means for providing the user with details of the selected menu and where to purchase it;
[1444] A system including:
[1445] (Claim 2)
[1446] 2. The system of claim 1, wherein the food data includes price, availability, and quality.
[1447] (Claim 3)
[1448] 2. The system of claim 1, wherein the user's desired conditions include a budget, specific ingredients, and ingredients to be excluded.
[1449] "Example 1"
[1450] (Claim 1)
[1451] a means for collecting food data from multiple locations in the vicinity;
[1452] A means to analyze the collected food data and store it in a database;
[1453] means for transmitting the user's input budget, specific ingredients, and ingredients to be excluded to the server;
[1454] Using generative AI, we can automatically generate multiple menus and their costs based on collected food data and the user's desired conditions.
[1455] A means for comparing the generated multiple menus and their costs with the user's desired conditions and selecting the most suitable menu;
[1456] a means for providing the user with details of the selected menu and where to purchase it;
[1457] A system including:
[1458] (Claim 2)
[1459] 2. The system of claim 1, wherein the food data includes price, availability, and quality.
[1460] (Claim 3)
[1461] 2. The system of claim 1, wherein the user's preferences include a budget, specific ingredients, and ingredients to be excluded.
[1462] "Application Example 1"
[1463] (Claim 1)
[1464] A means of collecting food data from multiple nearby stores;
[1465] Using generative AI, we can automatically generate multiple menus and their costs based on collected food data and the user's desired conditions.
[1466] A means to combine different stores to generate the most cost-effective menu based on the day's specials and store availability;
[1467] A means for selecting an optimal menu from menus generated based on the user's desired conditions;
[1468] a means for providing the user with details of the selected menu and where to purchase it;
[1469] A means to automatically generate a shopping list for a physical store based on the optimal menu and display it on a mobile device;
[1470] A system including:
[1471] (Claim 2)
[1472] 2. The system of claim 1, wherein the food data includes price, availability, and quality.
[1473] (Claim 3)
[1474] 2. The system of claim 1, wherein the user's desired conditions include a budget, specific ingredients, and ingredients to be excluded.
[1475] "Example 2: Combining Emotion Engines"
[1476] (Claim 1)
[1477] A means of collecting food data from multiple nearby stores;
[1478] A method for automatically generating multiple menus and their costs based on collected food data and user preferences and emotional data using generative AI;
[1479] A means for selecting an optimal menu from menus generated based on the user's desired conditions and emotional data;
[1480] a means for providing the user with details of the selected menu and where to purchase it;
[1481] ...
[1482] A system including:
[1483] (Claim 2)
[1484] 2. The system of claim 1, wherein the food data includes price, availability, and quality.
[1485] (Claim 3)
[1486] 2. The system of claim 1, wherein the user's desired conditions include a budget, specific ingredients, and ingredients to be excluded.
[1487] (Claim 4)
[1488] 2. The system according to claim 1, wherein the emotional data is data analyzed from the user's voice, text, and facial expressions.
[1489] "Application example 2 when combining emotion engines"
[1490] (Claim 1)
[1491] A means of collecting food data from multiple nearby stores;
[1492] Using generative AI, we can automatically generate multiple menus and their costs based on collected food data and the user's desired conditions.
[1493] A means for selecting an optimal menu from menus generated based on the user's desired conditions;
[1494] a means for generating a menu based on the analyzed emotion data, the means including an emotion engine for analyzing the emotion state of a user in real time;
[1495] a means for providing the user with details of the selected menu and where to purchase it;
[1496] A system including:
[1497] (Claim 2)
[1498] 2. The system of claim 1, wherein the food data includes price, availability, and quality.
[1499] (Claim 3)
[1500] 2. The system of claim 1, wherein the user's desired conditions include a budget, specific ingredients, and ingredients to be excluded. [Explanation of symbols]
[1501] 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 of collecting food data from multiple nearby stores; Using generative AI, we can automatically generate multiple menus and their costs based on collected food data and the user's desired conditions. A means for selecting an optimal menu from menus generated based on the user's desired conditions; a means for providing the user with details of the selected menu and where to purchase it; A system including:
2. 2. The system of claim 1, wherein the food data includes price, inventory, and quality.
3. 2. The system according to claim 1, wherein the user's desired conditions include a budget, specific ingredients, and ingredients to be excluded.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A