system
The system addresses the limitations of conventional restaurant selection by offering personalized recommendations and reservations that account for user preferences, dietary restrictions, health, and emotional states, resulting in a more satisfying dining experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-05
- Publication Date
- 2026-06-17
AI Technical Summary
Existing restaurant selection systems fail to efficiently match user dietary preferences, allergies, and budget, and do not adequately incorporate health considerations or emotional states, leading to a cumbersome and unsatisfying dining experience.
A system that generates personalized restaurant recommendations based on user profiles, incorporating preferences, restrictions, health data, and emotional states, and facilitates reservations through integrated communication with external devices and databases.
Provides tailored restaurant suggestions and reservations that consider nutritional balance and emotional well-being, enhancing the overall dining experience by integrating health and emotional insights.
Smart Images

Figure 2026098832000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, the method including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In modern society, it is cumbersome to select an optimal restaurant that matches the user's dietary preferences, allergies, and budget, and there is a problem that the selection of meals considering health conditions further increases the complexity. Furthermore, the provision of useful information to other users using this information is also insufficient. In view of such problems, it is an object to provide an efficient and comprehensive means for restaurant selection and sharing.
Means for Solving the Problems
[0005] This invention provides a means for suggesting the most suitable restaurants to users by receiving user preference and restriction information and generating a profile. Based on this profile, it selects relevant restaurant information from a database, makes suggestions to the user, and processes reservations for the selected restaurants using communication means. It also allows for the accumulation of user evaluation information, which can be used to select the best restaurants for other users. Furthermore, by linking with external devices and adjusting the suggestions based on health data, the system can provide restaurant suggestions that take nutritional balance into consideration.
[0006] "Users" refer to individuals or groups who use the system, and their preferences and restrictions form the basis of the proposal.
[0007] "Preference information" refers to information that shows users' preferences and choices regarding food, and is an important factor in restaurant recommendations.
[0008] "Restriction information" refers to information about allergies and dietary restrictions that users have, and is essential for supporting safe and appropriate restaurant selection.
[0009] A "profile" is an individualized dataset containing user preference and restriction information, which serves as the basis for the system's restaurant recommendations.
[0010] A "database" is a collection of information that stores information about restaurants and user reviews, and is the subject of search and selection in the proposal processing.
[0011] The term "restaurant" refers to a facility where customers can eat, and includes various types of businesses such as restaurants and cafes.
[0012] "Recommendation" refers to the selection and introduction of the most suitable restaurants by the system based on the user's profile.
[0013] "Communication means" refers to the technical infrastructure that allows a system to exchange information with users and restaurant systems.
[0014] "Rating information" refers to reviews and scores given by users based on their experiences at restaurants, and serves as a reference for other users when choosing restaurants.
[0015] "External devices" refer to equipment used to monitor the user's health status and provide information to the system, and include fitness devices and wearable devices.
[0016] "Health data" refers to information about the user's health and physical condition obtained through external devices, and is used to adjust restaurant recommendations. [Brief explanation of the drawing]
[0017] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9]Shows an emotion map to which a plurality of emotions are mapped. [Figure 10] Shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.
Mode for Carrying Out the Invention
[0018] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0019] First, the language used in the following description will be described.
[0020] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be one arithmetic unit or a combination of a plurality of arithmetic units. Also, the processor may be one type of arithmetic unit or a combination of a plurality of types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0021] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0022] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0023] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0025] [First Embodiment]
[0026] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0027] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0030] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0033] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0037] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0038] This invention is a system for suggesting and making reservations for the most suitable restaurants based on the user's preferences and restrictions. This system generates a profile based on user input and provides a rich dining experience through suggestion, reservation, and community functions. Specific embodiments are described below.
[0039] 1. Receiving user information and generating a profile
[0040] The user uses a terminal to input their preferences (e.g., favorite cuisine, areas they want to visit), restrictions (e.g., allergies, vegetarianism, etc.), and budget information. The terminal then sends this information to a server, which generates a user-specific profile based on that information and stores it in a database.
[0041] 2. Suggestion of the most suitable restaurant
[0042] The server searches the database for restaurant information based on the user profile. The suggested restaurants are those that match the user's preferences and restrictions, and also take into account past reviews and other factors. The server generates a list of suggested restaurants and provides it to the user via the terminal.
[0043] 3. Restaurant reservations
[0044] When a user selects a restaurant they wish to visit from a suggested list, the terminal notifies the server of this selection, and the server attempts to make a reservation. At this time, the reservation information is directly linked to the restaurant's system, and the user is notified of the confirmation result.
[0045] 4. Community Features
[0046] Users can enter ratings for restaurants they visit. These ratings are reflected in other users' suggestions, enhancing the recommendation function. The device sends these ratings to the server, which stores them in a database.
[0047] 5. Suggestions for a health-based diet
[0048] The server acquires the user's health data via an external device. This health data includes information such as activity level, heart rate, and calorie consumption. Based on this, the server can suggest restaurants that are more suitable for the user's current health condition and also provide nutritional management support. For example, if calorie restriction is required for fitness purposes, the server will suggest restaurants with low-calorie menus.
[0049] Thus, the present invention is a system that enables the selection and reservation of restaurants tailored to the user, and its integration with their health status, thereby realizing a comprehensive and personalized dining experience.
[0050] The following describes the processing flow.
[0051] Step 1:
[0052] The user inputs preference information, restriction information, and budget information through the device. The device formats this information and sends it to the server.
[0053] Step 2:
[0054] The server generates a user profile based on the received information. This profile is stored in a database and serves as the basis for future suggestions.
[0055] Step 3:
[0056] The server searches the database and selects a list of restaurants that match the user profile. This process takes into account past visit history and ratings from other users.
[0057] Step 4:
[0058] The server sends the selected list of restaurants to the terminal as a suggestion list. The terminal displays this list to the user, making it available for selection.
[0059] Step 5:
[0060] The user selects a restaurant they wish to visit from the suggested options and confirms their choice on their device. The device then sends this selection to the server.
[0061] Step 6:
[0062] The server processes reservations in conjunction with the restaurant's reservation system based on the user's selection. It then notifies the user's device of the reservation's success or failure.
[0063] Step 7:
[0064] The user enters their rating of the restaurant they visited into a terminal. The terminal sends the rating information to a server, which records that information in a database.
[0065] Step 8:
[0066] The server acquires health data from an external device. Based on this data, it can suggest alternative restaurants tailored to the user's health condition. These suggestions are then presented to the user again via the terminal.
[0067] (Example 1)
[0068] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0069] Conventional restaurant recommendation systems struggle to fully accommodate individual user preferences and restrictions, and furthermore, they lack sufficient automation for reservations and adequate incorporation of health information. Therefore, providing users with the optimal dining experience is difficult. Additionally, the inability to effectively utilize user reviews limits the potential for improving the accuracy of recommendations.
[0070] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0071] In this invention, the server includes means for receiving user preference information and constraint information and generating user characteristic information; means for selecting relevant food and beverage establishment information from an information aggregation device and proposing a food and beverage establishment suitable for the user; and means for coordinating with an external device and adjusting the proposal based on health information. This enables personalized proposals and automated reservation processing that meet the diverse needs of users, thereby improving the overall quality of the dining experience.
[0072] "Users" refers to people who receive suggestions regarding food and beverage establishments through the information system.
[0073] "Preference information" refers to information about the user's preferences, including, for example, the type of cuisine they like to eat or the region they would like to visit.
[0074] "Constraint information" refers to dietary restrictions that users have, such as allergies or specific dietary restrictions (e.g., vegetarianism).
[0075] "Characteristic information" refers to the personalized user profile generated by the server based on the user's preferences and constraints.
[0076] An "information aggregation device" refers to a data storage system that holds and allows searching of information related to food and beverage establishments.
[0077] A "food and beverage establishment" refers to a restaurant or facility that provides food and drinks to its customers.
[0078] "External devices" refer to external devices or systems that can acquire health information by cooperating with the server.
[0079] "Health information" refers to data about the user's physical condition, including, for example, heart rate, activity level, and calorie consumption.
[0080] "Generative AI models" refer to artificial intelligence technologies that use machine learning algorithms to analyze information and improve the accuracy of suggestions and profile generation.
[0081] This invention is a system that suggests and makes reservations for optimal food and beverage establishments based on user preference and constraint information. The system utilizes a server, terminals, and external devices. Specific embodiments are described below.
[0082] The server operates on computing devices such as cloud servers or on-premises servers. This gives it the capability to process vast amounts of data from multiple users. The server uses a generative AI model to receive user preference and constraint information, analyze it, and generate feature information. This generative AI model enables suggestions that take into account the user's latent preferences. The server searches an information aggregation device that stores information on food and beverage establishments and makes optimal suggestions based on the user's feature information.
[0083] Users access the system using a terminal, such as a smartphone or personal computer. Through the user interface, users can input their preferences and restrictions. The terminal also has the function of receiving suggestions from the server and presenting them to the user. Once the user selects a restaurant from the suggested options, the terminal sends that information to the server. The server then processes the reservation and notifies the terminal of the result.
[0084] Furthermore, the server works in conjunction with external devices to acquire users' health information. These external devices include fitness trackers and smartwatches, which provide data such as activity levels, heart rate, and calorie consumption. The server analyzes this health information and adjusts the suggestions for food and beverage establishments to match the user's nutritional status.
[0085] As a concrete example, user A inputs preference and constraint information from their device, such as "I like Italian food, my budget is under 3000 yen, and I'm limiting my meat intake." Based on this, the server uses a generative AI model to suggest the most suitable restaurant and proceeds with the reservation process. Furthermore, it can utilize information from external devices to adjust the suggestions according to the user's health condition. By inputting a prompt such as "Please tell me the development flow for a system that recommends the most suitable food and beverage establishments based on specific user information" into the generative AI model, further analysis to improve accuracy is possible.
[0086] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0087] Step 1:
[0088] This step involves the user using a terminal to input their preferences, constraints, and budget information. The terminal receives the entered data, formats it, and sends it to the server. This formatting process includes data validation to maintain data consistency and accuracy. Specifically, the terminal compiles information from the data input fields and sends this information to the server using a secure protocol such as SSL / TLS.
[0089] Step 2:
[0090] The server receives data sent from the terminal, validates the data, and generates user characteristic information. The server uses a generative AI model to analyze the received preference and constraint information. This analysis generates detailed characteristic information that takes into account the user's potential needs. The generated characteristic information is stored in a database and used in subsequent suggestion steps.
[0091] Step 3:
[0092] The server searches the information aggregation device based on the generated feature information. Here, it refers to the food and beverage establishment information in the database and performs data filtering and sorting to make suggestions suitable for the user. Specifically, it executes a search query that combines cuisine genre, geographical conditions, and the user's budget to generate a list of the most suitable food and beverage establishments. The generated list is then sent back to the terminal and presented to the user.
[0093] Step 4:
[0094] The user reviews a list of restaurants and bars received from their device and selects the one they wish to visit. The device sends the selected restaurant information to the server. The server receives this selection and checks the reservation information for the corresponding restaurant in its database. Next, it immediately initiates the reservation process via the reservation API and notifies the device of the result. Specifically, the server interacts with an external reservation system to check real-time reservation availability.
[0095] Step 5:
[0096] Users input their evaluations of the food and beverage establishments they have visited using their own devices. The devices send the evaluation data to the server. The server stores the received evaluations in a database and uses them to improve the accuracy of recommendations for other users. Specifically, it analyzes this evaluation information and adjusts the recommendation algorithm through a generative AI model.
[0097] Step 6:
[0098] The server receives health information from an external device and performs data analysis. This health information includes activity level, heart rate, and calories burned. Based on this data, the server adjusts its recommendations for food and beverage establishments to suit the user's health condition. Specifically, it updates the information to prioritize recommending establishments with menus that consider nutritional balance and calorie consumption.
[0099] (Application Example 1)
[0100] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0101] Modern consumers often want to maintain a healthy diet while having diverse preferences and dietary restrictions. However, achieving this involves a significant burden of searching for and reserving suitable restaurants from a vast amount of information. Furthermore, intuitive voice-based interfaces are still underdeveloped, and there are limited systems that consumers can easily use in their daily lives. Given this situation, there is a need for a comprehensive system that can easily meet the individual dietary needs of users.
[0102] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0103] In this invention, the server includes means for receiving user preference information and restriction information and generating a user profile; means for selecting relevant restaurant information from a database and suggesting restaurants suitable for the user; means for coordinating with external devices and adjusting the suggestions based on health data; means for analyzing voice input and collecting the profile information and restriction information via voice; and means for suggesting restaurants in natural language using a natural language model. This enables users to intuitively select and reserve meals based on their preferences and health status using voice.
[0104] A "user" is an entity that uses the system to receive restaurant suggestions and make reservations.
[0105] "Preference information" refers to information about the user's preferences, including their favorite food genres and areas they would like to visit.
[0106] "Restriction information" refers to dietary restrictions imposed by the user, including allergy information and dietary restrictions.
[0107] A "profile" is a set of individual information constructed based on preference and restriction information collected from users.
[0108] A "database" is a source of information that stores information about restaurants.
[0109] "Restaurant information" refers to detailed information about restaurants, such as their location, menu, and operating status.
[0110] "External devices" are devices used to collect users' health data.
[0111] "Health data" refers to information about the user's physical condition, including activity levels, heart rate, and calorie consumption.
[0112] "Voice input" is a method by which users give instructions to a system using their voice.
[0113] A "natural language model" is a technical method used by computers to analyze, understand, and generate natural language.
[0114] The system that realizes this invention functions by integrating multiple components. The system mainly consists of a server, a terminal, and a user, and each component works in coordination.
[0115] The server receives user preference and restriction information and generates a profile based on it. Based on the generated profile, it searches the database for relevant restaurant information and suggests suitable restaurants. AWS Lambda is used for data processing in this process, and Amazon DynamoDB is used for database integration. When making suggestions, OpenAI's GPT-3 natural language model is used to deliver information in an easy-to-understand manner for the user.
[0116] The device receives voice input from the user and converts it into text information using the Google® Speech-to-Text API. This information is sent to a server and used for generating profiles and suggesting restaurants. The device also accesses restaurant reservation APIs to attempt reservations and makes reservations in real time.
[0117] Users can interact with the system via smartphones or smart speakers, easily giving voice commands to select restaurants based on their preferences. Furthermore, by collecting health data from wearable devices and integrating it with Amazon IoT, users can also receive health-conscious recommendations.
[0118] As a concrete example of this system, if a family member has allergies, it can suggest allergy-friendly restaurants based on that information. A possible prompt message from the user might be, "For tonight's dinner, please check if there are any gluten-free options at a nearby Italian restaurant and make a reservation."
[0119] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0120] Step 1:
[0121] The user provides voice input to the device. The device uses the Google Speech-to-Text API to convert the voice data into text data. In this process, the voice input (for example, "Find an Italian restaurant") is sent to the server as text data.
[0122] Step 2:
[0123] The server analyzes the received text data and stores the corresponding preference and restriction information in the profile. During this process, past usage history and evaluation data are also considered to update the user-specific profile. The input data is preference information in text format, and the output is an updated user profile.
[0124] Step 3:
[0125] The server searches Amazon DynamoDB for relevant restaurant information based on the profile. The search results generate a list of matching restaurants. The input is the updated user profile, and the output is a list of candidate restaurants.
[0126] Step 4:
[0127] Based on the generated list of restaurants, the server uses a natural language model (OpenAI's GPT-3) to generate restaurant suggestions. These suggestions are sent to the user's terminal and presented visually or audibly. The input is a list of restaurants, and the output is a set of suggestion texts for the user.
[0128] Step 5:
[0129] The user selects a restaurant from the suggested options. The selection information is processed on the terminal and sent to the server. The input is the user's selection, and the output is the information of the selected restaurant.
[0130] Step 6:
[0131] The server attempts to communicate with the selected restaurant via a reservation API to check the availability of the reservation. If the reservation is successful, the information is notified to the user via the terminal. The input is the information of the selected restaurant, and the output is the reservation confirmation result.
[0132] Step 7:
[0133] The user enters their rating information for the restaurants they visited into a terminal. The terminal sends the rating information to a server, which stores it in a database. The input is the user's rating information, and the output is the rating section of the updated restaurant list.
[0134] Step 8:
[0135] The terminal transmits health data acquired from the wearable device to the server. The server uses this information to adjust the proposed plan and re-suggest restaurants that take nutritional balance into consideration. The input is health data, and the output is the adjusted proposal text.
[0136] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0137] This invention provides a system that not only suggests restaurants based on the user's preferences, restrictions, and health status, but also takes into account the user's emotional state to suggest the most suitable restaurant. This system enables a more personalized dining experience by recognizing the user's current emotions using an emotion engine.
[0138] 1. Receiving user information and emotions
[0139] The user uses their device to input information about their preferences, limitations, and budget. Furthermore, the system captures the user's emotional state through input, voice, or facial recognition and sends it to the server. An emotion engine analyzes this data to identify the user's current emotion.
[0140] 2. Profile generation and utilization of emotional data
[0141] The server generates a profile based on the received user data. This profile reflects not only the user's preferences and limitations, but also their current emotional state. Emotional data is stored in a database and used to refine future suggestions.
[0142] 3. Restaurant proposals
[0143] Based on the user's profile, the server generates a list of restaurant recommendations, weighting them according to the user's preferences, emotional state, and health data. For example, if the user is feeling down, the emotion engine will prioritize recommending restaurants with specific menu items or a comfortable atmosphere that can refresh their mood. The recommendation list is then presented to the user via their device.
[0144] 4. Restaurant reservations and reviews
[0145] When a user selects a restaurant they wish to visit from a suggested list, the terminal sends that information to the server. The server accesses the restaurant's reservation system and completes the reservation process. After the visit, the user inputs their evaluation of the restaurant and changes in their feelings during the visit, and provides this information to the server via the terminal.
[0146] In this way, by utilizing the emotion engine, it becomes possible to make suggestions tailored to the user's psychological state, rather than simply making decisions based on physical conditions. This comprehensive approach makes it possible to provide a richer and more satisfying dining experience.
[0147] The following describes the processing flow.
[0148] Step 1:
[0149] Users input preference information, restriction information, and budget information into the device, and also provide emotional data. Emotional data is acquired through self-reporting, voice recognition, and facial recognition. The device formats this data and sends it to the server.
[0150] Step 2:
[0151] The server generates a user profile based on the received information. This profile includes preferences, limitations, budget, and emotional state, and serves as the basis for future suggestions. This data is stored in a database.
[0152] Step 3:
[0153] The server uses an emotion engine to analyze the user's emotional state. For example, if the user is identified as stressed, the emotional data is used to suggest relaxing restaurants.
[0154] Step 4:
[0155] The server searches the database for relevant restaurants based on the user profile and emotional state, and generates a list of suggestions. It then prioritizes the restaurants in the list based on the user's preferences and current emotional state.
[0156] Step 5:
[0157] The server sends the generated list of suggestions to the terminal, which then displays the list to the user. The user reviews the list and selects the restaurants they wish to visit.
[0158] Step 6:
[0159] Once the user selects a restaurant, the terminal sends that selection information to the server and begins the reservation process.
[0160] Step 7:
[0161] The server communicates with the reservation system of the selected restaurant and completes the reservation. The result is notified to the terminal, and the user is informed of the reservation status.
[0162] Step 8:
[0163] Users visit restaurants and input their evaluations and emotional changes into a terminal after their experience. The terminal sends this information to a server, which stores the evaluation information in a database.
[0164] Step 9:
[0165] The server analyzes accumulated evaluation and sentiment change data and uses it to improve the accuracy of future suggestions. This will result in more personalized suggestions in the future.
[0166] (Example 2)
[0167] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0168] Conventional restaurant recommendation systems were limited to suggestions based on user preferences and restrictions, and did not provide personalized recommendations that took into account the user's emotional state or health information. Therefore, it was difficult to provide a richer and more satisfying dining experience. Furthermore, post-visit evaluation data was not fully utilized, preventing improvements in the accuracy of future recommendations.
[0169] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0170] In this invention, the server includes means for receiving user preference information, restriction information, and emotional state using a user information processing device and generating a user profile; means for identifying the user's emotional state using an emotion analysis device and selecting information on relevant food and beverage consumption locations from an information storage medium; and means for communicating to process reservations while considering the user's emotional state. This makes it possible to provide a personalized dining experience that is tailored to the user's psychological state.
[0171] A "user information processing device" is a device that allows users to input information and send it to a server. Smartphones and computers fall into this category.
[0172] "Preference information" refers to information about the user's favorite foods and the characteristics of restaurants.
[0173] "Restriction information" refers to information about foods or restaurant characteristics that users wish to avoid for health or other reasons.
[0174] "Emotional state" refers to information about the user's current psychological mood and feelings.
[0175] A "profile" is a unique set of information that combines user preferences, limitations, budget, and emotional state.
[0176] An "emotion analysis device" is a device or function that analyzes and identifies a user's emotional state based on the information they input.
[0177] A "food and beverage consumption center" refers to a place where users can eat, such as a restaurant or cafe.
[0178] An "information storage medium" is a database that holds information on various food and beverage consumption locations that correspond to the user's preferences, restrictions, and emotional state.
[0179] "Means of communication" refers to means of making reservations or sending and receiving information to selected food and beverage consumption locations.
[0180] "Evaluation information" refers to information about evaluations made by users based on their experiences at food and beverage consumption locations they visited.
[0181] An "external device" is a device that acquires health information and works in conjunction with this system to adjust suggestions for the user. Fitness trackers and health management apps fall into this category.
[0182] This system is a platform for providing users with personalized dining experiences, realized through the cooperation of servers, terminals, and external devices.
[0183] First, users input preference information, restriction information, and budget information using their own devices. Furthermore, they communicate their emotional state to the device using input methods or the device's voice input / camera functions. The device then transmits all the collected information to the server.
[0184] The server is equipped with an emotion analysis device that utilizes a generative AI model to analyze user information transmitted from terminals. This server generates and stores each user's profile using an information storage medium. The emotion analysis device also uses a generative AI model to analyze emotional states in natural language and identify keywords based on the user's mood and emotions.
[0185] Subsequently, the server performs a process of selecting food and beverage consumption locations based on the profile data. Information regarding food and beverage consumption locations is retrieved from a database. The suggested food and beverage consumption locations are appropriately customized, taking into account the user's preferences, health information, and emotional state.
[0186] For example, if a user enters a prompt such as, "I'm feeling down today, so please recommend a cafe where I can cheer myself up," the emotion analysis device can analyze keywords like "cheer up" and "cafe" and suggest suitable places to eat and drink.
[0187] Furthermore, the system collects health information from external devices such as fitness trackers, and based on this information, the server generates a list of suggestions that take into account the user's health condition. This system enables suggestions based on both physical conditions and the user's psychological state, allowing users to have a more optimal dining experience.
[0188] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0189] Step 1:
[0190] Users use a device to input preference information, restriction information, and budget information. Furthermore, their emotional state is communicated to the device via voice input or camera function. The device collects this input information and sends it to the server as a dataset. This process aggregates the user's basic eating and drinking information and current emotional state, allowing the server to secure the data necessary for analysis.
[0191] Step 2:
[0192] The server receives the dataset from the terminal as input. Next, the emotion analysis device analyzes the emotion data using a generated AI model. This analysis extracts keywords associated with the user's emotional state. The server uses these analysis results to generate a user profile. The profile reflects preferences, limitations, and emotional states.
[0193] Step 3:
[0194] The server receives the generated profile as input, searches the information storage medium, and generates a suggestion list. This search takes into account the preferences and emotional state reflected in the profile, and selects food and beverage consumption locations. As a result, a suggestion list tailored to the user is generated.
[0195] Step 4:
[0196] The terminal displays a list of suggestions received from the server as output to the user. The user selects the food and beverage establishments that interest them most from the list of suggestions. This selection information is sent back from the terminal to the server, and preparations for booking are made.
[0197] Step 5:
[0198] The server receives the selected information as input and accesses the reservation system for the corresponding food and beverage consumption location. The reservation process is automatically completed via communication. Confirmation of the reservation completion is sent to the terminal and notified to the user.
[0199] Step 6:
[0200] After a visit, the user enters their evaluation information about the food and beverage establishments they experienced into a terminal. The terminal then sends this evaluation information to a server. The server stores the submitted evaluation information in a profile and uses it to improve future recommendations. This is expected to improve the accuracy of future recommendations.
[0201] (Application Example 2)
[0202] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0203] Conventional dining suggestion systems only make suggestions based on user preferences and restrictions, and do not take into account the user's emotional state. As a result, the dining experience the user has may not reflect their psychological state, and they may not be fully satisfied. Furthermore, there is no mechanism to receive suggestions immediately at home or in their living environment. In addition, there is a lack of flexibility and personalization in the suggestions.
[0204] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0205] In this invention, the server includes means for receiving user preference information and restriction information and generating a profile; means for analyzing the user's current emotional state and prioritizing emotionally conscious suggestions; and means for using a home robot to deliver suggestions via voice or screen display. This makes it possible to provide personalized dining location suggestions based on the user's psychological state in real time within the home.
[0206] "Preference information" refers to data that shows users' preferences and choices regarding food and drink.
[0207] "Restriction information" refers to data that indicates the conditions and limitations that users must consider when eating and drinking.
[0208] A "profile" is a collection of information that comprehensively represents a user's personal preferences, limitations, and emotional state.
[0209] "Emotional state" refers to data that indicates the user's psychological and emotional state.
[0210] A "family robot" is a robotic system used within the home, a device that supports daily life through various tasks.
[0211] "Means for processing reservations" refers to technology that provides communication methods for making reservations for selected dining establishments.
[0212] "Health data" refers to information about the user's health status, and is used when adjusting suggestions.
[0213] "Evaluation information" refers to experience reviews and feedback provided by users after they have used the suggested dining establishments.
[0214] The "means of adjusting suggestions" refer to a system that optimizes the suggested dining locations based on the user's profile and health data.
[0215] The system that implements this application involves inputting user preference and restriction information and sending it to a server via a terminal built into a home robot. The server generates a profile based on this information. Software such as Amazon Rekognition or Google AI's emotion analysis API is used as the emotion engine to analyze the user's emotional state. As a result, the user's emotional state is incorporated into the profile.
[0216] Based on the user's profile, the server selects suitable candidates from a database of dining locations. The selected dining locations are then suggested to the user using a home robot. The suggestions are made via voice or on-screen display. Once the user selects a dining location, the server communicates with the reservation system to complete the reservation process.
[0217] Furthermore, health data is also taken into consideration when making suggestions. Health data is transmitted from external devices (such as smartwatches or healthcare devices) to the cloud and analyzed on the server side. This makes it possible to suggest dining locations based on the user's health status.
[0218] After a user visits a site, they send their evaluation information to the server via their device, allowing data to be accumulated to improve the accuracy of future recommendations. This evaluation information is also used to create profiles of other users, providing more useful recommendations to a wider audience.
[0219] As a concrete example, a home robot might notify the user via voice, "You seem to be feeling stressed today. I'll suggest a place to eat and drink where you can relax." An example of a prompt sentence to input into the generating AI model would be, "Please suggest a restaurant based on the user's preferences, emotions, and restrictions. The user's current emotion is to relax, but their restrictions include allergies."
[0220] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0221] Step 1:
[0222] The device receives preference information, restriction information, and emotional state from the user as input. The received data is temporarily stored on the device and converted into a data format that is sent to the server for analysis.
[0223] Step 2:
[0224] The server receives information sent from the terminal and generates a user profile. This profile generation uses an emotion engine (e.g., Google AI's Sentiment Analysis API) to analyze the emotional state and includes emotion data in the profile. The input is user information, and the output is profile data that takes emotions into account.
[0225] Step 3:
[0226] The server queries a database of dining establishments based on the generated profile and selects appropriate candidates. The database query generates a list of dining establishments that best match the user's preferences and moods. The input is profile data, and the output is a list of recommended dining establishments.
[0227] Step 4:
[0228] The server sends a list of recommended restaurants to the home robot. The home robot uses a speech synthesis system to inform the user of the suggestions verbally. The input is the list of restaurants from the server, and the output is the voice notification from the home robot to the user.
[0229] Step 5:
[0230] The user selects a restaurant from the suggested options. The terminal sends the selected location to the server and begins the reservation process. The server uses a communication module to connect with the reservation system of the selected restaurant and completes the reservation. The input is the user's selection information, and the output is the status of the restaurant reservation completion.
[0231] Step 6:
[0232] After a visit, users input their evaluation of the dining experience into the server via a terminal. The server stores this evaluation information in a database and uses it to improve the accuracy of future recommendations. The input is the evaluation information, and the output is the updated database.
[0233] Step 7:
[0234] The server receives health data from an external device and analyzes it. Based on this analysis, it processes the data to further refine future recommendations. The input is health data, and the output is optimized future recommendations.
[0235] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0236] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0237] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0238] [Second Embodiment]
[0239] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0240] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0241] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0242] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0243] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0244] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0245] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0246] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0247] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0248] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0249] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0250] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0251] This invention is a system for suggesting and making reservations for the most suitable restaurants based on the user's preferences and restrictions. This system generates a profile based on user input and provides a rich dining experience through suggestion, reservation, and community functions. Specific embodiments are described below.
[0252] 1. Receiving user information and generating a profile
[0253] The user uses a terminal to input their preferences (e.g., favorite cuisine, areas they want to visit), restrictions (e.g., allergies, vegetarianism, etc.), and budget information. The terminal then sends this information to a server, which generates a user-specific profile based on that information and stores it in a database.
[0254] 2. Suggestion of the most suitable restaurant
[0255] The server searches the database for restaurant information based on the user profile. The suggested restaurants are those that match the user's preferences and restrictions, and also take into account past reviews and other factors. The server generates a list of suggested restaurants and provides it to the user via the terminal.
[0256] 3. Restaurant reservations
[0257] When a user selects a restaurant they wish to visit from a suggested list, the terminal notifies the server of this selection, and the server attempts to make a reservation. At this time, the reservation information is directly linked to the restaurant's system, and the user is notified of the confirmation result.
[0258] 4. Community Features
[0259] Users can enter ratings for restaurants they visit. These ratings are reflected in other users' suggestions, enhancing the recommendation function. The device sends these ratings to the server, which stores them in a database.
[0260] 5. Suggestions for a health-based diet
[0261] The server acquires the user's health data via an external device. This health data includes information such as activity level, heart rate, and calorie consumption. Based on this, the server can suggest restaurants that are more suitable for the user's current health condition and also provide nutritional management support. For example, if calorie restriction is required for fitness purposes, the server will suggest restaurants with low-calorie menus.
[0262] Thus, the present invention is a system that enables the selection and reservation of restaurants tailored to the user, and its integration with their health status, thereby realizing a comprehensive and personalized dining experience.
[0263] The following describes the processing flow.
[0264] Step 1:
[0265] The user inputs preference information, restriction information, and budget information through the device. The device formats this information and sends it to the server.
[0266] Step 2:
[0267] The server generates a user profile based on the received information. This profile is stored in a database and serves as the basis for future suggestions.
[0268] Step 3:
[0269] The server searches the database and selects a list of restaurants that match the user profile. This process takes into account past visit history and ratings from other users.
[0270] Step 4:
[0271] The server sends the selected list of restaurants to the terminal as a suggestion list. The terminal displays this list to the user, making it available for selection.
[0272] Step 5:
[0273] The user selects a restaurant they wish to visit from the suggested options and confirms their choice on their device. The device then sends this selection to the server.
[0274] Step 6:
[0275] The server processes reservations in conjunction with the restaurant's reservation system based on the user's selection. It then notifies the user's device of the reservation's success or failure.
[0276] Step 7:
[0277] The user enters their rating of the restaurant they visited into a terminal. The terminal sends the rating information to a server, which records that information in a database.
[0278] Step 8:
[0279] The server acquires health data from an external device. Based on this data, it can suggest alternative restaurants tailored to the user's health condition. These suggestions are then presented to the user again via the terminal.
[0280] (Example 1)
[0281] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0282] Conventional restaurant recommendation systems struggle to fully accommodate individual user preferences and restrictions, and furthermore, they lack sufficient automation for reservations and adequate incorporation of health information. Therefore, providing users with the optimal dining experience is difficult. Additionally, the inability to effectively utilize user reviews limits the potential for improving the accuracy of recommendations.
[0283] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0284] In this invention, the server includes means for receiving the user's preference information and constraint information, generating the user's characteristic information, selecting relevant food and beverage providing facility information from an information integration device, and proposing a food and beverage providing facility suitable for the user, and means for cooperating with an external device to adjust the proposal based on health information. Thereby, it becomes possible to automate individualized proposals and reservation processing according to various needs of users, and improve the quality of the overall dining experience.
[0285] The "user" refers to people who receive proposals regarding food and beverage providing facilities through an information system.
[0286] The "preference information" is information regarding the user's preferences, including, for example, the genre of cuisine and the area they want to visit.
[0287] The "constraint information" is a restriction regarding the user's diet, referring to information regarding allergies and specific dietary laws (e.g., vegetarian).
[0288] The "characteristic information" refers to an individualized user profile generated by the server based on the user's preference information and constraint information.
[0289] The "information integration device" refers to a data storage system that holds information regarding food and beverage providing facilities and enables searching.
[0290] The "food and beverage providing facility" refers to a restaurant or facility that provides food and drinks to users.
[0291] The "external device" refers to an external device or system from which the server can obtain health information by cooperating with it.
[0292] The "health information" is data regarding the user's body, including, for example, heart rate, activity level, calorie consumption, etc.
[0293] "Generative AI models" refer to artificial intelligence technologies that use machine learning algorithms to analyze information and improve the accuracy of suggestions and profile generation.
[0294] This invention is a system that suggests and makes reservations for optimal food and beverage establishments based on user preference and constraint information. The system utilizes a server, terminals, and external devices. Specific embodiments are described below.
[0295] The server operates on computing devices such as cloud servers or on-premises servers. This gives it the capability to process vast amounts of data from multiple users. The server uses a generative AI model to receive user preference and constraint information, analyze it, and generate feature information. This generative AI model enables suggestions that take into account the user's latent preferences. The server searches an information aggregation device that stores information on food and beverage establishments and makes optimal suggestions based on the user's feature information.
[0296] Users access the system using a terminal, such as a smartphone or personal computer. Through the user interface, users can input their preferences and restrictions. The terminal also has the function of receiving suggestions from the server and presenting them to the user. Once the user selects a restaurant from the suggested options, the terminal sends that information to the server. The server then processes the reservation and notifies the terminal of the result.
[0297] Furthermore, the server works in conjunction with external devices to acquire users' health information. These external devices include fitness trackers and smartwatches, which provide data such as activity levels, heart rate, and calorie consumption. The server analyzes this health information and adjusts the suggestions for food and beverage establishments to match the user's nutritional status.
[0298] As a concrete example, user A inputs preference and constraint information from their device, such as "I like Italian food, my budget is under 3000 yen, and I'm limiting my meat intake." Based on this, the server uses a generative AI model to suggest the most suitable restaurant and proceeds with the reservation process. Furthermore, it can utilize information from external devices to adjust the suggestions according to the user's health condition. By inputting a prompt such as "Please tell me the development flow for a system that recommends the most suitable food and beverage establishments based on specific user information" into the generative AI model, further analysis to improve accuracy is possible.
[0299] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0300] Step 1:
[0301] This step involves the user using a terminal to input their preferences, constraints, and budget information. The terminal receives the entered data, formats it, and sends it to the server. This formatting process includes data validation to maintain data consistency and accuracy. Specifically, the terminal compiles information from the data input fields and sends this information to the server using a secure protocol such as SSL / TLS.
[0302] Step 2:
[0303] The server receives data sent from the terminal, validates the data, and generates user characteristic information. The server uses a generative AI model to analyze the received preference and constraint information. This analysis generates detailed characteristic information that takes into account the user's potential needs. The generated characteristic information is stored in a database and used in subsequent suggestion steps.
[0304] Step 3:
[0305] The server searches for an information integration device based on the generated feature information. Here, it refers to the food and beverage facility information in the database and performs data filtering and sorting for making proposals suitable for the user. Specifically, it executes a search query combining cuisine genre, geographical conditions, and the user's budget to generate a list of optimal food and beverage facilities. The generated list is sent back to the terminal and presented to the user.
[0306] Step 4:
[0307] The user checks the list of food and beverage facilities received from the terminal and selects the facility to visit. The terminal sends the selected food and beverage facility information to the server. The server receives this selection information and checks the reservation information of the corresponding facility on the database. Next, it immediately conducts the reservation procedure through the reservation API and notifies the terminal of the result. As a specific operation, the server cooperates with an external reservation system to check the real-time reservation availability.
[0308] Step 5:
[0309] The user inputs an evaluation regarding the food and beverage facility visited using their own terminal. The terminal sends the evaluation data to the server. The server accumulates the received evaluation in the database and uses it to improve the proposal accuracy for other users. Specifically, it analyzes this evaluation information and adjusts the proposal algorithm through the generated AI model.
[0310] Step 6:
[0311] The server receives health information from an external device and performs data analysis. The health information includes activity level, heart rate, and calorie consumption. Based on this data, the server adjusts the proposal of food and beverage facilities according to the user's health condition. Specifically, it updates the information to preferentially propose facilities with menus considering nutritional balance and calorie consumption.
[0312] (Application Example 1)
[0313] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0314] Modern consumers often want to maintain a healthy diet while having diverse preferences and dietary restrictions. However, achieving this involves a significant burden of searching for and reserving suitable restaurants from a vast amount of information. Furthermore, intuitive voice-based interfaces are still underdeveloped, and there are limited systems that consumers can easily use in their daily lives. Given this situation, there is a need for a comprehensive system that can easily meet the individual dietary needs of users.
[0315] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0316] In this invention, the server includes means for receiving user preference information and restriction information and generating a user profile; means for selecting relevant restaurant information from a database and suggesting restaurants suitable for the user; means for coordinating with external devices and adjusting the suggestions based on health data; means for analyzing voice input and collecting the profile information and restriction information via voice; and means for suggesting restaurants in natural language using a natural language model. This enables users to intuitively select and reserve meals based on their preferences and health status using voice.
[0317] A "user" is an entity that uses the system to receive restaurant suggestions and make reservations.
[0318] "Preference information" refers to information about the user's preferences, including their favorite food genres and areas they would like to visit.
[0319] "Restriction information" refers to dietary restrictions imposed by the user, including allergy information and dietary restrictions.
[0320] A "profile" is a set of individual information constructed based on preference and restriction information collected from users.
[0321] A "database" is a source of information that stores information about restaurants.
[0322] "Restaurant information" refers to detailed information about restaurants, such as their location, menu, and operating status.
[0323] "External devices" are devices used to collect users' health data.
[0324] "Health data" refers to information about the user's physical condition, including activity levels, heart rate, and calorie consumption.
[0325] "Voice input" is a method by which users give instructions to a system using their voice.
[0326] A "natural language model" is a technical method used by computers to analyze, understand, and generate natural language.
[0327] The system that realizes this invention functions by integrating multiple components. The system mainly consists of a server, a terminal, and a user, and each component works in coordination.
[0328] The server receives user preference and restriction information and generates a profile based on it. Based on the generated profile, it searches the database for relevant restaurant information and suggests suitable restaurants. AWS Lambda is used for data processing in this process, and Amazon DynamoDB is used for database integration. When making suggestions, OpenAI's GPT-3 natural language model is used to deliver information in an easy-to-understand manner to the user.
[0329] The device receives voice input from the user and converts it into text using the Google Speech-to-Text API. This information is sent to a server and used to generate profiles and suggest restaurants. The device also accesses restaurant reservation APIs to attempt reservations and makes reservations in real time.
[0330] Users can interact with the system via smartphones or smart speakers, easily giving voice commands to select restaurants based on their preferences. Furthermore, by collecting health data from wearable devices and integrating it with Amazon IoT, users can also receive health-conscious recommendations.
[0331] As a concrete example of this system, if a family member has allergies, it can suggest allergy-friendly restaurants based on that information. A possible prompt message from the user might be, "For tonight's dinner, please check if there are any gluten-free options at a nearby Italian restaurant and make a reservation."
[0332] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0333] Step 1:
[0334] The user provides voice input to the device. The device uses the Google Speech-to-Text API to convert the voice data into text data. In this process, the voice input (for example, "Find an Italian restaurant") is sent to the server as text data.
[0335] Step 2:
[0336] The server analyzes the received text data and stores the corresponding preference and restriction information in the profile. During this process, past usage history and evaluation data are also considered to update the user-specific profile. The input data is preference information in text format, and the output is an updated user profile.
[0337] Step 3:
[0338] The server searches Amazon DynamoDB for relevant restaurant information based on the profile. The search results generate a list of matching restaurants. The input is the updated user profile, and the output is a list of candidate restaurants.
[0339] Step 4:
[0340] Based on the generated list of restaurants, the server uses a natural language model (OpenAI's GPT-3) to generate restaurant suggestions. These suggestions are sent to the user's terminal and presented visually or audibly. The input is a list of restaurants, and the output is a set of suggestion texts for the user.
[0341] Step 5:
[0342] The user selects a restaurant from the suggested options. The selection information is processed on the terminal and sent to the server. The input is the user's selection, and the output is the information of the selected restaurant.
[0343] Step 6:
[0344] The server attempts to communicate with the selected restaurant via a reservation API to check the availability of the reservation. If the reservation is successful, the information is notified to the user via the terminal. The input is the information of the selected restaurant, and the output is the reservation confirmation result.
[0345] Step 7:
[0346] The user enters their rating information for the restaurants they visited into a terminal. The terminal sends the rating information to a server, which stores it in a database. The input is the user's rating information, and the output is the rating section of the updated restaurant list.
[0347] Step 8:
[0348] The terminal transmits health data acquired from the wearable device to the server. The server uses this information to adjust the proposed plan and re-suggest restaurants that take nutritional balance into consideration. The input is health data, and the output is the adjusted proposal text.
[0349] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0350] This invention provides a system that not only suggests restaurants based on the user's preferences, restrictions, and health status, but also takes into account the user's emotional state to suggest the most suitable restaurant. This system enables a more personalized dining experience by recognizing the user's current emotions using an emotion engine.
[0351] 1. Receiving user information and emotions
[0352] The user uses their device to input information about their preferences, limitations, and budget. Furthermore, the system captures the user's emotional state through input, voice, or facial recognition and sends it to the server. An emotion engine analyzes this data to identify the user's current emotion.
[0353] 2. Profile generation and utilization of emotional data
[0354] The server generates a profile based on the received user data. This profile reflects not only the user's preferences and limitations, but also their current emotional state. Emotional data is stored in a database and used to refine future suggestions.
[0355] 3. Restaurant proposals
[0356] Based on the user's profile, the server generates a list of restaurant recommendations, weighting them according to the user's preferences, emotional state, and health data. For example, if the user is feeling down, the emotion engine will prioritize recommending restaurants with specific menu items or a comfortable atmosphere that can refresh their mood. The recommendation list is then presented to the user via their device.
[0357] 4. Restaurant reservations and reviews
[0358] When a user selects a restaurant they wish to visit from a suggested list, the terminal sends that information to the server. The server accesses the restaurant's reservation system and completes the reservation process. After the visit, the user inputs their evaluation of the restaurant and changes in their feelings during the visit, and provides this information to the server via the terminal.
[0359] In this way, by utilizing the emotion engine, it becomes possible to make suggestions tailored to the user's psychological state, rather than simply making decisions based on physical conditions. This comprehensive approach makes it possible to provide a richer and more satisfying dining experience.
[0360] The following describes the processing flow.
[0361] Step 1:
[0362] Users input preference information, restriction information, and budget information into the device, and also provide emotional data. Emotional data is acquired through self-reporting, voice recognition, and facial recognition. The device formats this data and sends it to the server.
[0363] Step 2:
[0364] The server generates a user profile based on the received information. This profile includes preferences, limitations, budget, and emotional state, and serves as the basis for future suggestions. This data is stored in a database.
[0365] Step 3:
[0366] The server uses an emotion engine to analyze the user's emotional state. For example, if the user is identified as stressed, the emotional data is used to suggest relaxing restaurants.
[0367] Step 4:
[0368] The server searches the database for relevant restaurants based on the user profile and emotional state, and generates a list of suggestions. It then prioritizes the restaurants in the list based on the user's preferences and current emotional state.
[0369] Step 5:
[0370] The server sends the generated list of suggestions to the terminal, which then displays the list to the user. The user reviews the list and selects the restaurants they wish to visit.
[0371] Step 6:
[0372] Once the user selects a restaurant, the terminal sends that selection information to the server and begins the reservation process.
[0373] Step 7:
[0374] The server communicates with the reservation system of the selected restaurant and completes the reservation. The result is notified to the terminal, and the user is informed of the reservation status.
[0375] Step 8:
[0376] Users visit restaurants and input their evaluations and emotional changes into a terminal after their experience. The terminal sends this information to a server, which stores the evaluation information in a database.
[0377] Step 9:
[0378] The server analyzes accumulated evaluation and sentiment change data and uses it to improve the accuracy of future suggestions. This will result in more personalized suggestions in the future.
[0379] (Example 2)
[0380] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0381] Conventional restaurant recommendation systems were limited to suggestions based on user preferences and restrictions, and did not provide personalized recommendations that took into account the user's emotional state or health information. Therefore, it was difficult to provide a richer and more satisfying dining experience. Furthermore, post-visit evaluation data was not fully utilized, preventing improvements in the accuracy of future recommendations.
[0382] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0383] In this invention, the server includes means for receiving user preference information, restriction information, and emotional state using a user information processing device and generating a user profile; means for identifying the user's emotional state using an emotion analysis device and selecting information on relevant food and beverage consumption locations from an information storage medium; and means for communicating to process reservations while considering the user's emotional state. This makes it possible to provide a personalized dining experience that is tailored to the user's psychological state.
[0384] A "user information processing device" is a device that allows users to input information and send it to a server. Smartphones and computers fall into this category.
[0385] "Preference information" refers to information about the user's favorite foods and the characteristics of restaurants.
[0386] "Restriction information" refers to information about foods or restaurant characteristics that users wish to avoid for health or other reasons.
[0387] "Emotional state" refers to information about the user's current psychological mood and feelings.
[0388] A "profile" is a unique set of information that combines user preferences, limitations, budget, and emotional state.
[0389] An "emotion analysis device" is a device or function that analyzes and identifies a user's emotional state based on the information they input.
[0390] A "food and beverage consumption center" refers to a place where users can eat, such as a restaurant or cafe.
[0391] An "information storage medium" is a database that holds information on various food and beverage consumption locations that correspond to the user's preferences, restrictions, and emotional state.
[0392] "Means of communication" refers to means of making reservations or sending and receiving information to selected food and beverage consumption locations.
[0393] "Evaluation information" refers to information about evaluations made by users based on their experiences at food and beverage consumption locations they visited.
[0394] An "external device" is a device that acquires health information and works in conjunction with this system to adjust suggestions for the user. Fitness trackers and health management apps fall into this category.
[0395] This system is a platform for providing users with personalized dining experiences, realized through the cooperation of servers, terminals, and external devices.
[0396] First, users input preference information, restriction information, and budget information using their own devices. Furthermore, they communicate their emotional state to the device using input methods or the device's voice input / camera functions. The device then transmits all the collected information to the server.
[0397] The server is equipped with an emotion analysis device that utilizes a generative AI model to analyze user information transmitted from terminals. This server generates and stores each user's profile using an information storage medium. The emotion analysis device also uses a generative AI model to analyze emotional states in natural language and identify keywords based on the user's mood and emotions.
[0398] Subsequently, the server performs a process of selecting food and beverage consumption locations based on the profile data. Information regarding food and beverage consumption locations is retrieved from a database. The suggested food and beverage consumption locations are appropriately customized, taking into account the user's preferences, health information, and emotional state.
[0399] For example, if a user enters a prompt such as, "I'm feeling down today, so please recommend a cafe where I can cheer myself up," the emotion analysis device can analyze keywords like "cheer up" and "cafe" and suggest suitable places to eat and drink.
[0400] Furthermore, the system collects health information from external devices such as fitness trackers, and based on this information, the server generates a list of suggestions that take into account the user's health condition. This system enables suggestions based on both physical conditions and the user's psychological state, allowing users to have a more optimal dining experience.
[0401] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0402] Step 1:
[0403] Users use a device to input preference information, restriction information, and budget information. Furthermore, their emotional state is communicated to the device via voice input or camera function. The device collects this input information and sends it to the server as a dataset. This process aggregates the user's basic eating and drinking information and current emotional state, allowing the server to secure the data necessary for analysis.
[0404] Step 2:
[0405] The server receives the dataset from the terminal as input. Next, the emotion analysis device analyzes the emotion data using a generated AI model. This analysis extracts keywords associated with the user's emotional state. The server uses these analysis results to generate a user profile. The profile reflects preferences, limitations, and emotional states.
[0406] Step 3:
[0407] The server receives the generated profile as input, searches the information storage medium, and generates a suggestion list. This search takes into account the preferences and emotional state reflected in the profile, and selects food and beverage consumption locations. As a result, a suggestion list tailored to the user is generated.
[0408] Step 4:
[0409] The terminal displays a list of suggestions received from the server as output to the user. The user selects the food and beverage establishments that interest them most from the list of suggestions. This selection information is sent back from the terminal to the server, and preparations for booking are made.
[0410] Step 5:
[0411] The server receives the selected information as input and accesses the reservation system for the corresponding food and beverage consumption location. The reservation process is automatically completed via communication. Confirmation of the reservation completion is sent to the terminal and notified to the user.
[0412] Step 6:
[0413] After a visit, the user enters their evaluation information about the food and beverage establishments they experienced into a terminal. The terminal then sends this evaluation information to a server. The server stores the submitted evaluation information in a profile and uses it to improve future recommendations. This is expected to improve the accuracy of future recommendations.
[0414] (Application Example 2)
[0415] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the smart glasses 214 as the "terminal".
[0416] Conventional dining suggestion systems only make suggestions based on user preferences and restrictions, and do not take into account the user's emotional state. As a result, the dining experience the user has may not reflect their psychological state, and they may not be fully satisfied. Furthermore, there is no mechanism to receive suggestions immediately at home or in their living environment. In addition, there is a lack of flexibility and personalization in the suggestions.
[0417] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0418] In this invention, the server includes means for receiving user preference information and restriction information and generating a profile; means for analyzing the user's current emotional state and prioritizing emotionally conscious suggestions; and means for using a home robot to deliver suggestions via voice or screen display. This makes it possible to provide personalized dining location suggestions based on the user's psychological state in real time within the home.
[0419] "Preference information" refers to data that shows users' preferences and choices regarding food and drink.
[0420] "Restriction information" refers to data that indicates the conditions and limitations that users must consider when eating and drinking.
[0421] A "profile" is a collection of information that comprehensively represents a user's personal preferences, limitations, and emotional state.
[0422] "Emotional state" refers to data that indicates the user's psychological and emotional state.
[0423] A "family robot" is a robotic system used within the home, a device that supports daily life through various tasks.
[0424] "Means for processing reservations" refers to technology that provides communication methods for making reservations for selected dining establishments.
[0425] "Health data" refers to information about the user's health status, and is used when adjusting suggestions.
[0426] "Evaluation information" refers to experience reviews and feedback provided by users after they have used the suggested dining establishments.
[0427] The "means of adjusting suggestions" refer to a system that optimizes the suggested dining locations based on the user's profile and health data.
[0428] The system that implements this application involves inputting user preference and restriction information and sending it to a server via a terminal built into a home robot. The server generates a profile based on this information. Software such as Amazon Rekognition or Google AI's emotion analysis API is used as the emotion engine to analyze the user's emotional state. As a result, the user's emotional state is incorporated into the profile.
[0429] Based on the user's profile, the server selects suitable candidates from a database of dining locations. The selected dining locations are then suggested to the user using a home robot. The suggestions are made via voice or on-screen display. Once the user selects a dining location, the server communicates with the reservation system to complete the reservation process.
[0430] Furthermore, health data is also taken into consideration when making suggestions. Health data is transmitted from external devices (such as smartwatches or healthcare devices) to the cloud and analyzed on the server side. This makes it possible to suggest dining locations based on the user's health status.
[0431] After a user visits a site, they send their evaluation information to the server via their device, allowing data to be accumulated to improve the accuracy of future recommendations. This evaluation information is also used to create profiles of other users, providing more useful recommendations to a wider audience.
[0432] As a concrete example, a home robot might notify the user via voice, "You seem to be feeling stressed today. I'll suggest a place to eat and drink where you can relax." An example of a prompt sentence to input into the generating AI model would be, "Please suggest a restaurant based on the user's preferences, emotions, and restrictions. The user's current emotion is to relax, but their restrictions include allergies."
[0433] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0434] Step 1:
[0435] The device receives preference information, restriction information, and emotional state from the user as input. The received data is temporarily stored on the device and converted into a data format that is sent to the server for analysis.
[0436] Step 2:
[0437] The server receives information sent from the terminal and generates a user profile. This profile generation uses an emotion engine (e.g., Google AI's Sentiment Analysis API) to analyze the emotional state and includes emotion data in the profile. The input is user information, and the output is profile data that takes emotions into account.
[0438] Step 3:
[0439] The server queries a database of dining establishments based on the generated profile and selects appropriate candidates. The database query generates a list of dining establishments that best match the user's preferences and moods. The input is profile data, and the output is a list of recommended dining establishments.
[0440] Step 4:
[0441] The server sends a list of recommended restaurants to the home robot. The home robot uses a speech synthesis system to inform the user of the suggestions verbally. The input is the list of restaurants from the server, and the output is the voice notification from the home robot to the user.
[0442] Step 5:
[0443] The user selects a restaurant from the suggested options. The terminal sends the selected location to the server and begins the reservation process. The server uses a communication module to connect with the reservation system of the selected restaurant and completes the reservation. The input is the user's selection information, and the output is the status of the restaurant reservation completion.
[0444] Step 6:
[0445] After a visit, users input their evaluation of the dining experience into the server via a terminal. The server stores this evaluation information in a database and uses it to improve the accuracy of future recommendations. The input is the evaluation information, and the output is the updated database.
[0446] Step 7:
[0447] The server receives health data from an external device and analyzes it. Based on this analysis, it processes the data to further refine future recommendations. The input is health data, and the output is optimized future recommendations.
[0448] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0449] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0450] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0451] [Third Embodiment]
[0452] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0453] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0454] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0455] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0456] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0457] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0458] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0459] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0460] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0461] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0462] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0463] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0464] This invention is a system for suggesting and making reservations for the most suitable restaurants based on the user's preferences and restrictions. This system generates a profile based on user input and provides a rich dining experience through suggestion, reservation, and community functions. Specific embodiments are described below.
[0465] 1. Receiving user information and generating a profile
[0466] The user uses a terminal to input their preferences (e.g., favorite cuisine, areas they want to visit), restrictions (e.g., allergies, vegetarianism, etc.), and budget information. The terminal then sends this information to a server, which generates a user-specific profile based on that information and stores it in a database.
[0467] 2. Suggestion of the most suitable restaurant
[0468] The server searches the database for restaurant information based on the user profile. The suggested restaurants are those that match the user's preferences and restrictions, and also take into account past reviews and other factors. The server generates a list of suggested restaurants and provides it to the user via the terminal.
[0469] 3. Restaurant reservations
[0470] When a user selects a restaurant they wish to visit from a suggested list, the terminal notifies the server of this selection, and the server attempts to make a reservation. At this time, the reservation information is directly linked to the restaurant's system, and the user is notified of the confirmation result.
[0471] 4. Community Features
[0472] Users can enter ratings for restaurants they visit. These ratings are reflected in other users' suggestions, enhancing the recommendation function. The device sends these ratings to the server, which stores them in a database.
[0473] 5. Suggestions for a health-based diet
[0474] The server acquires the user's health data via an external device. This health data includes information such as activity level, heart rate, and calorie consumption. Based on this, the server can suggest restaurants that are more suitable for the user's current health condition and also provide nutritional management support. For example, if calorie restriction is required for fitness purposes, the server will suggest restaurants with low-calorie menus.
[0475] Thus, the present invention is a system that enables the selection and reservation of restaurants tailored to the user, and its integration with their health status, thereby realizing a comprehensive and personalized dining experience.
[0476] The following describes the processing flow.
[0477] Step 1:
[0478] The user inputs preference information, restriction information, and budget information through the device. The device formats this information and sends it to the server.
[0479] Step 2:
[0480] The server generates a user profile based on the received information. This profile is stored in a database and serves as the basis for future suggestions.
[0481] Step 3:
[0482] The server searches the database and selects a list of restaurants that match the user profile. This process takes into account past visit history and ratings from other users.
[0483] Step 4:
[0484] The server sends the selected list of restaurants to the terminal as a suggestion list. The terminal displays this list to the user, making it available for selection.
[0485] Step 5:
[0486] The user selects a restaurant they wish to visit from the suggested options and confirms their choice on their device. The device then sends this selection to the server.
[0487] Step 6:
[0488] The server processes reservations in conjunction with the restaurant's reservation system based on the user's selection. It then notifies the user's device of the reservation's success or failure.
[0489] Step 7:
[0490] The user enters their rating of the restaurant they visited into a terminal. The terminal sends the rating information to a server, which records that information in a database.
[0491] Step 8:
[0492] The server acquires health data from an external device. Based on this data, it can suggest alternative restaurants tailored to the user's health condition. These suggestions are then presented to the user again via the terminal.
[0493] (Example 1)
[0494] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0495] Conventional restaurant recommendation systems struggle to fully accommodate individual user preferences and restrictions, and furthermore, they lack sufficient automation for reservations and adequate incorporation of health information. Therefore, providing users with the optimal dining experience is difficult. Additionally, the inability to effectively utilize user reviews limits the potential for improving the accuracy of recommendations.
[0496] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0497] In this invention, the server includes means for receiving user preference information and constraint information and generating user characteristic information; means for selecting relevant food and beverage establishment information from an information aggregation device and proposing a food and beverage establishment suitable for the user; and means for coordinating with an external device and adjusting the proposal based on health information. This enables personalized proposals and automated reservation processing that meet the diverse needs of users, thereby improving the overall quality of the dining experience.
[0498] "Users" refers to people who receive suggestions regarding food and beverage establishments through the information system.
[0499] "Preference information" refers to information about the user's preferences, including, for example, the type of cuisine they like to eat or the region they would like to visit.
[0500] "Constraint information" refers to dietary restrictions that users have, such as allergies or specific dietary restrictions (e.g., vegetarianism).
[0501] "Characteristic information" refers to the personalized user profile generated by the server based on the user's preferences and constraints.
[0502] An "information aggregation device" refers to a data storage system that holds and allows searching of information related to food and beverage establishments.
[0503] A "food and beverage establishment" refers to a restaurant or facility that provides food and drinks to its customers.
[0504] "External devices" refer to external devices or systems that can acquire health information by cooperating with the server.
[0505] "Health information" refers to data about the user's physical condition, including, for example, heart rate, activity level, and calorie consumption.
[0506] "Generative AI models" refer to artificial intelligence technologies that use machine learning algorithms to analyze information and improve the accuracy of suggestions and profile generation.
[0507] This invention is a system that suggests and makes reservations for optimal food and beverage establishments based on user preference and constraint information. The system utilizes a server, terminals, and external devices. Specific embodiments are described below.
[0508] The server operates on computing devices such as cloud servers or on-premises servers. This gives it the capability to process vast amounts of data from multiple users. The server uses a generative AI model to receive user preference and constraint information, analyze it, and generate feature information. This generative AI model enables suggestions that take into account the user's latent preferences. The server searches an information aggregation device that stores information on food and beverage establishments and makes optimal suggestions based on the user's feature information.
[0509] Users access the system using a terminal, such as a smartphone or personal computer. Through the user interface, users can input their preferences and restrictions. The terminal also has the function of receiving suggestions from the server and presenting them to the user. Once the user selects a restaurant from the suggested options, the terminal sends that information to the server. The server then processes the reservation and notifies the terminal of the result.
[0510] Furthermore, the server works in conjunction with external devices to acquire users' health information. These external devices include fitness trackers and smartwatches, which provide data such as activity levels, heart rate, and calorie consumption. The server analyzes this health information and adjusts the suggestions for food and beverage establishments to match the user's nutritional status.
[0511] As a concrete example, user A inputs preference and constraint information from their device, such as "I like Italian food, my budget is under 3000 yen, and I'm limiting my meat intake." Based on this, the server uses a generative AI model to suggest the most suitable restaurant and proceeds with the reservation process. Furthermore, it can utilize information from external devices to adjust the suggestions according to the user's health condition. By inputting a prompt such as "Please tell me the development flow for a system that recommends the most suitable food and beverage establishments based on specific user information" into the generative AI model, further analysis to improve accuracy is possible.
[0512] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0513] Step 1:
[0514] This step involves the user using a terminal to input their preferences, constraints, and budget information. The terminal receives the entered data, formats it, and sends it to the server. This formatting process includes data validation to maintain data consistency and accuracy. Specifically, the terminal compiles information from the data input fields and sends this information to the server using a secure protocol such as SSL / TLS.
[0515] Step 2:
[0516] The server receives data sent from the terminal, validates the data, and generates user characteristic information. The server uses a generative AI model to analyze the received preference and constraint information. This analysis generates detailed characteristic information that takes into account the user's potential needs. The generated characteristic information is stored in a database and used in subsequent suggestion steps.
[0517] Step 3:
[0518] The server searches the information aggregation device based on the generated feature information. Here, it refers to the food and beverage establishment information in the database and performs data filtering and sorting to make suggestions suitable for the user. Specifically, it executes a search query that combines cuisine genre, geographical conditions, and the user's budget to generate a list of the most suitable food and beverage establishments. The generated list is then sent back to the terminal and presented to the user.
[0519] Step 4:
[0520] The user reviews a list of restaurants and bars received from their device and selects the one they wish to visit. The device sends the selected restaurant information to the server. The server receives this selection and checks the reservation information for the corresponding restaurant in its database. Next, it immediately initiates the reservation process via the reservation API and notifies the device of the result. Specifically, the server interacts with an external reservation system to check real-time reservation availability.
[0521] Step 5:
[0522] Users input their evaluations of the food and beverage establishments they have visited using their own devices. The devices send the evaluation data to the server. The server stores the received evaluations in a database and uses them to improve the accuracy of recommendations for other users. Specifically, it analyzes this evaluation information and adjusts the recommendation algorithm through a generative AI model.
[0523] Step 6:
[0524] The server receives health information from an external device and performs data analysis. This health information includes activity level, heart rate, and calories burned. Based on this data, the server adjusts its recommendations for food and beverage establishments to suit the user's health condition. Specifically, it updates the information to prioritize recommending establishments with menus that consider nutritional balance and calorie consumption.
[0525] (Application Example 1)
[0526] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0527] Modern consumers often want to maintain a healthy diet while having diverse preferences and dietary restrictions. However, achieving this involves a significant burden of searching for and reserving suitable restaurants from a vast amount of information. Furthermore, intuitive voice-based interfaces are still underdeveloped, and there are limited systems that consumers can easily use in their daily lives. Given this situation, there is a need for a comprehensive system that can easily meet the individual dietary needs of users.
[0528] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0529] In this invention, the server includes means for receiving user preference information and restriction information and generating a user profile; means for selecting relevant restaurant information from a database and suggesting restaurants suitable for the user; means for coordinating with external devices and adjusting the suggestions based on health data; means for analyzing voice input and collecting the profile information and restriction information via voice; and means for suggesting restaurants in natural language using a natural language model. This enables users to intuitively select and reserve meals based on their preferences and health status using voice.
[0530] A "user" is an entity that uses the system to receive restaurant suggestions and make reservations.
[0531] "Preference information" refers to information about the user's preferences, including their favorite food genres and areas they would like to visit.
[0532] "Restriction information" refers to dietary restrictions imposed by the user, including allergy information and dietary restrictions.
[0533] A "profile" is a set of individual information constructed based on preference and restriction information collected from users.
[0534] A "database" is a source of information that stores information about restaurants.
[0535] "Restaurant information" refers to detailed information about restaurants, such as their location, menu, and operating status.
[0536] "External devices" are devices used to collect users' health data.
[0537] "Health data" refers to information about the user's physical condition, including activity levels, heart rate, and calorie consumption.
[0538] "Voice input" is a method by which users give instructions to a system using their voice.
[0539] A "natural language model" is a technical method used by computers to analyze, understand, and generate natural language.
[0540] The system that realizes this invention functions by integrating multiple components. The system mainly consists of a server, a terminal, and a user, and each component works in coordination.
[0541] The server receives user preference and restriction information and generates a profile based on it. Based on the generated profile, it searches the database for relevant restaurant information and suggests suitable restaurants. AWS Lambda is used for data processing in this process, and Amazon DynamoDB is used for database integration. When making suggestions, OpenAI's GPT-3 natural language model is used to deliver information in an easy-to-understand manner to the user.
[0542] The device receives voice input from the user and converts it into text using the Google Speech-to-Text API. This information is sent to a server and used to generate profiles and suggest restaurants. The device also accesses restaurant reservation APIs to attempt reservations and makes reservations in real time.
[0543] Users can interact with the system via smartphones or smart speakers, easily giving voice commands to select restaurants based on their preferences. Furthermore, by collecting health data from wearable devices and integrating it with Amazon IoT, users can also receive health-conscious recommendations.
[0544] As a concrete example of this system, if a family member has allergies, it can suggest allergy-friendly restaurants based on that information. A possible prompt message from the user might be, "For tonight's dinner, please check if there are any gluten-free options at a nearby Italian restaurant and make a reservation."
[0545] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0546] Step 1:
[0547] The user provides voice input to the device. The device uses the Google Speech-to-Text API to convert the voice data into text data. In this process, the voice input (for example, "Find an Italian restaurant") is sent to the server as text data.
[0548] Step 2:
[0549] The server analyzes the received text data and stores the corresponding preference and restriction information in the profile. During this process, past usage history and evaluation data are also considered to update the user-specific profile. The input data is preference information in text format, and the output is an updated user profile.
[0550] Step 3:
[0551] The server searches Amazon DynamoDB for relevant restaurant information based on the profile. The search results generate a list of matching restaurants. The input is the updated user profile, and the output is a list of candidate restaurants.
[0552] Step 4:
[0553] Based on the generated list of restaurants, the server uses a natural language model (OpenAI's GPT-3) to generate restaurant suggestions. These suggestions are sent to the user's terminal and presented visually or audibly. The input is a list of restaurants, and the output is a set of suggestion texts for the user.
[0554] Step 5:
[0555] The user selects a restaurant from the suggested options. The selection information is processed on the terminal and sent to the server. The input is the user's selection, and the output is the information of the selected restaurant.
[0556] Step 6:
[0557] The server attempts to communicate with the selected restaurant via a reservation API to check the availability of the reservation. If the reservation is successful, the information is notified to the user via the terminal. The input is the information of the selected restaurant, and the output is the reservation confirmation result.
[0558] Step 7:
[0559] The user enters their rating information for the restaurants they visited into a terminal. The terminal sends the rating information to a server, which stores it in a database. The input is the user's rating information, and the output is the rating section of the updated restaurant list.
[0560] Step 8:
[0561] The terminal transmits health data acquired from the wearable device to the server. The server uses this information to adjust the proposed plan and re-suggest restaurants that take nutritional balance into consideration. The input is health data, and the output is the adjusted proposal text.
[0562] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0563] This invention provides a system that not only suggests restaurants based on the user's preferences, restrictions, and health status, but also takes into account the user's emotional state to suggest the most suitable restaurant. This system enables a more personalized dining experience by recognizing the user's current emotions using an emotion engine.
[0564] 1. Receiving user information and emotions
[0565] The user uses their device to input information about their preferences, limitations, and budget. Furthermore, the system captures the user's emotional state through input, voice, or facial recognition and sends it to the server. An emotion engine analyzes this data to identify the user's current emotion.
[0566] 2. Profile generation and utilization of emotional data
[0567] The server generates a profile based on the received user data. This profile reflects not only the user's preferences and limitations, but also their current emotional state. Emotional data is stored in a database and used to refine future suggestions.
[0568] 3. Restaurant proposals
[0569] Based on the user's profile, the server generates a list of restaurant recommendations, weighting them according to the user's preferences, emotional state, and health data. For example, if the user is feeling down, the emotion engine will prioritize recommending restaurants with specific menu items or a comfortable atmosphere that can refresh their mood. The recommendation list is then presented to the user via their device.
[0570] 4. Restaurant reservations and reviews
[0571] When a user selects a restaurant they wish to visit from a suggested list, the terminal sends that information to the server. The server accesses the restaurant's reservation system and completes the reservation process. After the visit, the user inputs their evaluation of the restaurant and changes in their feelings during the visit, and provides this information to the server via the terminal.
[0572] In this way, by utilizing the emotion engine, it becomes possible to make suggestions tailored to the user's psychological state, rather than simply making decisions based on physical conditions. This comprehensive approach makes it possible to provide a richer and more satisfying dining experience.
[0573] The following describes the processing flow.
[0574] Step 1:
[0575] Users input preference information, restriction information, and budget information into the device, and also provide emotional data. Emotional data is acquired through self-reporting, voice recognition, and facial recognition. The device formats this data and sends it to the server.
[0576] Step 2:
[0577] The server generates a user profile based on the received information. This profile includes preferences, limitations, budget, and emotional state, and serves as the basis for future suggestions. This data is stored in a database.
[0578] Step 3:
[0579] The server uses an emotion engine to analyze the user's emotional state. For example, if the user is identified as stressed, the emotional data is used to suggest relaxing restaurants.
[0580] Step 4:
[0581] The server searches the database for relevant restaurants based on the user profile and emotional state, and generates a list of suggestions. It then prioritizes the restaurants in the list based on the user's preferences and current emotional state.
[0582] Step 5:
[0583] The server sends the generated list of suggestions to the terminal, which then displays the list to the user. The user reviews the list and selects the restaurants they wish to visit.
[0584] Step 6:
[0585] Once the user selects a restaurant, the terminal sends that selection information to the server and begins the reservation process.
[0586] Step 7:
[0587] The server communicates with the reservation system of the selected restaurant and completes the reservation. The result is notified to the terminal, and the user is informed of the reservation status.
[0588] Step 8:
[0589] Users visit restaurants and input their evaluations and emotional changes into a terminal after their experience. The terminal sends this information to a server, which stores the evaluation information in a database.
[0590] Step 9:
[0591] The server analyzes accumulated evaluation and sentiment change data and uses it to improve the accuracy of future suggestions. This will result in more personalized suggestions in the future.
[0592] (Example 2)
[0593] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0594] Conventional restaurant recommendation systems were limited to suggestions based on user preferences and restrictions, and did not provide personalized recommendations that took into account the user's emotional state or health information. Therefore, it was difficult to provide a richer and more satisfying dining experience. Furthermore, post-visit evaluation data was not fully utilized, preventing improvements in the accuracy of future recommendations.
[0595] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0596] In this invention, the server includes means for receiving user preference information, restriction information, and emotional state using a user information processing device and generating a user profile; means for identifying the user's emotional state using an emotion analysis device and selecting information on relevant food and beverage consumption locations from an information storage medium; and means for communicating to process reservations while considering the user's emotional state. This makes it possible to provide a personalized dining experience that is tailored to the user's psychological state.
[0597] A "user information processing device" is a device that allows users to input information and send it to a server. Smartphones and computers fall into this category.
[0598] "Preference information" refers to information about the user's favorite foods and the characteristics of restaurants.
[0599] "Restriction information" refers to information about foods or restaurant characteristics that users wish to avoid for health or other reasons.
[0600] "Emotional state" refers to information about the user's current psychological mood and feelings.
[0601] A "profile" is a unique set of information that combines user preferences, limitations, budget, and emotional state.
[0602] An "emotion analysis device" is a device or function that analyzes and identifies a user's emotional state based on the information they input.
[0603] A "food and beverage consumption center" refers to a place where users can eat, such as a restaurant or cafe.
[0604] An "information storage medium" is a database that holds information on various food and beverage consumption locations that correspond to the user's preferences, restrictions, and emotional state.
[0605] "Means of communication" refers to means of making reservations or sending and receiving information to selected food and beverage consumption locations.
[0606] "Evaluation information" refers to information about evaluations made by users based on their experiences at food and beverage consumption locations they visited.
[0607] An "external device" is a device that acquires health information and works in conjunction with this system to adjust suggestions for the user. Fitness trackers and health management apps fall into this category.
[0608] This system is a platform for providing users with personalized dining experiences, realized through the cooperation of servers, terminals, and external devices.
[0609] First, users input preference information, restriction information, and budget information using their own devices. Furthermore, they communicate their emotional state to the device using input methods or the device's voice input / camera functions. The device then transmits all the collected information to the server.
[0610] The server is equipped with an emotion analysis device that utilizes a generative AI model to analyze user information transmitted from terminals. This server generates and stores each user's profile using an information storage medium. The emotion analysis device also uses a generative AI model to analyze emotional states in natural language and identify keywords based on the user's mood and emotions.
[0611] Subsequently, the server performs a process of selecting food and beverage consumption locations based on the profile data. Information regarding food and beverage consumption locations is retrieved from a database. The suggested food and beverage consumption locations are appropriately customized, taking into account the user's preferences, health information, and emotional state.
[0612] For example, if a user enters a prompt such as, "I'm feeling down today, so please recommend a cafe where I can cheer myself up," the emotion analysis device can analyze keywords like "cheer up" and "cafe" and suggest suitable places to eat and drink.
[0613] Furthermore, the system collects health information from external devices such as fitness trackers, and based on this information, the server generates a list of suggestions that take into account the user's health condition. This system enables suggestions based on both physical conditions and the user's psychological state, allowing users to have a more optimal dining experience.
[0614] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0615] Step 1:
[0616] Users use a device to input preference information, restriction information, and budget information. Furthermore, their emotional state is communicated to the device via voice input or camera function. The device collects this input information and sends it to the server as a dataset. This process aggregates the user's basic eating and drinking information and current emotional state, allowing the server to secure the data necessary for analysis.
[0617] Step 2:
[0618] The server receives the dataset from the terminal as input. Next, the emotion analysis device analyzes the emotion data using a generated AI model. This analysis extracts keywords associated with the user's emotional state. The server uses these analysis results to generate a user profile. The profile reflects preferences, limitations, and emotional states.
[0619] Step 3:
[0620] The server receives the generated profile as input, searches the information storage medium, and generates a suggestion list. This search takes into account the preferences and emotional state reflected in the profile, and selects food and beverage consumption locations. As a result, a suggestion list tailored to the user is generated.
[0621] Step 4:
[0622] The terminal displays a list of suggestions received from the server as output to the user. The user selects the food and beverage establishments that interest them most from the list of suggestions. This selection information is sent back from the terminal to the server, and preparations for booking are made.
[0623] Step 5:
[0624] The server receives the selected information as input and accesses the reservation system for the corresponding food and beverage consumption location. The reservation process is automatically completed via communication. Confirmation of the reservation completion is sent to the terminal and notified to the user.
[0625] Step 6:
[0626] After a visit, the user enters their evaluation information about the food and beverage establishments they experienced into a terminal. The terminal then sends this evaluation information to a server. The server stores the submitted evaluation information in a profile and uses it to improve future recommendations. This is expected to improve the accuracy of future recommendations.
[0627] (Application Example 2)
[0628] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0629] Conventional dining suggestion systems only make suggestions based on user preferences and restrictions, and do not take into account the user's emotional state. As a result, the dining experience the user has may not reflect their psychological state, and they may not be fully satisfied. Furthermore, there is no mechanism to receive suggestions immediately at home or in their living environment. In addition, there is a lack of flexibility and personalization in the suggestions.
[0630] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0631] In this invention, the server includes means for receiving user preference information and restriction information and generating a profile; means for analyzing the user's current emotional state and prioritizing emotionally conscious suggestions; and means for using a home robot to deliver suggestions via voice or screen display. This makes it possible to provide personalized dining location suggestions based on the user's psychological state in real time within the home.
[0632] "Preference information" refers to data that shows users' preferences and choices regarding food and drink.
[0633] "Restriction information" refers to data that indicates the conditions and limitations that users must consider when eating and drinking.
[0634] A "profile" is a collection of information that comprehensively represents a user's personal preferences, limitations, and emotional state.
[0635] "Emotional state" refers to data that indicates the user's psychological and emotional state.
[0636] A "family robot" is a robotic system used within the home, a device that supports daily life through various tasks.
[0637] "Means for processing reservations" refers to technology that provides communication methods for making reservations for selected dining establishments.
[0638] "Health data" refers to information about the user's health status, and is used when adjusting suggestions.
[0639] "Evaluation information" refers to experience reviews and feedback provided by users after they have used the suggested dining establishments.
[0640] The "means of adjusting suggestions" refer to a system that optimizes the suggested dining locations based on the user's profile and health data.
[0641] The system that implements this application involves inputting user preference and restriction information and sending it to a server via a terminal built into a home robot. The server generates a profile based on this information. Software such as Amazon Rekognition or Google AI's emotion analysis API is used as the emotion engine to analyze the user's emotional state. As a result, the user's emotional state is incorporated into the profile.
[0642] Based on the user's profile, the server selects suitable candidates from a database of dining locations. The selected dining locations are then suggested to the user using a home robot. The suggestions are made via voice or on-screen display. Once the user selects a dining location, the server communicates with the reservation system to complete the reservation process.
[0643] Furthermore, health data is also taken into consideration when making suggestions. Health data is transmitted from external devices (such as smartwatches or healthcare devices) to the cloud and analyzed on the server side. This makes it possible to suggest dining locations based on the user's health status.
[0644] After a user visits a site, they send their evaluation information to the server via their device, allowing data to be accumulated to improve the accuracy of future recommendations. This evaluation information is also used to create profiles of other users, providing more useful recommendations to a wider audience.
[0645] As a concrete example, a home robot might notify the user via voice, "You seem to be feeling stressed today. I'll suggest a place to eat and drink where you can relax." An example of a prompt sentence to input into the generating AI model would be, "Please suggest a restaurant based on the user's preferences, emotions, and restrictions. The user's current emotion is to relax, but their restrictions include allergies."
[0646] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0647] Step 1:
[0648] The device receives preference information, restriction information, and emotional state from the user as input. The received data is temporarily stored on the device and converted into a data format that is sent to the server for analysis.
[0649] Step 2:
[0650] The server receives information sent from the terminal and generates a user profile. This profile generation uses an emotion engine (e.g., Google AI's Sentiment Analysis API) to analyze the emotional state and includes emotion data in the profile. The input is user information, and the output is profile data that takes emotions into account.
[0651] Step 3:
[0652] The server queries a database of dining establishments based on the generated profile and selects appropriate candidates. The database query generates a list of dining establishments that best match the user's preferences and moods. The input is profile data, and the output is a list of recommended dining establishments.
[0653] Step 4:
[0654] The server sends a list of recommended restaurants to the home robot. The home robot uses a speech synthesis system to inform the user of the suggestions verbally. The input is the list of restaurants from the server, and the output is the voice notification from the home robot to the user.
[0655] Step 5:
[0656] The user selects a restaurant from the suggested options. The terminal sends the selected location to the server and begins the reservation process. The server uses a communication module to connect with the reservation system of the selected restaurant and completes the reservation. The input is the user's selection information, and the output is the status of the restaurant reservation completion.
[0657] Step 6:
[0658] After a visit, users input their evaluation of the dining experience into the server via a terminal. The server stores this evaluation information in a database and uses it to improve the accuracy of future recommendations. The input is the evaluation information, and the output is the updated database.
[0659] Step 7:
[0660] The server receives health data from an external device and analyzes it. Based on this analysis, it processes the data to further refine future recommendations. The input is health data, and the output is optimized future recommendations.
[0661] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0662] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0663] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0664] [Fourth Embodiment]
[0665] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0666] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0667] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0668] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0669] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0670] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0671] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0672] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0673] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0674] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0675] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0676] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0677] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0678] This invention is a system for suggesting and making reservations for the most suitable restaurants based on the user's preferences and restrictions. This system generates a profile based on user input and provides a rich dining experience through suggestion, reservation, and community functions. Specific embodiments are described below.
[0679] 1. Receiving user information and generating a profile
[0680] The user uses a terminal to input their preferences (e.g., favorite cuisine, areas they want to visit), restrictions (e.g., allergies, vegetarianism, etc.), and budget information. The terminal then sends this information to a server, which generates a user-specific profile based on that information and stores it in a database.
[0681] 2. Suggestion of the most suitable restaurant
[0682] The server searches the database for restaurant information based on the user profile. The suggested restaurants are those that match the user's preferences and restrictions, and also take into account past reviews and other factors. The server generates a list of suggested restaurants and provides it to the user via the terminal.
[0683] 3. Restaurant reservations
[0684] When a user selects a restaurant they wish to visit from a suggested list, the terminal notifies the server of this selection, and the server attempts to make a reservation. At this time, the reservation information is directly linked to the restaurant's system, and the user is notified of the confirmation result.
[0685] 4. Community Features
[0686] Users can enter ratings for restaurants they visit. These ratings are reflected in other users' suggestions, enhancing the recommendation function. The device sends these ratings to the server, which stores them in a database.
[0687] 5. Suggestions for a health-based diet
[0688] The server acquires the user's health data via an external device. This health data includes information such as activity level, heart rate, and calorie consumption. Based on this, the server can suggest restaurants that are more suitable for the user's current health condition and also provide nutritional management support. For example, if calorie restriction is required for fitness purposes, the server will suggest restaurants with low-calorie menus.
[0689] Thus, the present invention is a system that enables the selection and reservation of restaurants tailored to the user, and its integration with their health status, thereby realizing a comprehensive and personalized dining experience.
[0690] The following describes the processing flow.
[0691] Step 1:
[0692] The user inputs preference information, restriction information, and budget information through the device. The device formats this information and sends it to the server.
[0693] Step 2:
[0694] The server generates a user profile based on the received information. This profile is stored in a database and serves as the basis for future suggestions.
[0695] Step 3:
[0696] The server searches the database and selects a list of restaurants that match the user profile. This process takes into account past visit history and ratings from other users.
[0697] Step 4:
[0698] The server sends the selected list of restaurants to the terminal as a suggestion list. The terminal displays this list to the user, making it available for selection.
[0699] Step 5:
[0700] The user selects a restaurant they wish to visit from the suggested options and confirms their choice on their device. The device then sends this selection to the server.
[0701] Step 6:
[0702] The server processes reservations in conjunction with the restaurant's reservation system based on the user's selection. It then notifies the user's device of the reservation's success or failure.
[0703] Step 7:
[0704] The user enters their rating of the restaurant they visited into a terminal. The terminal sends the rating information to a server, which records that information in a database.
[0705] Step 8:
[0706] The server acquires health data from an external device. Based on this data, it can suggest alternative restaurants tailored to the user's health condition. These suggestions are then presented to the user again via the terminal.
[0707] (Example 1)
[0708] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0709] Conventional restaurant recommendation systems struggle to fully accommodate individual user preferences and restrictions, and furthermore, they lack sufficient automation for reservations and adequate incorporation of health information. Therefore, providing users with the optimal dining experience is difficult. Additionally, the inability to effectively utilize user reviews limits the potential for improving the accuracy of recommendations.
[0710] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0711] In this invention, the server includes means for receiving user preference information and constraint information and generating user characteristic information; means for selecting relevant food and beverage establishment information from an information aggregation device and proposing a food and beverage establishment suitable for the user; and means for coordinating with an external device and adjusting the proposal based on health information. This enables personalized proposals and automated reservation processing that meet the diverse needs of users, thereby improving the overall quality of the dining experience.
[0712] "Users" refers to people who receive suggestions regarding food and beverage establishments through the information system.
[0713] "Preference information" refers to information about the user's preferences, including, for example, the type of cuisine they like to eat or the region they would like to visit.
[0714] "Constraint information" refers to dietary restrictions that users have, such as allergies or specific dietary restrictions (e.g., vegetarianism).
[0715] "Characteristic information" refers to the personalized user profile generated by the server based on the user's preferences and constraints.
[0716] An "information aggregation device" refers to a data storage system that holds and allows searching of information related to food and beverage establishments.
[0717] A "food and beverage establishment" refers to a restaurant or facility that provides food and drinks to its customers.
[0718] "External devices" refer to external devices or systems that can acquire health information by cooperating with the server.
[0719] "Health information" refers to data about the user's physical condition, including, for example, heart rate, activity level, and calorie consumption.
[0720] "Generative AI models" refer to artificial intelligence technologies that use machine learning algorithms to analyze information and improve the accuracy of suggestions and profile generation.
[0721] This invention is a system that suggests and makes reservations for optimal food and beverage establishments based on user preference and constraint information. The system utilizes a server, terminals, and external devices. Specific embodiments are described below.
[0722] The server operates on computing devices such as cloud servers or on-premises servers. This gives it the capability to process vast amounts of data from multiple users. The server uses a generative AI model to receive user preference and constraint information, analyze it, and generate feature information. This generative AI model enables suggestions that take into account the user's latent preferences. The server searches an information aggregation device that stores information on food and beverage establishments and makes optimal suggestions based on the user's feature information.
[0723] Users access the system using a terminal, such as a smartphone or personal computer. Through the user interface, users can input their preferences and restrictions. The terminal also has the function of receiving suggestions from the server and presenting them to the user. Once the user selects a restaurant from the suggested options, the terminal sends that information to the server. The server then processes the reservation and notifies the terminal of the result.
[0724] Furthermore, the server works in conjunction with external devices to acquire users' health information. These external devices include fitness trackers and smartwatches, which provide data such as activity levels, heart rate, and calorie consumption. The server analyzes this health information and adjusts the suggestions for food and beverage establishments to match the user's nutritional status.
[0725] As a concrete example, user A inputs preference and constraint information from their device, such as "I like Italian food, my budget is under 3000 yen, and I'm limiting my meat intake." Based on this, the server uses a generative AI model to suggest the most suitable restaurant and proceeds with the reservation process. Furthermore, it can utilize information from external devices to adjust the suggestions according to the user's health condition. By inputting a prompt such as "Please tell me the development flow for a system that recommends the most suitable food and beverage establishments based on specific user information" into the generative AI model, further analysis to improve accuracy is possible.
[0726] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0727] Step 1:
[0728] This step involves the user using a terminal to input their preferences, constraints, and budget information. The terminal receives the entered data, formats it, and sends it to the server. This formatting process includes data validation to maintain data consistency and accuracy. Specifically, the terminal compiles information from the data input fields and sends this information to the server using a secure protocol such as SSL / TLS.
[0729] Step 2:
[0730] The server receives data sent from the terminal, validates the data, and generates user characteristic information. The server uses a generative AI model to analyze the received preference and constraint information. This analysis generates detailed characteristic information that takes into account the user's potential needs. The generated characteristic information is stored in a database and used in subsequent suggestion steps.
[0731] Step 3:
[0732] The server searches the information aggregation device based on the generated feature information. Here, it refers to the food and beverage establishment information in the database and performs data filtering and sorting to make suggestions suitable for the user. Specifically, it executes a search query that combines cuisine genre, geographical conditions, and the user's budget to generate a list of the most suitable food and beverage establishments. The generated list is then sent back to the terminal and presented to the user.
[0733] Step 4:
[0734] The user reviews a list of restaurants and bars received from their device and selects the one they wish to visit. The device sends the selected restaurant information to the server. The server receives this selection and checks the reservation information for the corresponding restaurant in its database. Next, it immediately initiates the reservation process via the reservation API and notifies the device of the result. Specifically, the server interacts with an external reservation system to check real-time reservation availability.
[0735] Step 5:
[0736] Users input their evaluations of the food and beverage establishments they have visited using their own devices. The devices send the evaluation data to the server. The server stores the received evaluations in a database and uses them to improve the accuracy of recommendations for other users. Specifically, it analyzes this evaluation information and adjusts the recommendation algorithm through a generative AI model.
[0737] Step 6:
[0738] The server receives health information from an external device and performs data analysis. This health information includes activity level, heart rate, and calories burned. Based on this data, the server adjusts its recommendations for food and beverage establishments to suit the user's health condition. Specifically, it updates the information to prioritize recommending establishments with menus that consider nutritional balance and calorie consumption.
[0739] (Application Example 1)
[0740] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0741] Modern consumers often want to maintain a healthy diet while having diverse preferences and dietary restrictions. However, achieving this involves a significant burden of searching for and reserving suitable restaurants from a vast amount of information. Furthermore, intuitive voice-based interfaces are still underdeveloped, and there are limited systems that consumers can easily use in their daily lives. Given this situation, there is a need for a comprehensive system that can easily meet the individual dietary needs of users.
[0742] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0743] In this invention, the server includes means for receiving user preference information and restriction information and generating a user profile; means for selecting relevant restaurant information from a database and suggesting restaurants suitable for the user; means for coordinating with external devices and adjusting the suggestions based on health data; means for analyzing voice input and collecting the profile information and restriction information via voice; and means for suggesting restaurants in natural language using a natural language model. This enables users to intuitively select and reserve meals based on their preferences and health status using voice.
[0744] A "user" is an entity that uses the system to receive restaurant suggestions and make reservations.
[0745] "Preference information" refers to information about the user's preferences, including their favorite food genres and areas they would like to visit.
[0746] "Restriction information" refers to dietary restrictions imposed by the user, including allergy information and dietary restrictions.
[0747] A "profile" is a set of individual information constructed based on preference and restriction information collected from users.
[0748] A "database" is a source of information that stores information about restaurants.
[0749] "Restaurant information" refers to detailed information about restaurants, such as their location, menu, and operating status.
[0750] "External devices" are devices used to collect users' health data.
[0751] "Health data" refers to information about the user's physical condition, including activity levels, heart rate, and calorie consumption.
[0752] "Voice input" is a method by which users give instructions to a system using their voice.
[0753] A "natural language model" is a technical method used by computers to analyze, understand, and generate natural language.
[0754] The system that realizes this invention functions by integrating multiple components. The system mainly consists of a server, a terminal, and a user, and each component works in coordination.
[0755] The server receives user preference and restriction information and generates a profile based on it. Based on the generated profile, it searches the database for relevant restaurant information and suggests suitable restaurants. AWS Lambda is used for data processing in this process, and Amazon DynamoDB is used for database integration. When making suggestions, OpenAI's GPT-3 natural language model is used to deliver information in an easy-to-understand manner to the user.
[0756] The device receives voice input from the user and converts it into text using the Google Speech-to-Text API. This information is sent to a server and used to generate profiles and suggest restaurants. The device also accesses restaurant reservation APIs to attempt reservations and makes reservations in real time.
[0757] Users can interact with the system via smartphones or smart speakers, easily giving voice commands to select restaurants based on their preferences. Furthermore, by collecting health data from wearable devices and integrating it with Amazon IoT, users can also receive health-conscious recommendations.
[0758] As a concrete example of this system, if a family member has allergies, it can suggest allergy-friendly restaurants based on that information. A possible prompt message from the user might be, "For tonight's dinner, please check if there are any gluten-free options at a nearby Italian restaurant and make a reservation."
[0759] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0760] Step 1:
[0761] The user provides voice input to the device. The device uses the Google Speech-to-Text API to convert the voice data into text data. In this process, the voice input (for example, "Find an Italian restaurant") is sent to the server as text data.
[0762] Step 2:
[0763] The server analyzes the received text data and stores the corresponding preference and restriction information in the profile. During this process, past usage history and evaluation data are also considered to update the user-specific profile. The input data is preference information in text format, and the output is an updated user profile.
[0764] Step 3:
[0765] The server searches Amazon DynamoDB for relevant restaurant information based on the profile. The search results generate a list of matching restaurants. The input is the updated user profile, and the output is a list of candidate restaurants.
[0766] Step 4:
[0767] Based on the generated list of restaurants, the server uses a natural language model (OpenAI's GPT-3) to generate restaurant suggestions. These suggestions are sent to the user's terminal and presented visually or audibly. The input is a list of restaurants, and the output is a set of suggestion texts for the user.
[0768] Step 5:
[0769] The user selects a restaurant from the suggested options. The selection information is processed on the terminal and sent to the server. The input is the user's selection, and the output is the information of the selected restaurant.
[0770] Step 6:
[0771] The server attempts to communicate with the selected restaurant via a reservation API to check the availability of the reservation. If the reservation is successful, the information is notified to the user via the terminal. The input is the information of the selected restaurant, and the output is the reservation confirmation result.
[0772] Step 7:
[0773] The user enters their rating information for the restaurants they visited into a terminal. The terminal sends the rating information to a server, which stores it in a database. The input is the user's rating information, and the output is the rating section of the updated restaurant list.
[0774] Step 8:
[0775] The terminal transmits health data acquired from the wearable device to the server. The server uses this information to adjust the proposed plan and re-suggest restaurants that take nutritional balance into consideration. The input is health data, and the output is the adjusted proposal text.
[0776] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0777] This invention provides a system that not only suggests restaurants based on the user's preferences, restrictions, and health status, but also takes into account the user's emotional state to suggest the most suitable restaurant. This system enables a more personalized dining experience by recognizing the user's current emotions using an emotion engine.
[0778] 1. Receiving user information and emotions
[0779] The user uses their device to input information about their preferences, limitations, and budget. Furthermore, the system captures the user's emotional state through input, voice, or facial recognition and sends it to the server. An emotion engine analyzes this data to identify the user's current emotion.
[0780] 2. Profile generation and utilization of emotional data
[0781] The server generates a profile based on the received user data. This profile reflects not only the user's preferences and limitations, but also their current emotional state. Emotional data is stored in a database and used to refine future suggestions.
[0782] 3. Restaurant proposals
[0783] Based on the user's profile, the server generates a list of restaurant recommendations, weighting them according to the user's preferences, emotional state, and health data. For example, if the user is feeling down, the emotion engine will prioritize recommending restaurants with specific menu items or a comfortable atmosphere that can refresh their mood. The recommendation list is then presented to the user via their device.
[0784] 4. Restaurant reservations and reviews
[0785] When a user selects a restaurant they wish to visit from a suggested list, the terminal sends that information to the server. The server accesses the restaurant's reservation system and completes the reservation process. After the visit, the user inputs their evaluation of the restaurant and changes in their feelings during the visit, and provides this information to the server via the terminal.
[0786] In this way, by utilizing the emotion engine, it becomes possible to make suggestions tailored to the user's psychological state, rather than simply making decisions based on physical conditions. This comprehensive approach makes it possible to provide a richer and more satisfying dining experience.
[0787] The following describes the processing flow.
[0788] Step 1:
[0789] Users input preference information, restriction information, and budget information into the device, and also provide emotional data. Emotional data is acquired through self-reporting, voice recognition, and facial recognition. The device formats this data and sends it to the server.
[0790] Step 2:
[0791] The server generates a user profile based on the received information. This profile includes preferences, limitations, budget, and emotional state, and serves as the basis for future suggestions. This data is stored in a database.
[0792] Step 3:
[0793] The server uses an emotion engine to analyze the user's emotional state. For example, if the user is identified as stressed, the emotional data is used to suggest relaxing restaurants.
[0794] Step 4:
[0795] The server searches the database for relevant restaurants based on the user profile and emotional state, and generates a list of suggestions. It then prioritizes the restaurants in the list based on the user's preferences and current emotional state.
[0796] Step 5:
[0797] The server sends the generated list of suggestions to the terminal, which then displays the list to the user. The user reviews the list and selects the restaurants they wish to visit.
[0798] Step 6:
[0799] Once the user selects a restaurant, the terminal sends that selection information to the server and begins the reservation process.
[0800] Step 7:
[0801] The server communicates with the reservation system of the selected restaurant and completes the reservation. The result is notified to the terminal, and the user is informed of the reservation status.
[0802] Step 8:
[0803] Users visit restaurants and input their evaluations and emotional changes into a terminal after their experience. The terminal sends this information to a server, which stores the evaluation information in a database.
[0804] Step 9:
[0805] The server analyzes accumulated evaluation and sentiment change data and uses it to improve the accuracy of future suggestions. This will result in more personalized suggestions in the future.
[0806] (Example 2)
[0807] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0808] Conventional restaurant recommendation systems were limited to suggestions based on user preferences and restrictions, and did not provide personalized recommendations that took into account the user's emotional state or health information. Therefore, it was difficult to provide a richer and more satisfying dining experience. Furthermore, post-visit evaluation data was not fully utilized, preventing improvements in the accuracy of future recommendations.
[0809] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0810] In this invention, the server includes means for receiving user preference information, restriction information, and emotional state using a user information processing device and generating a user profile; means for identifying the user's emotional state using an emotion analysis device and selecting information on relevant food and beverage consumption locations from an information storage medium; and means for communicating to process reservations while considering the user's emotional state. This makes it possible to provide a personalized dining experience that is tailored to the user's psychological state.
[0811] A "user information processing device" is a device that allows users to input information and send it to a server. Smartphones and computers fall into this category.
[0812] "Preference information" refers to information about the user's favorite foods and the characteristics of restaurants.
[0813] "Restriction information" refers to information about foods or restaurant characteristics that users wish to avoid for health or other reasons.
[0814] "Emotional state" refers to information about the user's current psychological mood and feelings.
[0815] A "profile" is a unique set of information that combines user preferences, limitations, budget, and emotional state.
[0816] An "emotion analysis device" is a device or function that analyzes and identifies a user's emotional state based on the information they input.
[0817] A "food and beverage consumption center" refers to a place where users can eat, such as a restaurant or cafe.
[0818] An "information storage medium" is a database that holds information on various food and beverage consumption locations that correspond to the user's preferences, restrictions, and emotional state.
[0819] "Means of communication" refers to means of making reservations or sending and receiving information to selected food and beverage consumption locations.
[0820] "Evaluation information" refers to information about evaluations made by users based on their experiences at food and beverage consumption locations they visited.
[0821] An "external device" is a device that acquires health information and works in conjunction with this system to adjust suggestions for the user. Fitness trackers and health management apps fall into this category.
[0822] This system is a platform for providing users with personalized dining experiences, realized through the cooperation of servers, terminals, and external devices.
[0823] First, users input preference information, restriction information, and budget information using their own devices. Furthermore, they communicate their emotional state to the device using input methods or the device's voice input / camera functions. The device then transmits all the collected information to the server.
[0824] The server is equipped with an emotion analysis device that utilizes a generative AI model to analyze user information transmitted from terminals. This server generates and stores each user's profile using an information storage medium. The emotion analysis device also uses a generative AI model to analyze emotional states in natural language and identify keywords based on the user's mood and emotions.
[0825] Subsequently, the server performs a process of selecting food and beverage consumption locations based on the profile data. Information regarding food and beverage consumption locations is retrieved from a database. The suggested food and beverage consumption locations are appropriately customized, taking into account the user's preferences, health information, and emotional state.
[0826] For example, if a user enters a prompt such as, "I'm feeling down today, so please recommend a cafe where I can cheer myself up," the emotion analysis device can analyze keywords like "cheer up" and "cafe" and suggest suitable places to eat and drink.
[0827] Furthermore, the system collects health information from external devices such as fitness trackers, and based on this information, the server generates a list of suggestions that take into account the user's health condition. This system enables suggestions based on both physical conditions and the user's psychological state, allowing users to have a more optimal dining experience.
[0828] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0829] Step 1:
[0830] Users use a device to input preference information, restriction information, and budget information. Furthermore, their emotional state is communicated to the device via voice input or camera function. The device collects this input information and sends it to the server as a dataset. This process aggregates the user's basic eating and drinking information and current emotional state, allowing the server to secure the data necessary for analysis.
[0831] Step 2:
[0832] The server receives the dataset from the terminal as input. Next, the emotion analysis device analyzes the emotion data using a generated AI model. This analysis extracts keywords associated with the user's emotional state. The server uses these analysis results to generate a user profile. The profile reflects preferences, limitations, and emotional states.
[0833] Step 3:
[0834] The server receives the generated profile as input, searches the information storage medium, and generates a suggestion list. This search takes into account the preferences and emotional state reflected in the profile, and selects food and beverage consumption locations. As a result, a suggestion list tailored to the user is generated.
[0835] Step 4:
[0836] The terminal displays a list of suggestions received from the server as output to the user. The user selects the food and beverage establishments that interest them most from the list of suggestions. This selection information is sent back from the terminal to the server, and preparations for booking are made.
[0837] Step 5:
[0838] The server receives the selected information as input and accesses the reservation system for the corresponding food and beverage consumption location. The reservation process is automatically completed via communication. Confirmation of the reservation completion is sent to the terminal and notified to the user.
[0839] Step 6:
[0840] After a visit, the user enters their evaluation information about the food and beverage establishments they experienced into a terminal. The terminal then sends this evaluation information to a server. The server stores the submitted evaluation information in a profile and uses it to improve future recommendations. This is expected to improve the accuracy of future recommendations.
[0841] (Application Example 2)
[0842] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0843] Conventional dining suggestion systems only make suggestions based on user preferences and restrictions, and do not take into account the user's emotional state. As a result, the dining experience the user has may not reflect their psychological state, and they may not be fully satisfied. Furthermore, there is no mechanism to receive suggestions immediately at home or in their living environment. In addition, there is a lack of flexibility and personalization in the suggestions.
[0844] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0845] In this invention, the server includes means for receiving user preference information and restriction information and generating a profile; means for analyzing the user's current emotional state and prioritizing emotionally conscious suggestions; and means for using a home robot to deliver suggestions via voice or screen display. This makes it possible to provide personalized dining location suggestions based on the user's psychological state in real time within the home.
[0846] "Preference information" refers to data that shows users' preferences and choices regarding food and drink.
[0847] "Restriction information" refers to data that indicates the conditions and limitations that users must consider when eating and drinking.
[0848] A "profile" is a collection of information that comprehensively represents a user's personal preferences, limitations, and emotional state.
[0849] "Emotional state" refers to data that indicates the user's psychological and emotional state.
[0850] A "family robot" is a robotic system used within the home, a device that supports daily life through various tasks.
[0851] "Means for processing reservations" refers to technology that provides communication methods for making reservations for selected dining establishments.
[0852] "Health data" refers to information about the user's health status, and is used when adjusting suggestions.
[0853] "Evaluation information" refers to experience reviews and feedback provided by users after they have used the suggested dining establishments.
[0854] The "means of adjusting suggestions" refer to a system that optimizes the suggested dining locations based on the user's profile and health data.
[0855] The system that implements this application involves inputting user preference and restriction information and sending it to a server via a terminal built into a home robot. The server generates a profile based on this information. Software such as Amazon Rekognition or Google AI's emotion analysis API is used as the emotion engine to analyze the user's emotional state. As a result, the user's emotional state is incorporated into the profile.
[0856] Based on the user's profile, the server selects suitable candidates from a database of dining locations. The selected dining locations are then suggested to the user using a home robot. The suggestions are made via voice or on-screen display. Once the user selects a dining location, the server communicates with the reservation system to complete the reservation process.
[0857] Furthermore, health data is also taken into consideration when making suggestions. Health data is transmitted from external devices (such as smartwatches or healthcare devices) to the cloud and analyzed on the server side. This makes it possible to suggest dining locations based on the user's health status.
[0858] After a user visits a site, they send their evaluation information to the server via their device, allowing data to be accumulated to improve the accuracy of future recommendations. This evaluation information is also used to create profiles of other users, providing more useful recommendations to a wider audience.
[0859] As a concrete example, a home robot might notify the user via voice, "You seem to be feeling stressed today. I'll suggest a place to eat and drink where you can relax." An example of a prompt sentence to input into the generating AI model would be, "Please suggest a restaurant based on the user's preferences, emotions, and restrictions. The user's current emotion is to relax, but their restrictions include allergies."
[0860] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0861] Step 1:
[0862] The device receives preference information, restriction information, and emotional state from the user as input. The received data is temporarily stored on the device and converted into a data format that is sent to the server for analysis.
[0863] Step 2:
[0864] The server receives information sent from the terminal and generates a user profile. This profile generation uses an emotion engine (e.g., Google AI's Sentiment Analysis API) to analyze the emotional state and includes emotion data in the profile. The input is user information, and the output is profile data that takes emotions into account.
[0865] Step 3:
[0866] The server queries a database of dining establishments based on the generated profile and selects appropriate candidates. The database query generates a list of dining establishments that best match the user's preferences and moods. The input is profile data, and the output is a list of recommended dining establishments.
[0867] Step 4:
[0868] The server sends a list of recommended restaurants to the home robot. The home robot uses a speech synthesis system to inform the user of the suggestions verbally. The input is the list of restaurants from the server, and the output is the voice notification from the home robot to the user.
[0869] Step 5:
[0870] The user selects a restaurant from the suggested options. The terminal sends the selected location to the server and begins the reservation process. The server uses a communication module to connect with the reservation system of the selected restaurant and completes the reservation. The input is the user's selection information, and the output is the status of the restaurant reservation completion.
[0871] Step 6:
[0872] After a visit, users input their evaluation of the dining experience into the server via a terminal. The server stores this evaluation information in a database and uses it to improve the accuracy of future recommendations. The input is the evaluation information, and the output is the updated database.
[0873] Step 7:
[0874] The server receives health data from an external device and analyzes it. Based on this analysis, it processes the data to further refine future recommendations. The input is health data, and the output is optimized future recommendations.
[0875] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0876] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0877] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0878] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0879] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0880] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0881] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0882] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0883] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0884] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0885] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0886] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0887] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0888] 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.
[0889] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0890] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0891] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0892] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0893] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0894] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0895] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0896] The following is further disclosed regarding the embodiments described above.
[0897] (Claim 1)
[0898] A means for receiving user preference information and restriction information and generating a profile of the said user,
[0899] A means for selecting relevant restaurant information from a database based on the aforementioned profile and proposing a restaurant suitable for the user,
[0900] A means for communicating with the restaurant selected by the user to process the reservation,
[0901] A means for receiving and storing evaluation information from the aforementioned users,
[0902] A means for coordinating the aforementioned proposal based on health data in conjunction with an external device,
[0903] A system that includes this.
[0904] (Claim 2)
[0905] The system according to claim 1, further comprising means for using the aforementioned evaluation information to make restaurant recommendations based on the profiles of other users.
[0906] (Claim 3)
[0907] The system according to claim 1, further comprising means for analyzing health data acquired from the external device and suggesting restaurants that take into account the balance of nutrients.
[0908] "Example 1"
[0909] (Claim 1)
[0910] A means for receiving user preference information and constraint information and generating characteristic information of the said user,
[0911] Based on the aforementioned characteristic information, a means for selecting relevant food and beverage establishment information from an information aggregation device and proposing a food and beverage establishment suitable for the user,
[0912] A means for communicating information to process reservations for food and beverage establishments selected by the aforementioned user,
[0913] A means for receiving and storing evaluation information from the aforementioned users,
[0914] A means for coordinating the aforementioned proposal based on health information in conjunction with an external device,
[0915] A means of analyzing the aforementioned evaluation information and using a generative AI model to adjust the information of the information accumulating device,
[0916] A system that includes this.
[0917] (Claim 2)
[0918] The system according to claim 1, further comprising means for using the aforementioned evaluation information to propose food and beverage service facilities based on the characteristic information of other users.
[0919] (Claim 3)
[0920] The system according to claim 1, further comprising means for analyzing health information obtained from the external device and proposing a food and beverage service facility that takes into account the balance of nutritional elements.
[0921] "Application Example 1"
[0922] (Claim 1)
[0923] A means for receiving user preference information and restriction information and generating a profile of the said user,
[0924] A means for selecting relevant restaurant information from a database based on the aforementioned profile and proposing a restaurant suitable for the user,
[0925] A means for communicating with the restaurant selected by the user to process the reservation,
[0926] A means for receiving and storing evaluation information from the aforementioned users,
[0927] A means for coordinating the aforementioned proposal based on health data in conjunction with external devices,
[0928] A means for analyzing voice input and collecting the aforementioned profile information and restriction information via voice,
[0929] A method for suggesting restaurants in natural language using a natural language model,
[0930] A system that includes this.
[0931] (Claim 2)
[0932] The system according to claim 1, further comprising means for using the aforementioned evaluation information to make restaurant recommendations based on the profiles of other users.
[0933] (Claim 3)
[0934] The system according to claim 1, further comprising means for analyzing health data acquired from the external device and proposing restaurants that take into account the balance of nutrients.
[0935] "Example 2 of combining an emotion engine"
[0936] (Claim 1)
[0937] A means for receiving user preference information, restriction information, and emotional state using a user information processing device, and generating a profile of the said user,
[0938] A means for identifying the user's emotional state based on the aforementioned profile using an emotion analysis device, selecting information on relevant food and beverage consumption locations from an information storage medium, and proposing food and beverage consumption locations suitable for the user,
[0939] A means for communicating with a food and beverage consumption location selected by the user, while taking into consideration the user's emotional state,
[0940] A means for receiving evaluation information and emotional information from the aforementioned users during their visits, accumulating the said information, and utilizing it for future proposals,
[0941] A means of providing a personalized meal experience tailored to the user's psychological state by coordinating with an external device and adjusting the aforementioned proposal based on health information,
[0942] A system that includes this.
[0943] (Claim 2)
[0944] The system according to claim 1, further comprising means for using the aforementioned evaluation information and emotional information at the time of visit to suggest food and beverage consumption locations based on the profiles of other users.
[0945] (Claim 3)
[0946] The system according to claim 1, further comprising means for analyzing health information and emotional state acquired from the external device and proposing food and beverage intake locations that take into account the distribution of nutrients.
[0947] "Application example 2 when combining with an emotional engine"
[0948] (Claim 1)
[0949] A means for receiving user preference information and restriction information and generating a profile of the said user,
[0950] A means for selecting relevant restaurant information from a database based on the aforementioned profile and proposing a suitable dining location for the user,
[0951] A means for analyzing the user's current emotional state and prioritizing suggestions that take those emotions into consideration,
[0952] A means for communicating to process a reservation for a dining establishment selected by the user,
[0953] A means for receiving and storing evaluation information from the aforementioned users,
[0954] A means for coordinating the aforementioned proposal based on health data in conjunction with an external device,
[0955] A means of conveying the above proposal through voice or screen display using a household robot,
[0956] A system that includes this.
[0957] (Claim 2)
[0958] The system according to claim 1, further comprising means for using the aforementioned evaluation information to suggest dining locations based on the profiles of other users.
[0959] (Claim 3)
[0960] The system according to claim 1, further comprising means for analyzing health data acquired from the external device and suggesting a place to eat or drink that takes into account the balance of nutrients. [Explanation of symbols]
[0961] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for receiving user preference information and restriction information and generating a profile of the said user, A means for selecting relevant restaurant information from a database based on the aforementioned profile and proposing a restaurant suitable for the user, A means for communicating with the restaurant selected by the user to process the reservation, A means for receiving and storing evaluation information from the aforementioned users, A means for coordinating the aforementioned proposal based on health data in conjunction with an external device, A system that includes this.
2. The system according to claim 1, further comprising means for using the aforementioned evaluation information to make restaurant recommendations based on the profiles of other users.
3. The system according to claim 1, further comprising means for analyzing health data acquired from the external device and proposing restaurants that take into account the balance of nutrients.