System
A system analyzes user preferences from restaurant review sites to suggest suitable restaurants, addressing the challenge of finding suitable dining options during travel.
Patent Information
- Application Number
- JP2024121471
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2026-02-05
AI Technical Summary
Users face difficulty in finding restaurants that suit their tastes while traveling due to a lack of local information, making it hard to understand restaurant reviews, atmosphere, and food quality accurately.
A system that inputs user account information from a restaurant review site, analyzes favorite restaurant photos and reviews, and suggests suitable restaurants based on travel destination conditions, preferences, and genre.
Enables users to easily find restaurants that match their preferences, ensuring a satisfying dining experience while traveling.
Smart Images

Figure 2026019723000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] When searching for restaurants at a travel destination, a lack of local information can lead to choosing a restaurant that does not suit one's taste. In particular, in places that users have never visited before, it is difficult to accurately understand the restaurant's local reviews, the actual atmosphere, and the quality of the food served. Therefore, there is a need for a service that allows users to enjoy a satisfying meal at their travel destination with peace of mind. [Means for solving the problem]
[0005] The present invention provides a system for inputting account information for a restaurant review site that a user regularly uses, a system for acquiring favorite restaurant information from the restaurant review site using the user's account information, and a system for extracting the user's preferred elements by analyzing photos and reviews of the acquired restaurant information. The system also includes a system for inputting the region, budget, and genre of travel destination conditions specified by the user. The system also includes a system for searching for suitable restaurants in the travel destination area based on the input conditions and the extracted preferred elements, and a system for suggesting detailed information about the searched restaurants to the user. In this way, the system provides a system that allows users to easily find restaurants that suit their preferences while traveling and enjoy a meal with peace of mind.
[0006] "User" refers to a traveler or individual looking for a place to eat who uses the system.
[0007] "Restaurant rating site" refers to an online platform where users can post and view reviews and ratings of restaurants.
[0008] "Account information" refers to the authentication information (ID and password) used by a user to log in to a restaurant review site.
[0009] "Favorite store information" refers to information about restaurants that a user has registered as "favorites" on a restaurant rating site.
[0010] "Photographs" refer to images of the interior and exterior of the restaurant and the food served.
[0011] A "review" refers to a comment or feedback in which a user expresses their experience and evaluation of a restaurant in writing.
[0012] "Preference factors" refer to factors that serve as criteria when selecting a restaurant, such as the type of cuisine a user prefers, price range, and atmosphere.
[0013] "Region" refers to the geographic area where you want to travel or eat.
[0014] "Budget" refers to the range of amounts that a user plans to spend on a single meal.
[0015] "Genre" refers to the type or category of food offered by a restaurant (e.g., Japanese, Chinese, Italian).
[0016] "Search" refers to the process of finding restaurants that match the criteria entered.
[0017] "Detailed information" refers to specific information about the restaurant searched for (e.g., name, address, photos, reviews).
[0018] "Suggestion" refers to the act of presenting search results to the user and prompting them to make a selection from among them.
[0019] "System" refers to the entire set of software and hardware components that execute a series of processes: receiving user input, collecting and analyzing restaurant information, and searching for and suggesting suitable restaurants. [Brief explanation of the drawings]
[0020] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7]FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram illustrating a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0021] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0022] First, the terms used in the following description will be explained.
[0023] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0024] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0025] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0026] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0027] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0028] [First embodiment]
[0029] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0030] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0031] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0032] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0033] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0034] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0035] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0036] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0037] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0038] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0039] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0040] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0041] The "Dining Concierge" system of the present invention provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server and a terminal, collects and analyzes restaurant information based on user input, and suggests suitable restaurants.
[0042] Entering user information
[0043] 1. User: Log in to the device and enter the account information for the restaurant review site you normally use (e.g., Tabelog or Yelp).
[0044] 2. Terminal: The account information entered by the user is sent to the server.
[0045] Obtaining favorite store information
[0046] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[0047] 4. Server: Save the acquired favorite store information in the database.
[0048] Store information analysis
[0049] 5. Server: Analyzes the stored store information. The analysis includes image analysis and natural language processing.
[0050] Image analysis: Analyzes acquired store photos to identify the food genre and atmosphere of the store.
[0051] Natural language processing: Analyzes the reviews and extracts user preferences and evaluation criteria (e.g., "I like sushi" or "I prefer a casual atmosphere").
[0052] 6. Server: Based on the analysis results, the user's preferences (such as food genre, price range, and atmosphere) are generated as a profile and stored in a database.
[0053] Enter travel destination conditions
[0054] 7. User: Enter dining requirements such as travel destination, budget, and type of food on the device.
[0055] 8. Terminal: Sends the entered conditions to the server.
[0056] Restaurant search and suggestions
[0057] 9. Server: Searches the restaurant database in the travel destination area based on the conditions entered by the user and the profile stored in the database.
[0058] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[0059] 10. Server: Based on the results, compiles detailed restaurant recommendations (name, address, photos, reviews, etc.).
[0060] 11. Server: Sends the list of suggested restaurants to the device.
[0061] 12. Terminal: Displays a list of suggested restaurants to the user.
[0062] Restaurant selection and reservation (optional)
[0063] 13. User: Select the restaurant they want to go to from the list of suggested restaurants.
[0064] 14. Terminal: Displays reservation links and detailed information for the selected restaurant.
[0065] 15. User: If desired, clicks on the reservation link to make a restaurant reservation.
[0066] Specific examples
[0067] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their Tabelog and Yelp account information, the system retrieves and analyzes their favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[0068] In this way, the "Dining Concierge" system allows users to easily find restaurants that suit their tastes while traveling, allowing them to enjoy meals with peace of mind while traveling.
[0069] The processing flow will be explained below.
[0070] Step 1:
[0071] User: Log in to the "Dining Concierge" system on the terminal and enter the account information for the restaurant review site that they normally use (e.g., Restaurant Review Site A or Restaurant Review Site B).
[0072] Step 2:
[0073] Terminal: Sends the entered account information to the server.
[0074] Step 3:
[0075] Server: Accesses restaurant review site A and restaurant review site B and obtains user's favorite restaurant information using API or scraping technology.
[0076] Step 4:
[0077] Server: Save the acquired favorite store information in the database.
[0078] Step 5:
[0079] Server: Runs image analysis algorithms and natural language processing techniques to analyze photos and reviews of saved favorite stores.
[0080] Step 6:
[0081] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[0082] Step 7:
[0083] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi" and "Price range: I prefer 3,000 to 5,000 yen") are extracted from user reviews.
[0084] Step 8:
[0085] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[0086] Step 9:
[0087] User: Enter travel destination, budget, genre, and other conditions on the device.
[0088] Step 10:
[0089] Terminal: Sends the entered travel conditions to the server.
[0090] Step 11:
[0091] Server: Matches the user's input criteria with the user's profile stored in the database and searches the restaurant database in the travel destination area.
[0092] Step 12:
[0093] Server: Filter restaurants that match your travel criteria and preferences.
[0094] Step 13:
[0095] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[0096] Step 14:
[0097] Server: Generates a list of restaurant suggestions and sends it to the device.
[0098] Step 15:
[0099] Terminal: Displays the received restaurant suggestions to the user.
[0100] Step 16:
[0101] User: Select the restaurant they want to go to from the list of suggested restaurants.
[0102] Step 17:
[0103] On your device: View reservation links and details for the selected restaurant.
[0104] Step 18:
[0105] User: Clicks on the reservation link to make a restaurant reservation if desired.
[0106] Example 1
[0107] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0108] Finding restaurants that suit users' tastes while traveling is difficult for many users, and it requires a lot of effort to gather and evaluate appropriate information. Furthermore, there is a lack of systems that can make recommendations that accurately reflect users' preferences. This creates a problem in that users cannot have a satisfying dining experience while traveling.
[0109] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0110] In this invention, the server includes a means for inputting account information for a review site that the user normally uses, a means for acquiring favorite store information from the review site using the user's account information, and a means for analyzing photos and reviews of the acquired store information and extracting elements of the user's preferences, thereby enabling the user to easily find restaurants that suit their preferences even when traveling.
[0111] "User" refers to an individual who uses the system to search for and make reservations at restaurants.
[0112] A "rating site" refers to a website that collects ratings and reviews of restaurants and other establishments.
[0113] "Account information" refers to the authentication information (such as username and password) required to log in to the evaluation site.
[0114] "Store information" refers to data about restaurants (such as name, address, photos, and reviews).
[0115] "Analysis" refers to the process of extracting user preferences and store characteristics based on collected data.
[0116] "Image analysis" refers to the technology of analyzing acquired photographic data to identify the genre and atmosphere of a store.
[0117] "Natural language processing" refers to the technology of analyzing acquired reviews and extracting meaning from text data.
[0118] "Destination region" refers to a geographic location that a user plans to visit.
[0119] "Conditions" refer to information required for a search, such as area, budget, and genre, entered by the user.
[0120] "Search" refers to the process of finding matching restaurants based on entered criteria and user preference factors.
[0121] "Suggestion" refers to providing information about suitable restaurants to the user based on the search results.
[0122] "Detailed Information" refers to specific data about the proposed restaurant (such as name, address, photos, reviews, etc.).
[0123] "Selection" refers to the user deciding which restaurant they would like to go to from among the suggested restaurants.
[0124] "Reservation" refers to the act of reserving a date and time to visit a restaurant selected by the user.
[0125] This invention is a system for finding suitable restaurants at a user's travel destination based on information obtained from a "review site." This system includes a server and a terminal. Here, we will explain the roles and operations of the server, terminal, and user.
[0126] Entering user information
[0127] 1. The user logs in to the device and enters the account information for the evaluation site that they normally use. At this stage, they enter the username and password for the evaluation site.
[0128] 2. The device sends the account information entered by the user to the server. The information is sent using the HTTPS protocol, so the data is securely protected.
[0129] Obtaining favorite store information
[0130] 3. The server accesses the rating site and retrieves the user's favorite store information using an API or web scraping technology. If an API is not provided, web scraping technology (such as BeautifulSoup or Selenium) is used.
[0131] 4. The server stores the acquired favorite store information in a database, such as a relational database like PostgreSQL.
[0132] Store information analysis
[0133] 5. The server analyzes the stored store information, including image analysis and natural language processing.
[0134] Image analysis: Using image analysis libraries such as OpenCV, the acquired photos of the restaurant are analyzed to identify the cuisine genre and atmosphere of the restaurant.
[0135] Natural language processing: Generative AI models such as BERT and GPT-3 are used to analyze captured reviews and extract user preferences and rating criteria.
[0136] 6. Based on the analysis results, the server generates a profile of the user's preferences (such as food genre, price range, and atmosphere) and stores it in a database.
[0137] Enter travel destination conditions
[0138] 7. The user enters the destination area, budget, type of food, and other dining requirements on the terminal. This information is entered in a form.
[0139] 8. The terminal sends the entered conditions to the server.
[0140] Restaurant search and suggestions
[0141] 9. The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. It filters restaurants that match the user's preferences by matching criteria such as area, budget, and genre.
[0142] 10. The server compiles detailed information (such as name, address, photos, and reviews) of the restaurants to suggest based on the filtering results.
[0143] 11. The server sends a list of suggested restaurants to the terminal.
[0144] 12. The terminal displays a list of suggested restaurants to the user.
[0145] Restaurant selection and reservation (optional)
[0146] 13. The user selects the restaurant they wish to go to from the list of suggested restaurants.
[0147] 14. The device will display a reservation link and detailed information for the selected restaurant.
[0148] 15. If necessary, the user clicks on the reservation link to make a restaurant reservation.
[0149] Specific examples
[0150] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their account information for a rating site, the system retrieves and analyzes their favorite restaurant information from those sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and the type of food (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[0151] Examples of prompt statements
[0152] "If a user living in Tokyo is traveling to New York, please suggest restaurants that match his preferences. The user's preferences are based on data obtained from his account information on a rating site, and include factors such as 'sushi,' 'casual atmosphere,' and 'price range: 3,000 to 5,000 yen.' His budget is between $30 and $50, and he prefers sushi or Chinese food."
[0153] The above is an embodiment of this system.
[0154] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0155] Step 1:
[0156] The user logs in to the device and enters the account information for the evaluation site that they normally use. The entered account information (user name, password) is entered into the form on the device.
[0157] Step 2:
[0158] The terminal sends the account information entered by the user to the server. This information is transmitted securely using the HTTPS protocol. The input is the account information, and the output is a request to the server.
[0159] Step 3:
[0160] The server accesses the rating site and obtains information about the user's favorite stores using API or scraping technology. The input is account information, and the output is a list of store information. Specifically, it sends an API request or executes a scraping script.
[0161] Step 4:
[0162] The server saves the retrieved favorite store information in the database. The input is the retrieved store information, and the output is the result saved in the database. Specifically, it parses the store information in JSON format and performs an INSERT operation on the database.
[0163] Step 5:
[0164] The server analyzes the stored store information. The analysis includes image analysis and natural language processing. The input is the stored store information, and the output is the analysis results. Specifically, it uses OpenCV to analyze store photos and BERT or GPT-3 to analyze review text.
[0165] Step 6:
[0166] The server generates a profile of the user's preferences based on the analysis results and stores it in a database. The input is the analysis results, and the output is the user's profile. The profile includes elements such as cuisine genre, price range, and atmosphere.
[0167] Step 7:
[0168] The user inputs dining conditions such as the region of the travel destination, budget, and type of food into the terminal, and the input conditions are entered into a form on the terminal.
[0169] Step 8:
[0170] The terminal sends the entered conditions to the server. The input is the travel destination conditions, and the output is a request to the server. Specifically, the form data is collected and sent as an HTTPS request.
[0171] Step 9:
[0172] The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. The input is the user's criteria and profile data, and the output is a list of search results. Specifically, it executes an SQL query to filter restaurants that match the criteria.
[0173] Step 10:
[0174] The server compiles detailed information (such as names, addresses, photos, and reviews) of restaurants to suggest based on the filtering results. The input is the search results, and the output is a list of suggestions. Specifically, it formats the search results based on the format and generates a response in JSON format.
[0175] Step 11:
[0176] The server sends a list of suggested restaurants to the terminal. The input is the suggestion list, and the output is the response to the terminal. Specifically, the generated JSON data is sent as an HTTPS response.
[0177] Step 12:
[0178] The device displays a list of suggested restaurants to the user. The input is the list of suggestions, and the output is the screen display. Specifically, it parses the received JSON data and displays it in list format on the app screen.
[0179] Step 13:
[0180] The user selects the restaurant they want to go to from the list of suggested restaurants. The input is the user's selection, and the output is the selected restaurant. The specific action is to tap a specific restaurant from the list.
[0181] Step 14:
[0182] The terminal displays a reservation link and detailed information for the selected restaurant. The input is the selected restaurant, and the output is the display of detailed information. Specifically, the terminal displays a detailed information screen for the selected restaurant, including a reservation link.
[0183] Step 15:
[0184] The user clicks on the reservation link as needed to make a restaurant reservation. The input is clicking on the reservation link, and the output is transitioning to the reservation page. Specifically, the browser or built-in browser is opened and transitioning to the reservation page occurs.
[0185] (Application example 1)
[0186] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0187] It is difficult for users to find restaurants that suit their preferences when traveling. Furthermore, it takes time and effort to access detailed information about local restaurants and delivery services. In particular, for users who want to use delivery services, there is a need for a system that automatically suggests their preferred restaurants based on account information from restaurant review sites that they regularly use, and allows them to smoothly place delivery orders.
[0188] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0189] In this invention, the server includes means for inputting account information for a restaurant review site that the user normally uses, means for acquiring favorite restaurant information from the restaurant review site using the user's account information, means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference factors, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference factors, means for suggesting detailed information of the searched restaurants to the user, and means for suggesting information on restaurants that offer delivery to the user and placing a delivery order. This allows the user to easily find restaurants that suit their preferences even when traveling, and further allows them to smoothly receive their meals using a delivery service.
[0190] "User" refers to a person who uses the system.
[0191] "Regularly used restaurant review sites" refers to websites and applications that users use to evaluate and review restaurants that they regularly visit.
[0192] "Account information" refers to authentication information such as a username and password required for a user to log in to a restaurant review site.
[0193] "Favorite store information" refers to information about restaurants that users have marked as favorites on a rating site.
[0194] "Analyzing photos and reviews" refers to analyzing the photos and user reviews of the acquired store information and extracting specific features and patterns.
[0195] "Preference elements" refer to attributes or characteristics (e.g., genre, price range, atmosphere) that a user particularly likes about a restaurant or food.
[0196] "Destination region" refers to a particular geographic area to which a user plans to travel.
[0197] "Budget" refers to the range of amounts that a user plans to spend on food and drink.
[0198] "Genre" refers to the type of restaurant or cuisine (e.g., sushi, Chinese, Italian).
[0199] "Inputting conditions" refers to the user providing the system with specific elements such as the region of the travel destination, budget, genre, etc.
[0200] A "matching restaurant" refers to a restaurant that best matches the input conditions and the user's preferences.
[0201] "Detailed information" refers to information including the restaurant's name, address, photos, reviews, etc.
[0202] "Restaurants offering delivery" refers to restaurants that provide meal delivery services in the area designated by the user.
[0203] "Placing a delivery order" refers to the act of requesting meal delivery through the system.
[0204] To realize this invention, it is necessary to generate a program to acquire and analyze information about favorite restaurants using account information from restaurant review sites that the user regularly uses. This analysis uses image analysis and natural language processing technology to extract the user's preferences and evaluation criteria. Furthermore, assuming that the user will use a delivery service at their travel destination, the program suggests information about local restaurants and provides a means for placing delivery orders.
[0205] Hardware and software used
[0206] To realize this system, the following hardware and software are used:
[0207] Hardware: Smartphone (iOS / Android)
[0208] software
[0209] Python: Used to implement programs on the server side.
[0210] Requests: Used to send API requests.
[0211] BeautifulSoup: Used to realize the scraping technology.
[0212] NLTK: Used to perform natural language processing.
[0213] PIL: Used to perform image analysis.
[0214] Data processing and calculation
[0215] The server uses the account information entered by the user from the restaurant review site to obtain information about the user's favorite restaurants via an API. The obtained information includes photos and reviews of the restaurants. Based on this information, the server performs image analysis and then analyzes the reviews using natural language processing to extract the user's preferred elements.
[0216] Next, the user inputs travel destination area, budget, cuisine type, etc. Based on these conditions and the extracted preferences, the server searches for restaurants in the travel destination area that offer delivery and provides detailed information on suitable restaurants to the user.
[0217] Finally, the system provides a means for users to place delivery orders from the suggested restaurants, allowing users to easily find and order from restaurants that suit their tastes even while traveling.
[0218] Specific examples
[0219] For example, if a user is in Japan, they enter their account information for a restaurant review site they regularly use. The system uses this information to obtain information about their favorite restaurants, and then performs image analysis and natural language processing to extract the user's preferred cuisine and atmosphere. Next, when the user travels to the United States, they enter the region of their destination (e.g., New York), budget (e.g., $30-$50), and cuisine type (e.g., sushi or Chinese). Based on this, the system suggests restaurants that offer delivery in their destination, and the user can select from these to place a delivery order.
[0220] Prompt Sentence Examples
[0221] Enter your account information for a Japanese restaurant rating website, analyze your preferences, and create a profile. Enter your travel destination, budget, and cuisine type to search for restaurants that offer delivery services in your destination, and create an application that will place a delivery order directly from restaurants that match your preferences.
[0222] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0223] Step 1:
[0224] The user enters the account information for the restaurant review site they normally use into the terminal. The entered information includes a username and password. This input information is then sent to the server.
[0225] Step 2:
[0226] The server uses the received account information to access the restaurant rating site. Using API or scraping technology, it obtains information about the user's favorite restaurants. The obtained information includes the restaurant's name, address, photos, reviews, etc. The data is stored on the server in JSON format.
[0227] Step 3:
[0228] The server analyzes the acquired store information. Image analysis and natural language processing technology are used for the analysis. First, image analysis analyzes photos of the store to identify the food genre and atmosphere of the store. Next, natural language processing is used to analyze the reviews and extract the user's preferences and evaluation criteria. The results of these analyses are saved in the user's profile as elements of their preferences.
[0229] Step 4:
[0230] The user inputs the destination area, budget, and desired cuisine type using the terminal, and these conditions are sent to the server in JSON format.
[0231] Step 5:
[0232] The server searches for suitable restaurants in the travel destination area based on the conditions entered by the user and the user's preferences that have been analyzed in advance. It uses the delivery platform's API to obtain information on restaurants that can deliver and match the conditions. The obtained information includes names, addresses, photos, reviews, etc.
[0233] Step 6:
[0234] The server scores the acquired restaurant information and lists the restaurants that best match the user's preferences. This scoring uses an algorithm that compares the user's preferences with the characteristics of the restaurants and calculates the degree of match.
[0235] Step 7:
[0236] The terminal receives the proposed list sent from the server and displays it to the user, who then selects a desired restaurant from the proposed list.
[0237] Step 8:
[0238] Once the user selects the restaurant of their choice, the information is sent to the server, which then displays detailed information about the restaurant and the delivery order procedure on the terminal.
[0239] Step 9:
[0240] The user enters the order details using the terminal and confirms the delivery order. The order details include the food selection, quantity, delivery address, etc. The order details are sent to the server and then sent to the restaurant via the delivery platform's API.
[0241] Step 10:
[0242] The restaurant prepares the food based on the order and delivers it to the specified address, and the user can check the delivery progress in real time using their device.
[0243] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0244] The system of the present invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[0245] Entering user information
[0246] 1. User: Logs in to the device and enters the account information for the restaurant review site that they normally use (for example, restaurant review site A or restaurant review site B).
[0247] 2. Terminal: The account information entered by the user is sent to the server.
[0248] Obtaining favorite store information
[0249] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[0250] 4. Server: Save the acquired favorite store information in the database.
[0251] Store information analysis
[0252] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[0253] 6. Server: Using image analysis, identify the type of food and the atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[0254] 7. Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[0255] 8. Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[0256] Enter travel destination conditions
[0257] 9. User: Enter travel destination, budget, genre, and other conditions on the device.
[0258] 10. Terminal: Sends the entered conditions to the server.
[0259] Restaurant search and suggestions
[0260] 11. Server: Matches the criteria entered by the user with the profiles stored in the database and searches the restaurant database in the travel destination area.
[0261] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[0262] 12. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[0263] 13. Server: Generates a list of suggested restaurants and sends it to the device.
[0264] 14. Terminal: Displays the received restaurant suggestions to the user.
[0265] User Emotion Recognition
[0266] 15. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[0267] 16. Server: Optimize the restaurant options suggested based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[0268] Restaurant selection and reservation (optional)
[0269] 17. User: Select the restaurant they want to go to from the list of suggested restaurants.
[0270] 18. Terminal: Displays reservation links and detailed information for the selected restaurant.
[0271] 19. User: Clicks on the reservation link to make a restaurant reservation if desired.
[0272] Specific examples
[0273] For example, consider a case where a user living in Tokyo is planning a trip to New York. When the user enters account information for restaurant review site A and restaurant review site B, the system retrieves and analyzes favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[0274] Furthermore, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants that are more relaxing. In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, according to their emotional state.
[0275] The processing flow will be explained below.
[0276] Step 1:
[0277] User: Log in to the device and enter the account information for the restaurant review site that you normally use (for example, restaurant review site A or restaurant review site B).
[0278] Step 2:
[0279] Terminal: Sends the account information entered by the user to the server.
[0280] Step 3:
[0281] Server: Accesses restaurant review site A and restaurant review site B and uses API or scraping technology to obtain information on users' favorite restaurants.
[0282] Step 4:
[0283] Server: Save the acquired favorite store information in the database.
[0284] Step 5:
[0285] Server: Runs image analysis algorithms and natural language processing techniques to analyze stored store photos and reviews.
[0286] Step 6:
[0287] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[0288] Step 7:
[0289] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[0290] Step 8:
[0291] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[0292] Step 9:
[0293] User: Enter travel destination, budget, genre, and other conditions on the device.
[0294] Step 10:
[0295] Terminal: Sends the entered conditions to the server.
[0296] Step 11:
[0297] Server: Matches the user's input criteria with the profile stored in the database and searches the restaurant database in the travel destination area.
[0298] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[0299] Step 12:
[0300] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[0301] Step 13:
[0302] Server: Generates a list of restaurant suggestions and sends it to the device.
[0303] Step 14:
[0304] Terminal: Displays the received restaurant suggestions to the user.
[0305] Step 15:
[0306] Emotion engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[0307] Step 16:
[0308] Server: Optimize the suggested restaurant options based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[0309] Step 17:
[0310] User: Select the restaurant they want to go to from the list of suggested restaurants.
[0311] Step 18:
[0312] On your device: View reservation links and details for the selected restaurant.
[0313] Step 19:
[0314] User: Clicks on the reservation link to make a restaurant reservation if desired.
[0315] Example 2
[0316] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0317] In recent years, many people want to easily find restaurants that suit their tastes when traveling. However, collecting restaurant information about a destination and selecting an appropriate restaurant that suits their tastes and mood is a time-consuming and labor-intensive task. Furthermore, it is difficult to provide a highly satisfying service by simply searching a database, as it is difficult to suggest the best restaurant that takes into account the user's current emotional state.
[0318] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for inputting account information of a restaurant review site that the user normally uses; means for acquiring favorite restaurant information from the restaurant review site using the user's account information; means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference elements; means for inputting conditions such as the region, budget, and genre of the travel destination specified by the user; means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference elements; means for suggesting detailed information of the searched restaurants to the user; and means for analyzing the user's facial expression and voice to determine the user's emotional state and optimizing the suggested restaurants based on the emotional state. This enables the user to easily find the best restaurant at their travel destination based on their preferences and current emotional state.
[0319] A "restaurant rating site" is an online platform where users can post ratings and reviews of restaurants and other users can use them as reference.
[0320] "Account information" is authentication data for identifying a user, and mainly includes a user ID and password.
[0321] "Favorite store information" refers to information about stores that a user has bookmarked, rated, or posted a good review on a restaurant rating site.
[0322] "Photographs" refer to image data that visually records the store's exterior, interior, food, etc.
[0323] A "review" is data in which a user posts written impressions and evaluations of a restaurant.
[0324] "Analysis" refers to the process of processing and analyzing acquired data to extract useful information.
[0325] "Preference elements" are factors based on the user's preferences, and include, for example, the type of food, the price range, the atmosphere of the store, and the like.
[0326] "Travel destination area" refers to a destination that the user plans to visit.
[0327] A "budget" is a spending range set by a user.
[0328] "Genre" refers to a category that classifies restaurants and types and styles of cuisine.
[0329] "Conditions" are items that are used as criteria for searches and suggestions specified by the user.
[0330] "Searching" is the process of locating information from a database based on specific criteria.
[0331] "Detailed information" refers to specific information about the business, such as its name, address, photos, and reviews.
[0332] "Suggestion" refers to the act of presenting options to the user based on search results.
[0333] "Facial expressions" refer to facial muscle movements that indicate a user's emotions and reactions.
[0334] "Voice" refers to the voice uttered by the user, and includes words and emotions.
[0335] The "emotional state" indicates the psychological state of the user, and includes, for example, joy, anger, sadness, and the like.
[0336] "Optimize" means to adjust for best results under specific conditions.
[0337] The system of this invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[0338] The user first logs in to the device and enters the account information for the restaurant review site they normally use. The device then sends the account information entered by the user to the server. The server then accesses each restaurant review site and obtains information about the user's favorite restaurants using APIs or scraping technology. This acquisition process uses technologies such as the Python requests library, Beautiful Soup, or Scrapy. The server then stores the obtained favorite restaurant information in a database. The database can be a relational database such as MySQL or PostgreSQL.
[0339] Next, the server runs image analysis algorithms and natural language processing techniques to analyze the photos and reviews of the stored store information. It uses OpenCV for image analysis and the NLTK library for natural language processing. Image analysis identifies the type of cuisine and atmosphere of the restaurant (e.g., casual, formal) from the restaurant's photos. Natural language processing also extracts preferences and evaluation criteria from the user's reviews (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen"). Based on the results of these analyses, the server creates a profile of the user's preferences and stores it in a database.
[0340] The user then inputs travel destination criteria, such as the region of the destination, budget, and genre, on the device. The device then sends the input criteria to the server. The server matches the user's input criteria with the profiles stored in the database and searches the restaurant database for the destination region. The criteria are filtered based on region, budget, and genre. The server compiles detailed information (name, address, photos, reviews, etc.) of matching restaurants, generates a list of restaurant suggestions, and sends it to the device. The device then displays the received restaurant suggestions to the user.
[0341] Furthermore, the emotion engine uses libraries such as DeepFace (facial recognition) and OpenVINO (voice analysis) to analyze the user's facial expressions and voice to determine their emotional state (e.g., joy, sadness, surprise).The server optimizes the restaurant options it recommends based on the determined emotional state (e.g., if the user is tired, it will suggest restaurants with a calm atmosphere).
[0342] As a concrete example, consider a user living in Tokyo planning a trip to New York. When the user enters account information for a restaurant review site, the system retrieves and analyzes information about favorite restaurants from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai." The user can select from these restaurants and make a reservation if necessary.
[0343] In addition, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants where they can relax.
[0344] An example prompt is, "Can you recommend a sushi restaurant in New York? I'm looking for a place with a casual atmosphere and a budget of $30-$50."
[0345] In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, tailored to their emotional state.
[0346] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0347] Step 1: User Login
[0348] 1. User: Log in to the device and enter the account information for the restaurant rating site they are using.
[0349] Input: User ID and password.
[0350] Output: Notification that account information has been entered.
[0351] Specific behavior: A user accesses a login form, enters information into each field, and presses the submit button.
[0352] Step 2: Submit your account information
[0353] 2. Terminal: The account information entered by the user is sent to the server.
[0354] Input: User account information.
[0355] Output: Status of data transmission to the server.
[0356] Specific operation: The device generates an HTTP POST request and sends account information to the server.
[0357] Step 3: Get your favorite store information
[0358] 3. Server: Accesses the restaurant rating site and obtains information about the user's favorite restaurants using API or scraping technology.
[0359] Input: User account information.
[0360] Output: The retrieved favorite store information.
[0361] What it does: The server sends a request to the API using Python's requests library, parses the response, and retrieves the necessary data. It also performs scraping using Beautiful Soup or Scrapy, if necessary.
[0362] Step 4: Saving to the Database
[0363] 4. Server: Save the acquired favorite store information in the database.
[0364] Input: Retrieved favorite store information.
[0365] Output: Save complete message.
[0366] What happens: The server establishes a database connection and saves the data using a MySQL or PostgreSQL INSERT statement.
[0367] Step 5: Image and review analysis
[0368] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[0369] Input: Saved store information (photos and reviews).
[0370] Output: Analysis results (food genre, restaurant atmosphere, user preference factors).
[0371] What it does: Analyzes photos using OpenCV and extracts rating metrics from reviews using NLTK.
[0372] Step 6: Generate a profile
[0373] 6. Server: Based on the analysis results, the user's preferred elements are generated as a profile and stored in a database.
[0374] Input: Image analysis and natural language processing results.
[0375] Output: User profile creation and saving completion message.
[0376] Specific operation: The analysis results are compiled in JSON format and saved in the database.
[0377] Step 7: Enter your travel destination criteria
[0378] 7. User: Enter travel destination, budget, genre, and other conditions on the device.
[0379] Input: Travel destination, budget, genre, and other criteria.
[0380] Output: Notification that the condition has been entered.
[0381] Specific operation: The user accesses the input form, enters the conditions, and presses the submit button.
[0382] Step 8: Submitting Conditions
[0383] 8. Terminal: Sends the entered conditions to the server.
[0384] Input: Travel destination, budget, genre, and other criteria.
[0385] Output: Status of data transmission to the server.
[0386] Specific operation: The device sends the condition data in JSON format to the server.
[0387] Step 9: Matching criteria and finding restaurants
[0388] 9. Server: Matches the user's input criteria with the profiles stored in the database and searches the restaurant database in the travel destination area.
[0389] Input: Travel destination, budget, genre, and other criteria, as well as user profile.
[0390] Output: A list of matching restaurants.
[0391] Specific behavior: Executes an SQL query to retrieve restaurant information that matches the criteria.
[0392] Step 10: Compile restaurant information
[0393] 10. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[0394] Input: Matching restaurant data.
[0395] Output: A list of restaurant details.
[0396] Specific operation: The acquired restaurant information is compiled according to a template and prepared to be sent to the user.
[0397] Step 11: Generate and submit a proposal list
[0398] 11. Server: Generates a list of suggested restaurants and sends it to the device.
[0399] Input: A list of matching restaurant details.
[0400] Output: Notification that the proposal list has been sent.
[0401] Specific behavior: Sends the suggestion list in JSON format to the device.
[0402] Step 12: Display to the User
[0403] 12. Terminal: Displays the received restaurant suggestions to the user.
[0404] Input: Suggestion list.
[0405] Output: The list of restaurants displayed to the user.
[0406] Specific Behavior: Display the suggestion list appropriately in the user interface.
[0407] Step 13: Determine your emotional state
[0408] 13. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state.
[0409] Input: User's facial expression data and voice data.
[0410] Output: Emotional state judgment.
[0411] Specific operation: Analyzes facial expressions and voice in real time using DeepFace and OpenVINO.
[0412] Step 14: Optimize your offers
[0413] 14. Server: Optimize restaurant recommendations based on the determined emotional state.
[0414] Input: Emotional state judgment result and suggestion list.
[0415] Output: An optimized proposal list.
[0416] What it does: It reprioritizes the restaurant list based on the analysis results and presents optimized suggestions to the user.
[0417] Step 15: Restaurant Selection
[0418] 15. User: Select the restaurant they want to go to from the list of suggested restaurants.
[0419] Input: Suggestion list.
[0420] Output: Selected restaurant information.
[0421] Specific behavior: The user selects from the list and presses the select button.
[0422] Step 16: Viewing detailed information
[0423] 16. Terminal: Displays reservation links and detailed information for the selected restaurant.
[0424] Input: Selected restaurant information.
[0425] Output: Show detailed information.
[0426] Specific behavior: Displays the selected restaurant information on the details screen and provides a reservation link.
[0427] Step 17: Making a reservation
[0428] 17. User: Clicks on the reservation link to make a restaurant reservation if desired.
[0429] Input: Click on booking link.
[0430] Output: Restaurant reservation completion notification.
[0431] Specific behavior: The user is redirected to an external booking site and completes the booking process.
[0432] (Application example 2)
[0433] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0434] Conventional restaurant search systems are unable to consider the user's emotional state or detailed preferences, making it difficult for users to find satisfying dining options during their travels. Furthermore, depending on the device used, the information displayed may be insufficient, resulting in poor user convenience. Furthermore, it is particularly difficult for users to find a restaurant that best suits their emotional state in real time.
[0435] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0436] In this invention, the server includes means for inputting user information from a restaurant review site that the user regularly uses, means for acquiring favorable restaurant information from the restaurant review site using the user information, means for analyzing images and reviews of the acquired restaurant information and extracting elements of the user's preferences, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted elements of preference, means for recognizing the user's emotions using an emotion analysis engine, means for optimizing restaurant options to be suggested based on the recognized emotions, and means for displaying information about the suggested restaurants on the user's display device using augmented reality technology. This makes it possible to suggest optimal restaurants based on the user's emotional state and preferences, and furthermore, by using augmented reality technology, the user can obtain restaurant information in a form that is visually easy to understand.
[0437] "User information" refers to information related to the account of the restaurant review site that the user normally uses.
[0438] "Favourable store information" is information about stores that are considered to be particularly preferred by the user, obtained from a restaurant evaluation site.
[0439] "Video" refers to visual data such as photos and videos of restaurant interiors and food.
[0440] A "review" is text data that includes ratings and comments made by users about restaurants.
[0441] "Preference elements" refers to data extracted from characteristics such as the type of cuisine a user particularly likes, the atmosphere of the restaurant, and the price range.
[0442] "Conditions" refer to specific requests such as the user's desired travel destination area, budget, cuisine type, etc.
[0443] An "emotion analysis engine" is a system that analyzes a user's facial expressions and voice to recognize their emotional state at that time.
[0444] "Augmented reality technology" is a technology that displays digital information overlaid on real-world images.
[0445] A "display device" is an electronic device used by a user to view visual information, such as a smartphone or smart glasses.
[0446] The present invention provides a system that allows users to easily find restaurants that suit their preferences while traveling. To achieve this, the system includes a server, a terminal, and a sentiment analysis engine. Users enter account information for a restaurant review site they regularly use into the terminal, and the server uses that information to obtain favorable restaurant information from the restaurant review site. The obtained restaurant information is saved as video and reviews.
[0447] The server analyzes the video and reviews, and uses image analysis and natural language processing to extract elements of the user's preferences. These preferences are stored in a database as a user profile based on data such as the type of food, the atmosphere of the restaurant, and the price range.
[0448] Next, the user inputs the travel destination area, budget, and genre into the terminal. The server compares these conditions with the extracted preference elements and searches for suitable restaurants in the travel destination area. Here, an emotion analysis engine analyzes the user's facial expressions and voice to recognize their emotional state. Based on the recognized emotional state, the server optimizes the restaurant options to suggest. For example, if the user is tired, restaurants with a more relaxing atmosphere will be prioritized.
[0449] The server then uses augmented reality technology to display information about the suggested restaurants on the user's display device, such as a smartphone or smart glasses, allowing the user to visually check the exterior and interior of the suggested restaurants.
[0450] As a concrete example, suppose a user inputs their account information for a review site, and information about casual Japanese restaurants they frequently visit in Tokyo is extracted. When the user travels to New York, the server searches for Japanese restaurants in New York. If the server detects that the user is tired, it can use AR technology to display Japanese restaurants with a quiet atmosphere on the user's smart glasses.
[0451] An example prompt sentence could be fed to a generative AI model as follows:
[0452] "The user is looking for a Japanese restaurant in New York with a relaxed atmosphere. The emotion recognition result is 'tired.' Please suggest five restaurant options."
[0453] In this way, the system of the present invention suggests optimal restaurants based on the user's emotional state and preferences, and by using augmented reality technology, provides the user with information in a form that is visually easy to understand.
[0454] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0455] Step 1:
[0456] The user enters the account information of the restaurant review site they normally use into the device. The entered information becomes the initial data for analyzing the user's restaurant preferences.
[0457] Step 2:
[0458] The terminal transmits the user's account information to the server. After transmitting the data, the server accesses each restaurant review site based on the received account information and transmits a request to acquire information about the restaurant that the user likes.
[0459] Step 3:
[0460] The server retrieves favorable restaurant information from restaurant review sites. The retrieved data consists of photos and reviews. The server stores this data in a database. This process yields a data set for analyzing user preferences.
[0461] Step 4:
[0462] The server analyzes the photos and reviews of the restaurant information stored in the database using image analysis and natural language processing technology. Image analysis technology is used to identify the restaurant's atmosphere and food genre from the photos, and natural language processing is used to extract user preferences and evaluation criteria from the reviews.
[0463] Step 5:
[0464] The server then creates a profile of the user's preferences based on the analysis results and stores it in a database, which allows the server to understand the user's preferences and use them to make subsequent restaurant recommendations.
[0465] Step 6:
[0466] The user inputs the travel destination area, budget, and genre into the terminal, which acts as a filter to suggest the best restaurants for the travel destination.
[0467] Step 7:
[0468] The terminal sends these travel destination conditions to the server, which receives the conditions and compares them with the user profile stored in the database, thereby searching for suitable restaurants in the travel destination area.
[0469] Step 8:
[0470] The server uses an emotion analysis engine to analyze the user's facial expressions and voice to recognize their emotional state. Based on the results of this analysis, the server optimizes the restaurant recommendations. For example, if the user is tired, restaurants with a relaxing atmosphere will be prioritized.
[0471] Step 9:
[0472] The server retrieves the details of the matching restaurants and displays them on the user's display device (smartphone or smart glasses) using augmented reality technology, allowing the user to visually check the restaurant's exterior and interior.
[0473] Step 10:
[0474] The user can check the displayed restaurant information and select the restaurant they want to go to. The server provides the reservation link and detailed information of the selected restaurant, allowing the user to make a reservation as needed.
[0475] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0476] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0477] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0478] [Second embodiment]
[0479] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0480] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0481] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0482] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0483] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0484] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0485] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0486] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0487] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0488] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0489] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0490] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0491] The "Dining Concierge" system of the present invention provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server and a terminal, collects and analyzes restaurant information based on user input, and suggests suitable restaurants.
[0492] Entering user information
[0493] 1. User: Log in to the device and enter the account information for the restaurant review site you normally use (e.g., Tabelog or Yelp).
[0494] 2. Terminal: The account information entered by the user is sent to the server.
[0495] Obtaining favorite store information
[0496] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[0497] 4. Server: Save the acquired favorite store information in the database.
[0498] Store information analysis
[0499] 5. Server: Analyzes the stored store information. The analysis includes image analysis and natural language processing.
[0500] Image analysis: Analyzes acquired store photos to identify the food genre and atmosphere of the store.
[0501] Natural language processing: Analyzes the reviews and extracts user preferences and evaluation criteria (e.g., "I like sushi" or "I prefer a casual atmosphere").
[0502] 6. Server: Based on the analysis results, the user's preferences (such as food genre, price range, and atmosphere) are generated as a profile and stored in a database.
[0503] Enter travel destination conditions
[0504] 7. User: Enter dining requirements such as travel destination, budget, and type of food on the device.
[0505] 8. Terminal: Sends the entered conditions to the server.
[0506] Restaurant search and suggestions
[0507] 9. Server: Searches the restaurant database in the travel destination area based on the conditions entered by the user and the profile stored in the database.
[0508] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[0509] 10. Server: Based on the results, compiles detailed restaurant recommendations (name, address, photos, reviews, etc.).
[0510] 11. Server: Sends the list of suggested restaurants to the device.
[0511] 12. Terminal: Displays a list of suggested restaurants to the user.
[0512] Restaurant selection and reservation (optional)
[0513] 13. User: Select the restaurant they want to go to from the list of suggested restaurants.
[0514] 14. Terminal: Displays reservation links and detailed information for the selected restaurant.
[0515] 15. User: If desired, clicks on the reservation link to make a restaurant reservation.
[0516] Specific examples
[0517] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their Tabelog and Yelp account information, the system retrieves and analyzes their favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[0518] In this way, the "Dining Concierge" system allows users to easily find restaurants that suit their tastes while traveling, allowing them to enjoy meals with peace of mind while traveling.
[0519] The processing flow will be explained below.
[0520] Step 1:
[0521] User: Log in to the "Dining Concierge" system on the terminal and enter the account information for the restaurant review site that they normally use (e.g., Restaurant Review Site A or Restaurant Review Site B).
[0522] Step 2:
[0523] Terminal: Sends the entered account information to the server.
[0524] Step 3:
[0525] Server: Accesses restaurant review site A and restaurant review site B and obtains user's favorite restaurant information using API or scraping technology.
[0526] Step 4:
[0527] Server: Save the acquired favorite store information in the database.
[0528] Step 5:
[0529] Server: Runs image analysis algorithms and natural language processing techniques to analyze photos and reviews of saved favorite stores.
[0530] Step 6:
[0531] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[0532] Step 7:
[0533] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi" and "Price range: I prefer 3,000 to 5,000 yen") are extracted from user reviews.
[0534] Step 8:
[0535] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[0536] Step 9:
[0537] User: Enter travel destination, budget, genre, and other conditions on the device.
[0538] Step 10:
[0539] Terminal: Sends the entered travel conditions to the server.
[0540] Step 11:
[0541] Server: Matches the user's input criteria with the user's profile stored in the database and searches the restaurant database in the travel destination area.
[0542] Step 12:
[0543] Server: Filter restaurants that match your travel criteria and preferences.
[0544] Step 13:
[0545] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[0546] Step 14:
[0547] Server: Generates a list of restaurant suggestions and sends it to the device.
[0548] Step 15:
[0549] Terminal: Displays the received restaurant suggestions to the user.
[0550] Step 16:
[0551] User: Select the restaurant they want to go to from the list of suggested restaurants.
[0552] Step 17:
[0553] On your device: View reservation links and details for the selected restaurant.
[0554] Step 18:
[0555] User: Clicks on the reservation link to make a restaurant reservation if desired.
[0556] Example 1
[0557] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0558] Finding restaurants that suit users' tastes while traveling is difficult for many users, and it requires a lot of effort to gather and evaluate appropriate information. Furthermore, there is a lack of systems that can make recommendations that accurately reflect users' preferences. This creates a problem in that users cannot have a satisfying dining experience while traveling.
[0559] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0560] In this invention, the server includes a means for inputting account information for a review site that the user normally uses, a means for acquiring favorite store information from the review site using the user's account information, and a means for analyzing photos and reviews of the acquired store information and extracting elements of the user's preferences, thereby enabling the user to easily find restaurants that suit their preferences even when traveling.
[0561] "User" refers to an individual who uses the system to search for and make reservations at restaurants.
[0562] A "rating site" refers to a website that collects ratings and reviews of restaurants and other establishments.
[0563] "Account information" refers to the authentication information (such as username and password) required to log in to the evaluation site.
[0564] "Store information" refers to data about restaurants (such as name, address, photos, and reviews).
[0565] "Analysis" refers to the process of extracting user preferences and store characteristics based on collected data.
[0566] "Image analysis" refers to the technology of analyzing acquired photographic data to identify the genre and atmosphere of a store.
[0567] "Natural language processing" refers to the technology of analyzing acquired reviews and extracting meaning from text data.
[0568] "Destination region" refers to a geographic location that a user plans to visit.
[0569] "Conditions" refer to information required for a search, such as area, budget, and genre, entered by the user.
[0570] "Search" refers to the process of finding matching restaurants based on entered criteria and user preference factors.
[0571] "Suggestion" refers to providing information about suitable restaurants to the user based on the search results.
[0572] "Detailed Information" refers to specific data about the proposed restaurant (such as name, address, photos, reviews, etc.).
[0573] "Selection" refers to the user deciding which restaurant they would like to go to from among the suggested restaurants.
[0574] "Reservation" refers to the act of reserving a date and time to visit a restaurant selected by the user.
[0575] This invention is a system for finding suitable restaurants at a user's travel destination based on information obtained from a "review site." This system includes a server and a terminal. Here, we will explain the roles and operations of the server, terminal, and user.
[0576] Entering user information
[0577] 1. The user logs in to the device and enters the account information for the evaluation site that they normally use. At this stage, they enter the username and password for the evaluation site.
[0578] 2. The device sends the account information entered by the user to the server. The information is sent using the HTTPS protocol, so the data is securely protected.
[0579] Obtaining favorite store information
[0580] 3. The server accesses the rating site and retrieves the user's favorite store information using an API or web scraping technology. If an API is not provided, web scraping technology (such as BeautifulSoup or Selenium) is used.
[0581] 4. The server stores the acquired favorite store information in a database, such as a relational database like PostgreSQL.
[0582] Store information analysis
[0583] 5. The server analyzes the stored store information, including image analysis and natural language processing.
[0584] Image analysis: Using image analysis libraries such as OpenCV, the acquired photos of the restaurant are analyzed to identify the cuisine genre and atmosphere of the restaurant.
[0585] Natural language processing: Generative AI models such as BERT and GPT-3 are used to analyze captured reviews and extract user preferences and rating criteria.
[0586] 6. Based on the analysis results, the server generates a profile of the user's preferences (such as food genre, price range, and atmosphere) and stores it in a database.
[0587] Enter travel destination conditions
[0588] 7. The user enters the destination area, budget, type of food, and other dining requirements on the terminal. This information is entered in a form.
[0589] 8. The terminal sends the entered conditions to the server.
[0590] Restaurant search and suggestions
[0591] 9. The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. It filters restaurants that match the user's preferences by matching criteria such as area, budget, and genre.
[0592] 10. The server compiles detailed information (such as name, address, photos, and reviews) of the restaurants to suggest based on the filtering results.
[0593] 11. The server sends a list of suggested restaurants to the terminal.
[0594] 12. The terminal displays a list of suggested restaurants to the user.
[0595] Restaurant selection and reservation (optional)
[0596] 13. The user selects the restaurant they wish to go to from the list of suggested restaurants.
[0597] 14. The device will display a reservation link and detailed information for the selected restaurant.
[0598] 15. If necessary, the user clicks on the reservation link to make a restaurant reservation.
[0599] Specific examples
[0600] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their account information for a rating site, the system retrieves and analyzes their favorite restaurant information from those sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and the type of food (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[0601] Examples of prompt statements
[0602] "If a user living in Tokyo is traveling to New York, please suggest restaurants that match his preferences. The user's preferences are based on data obtained from his account information on a rating site, and include factors such as 'sushi,' 'casual atmosphere,' and 'price range: 3,000 to 5,000 yen.' His budget is between $30 and $50, and he prefers sushi or Chinese food."
[0603] The above is an embodiment of this system.
[0604] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0605] Step 1:
[0606] The user logs in to the device and enters the account information for the evaluation site that they normally use. The entered account information (user name, password) is entered into the form on the device.
[0607] Step 2:
[0608] The terminal sends the account information entered by the user to the server. This information is transmitted securely using the HTTPS protocol. The input is the account information, and the output is a request to the server.
[0609] Step 3:
[0610] The server accesses the rating site and obtains information about the user's favorite stores using API or scraping technology. The input is account information, and the output is a list of store information. Specifically, it sends an API request or executes a scraping script.
[0611] Step 4:
[0612] The server saves the retrieved favorite store information in the database. The input is the retrieved store information, and the output is the result saved in the database. Specifically, it parses the store information in JSON format and performs an INSERT operation on the database.
[0613] Step 5:
[0614] The server analyzes the stored store information. The analysis includes image analysis and natural language processing. The input is the stored store information, and the output is the analysis results. Specifically, it uses OpenCV to analyze store photos and BERT or GPT-3 to analyze review text.
[0615] Step 6:
[0616] The server generates a profile of the user's preferences based on the analysis results and stores it in a database. The input is the analysis results, and the output is the user's profile. The profile includes elements such as cuisine genre, price range, and atmosphere.
[0617] Step 7:
[0618] The user inputs dining conditions such as the region of the travel destination, budget, and type of food into the terminal, and the input conditions are entered into a form on the terminal.
[0619] Step 8:
[0620] The terminal sends the entered conditions to the server. The input is the travel destination conditions, and the output is a request to the server. Specifically, the form data is collected and sent as an HTTPS request.
[0621] Step 9:
[0622] The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. The input is the user's criteria and profile data, and the output is a list of search results. Specifically, it executes an SQL query to filter restaurants that match the criteria.
[0623] Step 10:
[0624] The server compiles detailed information (such as names, addresses, photos, and reviews) of restaurants to suggest based on the filtering results. The input is the search results, and the output is a list of suggestions. Specifically, it formats the search results based on the format and generates a response in JSON format.
[0625] Step 11:
[0626] The server sends a list of suggested restaurants to the terminal. The input is the suggestion list, and the output is the response to the terminal. Specifically, the generated JSON data is sent as an HTTPS response.
[0627] Step 12:
[0628] The device displays a list of suggested restaurants to the user. The input is the list of suggestions, and the output is the screen display. Specifically, it parses the received JSON data and displays it in list format on the app screen.
[0629] Step 13:
[0630] The user selects the restaurant they want to go to from the list of suggested restaurants. The input is the user's selection, and the output is the selected restaurant. The specific action is to tap a specific restaurant from the list.
[0631] Step 14:
[0632] The terminal displays a reservation link and detailed information for the selected restaurant. The input is the selected restaurant, and the output is the display of detailed information. Specifically, the terminal displays a detailed information screen for the selected restaurant, including a reservation link.
[0633] Step 15:
[0634] The user clicks on the reservation link as needed to make a restaurant reservation. The input is clicking on the reservation link, and the output is transitioning to the reservation page. Specifically, the browser or built-in browser is opened and transitioning to the reservation page occurs.
[0635] (Application example 1)
[0636] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0637] It is difficult for users to find restaurants that suit their preferences when traveling. Furthermore, it takes time and effort to access detailed information about local restaurants and delivery services. In particular, for users who want to use delivery services, there is a need for a system that automatically suggests their preferred restaurants based on account information from restaurant review sites that they regularly use, and allows them to smoothly place delivery orders.
[0638] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0639] In this invention, the server includes means for inputting account information for a restaurant review site that the user normally uses, means for acquiring favorite restaurant information from the restaurant review site using the user's account information, means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference factors, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference factors, means for suggesting detailed information of the searched restaurants to the user, and means for suggesting information on restaurants that offer delivery to the user and placing a delivery order. This allows the user to easily find restaurants that suit their preferences even when traveling, and further allows them to smoothly receive their meals using a delivery service.
[0640] "User" refers to a person who uses the system.
[0641] "Regularly used restaurant review sites" refers to websites and applications that users use to evaluate and review restaurants that they regularly visit.
[0642] "Account information" refers to authentication information such as a username and password required for a user to log in to a restaurant review site.
[0643] "Favorite store information" refers to information about restaurants that users have marked as favorites on a rating site.
[0644] "Analyzing photos and reviews" refers to analyzing the photos and user reviews of the acquired store information and extracting specific features and patterns.
[0645] "Preference elements" refer to attributes or characteristics (e.g., genre, price range, atmosphere) that a user particularly likes about a restaurant or food.
[0646] "Destination region" refers to a particular geographic area to which a user plans to travel.
[0647] "Budget" refers to the range of amounts that a user plans to spend on food and drink.
[0648] "Genre" refers to the type of restaurant or cuisine (e.g., sushi, Chinese, Italian).
[0649] "Inputting conditions" refers to the user providing the system with specific elements such as the region of the travel destination, budget, genre, etc.
[0650] A "matching restaurant" refers to a restaurant that best matches the input conditions and the user's preferences.
[0651] "Detailed information" refers to information including the restaurant's name, address, photos, reviews, etc.
[0652] "Restaurants offering delivery" refers to restaurants that provide meal delivery services in the area designated by the user.
[0653] "Placing a delivery order" refers to the act of requesting meal delivery through the system.
[0654] To realize this invention, it is necessary to generate a program to acquire and analyze information about favorite restaurants using account information from restaurant review sites that the user regularly uses. This analysis uses image analysis and natural language processing technology to extract the user's preferences and evaluation criteria. Furthermore, assuming that the user will use a delivery service at their travel destination, the program suggests information about local restaurants and provides a means for placing delivery orders.
[0655] Hardware and software used
[0656] To realize this system, the following hardware and software are used:
[0657] Hardware: Smartphone (iOS / Android)
[0658] software
[0659] Python: Used to implement programs on the server side.
[0660] Requests: Used to send API requests.
[0661] BeautifulSoup: Used to realize the scraping technology.
[0662] NLTK: Used to perform natural language processing.
[0663] PIL: Used to perform image analysis.
[0664] Data processing and calculation
[0665] The server uses the account information entered by the user from the restaurant review site to obtain information about the user's favorite restaurants via an API. The obtained information includes photos and reviews of the restaurants. Based on this information, the server performs image analysis and then analyzes the reviews using natural language processing to extract the user's preferred elements.
[0666] Next, the user inputs travel destination area, budget, cuisine type, etc. Based on these conditions and the extracted preferences, the server searches for restaurants in the travel destination area that offer delivery and provides detailed information on suitable restaurants to the user.
[0667] Finally, the system provides a means for users to place delivery orders from the suggested restaurants, allowing users to easily find and order from restaurants that suit their tastes even while traveling.
[0668] Specific examples
[0669] For example, if a user is in Japan, they enter their account information for a restaurant review site they regularly use. The system uses this information to obtain information about their favorite restaurants, and then performs image analysis and natural language processing to extract the user's preferred cuisine and atmosphere. Next, when the user travels to the United States, they enter the region of their destination (e.g., New York), budget (e.g., $30-$50), and cuisine type (e.g., sushi or Chinese). Based on this, the system suggests restaurants that offer delivery in their destination, and the user can select from these to place a delivery order.
[0670] Prompt Sentence Examples
[0671] Enter your account information for a Japanese restaurant rating website, analyze your preferences, and create a profile. Enter your travel destination, budget, and cuisine type to search for restaurants that offer delivery services in your destination, and create an application that will place a delivery order directly from restaurants that match your preferences.
[0672] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0673] Step 1:
[0674] The user enters the account information for the restaurant review site they normally use into the terminal. The entered information includes a username and password. This input information is then sent to the server.
[0675] Step 2:
[0676] The server uses the received account information to access the restaurant rating site. Using API or scraping technology, it obtains information about the user's favorite restaurants. The obtained information includes the restaurant's name, address, photos, reviews, etc. The data is stored on the server in JSON format.
[0677] Step 3:
[0678] The server analyzes the acquired store information. Image analysis and natural language processing technology are used for the analysis. First, image analysis analyzes photos of the store to identify the food genre and atmosphere of the store. Next, natural language processing is used to analyze the reviews and extract the user's preferences and evaluation criteria. The results of these analyses are saved in the user's profile as elements of their preferences.
[0679] Step 4:
[0680] The user inputs the destination area, budget, and desired cuisine type using the terminal, and these conditions are sent to the server in JSON format.
[0681] Step 5:
[0682] The server searches for suitable restaurants in the travel destination area based on the conditions entered by the user and the user's preferences that have been analyzed in advance. It uses the delivery platform's API to obtain information on restaurants that can deliver and match the conditions. The obtained information includes names, addresses, photos, reviews, etc.
[0683] Step 6:
[0684] The server scores the acquired restaurant information and lists the restaurants that best match the user's preferences. This scoring uses an algorithm that compares the user's preferences with the characteristics of the restaurants and calculates the degree of match.
[0685] Step 7:
[0686] The terminal receives the proposed list sent from the server and displays it to the user, who then selects a desired restaurant from the proposed list.
[0687] Step 8:
[0688] Once the user selects the restaurant of their choice, the information is sent to the server, which then displays detailed information about the restaurant and the delivery order procedure on the terminal.
[0689] Step 9:
[0690] The user enters the order details using the terminal and confirms the delivery order. The order details include the food selection, quantity, delivery address, etc. The order details are sent to the server and then sent to the restaurant via the delivery platform's API.
[0691] Step 10:
[0692] The restaurant prepares the food based on the order and delivers it to the specified address, and the user can check the delivery progress in real time using their device.
[0693] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0694] The system of the present invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[0695] Entering user information
[0696] 1. User: Logs in to the device and enters the account information for the restaurant review site that they normally use (for example, restaurant review site A or restaurant review site B).
[0697] 2. Terminal: The account information entered by the user is sent to the server.
[0698] Obtaining favorite store information
[0699] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[0700] 4. Server: Save the acquired favorite store information in the database.
[0701] Store information analysis
[0702] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[0703] 6. Server: Using image analysis, identify the type of food and the atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[0704] 7. Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[0705] 8. Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[0706] Enter travel destination conditions
[0707] 9. User: Enter travel destination, budget, genre, and other conditions on the device.
[0708] 10. Terminal: Sends the entered conditions to the server.
[0709] Restaurant search and suggestions
[0710] 11. Server: Matches the criteria entered by the user with the profiles stored in the database and searches the restaurant database in the travel destination area.
[0711] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[0712] 12. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[0713] 13. Server: Generates a list of suggested restaurants and sends it to the device.
[0714] 14. Terminal: Displays the received restaurant suggestions to the user.
[0715] User Emotion Recognition
[0716] 15. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[0717] 16. Server: Optimize the restaurant options suggested based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[0718] Restaurant selection and reservation (optional)
[0719] 17. User: Select the restaurant they want to go to from the list of suggested restaurants.
[0720] 18. Terminal: Displays reservation links and detailed information for the selected restaurant.
[0721] 19. User: Clicks on the reservation link to make a restaurant reservation if desired.
[0722] Specific examples
[0723] For example, consider a case where a user living in Tokyo is planning a trip to New York. When the user enters account information for restaurant review site A and restaurant review site B, the system retrieves and analyzes favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[0724] Furthermore, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants that are more relaxing. In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, according to their emotional state.
[0725] The processing flow will be explained below.
[0726] Step 1:
[0727] User: Log in to the device and enter the account information for the restaurant review site that you normally use (for example, restaurant review site A or restaurant review site B).
[0728] Step 2:
[0729] Terminal: Sends the account information entered by the user to the server.
[0730] Step 3:
[0731] Server: Accesses restaurant review site A and restaurant review site B and uses API or scraping technology to obtain information on users' favorite restaurants.
[0732] Step 4:
[0733] Server: Save the acquired favorite store information in the database.
[0734] Step 5:
[0735] Server: Runs image analysis algorithms and natural language processing techniques to analyze stored store photos and reviews.
[0736] Step 6:
[0737] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[0738] Step 7:
[0739] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[0740] Step 8:
[0741] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[0742] Step 9:
[0743] User: Enter travel destination, budget, genre, and other conditions on the device.
[0744] Step 10:
[0745] Terminal: Sends the entered conditions to the server.
[0746] Step 11:
[0747] Server: Matches the user's input criteria with the profile stored in the database and searches the restaurant database in the travel destination area.
[0748] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[0749] Step 12:
[0750] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[0751] Step 13:
[0752] Server: Generates a list of restaurant suggestions and sends it to the device.
[0753] Step 14:
[0754] Terminal: Displays the received restaurant suggestions to the user.
[0755] Step 15:
[0756] Emotion engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[0757] Step 16:
[0758] Server: Optimize the suggested restaurant options based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[0759] Step 17:
[0760] User: Select the restaurant they want to go to from the list of suggested restaurants.
[0761] Step 18:
[0762] On your device: View reservation links and details for the selected restaurant.
[0763] Step 19:
[0764] User: Clicks on the reservation link to make a restaurant reservation if desired.
[0765] Example 2
[0766] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0767] In recent years, many people want to easily find restaurants that suit their tastes when traveling. However, collecting restaurant information about a destination and selecting an appropriate restaurant that suits their tastes and mood is a time-consuming and labor-intensive task. Furthermore, it is difficult to provide a highly satisfying service by simply searching a database, as it is difficult to suggest the best restaurant that takes into account the user's current emotional state.
[0768] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for inputting account information of a restaurant review site that the user normally uses; means for acquiring favorite restaurant information from the restaurant review site using the user's account information; means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference elements; means for inputting conditions such as the region, budget, and genre of the travel destination specified by the user; means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference elements; means for suggesting detailed information of the searched restaurants to the user; and means for analyzing the user's facial expression and voice to determine the user's emotional state and optimizing the suggested restaurants based on the emotional state. This enables the user to easily find the best restaurant at their travel destination based on their preferences and current emotional state.
[0769] A "restaurant rating site" is an online platform where users can post ratings and reviews of restaurants and other users can use them as reference.
[0770] "Account information" is authentication data for identifying a user, and mainly includes a user ID and password.
[0771] "Favorite store information" refers to information about stores that a user has bookmarked, rated, or posted a good review on a restaurant rating site.
[0772] "Photographs" refer to image data that visually records the store's exterior, interior, food, etc.
[0773] A "review" is data in which a user posts written impressions and evaluations of a restaurant.
[0774] "Analysis" refers to the process of processing and analyzing acquired data to extract useful information.
[0775] "Preference elements" are factors based on the user's preferences, and include, for example, the type of food, the price range, the atmosphere of the store, and the like.
[0776] "Travel destination area" refers to a destination that the user plans to visit.
[0777] A "budget" is a spending range set by a user.
[0778] "Genre" refers to a category that classifies restaurants and types and styles of cuisine.
[0779] "Conditions" are items that are used as criteria for searches and suggestions specified by the user.
[0780] "Searching" is the process of locating information from a database based on specific criteria.
[0781] "Detailed information" refers to specific information about the business, such as its name, address, photos, and reviews.
[0782] "Suggestion" refers to the act of presenting options to the user based on search results.
[0783] "Facial expressions" refer to facial muscle movements that indicate a user's emotions and reactions.
[0784] "Voice" refers to the voice uttered by the user, and includes words and emotions.
[0785] The "emotional state" indicates the psychological state of the user, and includes, for example, joy, anger, sadness, and the like.
[0786] "Optimize" means to adjust for best results under specific conditions.
[0787] The system of this invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[0788] The user first logs in to the device and enters the account information for the restaurant review site they normally use. The device then sends the account information entered by the user to the server. The server then accesses each restaurant review site and obtains information about the user's favorite restaurants using APIs or scraping technology. This acquisition process uses technologies such as the Python requests library, Beautiful Soup, or Scrapy. The server then stores the obtained favorite restaurant information in a database. The database can be a relational database such as MySQL or PostgreSQL.
[0789] Next, the server runs image analysis algorithms and natural language processing techniques to analyze the photos and reviews of the stored store information. It uses OpenCV for image analysis and the NLTK library for natural language processing. Image analysis identifies the type of cuisine and atmosphere of the restaurant (e.g., casual, formal) from the restaurant's photos. Natural language processing also extracts preferences and evaluation criteria from the user's reviews (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen"). Based on the results of these analyses, the server creates a profile of the user's preferences and stores it in a database.
[0790] The user then inputs travel destination criteria, such as the region of the destination, budget, and genre, on the device. The device then sends the input criteria to the server. The server matches the user's input criteria with the profiles stored in the database and searches the restaurant database for the destination region. The criteria are filtered based on region, budget, and genre. The server compiles detailed information (name, address, photos, reviews, etc.) of matching restaurants, generates a list of restaurant suggestions, and sends it to the device. The device then displays the received restaurant suggestions to the user.
[0791] Furthermore, the emotion engine uses libraries such as DeepFace (facial recognition) and OpenVINO (voice analysis) to analyze the user's facial expressions and voice to determine their emotional state (e.g., joy, sadness, surprise).The server optimizes the restaurant options it recommends based on the determined emotional state (e.g., if the user is tired, it will suggest restaurants with a calm atmosphere).
[0792] As a concrete example, consider a user living in Tokyo planning a trip to New York. When the user enters account information for a restaurant review site, the system retrieves and analyzes information about favorite restaurants from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai." The user can select from these restaurants and make a reservation if necessary.
[0793] In addition, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants where they can relax.
[0794] An example prompt is, "Can you recommend a sushi restaurant in New York? I'm looking for a place with a casual atmosphere and a budget of $30-$50."
[0795] In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, tailored to their emotional state.
[0796] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0797] Step 1: User Login
[0798] 1. User: Log in to the device and enter the account information for the restaurant rating site they are using.
[0799] Input: User ID and password.
[0800] Output: Notification that account information has been entered.
[0801] Specific behavior: A user accesses a login form, enters information into each field, and presses the submit button.
[0802] Step 2: Submit your account information
[0803] 2. Terminal: The account information entered by the user is sent to the server.
[0804] Input: User account information.
[0805] Output: Status of data transmission to the server.
[0806] Specific operation: The device generates an HTTP POST request and sends account information to the server.
[0807] Step 3: Get your favorite store information
[0808] 3. Server: Accesses the restaurant rating site and obtains information about the user's favorite restaurants using API or scraping technology.
[0809] Input: User account information.
[0810] Output: The retrieved favorite store information.
[0811] What it does: The server sends a request to the API using Python's requests library, parses the response, and retrieves the necessary data. It also performs scraping using Beautiful Soup or Scrapy, if necessary.
[0812] Step 4: Saving to the Database
[0813] 4. Server: Save the acquired favorite store information in the database.
[0814] Input: Retrieved favorite store information.
[0815] Output: Save complete message.
[0816] What happens: The server establishes a database connection and saves the data using a MySQL or PostgreSQL INSERT statement.
[0817] Step 5: Image and review analysis
[0818] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[0819] Input: Saved store information (photos and reviews).
[0820] Output: Analysis results (food genre, restaurant atmosphere, user preference factors).
[0821] What it does: Analyzes photos using OpenCV and extracts rating metrics from reviews using NLTK.
[0822] Step 6: Generate a profile
[0823] 6. Server: Based on the analysis results, the user's preferred elements are generated as a profile and stored in a database.
[0824] Input: Image analysis and natural language processing results.
[0825] Output: User profile creation and saving completion message.
[0826] Specific operation: The analysis results are compiled in JSON format and saved in the database.
[0827] Step 7: Enter your travel destination criteria
[0828] 7. User: Enter travel destination, budget, genre, and other conditions on the device.
[0829] Input: Travel destination, budget, genre, and other criteria.
[0830] Output: Notification that the condition has been entered.
[0831] Specific operation: The user accesses the input form, enters the conditions, and presses the submit button.
[0832] Step 8: Submitting Conditions
[0833] 8. Terminal: Sends the entered conditions to the server.
[0834] Input: Travel destination, budget, genre, and other criteria.
[0835] Output: Status of data transmission to the server.
[0836] Specific operation: The device sends the condition data in JSON format to the server.
[0837] Step 9: Matching criteria and finding restaurants
[0838] 9. Server: Matches the user's input criteria with the profiles stored in the database and searches the restaurant database in the travel destination area.
[0839] Input: Travel destination, budget, genre, and other criteria, as well as user profile.
[0840] Output: A list of matching restaurants.
[0841] Specific behavior: Executes an SQL query to retrieve restaurant information that matches the criteria.
[0842] Step 10: Compile restaurant information
[0843] 10. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[0844] Input: Matching restaurant data.
[0845] Output: A list of restaurant details.
[0846] Specific operation: The acquired restaurant information is compiled according to a template and prepared to be sent to the user.
[0847] Step 11: Generate and submit a proposal list
[0848] 11. Server: Generates a list of suggested restaurants and sends it to the device.
[0849] Input: A list of matching restaurant details.
[0850] Output: Notification that the proposal list has been sent.
[0851] Specific behavior: Sends the suggestion list in JSON format to the device.
[0852] Step 12: Display to the User
[0853] 12. Terminal: Displays the received restaurant suggestions to the user.
[0854] Input: Suggestion list.
[0855] Output: The list of restaurants displayed to the user.
[0856] Specific Behavior: Display the suggestion list appropriately in the user interface.
[0857] Step 13: Determine your emotional state
[0858] 13. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state.
[0859] Input: User's facial expression data and voice data.
[0860] Output: Emotional state judgment.
[0861] Specific operation: Analyzes facial expressions and voice in real time using DeepFace and OpenVINO.
[0862] Step 14: Optimize your offers
[0863] 14. Server: Optimize restaurant recommendations based on the determined emotional state.
[0864] Input: Emotional state judgment result and suggestion list.
[0865] Output: An optimized proposal list.
[0866] What it does: It reprioritizes the restaurant list based on the analysis results and presents optimized suggestions to the user.
[0867] Step 15: Restaurant Selection
[0868] 15. User: Select the restaurant they want to go to from the list of suggested restaurants.
[0869] Input: Suggestion list.
[0870] Output: Selected restaurant information.
[0871] Specific behavior: The user selects from the list and presses the select button.
[0872] Step 16: Viewing detailed information
[0873] 16. Terminal: Displays reservation links and detailed information for the selected restaurant.
[0874] Input: Selected restaurant information.
[0875] Output: Show detailed information.
[0876] Specific behavior: Displays the selected restaurant information on the details screen and provides a reservation link.
[0877] Step 17: Making a reservation
[0878] 17. User: Clicks on the reservation link to make a restaurant reservation if desired.
[0879] Input: Click on booking link.
[0880] Output: Restaurant reservation completion notification.
[0881] Specific behavior: The user is redirected to an external booking site and completes the booking process.
[0882] (Application example 2)
[0883] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0884] Conventional restaurant search systems are unable to consider the user's emotional state or detailed preferences, making it difficult for users to find satisfying dining options during their travels. Furthermore, depending on the device used, the information displayed may be insufficient, resulting in poor user convenience. Furthermore, it is particularly difficult for users to find a restaurant that best suits their emotional state in real time.
[0885] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0886] In this invention, the server includes means for inputting user information from a restaurant review site that the user regularly uses, means for acquiring favorable restaurant information from the restaurant review site using the user information, means for analyzing images and reviews of the acquired restaurant information and extracting elements of the user's preferences, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted elements of preference, means for recognizing the user's emotions using an emotion analysis engine, means for optimizing restaurant options to be suggested based on the recognized emotions, and means for displaying information about the suggested restaurants on the user's display device using augmented reality technology. This makes it possible to suggest optimal restaurants based on the user's emotional state and preferences, and furthermore, by using augmented reality technology, the user can obtain restaurant information in a form that is visually easy to understand.
[0887] "User information" refers to information related to the account of the restaurant review site that the user normally uses.
[0888] "Favourable store information" is information about stores that are considered to be particularly preferred by the user, obtained from a restaurant evaluation site.
[0889] "Video" refers to visual data such as photos and videos of restaurant interiors and food.
[0890] A "review" is text data that includes ratings and comments made by users about restaurants.
[0891] "Preference elements" refers to data extracted from characteristics such as the type of cuisine a user particularly likes, the atmosphere of the restaurant, and the price range.
[0892] "Conditions" refer to specific requests such as the user's desired travel destination area, budget, cuisine type, etc.
[0893] An "emotion analysis engine" is a system that analyzes a user's facial expressions and voice to recognize their emotional state at that time.
[0894] "Augmented reality technology" is a technology that displays digital information overlaid on real-world images.
[0895] A "display device" is an electronic device used by a user to view visual information, such as a smartphone or smart glasses.
[0896] The present invention provides a system that allows users to easily find restaurants that suit their preferences while traveling. To achieve this, the system includes a server, a terminal, and a sentiment analysis engine. Users enter account information for a restaurant review site they regularly use into the terminal, and the server uses that information to obtain favorable restaurant information from the restaurant review site. The obtained restaurant information is saved as video and reviews.
[0897] The server analyzes the video and reviews, and uses image analysis and natural language processing to extract elements of the user's preferences. These preferences are stored in a database as a user profile based on data such as the type of food, the atmosphere of the restaurant, and the price range.
[0898] Next, the user inputs the travel destination area, budget, and genre into the terminal. The server compares these conditions with the extracted preference elements and searches for suitable restaurants in the travel destination area. Here, an emotion analysis engine analyzes the user's facial expressions and voice to recognize their emotional state. Based on the recognized emotional state, the server optimizes the restaurant options to suggest. For example, if the user is tired, restaurants with a more relaxing atmosphere will be prioritized.
[0899] The server then uses augmented reality technology to display information about the suggested restaurants on the user's display device, such as a smartphone or smart glasses, allowing the user to visually check the exterior and interior of the suggested restaurants.
[0900] As a concrete example, suppose a user inputs their account information for a review site, and information about casual Japanese restaurants they frequently visit in Tokyo is extracted. When the user travels to New York, the server searches for Japanese restaurants in New York. If the server detects that the user is tired, it can use AR technology to display Japanese restaurants with a quiet atmosphere on the user's smart glasses.
[0901] An example prompt sentence could be fed to a generative AI model as follows:
[0902] "The user is looking for a Japanese restaurant in New York with a relaxed atmosphere. The emotion recognition result is 'tired.' Please suggest five restaurant options."
[0903] In this way, the system of the present invention suggests optimal restaurants based on the user's emotional state and preferences, and by using augmented reality technology, provides the user with information in a form that is visually easy to understand.
[0904] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0905] Step 1:
[0906] The user enters the account information of the restaurant review site they normally use into the device. The entered information becomes the initial data for analyzing the user's restaurant preferences.
[0907] Step 2:
[0908] The terminal transmits the user's account information to the server. After transmitting the data, the server accesses each restaurant review site based on the received account information and transmits a request to acquire information about the restaurant that the user likes.
[0909] Step 3:
[0910] The server retrieves favorable restaurant information from restaurant review sites. The retrieved data consists of photos and reviews. The server stores this data in a database. This process yields a data set for analyzing user preferences.
[0911] Step 4:
[0912] The server analyzes the photos and reviews of the restaurant information stored in the database using image analysis and natural language processing technology. Image analysis technology is used to identify the restaurant's atmosphere and food genre from the photos, and natural language processing is used to extract user preferences and evaluation criteria from the reviews.
[0913] Step 5:
[0914] The server then creates a profile of the user's preferences based on the analysis results and stores it in a database, which allows the server to understand the user's preferences and use them to make subsequent restaurant recommendations.
[0915] Step 6:
[0916] The user inputs the travel destination area, budget, and genre into the terminal, which acts as a filter to suggest the best restaurants for the travel destination.
[0917] Step 7:
[0918] The terminal sends these travel destination conditions to the server, which receives the conditions and compares them with the user profile stored in the database, thereby searching for suitable restaurants in the travel destination area.
[0919] Step 8:
[0920] The server uses an emotion analysis engine to analyze the user's facial expressions and voice to recognize their emotional state. Based on the results of this analysis, the server optimizes the restaurant recommendations. For example, if the user is tired, restaurants with a relaxing atmosphere will be prioritized.
[0921] Step 9:
[0922] The server retrieves the details of the matching restaurants and displays them on the user's display device (smartphone or smart glasses) using augmented reality technology, allowing the user to visually check the restaurant's exterior and interior.
[0923] Step 10:
[0924] The user can check the displayed restaurant information and select the restaurant they want to go to. The server provides the reservation link and detailed information of the selected restaurant, allowing the user to make a reservation as needed.
[0925] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0926] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0927] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0928] [Third embodiment]
[0929] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0930] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0931] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0932] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0933] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0934] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0935] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0936] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0937] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0938] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0939] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0940] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0941] The "Dining Concierge" system of the present invention provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server and a terminal, collects and analyzes restaurant information based on user input, and suggests suitable restaurants.
[0942] Entering user information
[0943] 1. User: Log in to the device and enter the account information for the restaurant review site you normally use (e.g., Tabelog or Yelp).
[0944] 2. Terminal: The account information entered by the user is sent to the server.
[0945] Obtaining favorite store information
[0946] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[0947] 4. Server: Save the acquired favorite store information in the database.
[0948] Store information analysis
[0949] 5. Server: Analyzes the stored store information. The analysis includes image analysis and natural language processing.
[0950] Image analysis: Analyzes acquired store photos to identify the food genre and atmosphere of the store.
[0951] Natural language processing: Analyzes the reviews and extracts user preferences and evaluation criteria (e.g., "I like sushi" or "I prefer a casual atmosphere").
[0952] 6. Server: Based on the analysis results, the user's preferences (such as food genre, price range, and atmosphere) are generated as a profile and stored in a database.
[0953] Enter travel destination conditions
[0954] 7. User: Enter dining requirements such as travel destination, budget, and type of food on the device.
[0955] 8. Terminal: Sends the entered conditions to the server.
[0956] Restaurant search and suggestions
[0957] 9. Server: Searches the restaurant database in the travel destination area based on the conditions entered by the user and the profile stored in the database.
[0958] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[0959] 10. Server: Based on the results, compiles detailed restaurant recommendations (name, address, photos, reviews, etc.).
[0960] 11. Server: Sends the list of suggested restaurants to the device.
[0961] 12. Terminal: Displays a list of suggested restaurants to the user.
[0962] Restaurant selection and reservation (optional)
[0963] 13. User: Select the restaurant they want to go to from the list of suggested restaurants.
[0964] 14. Terminal: Displays reservation links and detailed information for the selected restaurant.
[0965] 15. User: If desired, clicks on the reservation link to make a restaurant reservation.
[0966] Specific examples
[0967] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their Tabelog and Yelp account information, the system retrieves and analyzes their favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[0968] In this way, the "Dining Concierge" system allows users to easily find restaurants that suit their tastes while traveling, allowing them to enjoy meals with peace of mind while traveling.
[0969] The processing flow will be explained below.
[0970] Step 1:
[0971] User: Log in to the "Dining Concierge" system on the terminal and enter the account information for the restaurant review site that they normally use (e.g., Restaurant Review Site A or Restaurant Review Site B).
[0972] Step 2:
[0973] Terminal: Sends the entered account information to the server.
[0974] Step 3:
[0975] Server: Accesses restaurant review site A and restaurant review site B and obtains user's favorite restaurant information using API or scraping technology.
[0976] Step 4:
[0977] Server: Save the acquired favorite store information in the database.
[0978] Step 5:
[0979] Server: Runs image analysis algorithms and natural language processing techniques to analyze photos and reviews of saved favorite stores.
[0980] Step 6:
[0981] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[0982] Step 7:
[0983] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi" and "Price range: I prefer 3,000 to 5,000 yen") are extracted from user reviews.
[0984] Step 8:
[0985] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[0986] Step 9:
[0987] User: Enter travel destination, budget, genre, and other conditions on the device.
[0988] Step 10:
[0989] Terminal: Sends the entered travel conditions to the server.
[0990] Step 11:
[0991] Server: Matches the user's input criteria with the user's profile stored in the database and searches the restaurant database in the travel destination area.
[0992] Step 12:
[0993] Server: Filter restaurants that match your travel criteria and preferences.
[0994] Step 13:
[0995] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[0996] Step 14:
[0997] Server: Generates a list of restaurant suggestions and sends it to the device.
[0998] Step 15:
[0999] Terminal: Displays the received restaurant suggestions to the user.
[1000] Step 16:
[1001] User: Select the restaurant they want to go to from the list of suggested restaurants.
[1002] Step 17:
[1003] On your device: View reservation links and details for the selected restaurant.
[1004] Step 18:
[1005] User: Clicks on the reservation link to make a restaurant reservation if desired.
[1006] Example 1
[1007] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1008] Finding restaurants that suit users' tastes while traveling is difficult for many users, and it requires a lot of effort to gather and evaluate appropriate information. Furthermore, there is a lack of systems that can make recommendations that accurately reflect users' preferences. This creates a problem in that users cannot have a satisfying dining experience while traveling.
[1009] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1010] In this invention, the server includes a means for inputting account information for a review site that the user normally uses, a means for acquiring favorite store information from the review site using the user's account information, and a means for analyzing photos and reviews of the acquired store information and extracting elements of the user's preferences, thereby enabling the user to easily find restaurants that suit their preferences even when traveling.
[1011] "User" refers to an individual who uses the system to search for and make reservations at restaurants.
[1012] A "rating site" refers to a website that collects ratings and reviews of restaurants and other establishments.
[1013] "Account information" refers to the authentication information (such as username and password) required to log in to the evaluation site.
[1014] "Store information" refers to data about restaurants (such as name, address, photos, and reviews).
[1015] "Analysis" refers to the process of extracting user preferences and store characteristics based on collected data.
[1016] "Image analysis" refers to the technology of analyzing acquired photographic data to identify the genre and atmosphere of a store.
[1017] "Natural language processing" refers to the technology of analyzing acquired reviews and extracting meaning from text data.
[1018] "Destination region" refers to a geographic location that a user plans to visit.
[1019] "Conditions" refer to information required for a search, such as area, budget, and genre, entered by the user.
[1020] "Search" refers to the process of finding matching restaurants based on entered criteria and user preference factors.
[1021] "Suggestion" refers to providing information about suitable restaurants to the user based on the search results.
[1022] "Detailed Information" refers to specific data about the proposed restaurant (such as name, address, photos, reviews, etc.).
[1023] "Selection" refers to the user deciding which restaurant they would like to go to from among the suggested restaurants.
[1024] "Reservation" refers to the act of reserving a date and time to visit a restaurant selected by the user.
[1025] This invention is a system for finding suitable restaurants at a user's travel destination based on information obtained from a "review site." This system includes a server and a terminal. Here, we will explain the roles and operations of the server, terminal, and user.
[1026] Entering user information
[1027] 1. The user logs in to the device and enters the account information for the evaluation site that they normally use. At this stage, they enter the username and password for the evaluation site.
[1028] 2. The device sends the account information entered by the user to the server. The information is sent using the HTTPS protocol, so the data is securely protected.
[1029] Obtaining favorite store information
[1030] 3. The server accesses the rating site and retrieves the user's favorite store information using an API or web scraping technology. If an API is not provided, web scraping technology (such as BeautifulSoup or Selenium) is used.
[1031] 4. The server stores the acquired favorite store information in a database, such as a relational database like PostgreSQL.
[1032] Store information analysis
[1033] 5. The server analyzes the stored store information, including image analysis and natural language processing.
[1034] Image analysis: Using image analysis libraries such as OpenCV, the acquired photos of the restaurant are analyzed to identify the cuisine genre and atmosphere of the restaurant.
[1035] Natural language processing: Generative AI models such as BERT and GPT-3 are used to analyze captured reviews and extract user preferences and rating criteria.
[1036] 6. Based on the analysis results, the server generates a profile of the user's preferences (such as food genre, price range, and atmosphere) and stores it in a database.
[1037] Enter travel destination conditions
[1038] 7. The user enters the destination area, budget, type of food, and other dining requirements on the terminal. This information is entered in a form.
[1039] 8. The terminal sends the entered conditions to the server.
[1040] Restaurant search and suggestions
[1041] 9. The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. It filters restaurants that match the user's preferences by matching criteria such as area, budget, and genre.
[1042] 10. The server compiles detailed information (such as name, address, photos, and reviews) of the restaurants to suggest based on the filtering results.
[1043] 11. The server sends a list of suggested restaurants to the terminal.
[1044] 12. The terminal displays a list of suggested restaurants to the user.
[1045] Restaurant selection and reservation (optional)
[1046] 13. The user selects the restaurant they wish to go to from the list of suggested restaurants.
[1047] 14. The device will display a reservation link and detailed information for the selected restaurant.
[1048] 15. If necessary, the user clicks on the reservation link to make a restaurant reservation.
[1049] Specific examples
[1050] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their account information for a rating site, the system retrieves and analyzes their favorite restaurant information from those sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and the type of food (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[1051] Examples of prompt statements
[1052] "If a user living in Tokyo is traveling to New York, please suggest restaurants that match his preferences. The user's preferences are based on data obtained from his account information on a rating site, and include factors such as 'sushi,' 'casual atmosphere,' and 'price range: 3,000 to 5,000 yen.' His budget is between $30 and $50, and he prefers sushi or Chinese food."
[1053] The above is an embodiment of this system.
[1054] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1055] Step 1:
[1056] The user logs in to the device and enters the account information for the evaluation site that they normally use. The entered account information (user name, password) is entered into the form on the device.
[1057] Step 2:
[1058] The terminal sends the account information entered by the user to the server. This information is transmitted securely using the HTTPS protocol. The input is the account information, and the output is a request to the server.
[1059] Step 3:
[1060] The server accesses the rating site and obtains information about the user's favorite stores using API or scraping technology. The input is account information, and the output is a list of store information. Specifically, it sends an API request or executes a scraping script.
[1061] Step 4:
[1062] The server saves the retrieved favorite store information in the database. The input is the retrieved store information, and the output is the result saved in the database. Specifically, it parses the store information in JSON format and performs an INSERT operation on the database.
[1063] Step 5:
[1064] The server analyzes the stored store information. The analysis includes image analysis and natural language processing. The input is the stored store information, and the output is the analysis results. Specifically, it uses OpenCV to analyze store photos and BERT or GPT-3 to analyze review text.
[1065] Step 6:
[1066] The server generates a profile of the user's preferences based on the analysis results and stores it in a database. The input is the analysis results, and the output is the user's profile. The profile includes elements such as cuisine genre, price range, and atmosphere.
[1067] Step 7:
[1068] The user inputs dining conditions such as the region of the travel destination, budget, and type of food into the terminal, and the input conditions are entered into a form on the terminal.
[1069] Step 8:
[1070] The terminal sends the entered conditions to the server. The input is the travel destination conditions, and the output is a request to the server. Specifically, the form data is collected and sent as an HTTPS request.
[1071] Step 9:
[1072] The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. The input is the user's criteria and profile data, and the output is a list of search results. Specifically, it executes an SQL query to filter restaurants that match the criteria.
[1073] Step 10:
[1074] The server compiles detailed information (such as names, addresses, photos, and reviews) of restaurants to suggest based on the filtering results. The input is the search results, and the output is a list of suggestions. Specifically, it formats the search results based on the format and generates a response in JSON format.
[1075] Step 11:
[1076] The server sends a list of suggested restaurants to the terminal. The input is the suggestion list, and the output is the response to the terminal. Specifically, the generated JSON data is sent as an HTTPS response.
[1077] Step 12:
[1078] The device displays a list of suggested restaurants to the user. The input is the list of suggestions, and the output is the screen display. Specifically, it parses the received JSON data and displays it in list format on the app screen.
[1079] Step 13:
[1080] The user selects the restaurant they want to go to from the list of suggested restaurants. The input is the user's selection, and the output is the selected restaurant. The specific action is to tap a specific restaurant from the list.
[1081] Step 14:
[1082] The terminal displays a reservation link and detailed information for the selected restaurant. The input is the selected restaurant, and the output is the display of detailed information. Specifically, the terminal displays a detailed information screen for the selected restaurant, including a reservation link.
[1083] Step 15:
[1084] The user clicks on the reservation link as needed to make a restaurant reservation. The input is clicking on the reservation link, and the output is transitioning to the reservation page. Specifically, the browser or built-in browser is opened and transitioning to the reservation page occurs.
[1085] (Application example 1)
[1086] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1087] It is difficult for users to find restaurants that suit their preferences when traveling. Furthermore, it takes time and effort to access detailed information about local restaurants and delivery services. In particular, for users who want to use delivery services, there is a need for a system that automatically suggests their preferred restaurants based on account information from restaurant review sites that they regularly use, and allows them to smoothly place delivery orders.
[1088] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1089] In this invention, the server includes means for inputting account information for a restaurant review site that the user normally uses, means for acquiring favorite restaurant information from the restaurant review site using the user's account information, means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference factors, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference factors, means for suggesting detailed information of the searched restaurants to the user, and means for suggesting information on restaurants that offer delivery to the user and placing a delivery order. This allows the user to easily find restaurants that suit their preferences even when traveling, and further allows them to smoothly receive their meals using a delivery service.
[1090] "User" refers to a person who uses the system.
[1091] "Regularly used restaurant review sites" refers to websites and applications that users use to evaluate and review restaurants that they regularly visit.
[1092] "Account information" refers to authentication information such as a username and password required for a user to log in to a restaurant review site.
[1093] "Favorite store information" refers to information about restaurants that users have marked as favorites on a rating site.
[1094] "Analyzing photos and reviews" refers to analyzing the photos and user reviews of the acquired store information and extracting specific features and patterns.
[1095] "Preference elements" refer to attributes or characteristics (e.g., genre, price range, atmosphere) that a user particularly likes about a restaurant or food.
[1096] "Destination region" refers to a particular geographic area to which a user plans to travel.
[1097] "Budget" refers to the range of amounts that a user plans to spend on food and drink.
[1098] "Genre" refers to the type of restaurant or cuisine (e.g., sushi, Chinese, Italian).
[1099] "Inputting conditions" refers to the user providing the system with specific elements such as the region of the travel destination, budget, genre, etc.
[1100] A "matching restaurant" refers to a restaurant that best matches the input conditions and the user's preferences.
[1101] "Detailed information" refers to information including the restaurant's name, address, photos, reviews, etc.
[1102] "Restaurants offering delivery" refers to restaurants that provide meal delivery services in the area designated by the user.
[1103] "Placing a delivery order" refers to the act of requesting meal delivery through the system.
[1104] To realize this invention, it is necessary to generate a program to acquire and analyze information about favorite restaurants using account information from restaurant review sites that the user regularly uses. This analysis uses image analysis and natural language processing technology to extract the user's preferences and evaluation criteria. Furthermore, assuming that the user will use a delivery service at their travel destination, the program suggests information about local restaurants and provides a means for placing delivery orders.
[1105] Hardware and software used
[1106] To realize this system, the following hardware and software are used:
[1107] Hardware: Smartphone (iOS / Android)
[1108] software
[1109] Python: Used to implement programs on the server side.
[1110] Requests: Used to send API requests.
[1111] BeautifulSoup: Used to realize the scraping technology.
[1112] NLTK: Used to perform natural language processing.
[1113] PIL: Used to perform image analysis.
[1114] Data processing and calculation
[1115] The server uses the account information entered by the user from the restaurant review site to obtain information about the user's favorite restaurants via an API. The obtained information includes photos and reviews of the restaurants. Based on this information, the server performs image analysis and then analyzes the reviews using natural language processing to extract the user's preferred elements.
[1116] Next, the user inputs travel destination area, budget, cuisine type, etc. Based on these conditions and the extracted preferences, the server searches for restaurants in the travel destination area that offer delivery and provides detailed information on suitable restaurants to the user.
[1117] Finally, the system provides a means for users to place delivery orders from the suggested restaurants, allowing users to easily find and order from restaurants that suit their tastes even while traveling.
[1118] Specific examples
[1119] For example, if a user is in Japan, they enter their account information for a restaurant review site they regularly use. The system uses this information to obtain information about their favorite restaurants, and then performs image analysis and natural language processing to extract the user's preferred cuisine and atmosphere. Next, when the user travels to the United States, they enter the region of their destination (e.g., New York), budget (e.g., $30-$50), and cuisine type (e.g., sushi or Chinese). Based on this, the system suggests restaurants that offer delivery in their destination, and the user can select from these to place a delivery order.
[1120] Prompt Sentence Examples
[1121] Enter your account information for a Japanese restaurant rating website, analyze your preferences, and create a profile. Enter your travel destination, budget, and cuisine type to search for restaurants that offer delivery services in your destination, and create an application that will place a delivery order directly from restaurants that match your preferences.
[1122] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1123] Step 1:
[1124] The user enters the account information for the restaurant review site they normally use into the terminal. The entered information includes a username and password. This input information is then sent to the server.
[1125] Step 2:
[1126] The server uses the received account information to access the restaurant rating site. Using API or scraping technology, it obtains information about the user's favorite restaurants. The obtained information includes the restaurant's name, address, photos, reviews, etc. The data is stored on the server in JSON format.
[1127] Step 3:
[1128] The server analyzes the acquired store information. Image analysis and natural language processing technology are used for the analysis. First, image analysis analyzes photos of the store to identify the food genre and atmosphere of the store. Next, natural language processing is used to analyze the reviews and extract the user's preferences and evaluation criteria. The results of these analyses are saved in the user's profile as elements of their preferences.
[1129] Step 4:
[1130] The user inputs the destination area, budget, and desired cuisine type using the terminal, and these conditions are sent to the server in JSON format.
[1131] Step 5:
[1132] The server searches for suitable restaurants in the travel destination area based on the conditions entered by the user and the user's preferences that have been analyzed in advance. It uses the delivery platform's API to obtain information on restaurants that can deliver and match the conditions. The obtained information includes names, addresses, photos, reviews, etc.
[1133] Step 6:
[1134] The server scores the acquired restaurant information and lists the restaurants that best match the user's preferences. This scoring uses an algorithm that compares the user's preferences with the characteristics of the restaurants and calculates the degree of match.
[1135] Step 7:
[1136] The terminal receives the proposed list sent from the server and displays it to the user, who then selects a desired restaurant from the proposed list.
[1137] Step 8:
[1138] Once the user selects the restaurant of their choice, the information is sent to the server, which then displays detailed information about the restaurant and the delivery order procedure on the terminal.
[1139] Step 9:
[1140] The user enters the order details using the terminal and confirms the delivery order. The order details include the food selection, quantity, delivery address, etc. The order details are sent to the server and then sent to the restaurant via the delivery platform's API.
[1141] Step 10:
[1142] The restaurant prepares the food based on the order and delivers it to the specified address, and the user can check the delivery progress in real time using their device.
[1143] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1144] The system of the present invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[1145] Entering user information
[1146] 1. User: Logs in to the device and enters the account information for the restaurant review site that they normally use (for example, restaurant review site A or restaurant review site B).
[1147] 2. Terminal: The account information entered by the user is sent to the server.
[1148] Obtaining favorite store information
[1149] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[1150] 4. Server: Save the acquired favorite store information in the database.
[1151] Store information analysis
[1152] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[1153] 6. Server: Using image analysis, identify the type of food and the atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[1154] 7. Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[1155] 8. Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[1156] Enter travel destination conditions
[1157] 9. User: Enter travel destination, budget, genre, and other conditions on the device.
[1158] 10. Terminal: Sends the entered conditions to the server.
[1159] Restaurant search and suggestions
[1160] 11. Server: Matches the criteria entered by the user with the profiles stored in the database and searches the restaurant database in the travel destination area.
[1161] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[1162] 12. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[1163] 13. Server: Generates a list of suggested restaurants and sends it to the device.
[1164] 14. Terminal: Displays the received restaurant suggestions to the user.
[1165] User Emotion Recognition
[1166] 15. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[1167] 16. Server: Optimize the restaurant options suggested based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[1168] Restaurant selection and reservation (optional)
[1169] 17. User: Select the restaurant they want to go to from the list of suggested restaurants.
[1170] 18. Terminal: Displays reservation links and detailed information for the selected restaurant.
[1171] 19. User: Clicks on the reservation link to make a restaurant reservation if desired.
[1172] Specific examples
[1173] For example, consider a case where a user living in Tokyo is planning a trip to New York. When the user enters account information for restaurant review site A and restaurant review site B, the system retrieves and analyzes favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[1174] Furthermore, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants that are more relaxing. In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, according to their emotional state.
[1175] The processing flow will be explained below.
[1176] Step 1:
[1177] User: Log in to the device and enter the account information for the restaurant review site that you normally use (for example, restaurant review site A or restaurant review site B).
[1178] Step 2:
[1179] Terminal: Sends the account information entered by the user to the server.
[1180] Step 3:
[1181] Server: Accesses restaurant review site A and restaurant review site B and uses API or scraping technology to obtain information on users' favorite restaurants.
[1182] Step 4:
[1183] Server: Save the acquired favorite store information in the database.
[1184] Step 5:
[1185] Server: Runs image analysis algorithms and natural language processing techniques to analyze stored store photos and reviews.
[1186] Step 6:
[1187] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[1188] Step 7:
[1189] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[1190] Step 8:
[1191] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[1192] Step 9:
[1193] User: Enter travel destination, budget, genre, and other conditions on the device.
[1194] Step 10:
[1195] Terminal: Sends the entered conditions to the server.
[1196] Step 11:
[1197] Server: Matches the user's input criteria with the profile stored in the database and searches the restaurant database in the travel destination area.
[1198] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[1199] Step 12:
[1200] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[1201] Step 13:
[1202] Server: Generates a list of restaurant suggestions and sends it to the device.
[1203] Step 14:
[1204] Terminal: Displays the received restaurant suggestions to the user.
[1205] Step 15:
[1206] Emotion engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[1207] Step 16:
[1208] Server: Optimize the suggested restaurant options based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[1209] Step 17:
[1210] User: Select the restaurant they want to go to from the list of suggested restaurants.
[1211] Step 18:
[1212] On your device: View reservation links and details for the selected restaurant.
[1213] Step 19:
[1214] User: Clicks on the reservation link to make a restaurant reservation if desired.
[1215] Example 2
[1216] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1217] In recent years, many people want to easily find restaurants that suit their tastes when traveling. However, collecting restaurant information about a destination and selecting an appropriate restaurant that suits their tastes and mood is a time-consuming and labor-intensive task. Furthermore, it is difficult to provide a highly satisfying service by simply searching a database, as it is difficult to suggest the best restaurant that takes into account the user's current emotional state.
[1218] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for inputting account information of a restaurant review site that the user normally uses; means for acquiring favorite restaurant information from the restaurant review site using the user's account information; means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference elements; means for inputting conditions such as the region, budget, and genre of the travel destination specified by the user; means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference elements; means for suggesting detailed information of the searched restaurants to the user; and means for analyzing the user's facial expression and voice to determine the user's emotional state and optimizing the suggested restaurants based on the emotional state. This enables the user to easily find the best restaurant at their travel destination based on their preferences and current emotional state.
[1219] A "restaurant rating site" is an online platform where users can post ratings and reviews of restaurants and other users can use them as reference.
[1220] "Account information" is authentication data for identifying a user, and mainly includes a user ID and password.
[1221] "Favorite store information" refers to information about stores that a user has bookmarked, rated, or posted a good review on a restaurant rating site.
[1222] "Photographs" refer to image data that visually records the store's exterior, interior, food, etc.
[1223] A "review" is data in which a user posts written impressions and evaluations of a restaurant.
[1224] "Analysis" refers to the process of processing and analyzing acquired data to extract useful information.
[1225] "Preference elements" are factors based on the user's preferences, and include, for example, the type of food, the price range, the atmosphere of the store, and the like.
[1226] "Travel destination area" refers to a destination that the user plans to visit.
[1227] A "budget" is a spending range set by a user.
[1228] "Genre" refers to a category that classifies restaurants and types and styles of cuisine.
[1229] "Conditions" are items that are used as criteria for searches and suggestions specified by the user.
[1230] "Searching" is the process of locating information from a database based on specific criteria.
[1231] "Detailed information" refers to specific information about the business, such as its name, address, photos, and reviews.
[1232] "Suggestion" refers to the act of presenting options to the user based on search results.
[1233] "Facial expressions" refer to facial muscle movements that indicate a user's emotions and reactions.
[1234] "Voice" refers to the voice uttered by the user, and includes words and emotions.
[1235] The "emotional state" indicates the psychological state of the user, and includes, for example, joy, anger, sadness, and the like.
[1236] "Optimize" means to adjust for best results under specific conditions.
[1237] The system of this invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[1238] The user first logs in to the device and enters the account information for the restaurant review site they normally use. The device then sends the account information entered by the user to the server. The server then accesses each restaurant review site and obtains information about the user's favorite restaurants using APIs or scraping technology. This acquisition process uses technologies such as the Python requests library, Beautiful Soup, or Scrapy. The server then stores the obtained favorite restaurant information in a database. The database can be a relational database such as MySQL or PostgreSQL.
[1239] Next, the server runs image analysis algorithms and natural language processing techniques to analyze the photos and reviews of the stored store information. It uses OpenCV for image analysis and the NLTK library for natural language processing. Image analysis identifies the type of cuisine and atmosphere of the restaurant (e.g., casual, formal) from the restaurant's photos. Natural language processing also extracts preferences and evaluation criteria from the user's reviews (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen"). Based on the results of these analyses, the server creates a profile of the user's preferences and stores it in a database.
[1240] The user then inputs travel destination criteria, such as the region of the destination, budget, and genre, on the device. The device then sends the input criteria to the server. The server matches the user's input criteria with the profiles stored in the database and searches the restaurant database for the destination region. The criteria are filtered based on region, budget, and genre. The server compiles detailed information (name, address, photos, reviews, etc.) of matching restaurants, generates a list of restaurant suggestions, and sends it to the device. The device then displays the received restaurant suggestions to the user.
[1241] Furthermore, the emotion engine uses libraries such as DeepFace (facial recognition) and OpenVINO (voice analysis) to analyze the user's facial expressions and voice to determine their emotional state (e.g., joy, sadness, surprise).The server optimizes the restaurant options it recommends based on the determined emotional state (e.g., if the user is tired, it will suggest restaurants with a calm atmosphere).
[1242] As a concrete example, consider a user living in Tokyo planning a trip to New York. When the user enters account information for a restaurant review site, the system retrieves and analyzes information about favorite restaurants from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai." The user can select from these restaurants and make a reservation if necessary.
[1243] In addition, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants where they can relax.
[1244] An example prompt is, "Can you recommend a sushi restaurant in New York? I'm looking for a place with a casual atmosphere and a budget of $30-$50."
[1245] In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, tailored to their emotional state.
[1246] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1247] Step 1: User Login
[1248] 1. User: Log in to the device and enter the account information for the restaurant rating site they are using.
[1249] Input: User ID and password.
[1250] Output: Notification that account information has been entered.
[1251] Specific behavior: A user accesses a login form, enters information into each field, and presses the submit button.
[1252] Step 2: Submit your account information
[1253] 2. Terminal: The account information entered by the user is sent to the server.
[1254] Input: User account information.
[1255] Output: Status of data transmission to the server.
[1256] Specific operation: The device generates an HTTP POST request and sends account information to the server.
[1257] Step 3: Get your favorite store information
[1258] 3. Server: Accesses the restaurant rating site and obtains information about the user's favorite restaurants using API or scraping technology.
[1259] Input: User account information.
[1260] Output: The retrieved favorite store information.
[1261] What it does: The server sends a request to the API using Python's requests library, parses the response, and retrieves the necessary data. It also performs scraping using Beautiful Soup or Scrapy, if necessary.
[1262] Step 4: Saving to the Database
[1263] 4. Server: Save the acquired favorite store information in the database.
[1264] Input: Retrieved favorite store information.
[1265] Output: Save complete message.
[1266] What happens: The server establishes a database connection and saves the data using a MySQL or PostgreSQL INSERT statement.
[1267] Step 5: Image and review analysis
[1268] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[1269] Input: Saved store information (photos and reviews).
[1270] Output: Analysis results (food genre, restaurant atmosphere, user preference factors).
[1271] What it does: Analyzes photos using OpenCV and extracts rating metrics from reviews using NLTK.
[1272] Step 6: Generate a profile
[1273] 6. Server: Based on the analysis results, the user's preferred elements are generated as a profile and stored in a database.
[1274] Input: Image analysis and natural language processing results.
[1275] Output: User profile creation and saving completion message.
[1276] Specific operation: The analysis results are compiled in JSON format and saved in the database.
[1277] Step 7: Enter your travel destination criteria
[1278] 7. User: Enter travel destination, budget, genre, and other conditions on the device.
[1279] Input: Travel destination, budget, genre, and other criteria.
[1280] Output: Notification that the condition has been entered.
[1281] Specific operation: The user accesses the input form, enters the conditions, and presses the submit button.
[1282] Step 8: Submitting Conditions
[1283] 8. Terminal: Sends the entered conditions to the server.
[1284] Input: Travel destination, budget, genre, and other criteria.
[1285] Output: Status of data transmission to the server.
[1286] Specific operation: The device sends the condition data in JSON format to the server.
[1287] Step 9: Matching criteria and finding restaurants
[1288] 9. Server: Matches the user's input criteria with the profiles stored in the database and searches the restaurant database in the travel destination area.
[1289] Input: Travel destination, budget, genre, and other criteria, as well as user profile.
[1290] Output: A list of matching restaurants.
[1291] Specific behavior: Executes an SQL query to retrieve restaurant information that matches the criteria.
[1292] Step 10: Compile restaurant information
[1293] 10. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[1294] Input: Matching restaurant data.
[1295] Output: A list of restaurant details.
[1296] Specific operation: The acquired restaurant information is compiled according to a template and prepared to be sent to the user.
[1297] Step 11: Generate and submit a proposal list
[1298] 11. Server: Generates a list of suggested restaurants and sends it to the device.
[1299] Input: A list of matching restaurant details.
[1300] Output: Notification that the proposal list has been sent.
[1301] Specific behavior: Sends the suggestion list in JSON format to the device.
[1302] Step 12: Display to the User
[1303] 12. Terminal: Displays the received restaurant suggestions to the user.
[1304] Input: Suggestion list.
[1305] Output: The list of restaurants displayed to the user.
[1306] Specific Behavior: Display the suggestion list appropriately in the user interface.
[1307] Step 13: Determine your emotional state
[1308] 13. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state.
[1309] Input: User's facial expression data and voice data.
[1310] Output: Emotional state judgment.
[1311] Specific operation: Analyzes facial expressions and voice in real time using DeepFace and OpenVINO.
[1312] Step 14: Optimize your offers
[1313] 14. Server: Optimize restaurant recommendations based on the determined emotional state.
[1314] Input: Emotional state judgment result and suggestion list.
[1315] Output: An optimized proposal list.
[1316] What it does: It reprioritizes the restaurant list based on the analysis results and presents optimized suggestions to the user.
[1317] Step 15: Restaurant Selection
[1318] 15. User: Select the restaurant they want to go to from the list of suggested restaurants.
[1319] Input: Suggestion list.
[1320] Output: Selected restaurant information.
[1321] Specific behavior: The user selects from the list and presses the select button.
[1322] Step 16: Viewing detailed information
[1323] 16. Terminal: Displays reservation links and detailed information for the selected restaurant.
[1324] Input: Selected restaurant information.
[1325] Output: Show detailed information.
[1326] Specific behavior: Displays the selected restaurant information on the details screen and provides a reservation link.
[1327] Step 17: Making a reservation
[1328] 17. User: Clicks on the reservation link to make a restaurant reservation if desired.
[1329] Input: Click on booking link.
[1330] Output: Restaurant reservation completion notification.
[1331] Specific behavior: The user is redirected to an external booking site and completes the booking process.
[1332] (Application example 2)
[1333] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1334] Conventional restaurant search systems are unable to consider the user's emotional state or detailed preferences, making it difficult for users to find satisfying dining options during their travels. Furthermore, depending on the device used, the information displayed may be insufficient, resulting in poor user convenience. Furthermore, it is particularly difficult for users to find a restaurant that best suits their emotional state in real time.
[1335] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1336] In this invention, the server includes means for inputting user information from a restaurant review site that the user regularly uses, means for acquiring favorable restaurant information from the restaurant review site using the user information, means for analyzing images and reviews of the acquired restaurant information and extracting elements of the user's preferences, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted elements of preference, means for recognizing the user's emotions using an emotion analysis engine, means for optimizing restaurant options to be suggested based on the recognized emotions, and means for displaying information about the suggested restaurants on the user's display device using augmented reality technology. This makes it possible to suggest optimal restaurants based on the user's emotional state and preferences, and furthermore, by using augmented reality technology, the user can obtain restaurant information in a form that is visually easy to understand.
[1337] "User information" refers to information related to the account of the restaurant review site that the user normally uses.
[1338] "Favourable store information" is information about stores that are considered to be particularly preferred by the user, obtained from a restaurant evaluation site.
[1339] "Video" refers to visual data such as photos and videos of restaurant interiors and food.
[1340] A "review" is text data that includes ratings and comments made by users about restaurants.
[1341] "Preference elements" refers to data extracted from characteristics such as the type of cuisine a user particularly likes, the atmosphere of the restaurant, and the price range.
[1342] "Conditions" refer to specific requests such as the user's desired travel destination area, budget, cuisine type, etc.
[1343] An "emotion analysis engine" is a system that analyzes a user's facial expressions and voice to recognize their emotional state at that time.
[1344] "Augmented reality technology" is a technology that displays digital information overlaid on real-world images.
[1345] A "display device" is an electronic device used by a user to view visual information, such as a smartphone or smart glasses.
[1346] The present invention provides a system that allows users to easily find restaurants that suit their preferences while traveling. To achieve this, the system includes a server, a terminal, and a sentiment analysis engine. Users enter account information for a restaurant review site they regularly use into the terminal, and the server uses that information to obtain favorable restaurant information from the restaurant review site. The obtained restaurant information is saved as video and reviews.
[1347] The server analyzes the video and reviews, and uses image analysis and natural language processing to extract elements of the user's preferences. These preferences are stored in a database as a user profile based on data such as the type of food, the atmosphere of the restaurant, and the price range.
[1348] Next, the user inputs the travel destination area, budget, and genre into the terminal. The server compares these conditions with the extracted preference elements and searches for suitable restaurants in the travel destination area. Here, an emotion analysis engine analyzes the user's facial expressions and voice to recognize their emotional state. Based on the recognized emotional state, the server optimizes the restaurant options to suggest. For example, if the user is tired, restaurants with a more relaxing atmosphere will be prioritized.
[1349] The server then uses augmented reality technology to display information about the suggested restaurants on the user's display device, such as a smartphone or smart glasses, allowing the user to visually check the exterior and interior of the suggested restaurants.
[1350] As a concrete example, suppose a user inputs their account information for a review site, and information about casual Japanese restaurants they frequently visit in Tokyo is extracted. When the user travels to New York, the server searches for Japanese restaurants in New York. If the server detects that the user is tired, it can use AR technology to display Japanese restaurants with a quiet atmosphere on the user's smart glasses.
[1351] An example prompt sentence could be fed to a generative AI model as follows:
[1352] "The user is looking for a Japanese restaurant in New York with a relaxed atmosphere. The emotion recognition result is 'tired.' Please suggest five restaurant options."
[1353] In this way, the system of the present invention suggests optimal restaurants based on the user's emotional state and preferences, and by using augmented reality technology, provides the user with information in a form that is visually easy to understand.
[1354] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1355] Step 1:
[1356] The user enters the account information of the restaurant review site they normally use into the device. The entered information becomes the initial data for analyzing the user's restaurant preferences.
[1357] Step 2:
[1358] The terminal transmits the user's account information to the server. After transmitting the data, the server accesses each restaurant review site based on the received account information and transmits a request to acquire information about the restaurant that the user likes.
[1359] Step 3:
[1360] The server retrieves favorable restaurant information from restaurant review sites. The retrieved data consists of photos and reviews. The server stores this data in a database. This process yields a data set for analyzing user preferences.
[1361] Step 4:
[1362] The server analyzes the photos and reviews of the restaurant information stored in the database using image analysis and natural language processing technology. Image analysis technology is used to identify the restaurant's atmosphere and food genre from the photos, and natural language processing is used to extract user preferences and evaluation criteria from the reviews.
[1363] Step 5:
[1364] The server then creates a profile of the user's preferences based on the analysis results and stores it in a database, which allows the server to understand the user's preferences and use them to make subsequent restaurant recommendations.
[1365] Step 6:
[1366] The user inputs the travel destination area, budget, and genre into the terminal, which acts as a filter to suggest the best restaurants for the travel destination.
[1367] Step 7:
[1368] The terminal sends these travel destination conditions to the server, which receives the conditions and compares them with the user profile stored in the database, thereby searching for suitable restaurants in the travel destination area.
[1369] Step 8:
[1370] The server uses an emotion analysis engine to analyze the user's facial expressions and voice to recognize their emotional state. Based on the results of this analysis, the server optimizes the restaurant recommendations. For example, if the user is tired, restaurants with a relaxing atmosphere will be prioritized.
[1371] Step 9:
[1372] The server retrieves the details of the matching restaurants and displays them on the user's display device (smartphone or smart glasses) using augmented reality technology, allowing the user to visually check the restaurant's exterior and interior.
[1373] Step 10:
[1374] The user can check the displayed restaurant information and select the restaurant they want to go to. The server provides the reservation link and detailed information of the selected restaurant, allowing the user to make a reservation as needed.
[1375] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1376] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1377] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1378] [Fourth embodiment]
[1379] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1380] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1381] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1382] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1383] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1384] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1385] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1386] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1387] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1388] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1389] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1390] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1391] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1392] The "Dining Concierge" system of the present invention provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server and a terminal, collects and analyzes restaurant information based on user input, and suggests suitable restaurants.
[1393] Entering user information
[1394] 1. User: Log in to the device and enter the account information for the restaurant review site you normally use (e.g., Tabelog or Yelp).
[1395] 2. Terminal: The account information entered by the user is sent to the server.
[1396] Obtaining favorite store information
[1397] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[1398] 4. Server: Save the acquired favorite store information in the database.
[1399] Store information analysis
[1400] 5. Server: Analyzes the stored store information. The analysis includes image analysis and natural language processing.
[1401] Image analysis: Analyzes acquired store photos to identify the food genre and atmosphere of the store.
[1402] Natural language processing: Analyzes the reviews and extracts user preferences and evaluation criteria (e.g., "I like sushi" or "I prefer a casual atmosphere").
[1403] 6. Server: Based on the analysis results, the user's preferences (such as food genre, price range, and atmosphere) are generated as a profile and stored in a database.
[1404] Enter travel destination conditions
[1405] 7. User: Enter dining requirements such as travel destination, budget, and type of food on the device.
[1406] 8. Terminal: Sends the entered conditions to the server.
[1407] Restaurant search and suggestions
[1408] 9. Server: Searches the restaurant database in the travel destination area based on the conditions entered by the user and the profile stored in the database.
[1409] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[1410] 10. Server: Based on the results, compiles detailed restaurant recommendations (name, address, photos, reviews, etc.).
[1411] 11. Server: Sends the list of suggested restaurants to the device.
[1412] 12. Terminal: Displays a list of suggested restaurants to the user.
[1413] Restaurant selection and reservation (optional)
[1414] 13. User: Select the restaurant they want to go to from the list of suggested restaurants.
[1415] 14. Terminal: Displays reservation links and detailed information for the selected restaurant.
[1416] 15. User: If desired, clicks on the reservation link to make a restaurant reservation.
[1417] Specific examples
[1418] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their Tabelog and Yelp account information, the system retrieves and analyzes their favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[1419] In this way, the "Dining Concierge" system allows users to easily find restaurants that suit their tastes while traveling, allowing them to enjoy meals with peace of mind while traveling.
[1420] The processing flow will be explained below.
[1421] Step 1:
[1422] User: Log in to the "Dining Concierge" system on the terminal and enter the account information for the restaurant review site that they normally use (e.g., Restaurant Review Site A or Restaurant Review Site B).
[1423] Step 2:
[1424] Terminal: Sends the entered account information to the server.
[1425] Step 3:
[1426] Server: Accesses restaurant review site A and restaurant review site B and obtains user's favorite restaurant information using API or scraping technology.
[1427] Step 4:
[1428] Server: Save the acquired favorite store information in the database.
[1429] Step 5:
[1430] Server: Runs image analysis algorithms and natural language processing techniques to analyze photos and reviews of saved favorite stores.
[1431] Step 6:
[1432] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[1433] Step 7:
[1434] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi" and "Price range: I prefer 3,000 to 5,000 yen") are extracted from user reviews.
[1435] Step 8:
[1436] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[1437] Step 9:
[1438] User: Enter travel destination, budget, genre, and other conditions on the device.
[1439] Step 10:
[1440] Terminal: Sends the entered travel conditions to the server.
[1441] Step 11:
[1442] Server: Matches the user's input criteria with the user's profile stored in the database and searches the restaurant database in the travel destination area.
[1443] Step 12:
[1444] Server: Filter restaurants that match your travel criteria and preferences.
[1445] Step 13:
[1446] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[1447] Step 14:
[1448] Server: Generates a list of restaurant suggestions and sends it to the device.
[1449] Step 15:
[1450] Terminal: Displays the received restaurant suggestions to the user.
[1451] Step 16:
[1452] User: Select the restaurant they want to go to from the list of suggested restaurants.
[1453] Step 17:
[1454] On your device: View reservation links and details for the selected restaurant.
[1455] Step 18:
[1456] User: Clicks on the reservation link to make a restaurant reservation if desired.
[1457] Example 1
[1458] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1459] Finding restaurants that suit users' tastes while traveling is difficult for many users, and it requires a lot of effort to gather and evaluate appropriate information. Furthermore, there is a lack of systems that can make recommendations that accurately reflect users' preferences. This creates a problem in that users cannot have a satisfying dining experience while traveling.
[1460] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1461] In this invention, the server includes a means for inputting account information for a review site that the user normally uses, a means for acquiring favorite store information from the review site using the user's account information, and a means for analyzing photos and reviews of the acquired store information and extracting elements of the user's preferences, thereby enabling the user to easily find restaurants that suit their preferences even when traveling.
[1462] "User" refers to an individual who uses the system to search for and make reservations at restaurants.
[1463] A "rating site" refers to a website that collects ratings and reviews of restaurants and other establishments.
[1464] "Account information" refers to the authentication information (such as username and password) required to log in to the evaluation site.
[1465] "Store information" refers to data about restaurants (such as name, address, photos, and reviews).
[1466] "Analysis" refers to the process of extracting user preferences and store characteristics based on collected data.
[1467] "Image analysis" refers to the technology of analyzing acquired photographic data to identify the genre and atmosphere of a store.
[1468] "Natural language processing" refers to the technology of analyzing acquired reviews and extracting meaning from text data.
[1469] "Destination region" refers to a geographic location that a user plans to visit.
[1470] "Conditions" refer to information required for a search, such as area, budget, and genre, entered by the user.
[1471] "Search" refers to the process of finding matching restaurants based on entered criteria and user preference factors.
[1472] "Suggestion" refers to providing information about suitable restaurants to the user based on the search results.
[1473] "Detailed Information" refers to specific data about the proposed restaurant (such as name, address, photos, reviews, etc.).
[1474] "Selection" refers to the user deciding which restaurant they would like to go to from among the suggested restaurants.
[1475] "Reservation" refers to the act of reserving a date and time to visit a restaurant selected by the user.
[1476] This invention is a system for finding suitable restaurants at a user's travel destination based on information obtained from a "review site." This system includes a server and a terminal. Here, we will explain the roles and operations of the server, terminal, and user.
[1477] Entering user information
[1478] 1. The user logs in to the device and enters the account information for the evaluation site that they normally use. At this stage, they enter the username and password for the evaluation site.
[1479] 2. The device sends the account information entered by the user to the server. The information is sent using the HTTPS protocol, so the data is securely protected.
[1480] Obtaining favorite store information
[1481] 3. The server accesses the rating site and retrieves the user's favorite store information using an API or web scraping technology. If an API is not provided, web scraping technology (such as BeautifulSoup or Selenium) is used.
[1482] 4. The server stores the acquired favorite store information in a database, such as a relational database like PostgreSQL.
[1483] Store information analysis
[1484] 5. The server analyzes the stored store information, including image analysis and natural language processing.
[1485] Image analysis: Using image analysis libraries such as OpenCV, the acquired photos of the restaurant are analyzed to identify the cuisine genre and atmosphere of the restaurant.
[1486] Natural language processing: Generative AI models such as BERT and GPT-3 are used to analyze captured reviews and extract user preferences and rating criteria.
[1487] 6. Based on the analysis results, the server generates a profile of the user's preferences (such as food genre, price range, and atmosphere) and stores it in a database.
[1488] Enter travel destination conditions
[1489] 7. The user enters the destination area, budget, type of food, and other dining requirements on the terminal. This information is entered in a form.
[1490] 8. The terminal sends the entered conditions to the server.
[1491] Restaurant search and suggestions
[1492] 9. The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. It filters restaurants that match the user's preferences by matching criteria such as area, budget, and genre.
[1493] 10. The server compiles detailed information (such as name, address, photos, and reviews) of the restaurants to suggest based on the filtering results.
[1494] 11. The server sends a list of suggested restaurants to the terminal.
[1495] 12. The terminal displays a list of suggested restaurants to the user.
[1496] Restaurant selection and reservation (optional)
[1497] 13. The user selects the restaurant they wish to go to from the list of suggested restaurants.
[1498] 14. The device will display a reservation link and detailed information for the selected restaurant.
[1499] 15. If necessary, the user clicks on the reservation link to make a restaurant reservation.
[1500] Specific examples
[1501] For example, consider a user living in Tokyo planning a trip to New York. When the user enters their account information for a rating site, the system retrieves and analyzes their favorite restaurant information from those sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and the type of food (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[1502] Examples of prompt statements
[1503] "If a user living in Tokyo is traveling to New York, please suggest restaurants that match his preferences. The user's preferences are based on data obtained from his account information on a rating site, and include factors such as 'sushi,' 'casual atmosphere,' and 'price range: 3,000 to 5,000 yen.' His budget is between $30 and $50, and he prefers sushi or Chinese food."
[1504] The above is an embodiment of this system.
[1505] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1506] Step 1:
[1507] The user logs in to the device and enters the account information for the evaluation site that they normally use. The entered account information (user name, password) is entered into the form on the device.
[1508] Step 2:
[1509] The terminal sends the account information entered by the user to the server. This information is transmitted securely using the HTTPS protocol. The input is the account information, and the output is a request to the server.
[1510] Step 3:
[1511] The server accesses the rating site and obtains information about the user's favorite stores using API or scraping technology. The input is account information, and the output is a list of store information. Specifically, it sends an API request or executes a scraping script.
[1512] Step 4:
[1513] The server saves the retrieved favorite store information in the database. The input is the retrieved store information, and the output is the result saved in the database. Specifically, it parses the store information in JSON format and performs an INSERT operation on the database.
[1514] Step 5:
[1515] The server analyzes the stored store information. The analysis includes image analysis and natural language processing. The input is the stored store information, and the output is the analysis results. Specifically, it uses OpenCV to analyze store photos and BERT or GPT-3 to analyze review text.
[1516] Step 6:
[1517] The server generates a profile of the user's preferences based on the analysis results and stores it in a database. The input is the analysis results, and the output is the user's profile. The profile includes elements such as cuisine genre, price range, and atmosphere.
[1518] Step 7:
[1519] The user inputs dining conditions such as the region of the travel destination, budget, and type of food into the terminal, and the input conditions are entered into a form on the terminal.
[1520] Step 8:
[1521] The terminal sends the entered conditions to the server. The input is the travel destination conditions, and the output is a request to the server. Specifically, the form data is collected and sent as an HTTPS request.
[1522] Step 9:
[1523] The server searches the restaurant database for the travel destination area based on the criteria entered by the user and the profile stored in the database. The input is the user's criteria and profile data, and the output is a list of search results. Specifically, it executes an SQL query to filter restaurants that match the criteria.
[1524] Step 10:
[1525] The server compiles detailed information (such as names, addresses, photos, and reviews) of restaurants to suggest based on the filtering results. The input is the search results, and the output is a list of suggestions. Specifically, it formats the search results based on the format and generates a response in JSON format.
[1526] Step 11:
[1527] The server sends a list of suggested restaurants to the terminal. The input is the suggestion list, and the output is the response to the terminal. Specifically, the generated JSON data is sent as an HTTPS response.
[1528] Step 12:
[1529] The device displays a list of suggested restaurants to the user. The input is the list of suggestions, and the output is the screen display. Specifically, it parses the received JSON data and displays it in list format on the app screen.
[1530] Step 13:
[1531] The user selects the restaurant they want to go to from the list of suggested restaurants. The input is the user's selection, and the output is the selected restaurant. The specific action is to tap a specific restaurant from the list.
[1532] Step 14:
[1533] The terminal displays a reservation link and detailed information for the selected restaurant. The input is the selected restaurant, and the output is the display of detailed information. Specifically, the terminal displays a detailed information screen for the selected restaurant, including a reservation link.
[1534] Step 15:
[1535] The user clicks on the reservation link as needed to make a restaurant reservation. The input is clicking on the reservation link, and the output is transitioning to the reservation page. Specifically, the browser or built-in browser is opened and transitioning to the reservation page occurs.
[1536] (Application example 1)
[1537] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1538] It is difficult for users to find restaurants that suit their preferences when traveling. Furthermore, it takes time and effort to access detailed information about local restaurants and delivery services. In particular, for users who want to use delivery services, there is a need for a system that automatically suggests their preferred restaurants based on account information from restaurant review sites that they regularly use, and allows them to smoothly place delivery orders.
[1539] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1540] In this invention, the server includes means for inputting account information for a restaurant review site that the user normally uses, means for acquiring favorite restaurant information from the restaurant review site using the user's account information, means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference factors, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference factors, means for suggesting detailed information of the searched restaurants to the user, and means for suggesting information on restaurants that offer delivery to the user and placing a delivery order. This allows the user to easily find restaurants that suit their preferences even when traveling, and further allows them to smoothly receive their meals using a delivery service.
[1541] "User" refers to a person who uses the system.
[1542] "Regularly used restaurant review sites" refers to websites and applications that users use to evaluate and review restaurants that they regularly visit.
[1543] "Account information" refers to authentication information such as a username and password required for a user to log in to a restaurant review site.
[1544] "Favorite store information" refers to information about restaurants that users have marked as favorites on a rating site.
[1545] "Analyzing photos and reviews" refers to analyzing the photos and user reviews of the acquired store information and extracting specific features and patterns.
[1546] "Preference elements" refer to attributes or characteristics (e.g., genre, price range, atmosphere) that a user particularly likes about a restaurant or food.
[1547] "Destination region" refers to a particular geographic area to which a user plans to travel.
[1548] "Budget" refers to the range of amounts that a user plans to spend on food and drink.
[1549] "Genre" refers to the type of restaurant or cuisine (e.g., sushi, Chinese, Italian).
[1550] "Inputting conditions" refers to the user providing the system with specific elements such as the region of the travel destination, budget, genre, etc.
[1551] A "matching restaurant" refers to a restaurant that best matches the input conditions and the user's preferences.
[1552] "Detailed information" refers to information including the restaurant's name, address, photos, reviews, etc.
[1553] "Restaurants offering delivery" refers to restaurants that provide meal delivery services in the area designated by the user.
[1554] "Placing a delivery order" refers to the act of requesting meal delivery through the system.
[1555] To realize this invention, it is necessary to generate a program to acquire and analyze information about favorite restaurants using account information from restaurant review sites that the user regularly uses. This analysis uses image analysis and natural language processing technology to extract the user's preferences and evaluation criteria. Furthermore, assuming that the user will use a delivery service at their travel destination, the program suggests information about local restaurants and provides a means for placing delivery orders.
[1556] Hardware and software used
[1557] To realize this system, the following hardware and software are used:
[1558] Hardware: Smartphone (iOS / Android)
[1559] software
[1560] Python: Used to implement programs on the server side.
[1561] Requests: Used to send API requests.
[1562] BeautifulSoup: Used to realize the scraping technology.
[1563] NLTK: Used to perform natural language processing.
[1564] PIL: Used to perform image analysis.
[1565] Data processing and calculation
[1566] The server uses the account information entered by the user from the restaurant review site to obtain information about the user's favorite restaurants via an API. The obtained information includes photos and reviews of the restaurants. Based on this information, the server performs image analysis and then analyzes the reviews using natural language processing to extract the user's preferred elements.
[1567] Next, the user inputs travel destination area, budget, cuisine type, etc. Based on these conditions and the extracted preferences, the server searches for restaurants in the travel destination area that offer delivery and provides detailed information on suitable restaurants to the user.
[1568] Finally, the system provides a means for users to place delivery orders from the suggested restaurants, allowing users to easily find and order from restaurants that suit their tastes even while traveling.
[1569] Specific examples
[1570] For example, if a user is in Japan, they enter their account information for a restaurant review site they regularly use. The system uses this information to obtain information about their favorite restaurants, and then performs image analysis and natural language processing to extract the user's preferred cuisine and atmosphere. Next, when the user travels to the United States, they enter the region of their destination (e.g., New York), budget (e.g., $30-$50), and cuisine type (e.g., sushi or Chinese). Based on this, the system suggests restaurants that offer delivery in their destination, and the user can select from these to place a delivery order.
[1571] Prompt Sentence Examples
[1572] Enter your account information for a Japanese restaurant rating website, analyze your preferences, and create a profile. Enter your travel destination, budget, and cuisine type to search for restaurants that offer delivery services in your destination, and create an application that will place a delivery order directly from restaurants that match your preferences.
[1573] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1574] Step 1:
[1575] The user enters the account information for the restaurant review site they normally use into the terminal. The entered information includes a username and password. This input information is then sent to the server.
[1576] Step 2:
[1577] The server uses the received account information to access the restaurant rating site. Using API or scraping technology, it obtains information about the user's favorite restaurants. The obtained information includes the restaurant's name, address, photos, reviews, etc. The data is stored on the server in JSON format.
[1578] Step 3:
[1579] The server analyzes the acquired store information. Image analysis and natural language processing technology are used for the analysis. First, image analysis analyzes photos of the store to identify the food genre and atmosphere of the store. Next, natural language processing is used to analyze the reviews and extract the user's preferences and evaluation criteria. The results of these analyses are saved in the user's profile as elements of their preferences.
[1580] Step 4:
[1581] The user inputs the destination area, budget, and desired cuisine type using the terminal, and these conditions are sent to the server in JSON format.
[1582] Step 5:
[1583] The server searches for suitable restaurants in the travel destination area based on the conditions entered by the user and the user's preferences that have been analyzed in advance. It uses the delivery platform's API to obtain information on restaurants that can deliver and match the conditions. The obtained information includes names, addresses, photos, reviews, etc.
[1584] Step 6:
[1585] The server scores the acquired restaurant information and lists the restaurants that best match the user's preferences. This scoring uses an algorithm that compares the user's preferences with the characteristics of the restaurants and calculates the degree of match.
[1586] Step 7:
[1587] The terminal receives the proposed list sent from the server and displays it to the user, who then selects a desired restaurant from the proposed list.
[1588] Step 8:
[1589] Once the user selects the restaurant of their choice, the information is sent to the server, which then displays detailed information about the restaurant and the delivery order procedure on the terminal.
[1590] Step 9:
[1591] The user enters the order details using the terminal and confirms the delivery order. The order details include the food selection, quantity, delivery address, etc. The order details are sent to the server and then sent to the restaurant via the delivery platform's API.
[1592] Step 10:
[1593] The restaurant prepares the food based on the order and delivers it to the specified address, and the user can check the delivery progress in real time using their device.
[1594] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1595] The system of the present invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[1596] Entering user information
[1597] 1. User: Logs in to the device and enters the account information for the restaurant review site that they normally use (for example, restaurant review site A or restaurant review site B).
[1598] 2. Terminal: The account information entered by the user is sent to the server.
[1599] Obtaining favorite store information
[1600] 3. Server: Accesses each restaurant review site and uses API or scraping technology to obtain information on users' favorite restaurants.
[1601] 4. Server: Save the acquired favorite store information in the database.
[1602] Store information analysis
[1603] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[1604] 6. Server: Using image analysis, identify the type of food and the atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[1605] 7. Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[1606] 8. Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[1607] Enter travel destination conditions
[1608] 9. User: Enter travel destination, budget, genre, and other conditions on the device.
[1609] 10. Terminal: Sends the entered conditions to the server.
[1610] Restaurant search and suggestions
[1611] 11. Server: Matches the criteria entered by the user with the profiles stored in the database and searches the restaurant database in the travel destination area.
[1612] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[1613] 12. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[1614] 13. Server: Generates a list of suggested restaurants and sends it to the device.
[1615] 14. Terminal: Displays the received restaurant suggestions to the user.
[1616] User Emotion Recognition
[1617] 15. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[1618] 16. Server: Optimize the restaurant options suggested based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[1619] Restaurant selection and reservation (optional)
[1620] 17. User: Select the restaurant they want to go to from the list of suggested restaurants.
[1621] 18. Terminal: Displays reservation links and detailed information for the selected restaurant.
[1622] 19. User: Clicks on the reservation link to make a restaurant reservation if desired.
[1623] Specific examples
[1624] For example, consider a case where a user living in Tokyo is planning a trip to New York. When the user enters account information for restaurant review site A and restaurant review site B, the system retrieves and analyzes favorite restaurant information from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai," and the user can select from these restaurants and make a reservation if necessary.
[1625] Furthermore, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants that are more relaxing. In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, according to their emotional state.
[1626] The processing flow will be explained below.
[1627] Step 1:
[1628] User: Log in to the device and enter the account information for the restaurant review site that you normally use (for example, restaurant review site A or restaurant review site B).
[1629] Step 2:
[1630] Terminal: Sends the account information entered by the user to the server.
[1631] Step 3:
[1632] Server: Accesses restaurant review site A and restaurant review site B and uses API or scraping technology to obtain information on users' favorite restaurants.
[1633] Step 4:
[1634] Server: Save the acquired favorite store information in the database.
[1635] Step 5:
[1636] Server: Runs image analysis algorithms and natural language processing techniques to analyze stored store photos and reviews.
[1637] Step 6:
[1638] Server: Uses image analysis to identify the type of food and atmosphere of the restaurant (e.g., casual, formal) from photos of the restaurant.
[1639] Step 7:
[1640] Server: Using natural language processing, preferences and evaluation criteria (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen") are extracted from user reviews.
[1641] Step 8:
[1642] Server: Based on the results of the above analysis, the user's preferences are generated as a profile and stored in a database.
[1643] Step 9:
[1644] User: Enter travel destination, budget, genre, and other conditions on the device.
[1645] Step 10:
[1646] Terminal: Sends the entered conditions to the server.
[1647] Step 11:
[1648] Server: Matches the user's input criteria with the profile stored in the database and searches the restaurant database in the travel destination area.
[1649] Condition matching: Matches area, budget, and genre to filter restaurants that match the user's preferences.
[1650] Step 12:
[1651] Server: Compiles details of matching restaurants (such as names, addresses, photos, and reviews).
[1652] Step 13:
[1653] Server: Generates a list of restaurant suggestions and sends it to the device.
[1654] Step 14:
[1655] Terminal: Displays the received restaurant suggestions to the user.
[1656] Step 15:
[1657] Emotion engine: Analyzes the user's facial expressions and voice to determine their emotional state (e.g., happy, sad, surprised).
[1658] Step 16:
[1659] Server: Optimize the suggested restaurant options based on the determined emotional state (e.g., suggest restaurants with a calm atmosphere if the user is tired).
[1660] Step 17:
[1661] User: Select the restaurant they want to go to from the list of suggested restaurants.
[1662] Step 18:
[1663] On your device: View reservation links and details for the selected restaurant.
[1664] Step 19:
[1665] User: Clicks on the reservation link to make a restaurant reservation if desired.
[1666] Example 2
[1667] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1668] In recent years, many people want to easily find restaurants that suit their tastes when traveling. However, collecting restaurant information about a destination and selecting an appropriate restaurant that suits their tastes and mood is a time-consuming and labor-intensive task. Furthermore, it is difficult to provide a highly satisfying service by simply searching a database, as it is difficult to suggest the best restaurant that takes into account the user's current emotional state.
[1669] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes: means for inputting account information of a restaurant review site that the user normally uses; means for acquiring favorite restaurant information from the restaurant review site using the user's account information; means for analyzing photos and reviews of the acquired restaurant information and extracting the user's preference elements; means for inputting conditions such as the region, budget, and genre of the travel destination specified by the user; means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted preference elements; means for suggesting detailed information of the searched restaurants to the user; and means for analyzing the user's facial expression and voice to determine the user's emotional state and optimizing the suggested restaurants based on the emotional state. This enables the user to easily find the best restaurant at their travel destination based on their preferences and current emotional state.
[1670] A "restaurant rating site" is an online platform where users can post ratings and reviews of restaurants and other users can use them as reference.
[1671] "Account information" is authentication data for identifying a user, and mainly includes a user ID and password.
[1672] "Favorite store information" refers to information about stores that a user has bookmarked, rated, or posted a good review on a restaurant rating site.
[1673] "Photographs" refer to image data that visually records the store's exterior, interior, food, etc.
[1674] A "review" is data in which a user posts written impressions and evaluations of a restaurant.
[1675] "Analysis" refers to the process of processing and analyzing acquired data to extract useful information.
[1676] "Preference elements" are factors based on the user's preferences, and include, for example, the type of food, the price range, the atmosphere of the store, and the like.
[1677] "Travel destination area" refers to a destination that the user plans to visit.
[1678] A "budget" is a spending range set by a user.
[1679] "Genre" refers to a category that classifies restaurants and types and styles of cuisine.
[1680] "Conditions" are items that are used as criteria for searches and suggestions specified by the user.
[1681] "Searching" is the process of locating information from a database based on specific criteria.
[1682] "Detailed information" refers to specific information about the business, such as its name, address, photos, and reviews.
[1683] "Suggestion" refers to the act of presenting options to the user based on search results.
[1684] "Facial expressions" refer to facial muscle movements that indicate a user's emotions and reactions.
[1685] "Voice" refers to the voice uttered by the user, and includes words and emotions.
[1686] The "emotional state" indicates the psychological state of the user, and includes, for example, joy, anger, sadness, and the like.
[1687] "Optimize" means to adjust for best results under specific conditions.
[1688] The system of this invention, "Dining Concierge with Emotion Engine," provides a series of processes for users to easily find restaurants that suit their preferences while traveling. The system includes a server, a terminal, and an emotion engine, and collects and analyzes restaurant information based on user input and suggests suitable restaurants. The emotion engine recognizes the user's emotions and optimizes suggestions based on them.
[1689] The user first logs in to the device and enters the account information for the restaurant review site they normally use. The device then sends the account information entered by the user to the server. The server then accesses each restaurant review site and obtains information about the user's favorite restaurants using APIs or scraping technology. This acquisition process uses technologies such as the Python requests library, Beautiful Soup, or Scrapy. The server then stores the obtained favorite restaurant information in a database. The database can be a relational database such as MySQL or PostgreSQL.
[1690] Next, the server runs image analysis algorithms and natural language processing techniques to analyze the photos and reviews of the stored store information. It uses OpenCV for image analysis and the NLTK library for natural language processing. Image analysis identifies the type of cuisine and atmosphere of the restaurant (e.g., casual, formal) from the restaurant's photos. Natural language processing also extracts preferences and evaluation criteria from the user's reviews (e.g., "I like sushi," "I prefer a price range of 3,000 to 5,000 yen"). Based on the results of these analyses, the server creates a profile of the user's preferences and stores it in a database.
[1691] The user then inputs travel destination criteria, such as the region of the destination, budget, and genre, on the device. The device then sends the input criteria to the server. The server matches the user's input criteria with the profiles stored in the database and searches the restaurant database for the destination region. The criteria are filtered based on region, budget, and genre. The server compiles detailed information (name, address, photos, reviews, etc.) of matching restaurants, generates a list of restaurant suggestions, and sends it to the device. The device then displays the received restaurant suggestions to the user.
[1692] Furthermore, the emotion engine uses libraries such as DeepFace (facial recognition) and OpenVINO (voice analysis) to analyze the user's facial expressions and voice to determine their emotional state (e.g., joy, sadness, surprise).The server optimizes the restaurant options it recommends based on the determined emotional state (e.g., if the user is tired, it will suggest restaurants with a calm atmosphere).
[1693] As a concrete example, consider a user living in Tokyo planning a trip to New York. When the user enters account information for a restaurant review site, the system retrieves and analyzes information about favorite restaurants from these sites. As a result of the analysis, preference factors such as "sushi," "casual atmosphere," and "price range: 3,000 to 5,000 yen" are extracted. The user then enters their budget for New York (e.g., $30 to $50) and genre (e.g., sushi, Chinese), and the system searches for matching restaurants in the New York area. The list of suggested restaurants includes, for example, "Kura Sushi NYC" and "Joe's Shanghai." The user can select from these restaurants and make a reservation if necessary.
[1694] In addition, the emotion engine recognizes the user's emotional state (e.g., travel fatigue) and prioritizes suggestions for restaurants where they can relax.
[1695] An example prompt is, "Can you recommend a sushi restaurant in New York? I'm looking for a place with a casual atmosphere and a budget of $30-$50."
[1696] In this way, the "Dining Concierge with Emotion Engine" system helps users have a satisfying dining experience while traveling, tailored to their emotional state.
[1697] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1698] Step 1: User Login
[1699] 1. User: Log in to the device and enter the account information for the restaurant rating site they are using.
[1700] Input: User ID and password.
[1701] Output: Notification that account information has been entered.
[1702] Specific behavior: A user accesses a login form, enters information into each field, and presses the submit button.
[1703] Step 2: Submit your account information
[1704] 2. Terminal: The account information entered by the user is sent to the server.
[1705] Input: User account information.
[1706] Output: Status of data transmission to the server.
[1707] Specific operation: The device generates an HTTP POST request and sends account information to the server.
[1708] Step 3: Get your favorite store information
[1709] 3. Server: Accesses the restaurant rating site and obtains information about the user's favorite restaurants using API or scraping technology.
[1710] Input: User account information.
[1711] Output: The retrieved favorite store information.
[1712] What it does: The server sends a request to the API using Python's requests library, parses the response, and retrieves the necessary data. It also performs scraping using Beautiful Soup or Scrapy, if necessary.
[1713] Step 4: Saving to the Database
[1714] 4. Server: Save the acquired favorite store information in the database.
[1715] Input: Retrieved favorite store information.
[1716] Output: Save complete message.
[1717] What happens: The server establishes a database connection and saves the data using a MySQL or PostgreSQL INSERT statement.
[1718] Step 5: Image and review analysis
[1719] 5. Server: Runs image analysis algorithms and natural language processing techniques to analyze the stored store photos and reviews.
[1720] Input: Saved store information (photos and reviews).
[1721] Output: Analysis results (food genre, restaurant atmosphere, user preference factors).
[1722] What it does: Analyzes photos using OpenCV and extracts rating metrics from reviews using NLTK.
[1723] Step 6: Generate a profile
[1724] 6. Server: Based on the analysis results, the user's preferred elements are generated as a profile and stored in a database.
[1725] Input: Image analysis and natural language processing results.
[1726] Output: User profile creation and saving completion message.
[1727] Specific operation: The analysis results are compiled in JSON format and saved in the database.
[1728] Step 7: Enter your travel destination criteria
[1729] 7. User: Enter travel destination, budget, genre, and other conditions on the device.
[1730] Input: Travel destination, budget, genre, and other criteria.
[1731] Output: Notification that the condition has been entered.
[1732] Specific operation: The user accesses the input form, enters the conditions, and presses the submit button.
[1733] Step 8: Submitting Conditions
[1734] 8. Terminal: Sends the entered conditions to the server.
[1735] Input: Travel destination, budget, genre, and other criteria.
[1736] Output: Status of data transmission to the server.
[1737] Specific operation: The device sends the condition data in JSON format to the server.
[1738] Step 9: Matching criteria and finding restaurants
[1739] 9. Server: Matches the user's input criteria with the profiles stored in the database and searches the restaurant database in the travel destination area.
[1740] Input: Travel destination, budget, genre, and other criteria, as well as user profile.
[1741] Output: A list of matching restaurants.
[1742] Specific behavior: Executes an SQL query to retrieve restaurant information that matches the criteria.
[1743] Step 10: Compile restaurant information
[1744] 10. Server: Compiles details of matching restaurants (name, address, photos, reviews, etc.).
[1745] Input: Matching restaurant data.
[1746] Output: A list of restaurant details.
[1747] Specific operation: The acquired restaurant information is compiled according to a template and prepared to be sent to the user.
[1748] Step 11: Generate and submit a proposal list
[1749] 11. Server: Generates a list of suggested restaurants and sends it to the device.
[1750] Input: A list of matching restaurant details.
[1751] Output: Notification that the proposal list has been sent.
[1752] Specific behavior: Sends the suggestion list in JSON format to the device.
[1753] Step 12: Display to the User
[1754] 12. Terminal: Displays the received restaurant suggestions to the user.
[1755] Input: Suggestion list.
[1756] Output: The list of restaurants displayed to the user.
[1757] Specific Behavior: Display the suggestion list appropriately in the user interface.
[1758] Step 13: Determine your emotional state
[1759] 13. Emotion Engine: Analyzes the user's facial expressions and voice to determine their emotional state.
[1760] Input: User's facial expression data and voice data.
[1761] Output: Emotional state judgment.
[1762] Specific operation: Analyzes facial expressions and voice in real time using DeepFace and OpenVINO.
[1763] Step 14: Optimize your offers
[1764] 14. Server: Optimize restaurant recommendations based on the determined emotional state.
[1765] Input: Emotional state judgment result and suggestion list.
[1766] Output: An optimized proposal list.
[1767] What it does: It reprioritizes the restaurant list based on the analysis results and presents optimized suggestions to the user.
[1768] Step 15: Restaurant Selection
[1769] 15. User: Select the restaurant they want to go to from the list of suggested restaurants.
[1770] Input: Suggestion list.
[1771] Output: Selected restaurant information.
[1772] Specific behavior: The user selects from the list and presses the select button.
[1773] Step 16: Viewing detailed information
[1774] 16. Terminal: Displays reservation links and detailed information for the selected restaurant.
[1775] Input: Selected restaurant information.
[1776] Output: Show detailed information.
[1777] Specific behavior: Displays the selected restaurant information on the details screen and provides a reservation link.
[1778] Step 17: Making a reservation
[1779] 17. User: Clicks on the reservation link to make a restaurant reservation if desired.
[1780] Input: Click on booking link.
[1781] Output: Restaurant reservation completion notification.
[1782] Specific behavior: The user is redirected to an external booking site and completes the booking process.
[1783] (Application example 2)
[1784] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1785] Conventional restaurant search systems are unable to consider the user's emotional state or detailed preferences, making it difficult for users to find satisfying dining options during their travels. Furthermore, depending on the device used, the information displayed may be insufficient, resulting in poor user convenience. Furthermore, it is particularly difficult for users to find a restaurant that best suits their emotional state in real time.
[1786] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1787] In this invention, the server includes means for inputting user information from a restaurant review site that the user regularly uses, means for acquiring favorable restaurant information from the restaurant review site using the user information, means for analyzing images and reviews of the acquired restaurant information and extracting elements of the user's preferences, means for inputting conditions of the region, budget, and genre of the travel destination specified by the user, means for searching for suitable restaurants in the travel destination region based on the input conditions and the extracted elements of preference, means for recognizing the user's emotions using an emotion analysis engine, means for optimizing restaurant options to be suggested based on the recognized emotions, and means for displaying information about the suggested restaurants on the user's display device using augmented reality technology. This makes it possible to suggest optimal restaurants based on the user's emotional state and preferences, and furthermore, by using augmented reality technology, the user can obtain restaurant information in a form that is visually easy to understand.
[1788] "User information" refers to information related to the account of the restaurant review site that the user normally uses.
[1789] "Favourable store information" is information about stores that are considered to be particularly preferred by the user, obtained from a restaurant evaluation site.
[1790] "Video" refers to visual data such as photos and videos of restaurant interiors and food.
[1791] A "review" is text data that includes ratings and comments made by users about restaurants.
[1792] "Preference elements" refers to data extracted from characteristics such as the type of cuisine a user particularly likes, the atmosphere of the restaurant, and the price range.
[1793] "Conditions" refer to specific requests such as the user's desired travel destination area, budget, cuisine type, etc.
[1794] An "emotion analysis engine" is a system that analyzes a user's facial expressions and voice to recognize their emotional state at that time.
[1795] "Augmented reality technology" is a technology that displays digital information overlaid on real-world images.
[1796] A "display device" is an electronic device used by a user to view visual information, such as a smartphone or smart glasses.
[1797] The present invention provides a system that allows users to easily find restaurants that suit their preferences while traveling. To achieve this, the system includes a server, a terminal, and a sentiment analysis engine. Users enter account information for a restaurant review site they regularly use into the terminal, and the server uses that information to obtain favorable restaurant information from the restaurant review site. The obtained restaurant information is saved as video and reviews.
[1798] The server analyzes the video and reviews, and uses image analysis and natural language processing to extract elements of the user's preferences. These preferences are stored in a database as a user profile based on data such as the type of food, the atmosphere of the restaurant, and the price range.
[1799] Next, the user inputs the travel destination area, budget, and genre into the terminal. The server compares these conditions with the extracted preference elements and searches for suitable restaurants in the travel destination area. Here, an emotion analysis engine analyzes the user's facial expressions and voice to recognize their emotional state. Based on the recognized emotional state, the server optimizes the restaurant options to suggest. For example, if the user is tired, restaurants with a more relaxing atmosphere will be prioritized.
[1800] The server then uses augmented reality technology to display information about the suggested restaurants on the user's display device, such as a smartphone or smart glasses, allowing the user to visually check the exterior and interior of the suggested restaurants.
[1801] As a concrete example, suppose a user inputs their account information for a review site, and information about casual Japanese restaurants they frequently visit in Tokyo is extracted. When the user travels to New York, the server searches for Japanese restaurants in New York. If the server detects that the user is tired, it can use AR technology to display Japanese restaurants with a quiet atmosphere on the user's smart glasses.
[1802] An example prompt sentence could be fed to a generative AI model as follows:
[1803] "The user is looking for a Japanese restaurant in New York with a relaxed atmosphere. The emotion recognition result is 'tired.' Please suggest five restaurant options."
[1804] In this way, the system of the present invention suggests optimal restaurants based on the user's emotional state and preferences, and by using augmented reality technology, provides the user with information in a form that is visually easy to understand.
[1805] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1806] Step 1:
[1807] The user enters the account information of the restaurant review site they normally use into the device. The entered information becomes the initial data for analyzing the user's restaurant preferences.
[1808] Step 2:
[1809] The terminal transmits the user's account information to the server. After transmitting the data, the server accesses each restaurant review site based on the received account information and transmits a request to acquire information about the restaurant that the user likes.
[1810] Step 3:
[1811] The server retrieves favorable restaurant information from restaurant review sites. The retrieved data consists of photos and reviews. The server stores this data in a database. This process yields a data set for analyzing user preferences.
[1812] Step 4:
[1813] The server analyzes the photos and reviews of the restaurant information stored in the database using image analysis and natural language processing technology. Image analysis technology is used to identify the restaurant's atmosphere and food genre from the photos, and natural language processing is used to extract user preferences and evaluation criteria from the reviews.
[1814] Step 5:
[1815] The server then creates a profile of the user's preferences based on the analysis results and stores it in a database, which allows the server to understand the user's preferences and use them to make subsequent restaurant recommendations.
[1816] Step 6:
[1817] The user inputs the travel destination area, budget, and genre into the terminal, which acts as a filter to suggest the best restaurants for the travel destination.
[1818] Step 7:
[1819] The terminal sends these travel destination conditions to the server, which receives the conditions and compares them with the user profile stored in the database, thereby searching for suitable restaurants in the travel destination area.
[1820] Step 8:
[1821] The server uses an emotion analysis engine to analyze the user's facial expressions and voice to recognize their emotional state. Based on the results of this analysis, the server optimizes the restaurant recommendations. For example, if the user is tired, restaurants with a relaxing atmosphere will be prioritized.
[1822] Step 9:
[1823] The server retrieves the details of the matching restaurants and displays them on the user's display device (smartphone or smart glasses) using augmented reality technology, allowing the user to visually check the restaurant's exterior and interior.
[1824] Step 10:
[1825] The user can check the displayed restaurant information and select the restaurant they want to go to. The server provides the reservation link and detailed information of the selected restaurant, allowing the user to make a reservation as needed.
[1826] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1827] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1828] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1829] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1830] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1831] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1832] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1833] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1834] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1835] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1836] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1837] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1838] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1839] 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.
[1840] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1841] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1842] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1843] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1844] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1845] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1846] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1847] The following is further disclosed regarding the above embodiment.
[1848] (Claim 1)
[1849] A means for inputting account information for a restaurant rating site that the user normally uses;
[1850] A means for acquiring favorite store information from a restaurant rating site using user account information;
[1851] A means for analyzing the acquired store information photos and reviews and extracting elements of the user's preferences;
[1852] A means for inputting conditions such as the region, budget, and genre of a travel destination designated by a user;
[1853] A means for searching for suitable restaurants in the travel destination area based on the input conditions and the extracted preference factors;
[1854] A means for suggesting detailed information about the searched restaurant to the user;
[1855] A system including:
[1856] (Claim 2)
[1857] 2. The system according to claim 1, further comprising means for storing the store information acquired from the restaurant rating site in a database.
[1858] (Claim 3)
[1859] 2. The system according to claim 1, wherein image analysis and natural language processing are used to analyze the acquired store information.
[1860] "Example 1"
[1861] (Claim 1)
[1862] A means for users to input account information for the evaluation site they normally use;
[1863] A means for acquiring favorite store information from a rating site using user account information;
[1864] A means for analyzing the acquired store information photos and reviews and extracting elements of the user's preferences;
[1865] A means for inputting conditions such as the region, budget, and genre of a travel destination designated by a user;
[1866] A means for searching for suitable stores in the travel destination area based on the input conditions and extracted preference factors;
[1867] means for suggesting detailed information of the searched store to the user;
[1868] A means for the user to select a suggested store and make a reservation if necessary;
[1869] A system including:
[1870] (Claim 2)
[1871] 2. The system according to claim 1, further comprising means for storing the store information obtained from the review site in a database.
[1872] (Claim 3)
[1873] 2. The system according to claim 1, wherein image analysis and natural language processing are used to analyze the acquired store information.
[1874] "Application Example 1"
[1875] (Claim 1)
[1876] A means for inputting account information for a restaurant rating site that the user normally uses;
[1877] A means for acquiring favorite store information from a restaurant rating site using user account information;
[1878] A means for analyzing the acquired store information photos and reviews and extracting elements of the user's preferences;
[1879] A means for inputting conditions such as the region, budget, and genre of a travel destination designated by a user;
[1880] A means for searching for suitable restaurants in the travel destination area based on the input conditions and the extracted preference factors;
[1881] A means for suggesting detailed information about the searched restaurant to the user;
[1882] A means for suggesting restaurant information that can deliver to a user and placing a delivery order;
[1883] A system including:
[1884] (Claim 2)
[1885] 2. The system according to claim 1, further comprising means for storing the store information acquired from the restaurant rating site in a database.
[1886] (Claim 3)
[1887] 2. The system according to claim 1, wherein image analysis and natural language processing are used to analyze the acquired store information.
[1888] "Example 2: Combining Emotion Engines"
[1889] (Claim 1)
[1890] A means for inputting account information for a restaurant rating site that the user normally uses;
[1891] A means for acquiring favorite store information from a restaurant rating site using user account information;
[1892] A means for analyzing the acquired store information photos and reviews and extracting elements of the user's preferences;
[1893] A means for inputting conditions such as the region, budget, and genre of a travel destination designated by a user;
[1894] A means for searching for suitable restaurants in the travel destination area based on the input conditions and the extracted preference factors;
[1895] A means for suggesting detailed information about the searched restaurant to the user;
[1896] A means for analyzing a user's facial expressions and voice to determine the user's emotional state and optimizing the restaurants to be recommended based on the user's emotional state;
[1897] A system including:
[1898] (Claim 2)
[1899] 2. The system according to claim 1, further comprising means for storing the store information acquired from the restaurant rating site in a database.
[1900] (Claim 3)
[1901] 2. The system according to claim 1, wherein image analysis and natural language processing are used to analyze the acquired store information.
[1902] "Application example 2 when combining emotion engines"
[1903] (Claim 1)
[1904] A means for inputting user information of a restaurant evaluation site that the user normally uses;
[1905] A means for acquiring favorable store information from a restaurant evaluation site using user information of the user;
[1906] A means for analyzing the acquired store information video and reviews and extracting elements of user preferences;
[1907] A means for inputting conditions such as the region, budget, and genre of a travel destination designated by a user;
[1908] A means for searching for suitable restaurants in the travel destination area based on the input conditions and the extracted preference elements;
[1909] means for recognizing a user's emotion using a sentiment analysis engine;
[1910] A means for optimizing restaurant choice suggestions based on perceived emotions; and
[1911] a means for displaying the suggested restaurant information on a user's display device using augmented reality technology;
[1912] A system including:
[1913] (Claim 2)
[1914] 2. The system according to claim 1, further comprising means for storing the store information acquired from the restaurant rating site in a database.
[1915] (Claim 3)
[1916] 2. The system according to claim 1, wherein image analysis and natural language processing are used to analyze the acquired store information.
[1917] (Claim 4)
[1918] 10. The system of claim 1, further comprising an emotion analysis engine that recognizes emotions by analyzing a user's facial expressions and voice.
[1919] (Claim 5)
[1920] The system according to claim 1, further comprising a means for creating conditions for suggesting restaurants that suit the user's preferences using a generative AI model. [Explanation of symbols]
[1921] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for inputting account information for a restaurant rating site that the user normally uses; A means for acquiring favorite store information from a restaurant rating site using user account information; A means for analyzing the acquired store information photos and reviews and extracting elements of the user's preferences; A means for inputting conditions such as the region, budget, and genre of a travel destination designated by a user; A means for searching for suitable restaurants in the travel destination area based on the input conditions and the extracted preference factors; A means for suggesting detailed information about the searched restaurant to the user; A system including:
2. The system according to claim 1, further comprising means for storing the restaurant information acquired from the restaurant rating site in a database.
3. The system according to claim 1, wherein image analysis and natural language processing are used to analyze the acquired store information.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A