System

A system that collects user preferences, generates database queries, evaluates and ranks restaurant information, and updates its recommendation algorithm based on feedback addresses the challenge of finding optimal restaurants while traveling, enhancing the dining experience by improving recommendation accuracy.

JP2026030529APending Publication Date: 2026-02-20SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024133512
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-08
Publication Date
2026-02-20

AI Technical Summary

Technical Problem

Users face challenges in finding optimal restaurants while traveling due to reliance on subjective opinions and limited information, which often results in disappointing choices, and existing systems fail to accurately reflect local tourist information and restaurant ratings, leading to a poor travel experience.

Method used

A system that receives restaurant-related criteria from users, generates a database query, retrieves and evaluates restaurant information, ranks results, presents them to users, collects feedback, and updates a recommendation algorithm based on this feedback to improve accuracy.

Benefits of technology

Enables users to efficiently find restaurants that best suit their preferences, reducing stress and improving the accuracy of recommendations over time through user feedback integration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026030529000001_ABST
    Figure 2026030529000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for receiving a condition related to a restaurant from a user; means for generating a database query based on the condition; means for obtaining restaurant information based on the query; means for evaluating and ranking the obtained restaurant information; means for presenting the evaluation result to the user; means for collecting feedback from the user; and means for updating a recommendation algorithm based on the feedback.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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 choosing a restaurant while traveling, users tend to rely on their own subjective opinions and limited information, which often results in disappointing choices. Furthermore, it is difficult to properly reflect local tourist information and restaurant ratings, which can result in a poor travel experience. To solve these problems, a system is needed that can recommend optimal restaurants based on user preferences and accurate local information. [Means for solving the problem]

[0005] The present invention relates to a system for supporting restaurant selection, and includes the following means: means for receiving restaurant-related criteria from a user, means for generating a database query based on the criteria, means for retrieving restaurant information based on the query, means for evaluating and ranking the retrieved restaurant information, means for presenting the evaluation results to the user, means for collecting feedback from the user, and means for updating a recommendation algorithm based on the feedback. This configuration enables users to efficiently find restaurants that best suit their preferences, reducing the stress of choosing a meal while traveling.

[0006] A "user" is an individual who uses this system to receive restaurant recommendations.

[0007] "Conditions" refer to the characteristics and attributes of the restaurant desired by the user (for example, genre, price range, rating, location, etc.).

[0008] A "database query" is a query command to a database to extract restaurant information based on the user's criteria.

[0009] "Restaurant information" is detailed data about each restaurant (e.g., name, rating, price, location, reviews, etc.).

[0010] "Evaluation" is a process of determining how well a restaurant meets the user's requirements based on the acquired restaurant information.

[0011] "Ranking" refers to arranging restaurants in order of priority based on the evaluation results.

[0012] "Presenting" refers to displaying the evaluation and ranking results to the user in an easy-to-read format.

[0013] "Feedback" refers to information such as opinions, impressions, and evaluations provided by users after using the service.

[0014] A "recommendation algorithm" is a calculation method for selecting the most suitable restaurant based on the user's criteria and feedback. [Brief explanation of the drawings]

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

[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0017] First, the terms used in the following description will be explained.

[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

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

[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0023] [First embodiment]

[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

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

[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0036] The present invention is a system for allowing users to search for the best restaurant at their travel destination, and is implemented through the following steps.

[0037] The system includes a terminal used by the user, a server that performs processing, and an algorithm that recommends the best restaurants based on the information provided by the user.

[0038] Condition input from the user

[0039] Users start the application on their smartphone or PC and input restaurant-related criteria (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating of 4 or higher, within a 15-minute walk from a tourist spot."

[0040] Submitting a Request

[0041] The terminal converts the conditions entered by the user into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[0042] Generating and Executing Database Queries

[0043] The server generates an SQL query based on the received criteria and retrieves relevant restaurant information from the database, including criteria such as genre, price, rating, and location.

[0044] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple," the server will extract information about restaurants that meet these criteria from the database.

[0045] Restaurant information rating and ranking

[0046] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is based on how well it matches the user's criteria. The higher the evaluation, the closer the restaurant is to the user's preferences.

[0047] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[0048] Presentation of recommendation results

[0049] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and locations) on the user interface.

[0050] Gathering feedback and updating the algorithm

[0051] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0052] The device converts user feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0053] Through this series of processes, the system can efficiently recommend optimal restaurants based on user preferences and local information, allowing travelers to enjoy a high-quality dining experience.

[0054] The processing flow will be explained below.

[0055] Step 1:

[0056] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[0057] Step 2:

[0058] The terminal converts the user's input conditions into JSON format.

[0059] Step 3:

[0060] The terminal sends the converted JSON data to the server as an HTTP POST request.

[0061] Step 4:

[0062] The server receives the HTTP request and parses the JSON data.

[0063] Step 5:

[0064] The server generates a database query based on the parsed conditions.

[0065] Step 6:

[0066] The server executes the generated query and retrieves the relevant restaurant information from the database.

[0067] Step 7:

[0068] The restaurant information acquired by the server is input into a recommendation algorithm and evaluated.

[0069] Step 8:

[0070] The server ranks the restaurants based on the evaluation results.

[0071] Step 9:

[0072] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[0073] Step 10:

[0074] The device parses the JSON data received from the server.

[0075] Step 11:

[0076] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[0077] Step 12:

[0078] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[0079] Step 13:

[0080] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[0081] Step 14:

[0082] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[0083] Step 15:

[0084] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[0085] Step 16:

[0086] The server receives the feedback and stores it in a database.

[0087] Step 17:

[0088] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0089] Example 1

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

[0091] Conventional systems rely on simple data filtering when users search for the best restaurant at their travel destination, making it difficult to provide optimal restaurants that are tailored to the user's detailed preferences and current situation. Furthermore, they lack a mechanism for efficiently collecting user feedback and using it to improve the system's recommendation accuracy. This makes it difficult to provide travelers with a satisfying dining experience.

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

[0093] In this invention, the server includes means for receiving restaurant-related conditions from a user, means for converting the conditions into JSON format and sending the JSON format to the server, means for generating a database query based on the JSON format conditions, means for acquiring restaurant information based on the query, means for inputting the acquired restaurant information into a recommendation algorithm and rating and ranking it, means for generating the rating results in JSON format and sending them to a terminal, means for displaying the rating results on a user interface by the terminal, means for collecting feedback from the user, means for converting the feedback into JSON format and sending it to the server, and means for updating the recommendation algorithm based on the feedback. This makes it possible to efficiently recommend optimal restaurants that are suited to the user's detailed preferences and current situation, and to further improve accuracy based on the feedback.

[0094] "Conditions regarding restaurants from the user" refers to selection criteria such as the genre, price range, rating, location, etc. of the restaurant entered by the user.

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

[0096] "Server" refers to a computer system that receives requests over a network and provides the necessary data processing or services.

[0097] "Database query" refers to a statement used to retrieve specific information from a database.

[0098] "Recommendation algorithm" refers to the calculation procedure for selecting the most suitable restaurant based on the user's criteria and then rating and ranking the results.

[0099] "Evaluation and ranking" refers to scoring the acquired restaurant information based on the user's criteria and determining the priority according to the score.

[0100] A "terminal" is a device on which a user runs an application, such as a smartphone or PC.

[0101] "User interface" refers to the screens and input forms that users use on their devices.

[0102] "Feedback" refers to the opinions and impressions provided by users after using a restaurant.

[0103] A "big data analytics engine" refers to a software tool for analyzing large amounts of data and extracting useful information.

[0104] The present invention is a system for users to search for the best restaurant at their travel destination, and is realized through cooperation between users, terminals, and servers.

[0105] Hardware and software used

[0106] The system uses the following hardware and software:

[0107] User device: smartphone or PC

[0108] server

[0109] Database: A database (e.g., MySQL) for storing restaurant information

[0110] Recommendation Algorithm

[0111] User Interface: Application or Web Browser

[0112] Specific operation of the system

[0113] Condition input from the user

[0114] Users launch the application using a smartphone or PC and enter criteria for restaurants (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating 4 or higher, within a 15-minute walk from a tourist spot." Based on this information, the process of searching for the most suitable restaurant begins.

[0115] Submitting a Request

[0116] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP request, generating the following JSON data:

[0117] json

[0118] {

[0119] "Genre": "Japanese cuisine",

[0120] "Price range": "Under 3000 yen",

[0121] "Rating": "4 or above",

[0122] "Location": "Within 15 minutes' walk from tourist attractions"

[0123] }

[0124] Generating and Executing Database Queries

[0125] The server parses the received JSON data and generates a SQL query based on the conditions, for example, the following SQL query:

[0126] sql

[0127] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[0128] The generated SQL query is executed to retrieve the relevant restaurant information from the database.

[0129] Restaurant information rating and ranking

[0130] The server inputs the acquired restaurant information into a recommendation algorithm. This recommendation algorithm evaluates and scores each restaurant based on how well it meets the user's criteria. Based on the evaluation results, restaurants are ranked and an optimal restaurant list is generated.

[0131] Presentation of recommendation results

[0132] The server generates a list of the best restaurants in JSON format and sends it to the device. For example, it generates the following JSON data:

[0133] json

[0134] {

[0135] "restaurants": [

[0136] {

[0137] "Name": "Store A",

[0138] "Rating": 4.8,

[0139] "Price range": "Under 3000 yen",

[0140] "Location": "10 minutes walk from the tourist spot"

[0141] },

[0142] {

[0143] "Name": "Store B",

[0144] "Rating": 4.5,

[0145] "Price range": "Under 2500 yen",

[0146] "Location": "12 minutes walk from the tourist spot"

[0147] }

[0148] ]

[0149] }

[0150] The device analyzes the received JSON data and displays detailed information about the restaurant on the screen.

[0151] Gathering feedback and updating the algorithm

[0152] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts the user's feedback into JSON format and sends it to the server. The server stores the received feedback in a database and retrains the recommendation algorithm based on the collected feedback to improve accuracy.

[0153] Examples and prompts

[0154] For example, if a user specifies the following criteria: "Italian food, under 5,000 yen, rating 4.5 or higher, within a 10-minute walk from Shinjuku Station," the device will input the following prompt sentence into the generative AI model:

[0155] "Find restaurants serving Italian food, priced under 5,000 yen, with a rating of 4.5 or higher, and within a 10-minute walk from Shinjuku Station."

[0156] Based on this prompt, the system generates a list of the most suitable restaurants and presents the results to the user.

[0157] This invention aims to recommend the most suitable restaurants based on the user's detailed preferences and local conditions, and is designed to enable more accurate recommendations by improving the recommendation algorithm based on feedback.

[0158] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0159] Step 1: User launches application and enters criteria

[0160] The user starts up their smartphone or PC and enters their restaurant search criteria into the application's input form. For example, they might enter criteria such as "Japanese food, under 3,000 yen, a rating of 4 or higher, and within a 15-minute walk from a tourist spot." This registers the user's desired restaurant search criteria as specific data on the device.

[0161] input:

[0162] User's restaurant-related conditions (genre, price range, rating, location, etc.)

[0163] output:

[0164] Specific data for user conditions

[0165] Step 2: The device generates and sends a request

[0166] The terminal receives the conditions entered by the user and converts them into JSON format. For example, it generates the following JSON data:

[0167] json

[0168] {

[0169] "Genre": "Japanese cuisine",

[0170] "Price range": "Under 3000 yen",

[0171] "Rating": "4 or above",

[0172] "Location": "Within 15 minutes' walk from tourist attractions"

[0173] }

[0174] The generated JSON data is sent to the server as an HTTP request, which starts processing on the server side.

[0175] input:

[0176] Specific data for user conditions

[0177] output:

[0178] JSON format data

[0179] sent as an HTTP request to the server

[0180] Step 3: The server generates and executes the database query

[0181] The server parses the received JSON data and generates a SQL query based on the conditions. For example, the SQL query corresponding to the above conditions would be:

[0182] sql

[0183] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[0184] The server executes the generated SQL query and retrieves the relevant restaurant information from the database.

[0185] input:

[0186] Condition data in JSON format

[0187] output:

[0188] SQL Query

[0189] Restaurant information from the database

[0190] Step 4: The server rates and ranks the restaurant information

[0191] The server inputs the restaurant information retrieved from the database into a recommendation algorithm. This recommendation algorithm calculates a score based on the user's criteria and the restaurant information. As a result, each restaurant is evaluated and ranked in descending order of score to generate an optimal restaurant list.

[0192] input:

[0193] Restaurant information from the database

[0194] output:

[0195] Evaluation results

[0196] Best restaurant list (ranked)

[0197] Step 5: The server generates and sends the recommendations

[0198] The server converts the rated and ranked restaurant list into JSON format and sends it to the device. For example, the following JSON data is generated:

[0199] json

[0200] {

[0201] "restaurants": [

[0202] {

[0203] "Name": "Store A",

[0204] "Rating": 4.8,

[0205] "Price range": "Under 3000 yen",

[0206] "Location": "10 minutes walk from the tourist spot"

[0207] },

[0208] {

[0209] "Name": "Store B",

[0210] "Rating": 4.5,

[0211] "Price range": "Under 2500 yen",

[0212] "Location": "12 minutes walk from the tourist spot"

[0213] }

[0214] ]

[0215] }

[0216] This allows it to be displayed on the device.

[0217] input:

[0218] Best restaurant list

[0219] output:

[0220] Optimal restaurant list in JSON format

[0221] Send to the terminal as an HTTP response

[0222] Step 6: Your device will display the recommendations

[0223] The device analyzes the received JSON data and displays detailed restaurant information (such as name, rating, price range, and location information) on the user interface. For example, the screen might display "Store A: rating 4.8, price range under 3,000 yen, 10-minute walk" and "Store B: rating 4.5, price range under 2,500 yen, 12-minute walk." This allows the user to select specific options.

[0224] input:

[0225] Optimal restaurant list in JSON format

[0226] output:

[0227] Displaying recommendation results on the user interface

[0228] Step 7: User Provides Feedback

[0229] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0230] input:

[0231] User opinions and impressions after eating

[0232] output:

[0233] Feedback Data

[0234] Step 8: Device sends feedback

[0235] The device converts the feedback entered by the user into JSON format and sends it to the server. For example, it generates the following JSON data:

[0236] json

[0237] {

[0238] "Feedback": "The food at Restaurant A was delicious. I'd like to try Chinese food next time."

[0239] }

[0240] This data is sent to the server as an HTTP request.

[0241] input:

[0242] Feedback Data

[0243] output:

[0244] Feedback data in JSON format

[0245] sent as an HTTP request to the server

[0246] Step 9: The server receives the feedback and updates the algorithm

[0247] The server stores the received feedback in a database. The recommendation algorithm is periodically retrained based on the collected feedback to improve its accuracy. This improves the accuracy of restaurant recommendations from the next time onwards.

[0248] input:

[0249] Feedback data in JSON format

[0250] output:

[0251] Updated recommendation algorithm

[0252] Feedback Database

[0253] (Application example 1)

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

[0255] When traveling or in a new location, it is difficult for users to quickly and efficiently find food delivery services that meet their desired criteria. Conventional systems require users to spend a lot of time manually searching for restaurants and checking whether they meet their criteria. Furthermore, it is difficult to fully utilize user feedback to improve the recommendation algorithm, resulting in a lack of accuracy in future recommendations.

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

[0257] In this invention, the server includes a means for receiving restaurant-related conditions from a user, a means for generating a database query based on the conditions, and a means for retrieving restaurant information based on the query. This allows the user to complete an order with a system providing food delivery services after entering the conditions. The system also includes a means for evaluating and ranking the retrieved restaurant information, a means for presenting the evaluation results to the user, a means for collecting user feedback, and a means for updating the recommendation algorithm based on the feedback, making it possible to utilize user feedback to improve recommendation accuracy in the future.

[0258] The "means for receiving restaurant-related conditions from the user" is a system function that allows the user to input conditions such as the genre, price range, rating, and delivery area of ​​the restaurant they desire.

[0259] The "means for generating a database query" is a system function that automatically creates a query required to search for restaurant information based on conditions entered by the user.

[0260] The "means for obtaining restaurant information" is a system function that executes the generated database query and retrieves information about the relevant restaurant from the database.

[0261] The "means for evaluating and ranking acquired restaurant information" is a function of the system that analyzes the acquired restaurant information, evaluates and ranks each restaurant based on how well it meets the user's conditions.

[0262] The "means for presenting evaluation results to the user" is a system function that displays information about the evaluated restaurant on the user interface and suggests it to the user.

[0263] The "means for collecting feedback from users" is a function that allows users to input their experiences and opinions after actually using a restaurant and send them to the system.

[0264] "Means for updating the recommendation algorithm based on feedback" refers to the system's ability to use collected user feedback to retrain the recommendation algorithm to improve its accuracy.

[0265] "Means for a user to complete an order to a system that provides food delivery services after inputting conditions" refers to a system function that allows a user to select from recommended restaurants, place an order with the food delivery service, and complete the ordering process.

[0266] The present invention provides a system for users to search for the best restaurant, and will be described in detail below with reference to an embodiment that is specifically designed for a food delivery service. The system is implemented through the following steps: a server, a user terminal, and a recommendation algorithm.

[0267] System program configuration

[0268] 1. Condition input from user:

[0269] The user uses the device to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user might specify criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." The device then converts these criteria into JSON format and sends it to the server.

[0270] 2. Request processing on the server:

[0271] The server analyzes the conditions received from the device and automatically generates a corresponding SQL query. The query includes the genre, price range, rating, delivery area, and other information specified by the user. Based on the generated query, the server retrieves relevant restaurant information from the database. The server uses AWS (Amazon Web Services) and PostgreSQL for database management.

[0272] 3. Restaurant information rating and ranking:

[0273] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is calculated based on how well the restaurant matches the user's input criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Restaurants are ranked based on the evaluation results, and an optimal restaurant list is generated.

[0274] 4. Presenting the recommendation results:

[0275] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and location information) on the user interface. The user selects the restaurant they want from the list and completes their order with the food delivery service.

[0276] 5. Gathering feedback and updating the algorithm:

[0277] After the user receives the ordered meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts this feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0278] Specific examples

[0279] If a user wants to order Japanese food in their current location, they can input their requirements into the system using the following prompt sentence:

[0280] "I'm looking for Japanese food. My budget is under 3000 yen, and the place has a rating of 4 or higher. Can you tell me a restaurant within 15 minutes of my current location?"

[0281] This system allows users to easily select the food delivery service that best suits their needs and enjoy a high-quality dining experience.

[0282] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0283] Step 1:

[0284] The user uses a device (such as a smartphone) to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user can set criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." This input data is converted to JSON format on the device. Input: Criteria entered by the user. Output: JSON format data.

[0285] Step 2:

[0286] The terminal converts the user's conditions into JSON format and sends them to the server as an HTTP request. The server analyzes the received request and extracts the necessary information. Input: JSON format request. Output: Analyzed condition data.

[0287] Step 3:

[0288] The server automatically generates a corresponding SQL query based on the conditions entered by the user. The query includes the genre, price range, rating, delivery area, etc. specified by the user. The generated SQL query is used to retrieve the relevant restaurant information from the database. Input: Parsed condition data. Output: SQL query.

[0289] Step 4:

[0290] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved restaurant information includes the name, rating, price range, location, etc. Input: SQL query. Output: Restaurant information data.

[0291] Step 5:

[0292] The server inputs the acquired restaurant information into a recommendation algorithm and rates each restaurant. The rating is calculated based on how well the restaurant matches the user's criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Input: Restaurant information data. Output: Restaurant list with ratings.

[0293] Step 6:

[0294] The server ranks restaurants based on the rating results and generates a list of optimal restaurants. This list is generated in JSON format and sent to the terminal. Input: List of restaurants with ratings. Output: List of optimal restaurants in JSON format.

[0295] Step 7:

[0296] The device analyzes the received list of optimal restaurants and displays it on the user interface. The user can then select the restaurant of their choice and complete the order with the food delivery service. Input: A list of optimal restaurants in JSON format. Output: Recommendation results displayed on the user interface.

[0297] Step 8:

[0298] After the user receives the ordered meal, the terminal displays a feedback form and allows the user to enter their opinions and impressions. For example, the user can enter feedback such as "The food was delicious. I'd like to try Chinese food next time." Input: User feedback. Output: Feedback data in JSON format.

[0299] Step 9:

[0300] The device converts the user's feedback into JSON format and sends it to the server. The server parses the received feedback and stores it in a database. Input: Feedback data in JSON format. Output: Parsed feedback data.

[0301] Step 10:

[0302] The server periodically retrains the recommendation algorithm based on the collected feedback, improving its accuracy. This improves the accuracy of future recommendations. Input: Parsed feedback data. Output: Updated recommendation algorithm.

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

[0304] The present invention is a system for users to search for the best restaurants at their travel destinations, and by combining it with an emotion engine, it is possible to make recommendations that take into account the user's emotional state. This system is implemented through the following steps.

[0305] This system includes a device used by the user, a server that performs processing, an emotion engine that acquires and analyzes information from the user, and an algorithm that recommends the most suitable restaurant based on the user's conditions and emotional state.

[0306] Condition input from the user and emotion recognition

[0307] Users launch the app on their smartphone or PC and enter restaurant search criteria (such as genre, price range, rating, and location). At this time, the emotion engine analyzes the user's facial expression, tone of voice, and text input to recognize the user's emotional state. For example, if the engine recognizes that the user is "a little tired," that information is added to the search criteria.

[0308] Submitting a Request

[0309] The device converts the conditions entered by the user and the emotional information recognized by the emotion engine into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[0310] Generating and Executing Database Queries

[0311] The server generates an SQL query based on the received conditions and emotion information, and retrieves the corresponding restaurant information from the database, including genre, price, rating, location, and correction conditions based on the emotional state.

[0312] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple" and the emotion engine recognizes "fatigue," the server will extract information from the database about restaurants that fit this criteria but also offer a more relaxing environment.

[0313] Restaurant information rating and ranking

[0314] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it. The evaluation is based on how well it matches the user's criteria and emotional state. The higher the evaluation, the closer the restaurant is to the user's preferences.

[0315] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[0316] Presentation of recommendation results

[0317] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response. The terminal analyzes the received results and presents detailed information about the restaurants (such as names, ratings, price ranges, and location information) to the user on the user interface.

[0318] Gathering feedback and updating the algorithm

[0319] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0320] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve recommendation accuracy.

[0321] This series of processes allows us to efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling the user to enjoy a high-quality dining experience while traveling.

[0322] The processing flow will be explained below.

[0323] Step 1:

[0324] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[0325] Step 2:

[0326] The emotion engine uses the user's facial recognition camera and microphone to analyze facial expressions and tone of voice, for example, to determine whether the user is smiling or tired.

[0327] Step 3:

[0328] The device converts the user's input conditions and the emotional state information analyzed by the emotion engine into JSON format.

[0329] Step 4:

[0330] The device sends the converted JSON data to the server as an HTTP POST request.

[0331] Step 5:

[0332] The server receives the HTTP request and parses the JSON data.

[0333] Step 6:

[0334] The server generates a database query based on the analyzed conditions and emotional information. For example, it generates a query with the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple, relaxing environment."

[0335] Step 7:

[0336] The server executes the generated query and retrieves the relevant restaurant information from the database.

[0337] Step 8:

[0338] The server inputs the restaurant information it has acquired into a recommendation algorithm and evaluates it based on how well it matches the user's criteria and emotional state.

[0339] Step 9:

[0340] The server ranks the restaurants based on the rating results, for example, by arranging the restaurants with the highest ratings first, and generates an optimal restaurant list.

[0341] Step 10:

[0342] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[0343] Step 11:

[0344] The device parses the JSON data received from the server.

[0345] Step 12:

[0346] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[0347] Step 13:

[0348] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[0349] Step 14:

[0350] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[0351] Step 15:

[0352] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[0353] Step 16:

[0354] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[0355] Step 17:

[0356] The server receives the feedback and stores it in a database.

[0357] Step 18:

[0358] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0359] Example 2

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

[0361] Conventional restaurant recommendation systems typically make recommendations based on user input criteria, but do not consider the user's emotional state. This can result in discrepancies between the restaurants recommended and the user's actual preferences. Furthermore, algorithms that utilize user feedback are not updated efficiently, making it difficult to improve recommendation accuracy. To address these issues, the present invention aims to provide a system for recommending optimal restaurants that considers the user's emotional state.

[0362] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing conditions input from the user and emotions, a means for generating and executing a database query, and a means for evaluating and ranking restaurant information. This enables recommendations that take into account the conditions input by the user and their emotional state at the time. In addition, by providing a means for collecting user feedback and updating the recommendation algorithm based on that feedback, recommendation accuracy can be improved.

[0363] Definitions of important words

[0364] "User" refers to an individual who uses the system to receive restaurant recommendations.

[0365] "Conditions related to the restaurant" refer to the characteristics of the restaurant specified by the user, such as genre, price range, rating, location, etc.

[0366] "Emotional state" refers to the user's mental and emotional state as recognized from the user's facial expression, tone of voice, text input, etc.

[0367] An "emotion engine" refers to software or algorithms used to analyze a user's emotional state.

[0368] A "database query" refers to a query statement used to retrieve specific information from a database.

[0369] "Recommendation algorithm" refers to a computational method for evaluating acquired restaurant information and selecting the most suitable restaurant based on the user's conditions and emotional state.

[0370] "Feedback" refers to opinions and impressions about restaurants that users have actually visited.

[0371] "Algorithm update" refers to the process of retraining recommendation algorithms based on collected feedback data to improve recommendation accuracy.

[0372] A "big data analysis engine" refers to software or algorithms for analyzing large amounts of data.

[0373] "User interface" refers to the screen and operating environment that allows a user to interact with a system.

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

[0375] A "server" refers to a computer system that processes and stores data, executes queries, etc.

[0376] "Terminal" refers to a device used by a user, such as a smartphone or PC.

[0377] MODE FOR CARRYING OUT THE INVENTION

[0378] The present invention is a system for users to search for the best restaurant at their travel destination, and is characterized by making recommendations taking into account the user's emotional state. This system includes a terminal used by the user, a server that processes data, an emotion engine that analyzes user information, and an algorithm that recommends the best restaurant based on the user's conditions and emotional state.

[0379] Hardware and software used

[0380] Device: The device used by the user, such as a smartphone, tablet, or computer

[0381] Server: Cloud server or dedicated server

[0382] Emotion engine: Software for analyzing the user's facial expressions, voice, and text input

[0383] Database: A relational database that stores restaurant information

[0384] Recommendation algorithm: An algorithm for rating and ranking restaurant information based on the user's criteria and emotional state

[0385] Big data analysis engine: Software that analyzes large amounts of data to recommend the best restaurants

[0386] Processing Overview

[0387] First, the user launches the app on their device and inputs restaurant-related criteria (such as genre, price range, rating, and location). The device then activates an emotion engine based on this input information, analyzing the user's facial expression, tone of voice, and text input to recognize their emotional state. The recognized emotional state, such as "I'm a little tired," is then added to the criteria.

[0388] The device converts the user's input conditions and the recognized emotional state information into JSON format and sends it as an HTTP request to the server. The server then generates an SQL query based on the received information and retrieves the corresponding restaurant information from the database.

[0389] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it based on the user's criteria and emotional state. Based on this evaluation, the restaurants are ranked and a list of optimal restaurants is generated. The generated list is sent to the device in JSON format, and detailed restaurant information (such as name, rating, price range, and location) is displayed on the user interface.

[0390] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, feedback such as "The food at Restaurant A was delicious. I'd like to try Chinese food next time" is collected. The device converts the collected feedback into JSON format and sends it to the server as an HTTP POST request. The server stores the received feedback in a database and periodically retrains the recommendation algorithm.

[0391] Specific examples

[0392] Let's say a user inputs the criteria "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple," and the emotion engine recognizes "fatigue" from the user's facial expression. Based on this, the server searches the database for restaurants that offer a "relaxing environment," and evaluates and ranks the most suitable restaurant information using a recommendation algorithm. The evaluation and ranking results are displayed to the user, who can then select a restaurant based on that information.

[0393] Prompt Sentence Examples

[0394] I'm thinking of a system to help users find the best restaurants to eat at a travel destination. This system needs to recognize the user's emotional state and recommend restaurants based on that. Please explain how to incorporate the user's criteria (such as genre, price range, rating, location, etc.) and emotional state to recommend the best restaurants. Please provide a series of steps with concrete examples.

[0395] As a result, a system is constructed that can efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling users to enjoy high-quality dining experiences while traveling.

[0396] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0397] Program processing steps

[0398] Step 1: User input

[0399] Input: The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[0400] Specific operation: The user inputs conditions such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple." The device temporarily stores this input data in its internal memory.

[0401] Output: Conditional input data is saved in the internal memory.

[0402] Step 2: Emotion Recognition

[0403] Input: While the user is entering restaurant requirements, the device captures the user's facial expression, tone of voice, and text input.

[0404] Specific operation: The device activates the emotion engine and analyzes the user's facial expressions and tone of voice. For example, it captures facial expressions and voice in real time using the user's camera and microphone and analyzes them.

[0405] Output: The emotion engine recognizes the user's emotional state and outputs a result such as "I'm a little tired."

[0406] Step 3: Format and send the data

[0407] Input: User condition input data and emotional state recognized by the emotion engine

[0408] Specific operation: The device converts this information into JSON format, specifically formatting the data as follows: {"Conditions": {"Genre": "Japanese cuisine", "Price range": "Under 3000 yen", "Rating": "4 or higher", "Location": "Within 15 minutes' walk from Kiyomizu-dera Temple"}, "Emotional state": "Tired"}.

[0409] Output: JSON format data

[0410] Next action: The device sends this JSON data to the server as an HTTP request.

[0411] Step 4: Data reception and analysis by the server

[0412] Input: JSON data sent from the terminal

[0413] Specific operation: The server receives the HTTP request and parses the JSON data to extract the user's condition and emotional state.

[0414] Output: Analyzed condition and emotion information

[0415] Step 5: Generate and execute database queries

[0416] Input: Parsed condition and emotion information

[0417] Specific operation: The server generates an SQL query based on this data, such as "SELECT FROM restaurant WHERE genre = 'Japanese cuisine' AND price <= 3000 AND rating >= 4 AND distance <= 15 AND environment = 'relaxing'".

[0418] Output: Generated SQL query

[0419] Next action: The server executes this SQL query against the database to retrieve the relevant restaurant information.

[0420] Step 6: Evaluate and rank restaurant information

[0421] Input: Restaurant information retrieved from the database

[0422] Specific operation: The server inputs the acquired restaurant information into the recommendation algorithm and evaluates it based on the user's conditions and emotional state. For example, the algorithm may use "a relaxing environment" as an evaluation point.

[0423] Output: Evaluation results

[0424] Next operation: The server ranks the restaurants based on the evaluation results and generates an optimal restaurant list.

[0425] Step 7: Presenting the Recommendations

[0426] Input: Best restaurant list

[0427] Specific operation: The server formats this in JSON format and sends it to the device as an HTTP response. The device analyzes the received data and displays it in the user interface.

[0428] Output: Details displayed in the user interface (e.g., name, rating, price range, location)

[0429] Step 8: Collect and send feedback

[0430] Input: User feedback

[0431] Specific operation: After eating, the user enters their opinions and impressions into a feedback form on the device. For example, they might enter, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0432] Output: Collected feedback data

[0433] Next: The device converts the feedback into JSON format and sends it to the server as an HTTP POST request.

[0434] Step 9: Update the algorithm based on feedback

[0435] Input: Collected feedback data

[0436] How it works: The server stores the received feedback in a database and periodically retrains the recommendation algorithm, improving the accuracy of future recommendations.

[0437] Output: Updated recommendation algorithm

[0438] Through the above processing steps, users can efficiently search for and receive recommendations for the best restaurants while traveling, enabling them to enjoy a high-quality dining experience.

[0439] (Application example 2)

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

[0441] Conventional restaurant recommendation systems make recommendations based only on static criteria without considering the user's emotional state, making it difficult to recommend restaurants that best suit the user's current mood and state. Furthermore, they lack a mechanism for fully utilizing feedback provided by users to improve the accuracy of recommendation algorithms. This issue is particularly serious for food delivery services, where it is important to provide the optimal meal based on the user's mood and state.

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

[0443] In this invention, the server includes means for analyzing restaurant-related conditions from a user and the user's emotional state based on an emotion engine, means for generating a database query based on the conditions and emotional state, means for acquiring restaurant information based on the query, means for evaluating and ranking the acquired restaurant information, means for presenting the evaluation results to the user, means for collecting feedback from the user, means for updating the recommendation algorithm based on the feedback, means for converting the user's input and emotional data into JSON format and transmitting it to the server, and means for analyzing the response from the server and displaying it on a user interface. This enables optimal restaurant recommendations based on the user's emotional state, significantly improving the accuracy and satisfaction of food delivery services.

[0444] "User's requirements for restaurants" are desired items such as type of cuisine, budget, rating, location, etc. input by the user.

[0445] An "emotion engine" is a technology that detects a user's emotional state through facial expression recognition and voice tone analysis.

[0446] A "database query" is a query statement used to extract information from a database based on specific conditions.

[0447] "Restaurant information" is detailed information such as the name, rating, price, and location of the restaurant.

[0448] The "means for evaluating and ranking" is a process of scoring restaurants based on the acquired restaurant information and assigning priorities to them.

[0449] The "means for presenting to the user" refers to a method for displaying the recommendation results obtained from the server on the user's terminal.

[0450] The means for collecting "feedback" is a process for collecting opinions and impressions from users.

[0451] A "recommendation algorithm" is an algorithm that selects the most suitable restaurant based on the user's input conditions and emotional state.

[0452] A "big data analysis engine" is a technology that analyzes large amounts of data and extracts useful information.

[0453] "JSON format" stands for JavaScript Object Notation and is a lightweight text format for exchanging data.

[0454] "Means for transmitting to the server" refers to a method for transmitting data from the user terminal to the server.

[0455] A "response from a server" is response data that a server returns in response to a request.

[0456] A "user interface" is a screen or interaction area that a user can directly operate.

[0457] System Program

[0458] The system is designed to help users receive the optimal food delivery service based on their current emotional state and desired conditions. The system consists of the following main components:

[0459] User Input and Sentiment Analysis

[0460] Users input criteria such as restaurant type, budget, rating, and location through a smartphone app. In addition, an emotion engine analyzes the user's facial expressions and tone of voice to detect their current emotional state. This emotion analysis uses technologies such as Amazon Rekognition and Google Cloud Vision.

[0461] Sending and Receiving Data

[0462] The user's input and emotional data are converted into JSON format and sent to the server, which then analyzes it and generates a database query based on the user's emotional state and conditions. This query then retrieves the relevant restaurant information from the database.

[0463] Recommendation Algorithms and Ranking

[0464] The server runs a recommendation algorithm based on the acquired restaurant information to evaluate and rank the most suitable restaurants. This recommendation algorithm is continuously updated using a big data analysis engine to reflect the user's emotional state.

[0465] Presentation of recommendation results

[0466] The recommendation results generated by the server are returned to the user's smartphone in JSON format, which the smartphone app parses and displays in its user interface.

[0467] Feedback collection and algorithm updates

[0468] After the user visits a recommended restaurant, the application displays a feedback form. This feedback contains the user's impressions and opinions and is sent to the server in JSON format. The server collects this feedback and uses it to improve the accuracy of the recommendation algorithm.

[0469] Specific examples of hardware and software use

[0470] For the overall system to operate efficiently, the following hardware and software is used:

[0471] Smartphone: A device that acquires user input and sentiment analysis data and communicates with the server.

[0472] Emotion engine: Technology for analyzing the user's emotional state (e.g., Amazon Rekognition, Google Cloud Vision).

[0473] Server: A central processing unit that receives user input and emotion data and generates queries against a database, including a database management system (e.g., MySQL, PostgreSQL).

[0474] Big data analysis engine: Technology for analyzing large amounts of data and continuously updating recommendation algorithms (e.g., Apache Hadoop, Apache Spark).

[0475] Specific examples

[0476] For example, suppose a user uses a smartphone app to input the following criteria: "Italian food, budget under 2,000 yen, rating of 4 or higher, location in Tokyo," and the emotion engine analyzes the user's emotional state as "happy." This data is sent to the server, which evaluates and ranks the restaurants based on the most suitable information. The recommendation results from the server are returned to the user's smartphone and presented to the user as a list of the most suitable restaurants.

[0477] Prompt Sentence Examples

[0478] "The user input criteria were 'Italian, under 2000 yen, with a rating of 4 or higher, in Tokyo'. The emotion engine recognized the user as 'happy'. Based on this, please recommend the most suitable restaurant. Please also output the reason for the recommendation."

[0479] This system allows users to receive the optimal food delivery service based on their current emotional state and desired conditions, thereby improving user satisfaction and the service experience.

[0480] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0481] Step 1:

[0482] The user launches the smartphone app and inputs restaurant-related criteria (such as genre, budget, rating, and location). The user sets specific criteria such as "Italian food, budget under 2,000 yen, rating 4 or higher, location in Tokyo." The input data is stored in the application as text data.

[0483] Step 2:

[0484] The device uses an emotion engine to analyze the user's emotional state. For example, the device's camera captures the user's facial expression, and software such as Amazon Rekognition or Google Cloud Vision recognizes emotions such as "happiness." The analyzed emotion data is stored in the application as text data.

[0485] Step 3:

[0486] The device converts the user's input conditions and emotion data into JSON format and sends it to the server. Specifically, it combines the input conditions and emotion data into a single JSON object and sends it to the server as an HTTP POST request. The input data will be in the following format: "cuisine": "italian", "budget": 2000, "rating": 4.0, "location": "Tokyo", "emotion": "happy".

[0487] Step 4:

[0488] The server analyzes the received JSON data and generates a database query. Inside the server, a database management system (e.g., MySQL, PostgreSQL) is used to generate an SQL query to retrieve restaurant information that matches the user's input criteria and emotion data. For example, a query like "SELECT FROM restaurants WHERE cuisine='italian' AND budget <= 2000 AND rating >= 4.0 AND location='Tokyo' AND environment LIKE '%relaxing%'" is generated.

[0489] Step 5:

[0490] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved data is returned to the server as table data by the database management system. It contains detailed information such as the name, rating, price, location, and environment of each restaurant.

[0491] Step 6:

[0492] Based on the restaurant information acquired by the server, a recommendation algorithm is used to evaluate and rank restaurants. A big data analysis engine (e.g., Apache Hadoop, Apache Spark) is used internally on the server to give high rankings to restaurants that best fit the user's criteria and emotional data. This generates a list of restaurants with an evaluation score.

[0493] Step 7:

[0494] The server converts the recommendation results into JSON format and sends it to the user's device as an HTTP response. The generated recommendation results will be in the format "restaurants": [{"name": "Restaurant A", "rating": 4.5, "price": 1800, "location": "Tokyo", "comment": "relaxing atmosphere"}, ...]".

[0495] Step 8:

[0496] The terminal analyzes the recommendation results received from the server and displays them on the user interface. The user can then check detailed information about the recommended restaurants through the application and place an order at the selected restaurant.

[0497] Step 9:

[0498] After the user visits a recommended restaurant and enjoys a meal, the application displays a feedback form. The user enters their opinions and impressions about the restaurant's food and service. This feedback data is saved in the application as text data.

[0499] Step 10:

[0500] The feedback data collected by the device is converted to JSON format and sent to the server. The feedback data sent to the server as an HTTP POST request is specific, such as "restaurant": "Restaurant A", "feedback": "The food was delicious. I'd like to try a different genre next time."

[0501] Step 11:

[0502] The server retrains the recommendation algorithm based on the received feedback data to improve recommendation accuracy. The server analyzes the collected feedback data and updates the algorithm using a big data analysis engine. This enables recommendations that better match the user's preferences and emotional state.

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

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

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

[0506] [Second embodiment]

[0507] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

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

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

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

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

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

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

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

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

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

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

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

[0519] The present invention is a system for allowing users to search for the best restaurant at their travel destination, and is implemented through the following steps.

[0520] The system includes a terminal used by the user, a server that performs processing, and an algorithm that recommends the best restaurants based on the information provided by the user.

[0521] Condition input from the user

[0522] Users start the application on their smartphone or PC and input restaurant-related criteria (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating of 4 or higher, within a 15-minute walk from a tourist spot."

[0523] Submitting a Request

[0524] The terminal converts the conditions entered by the user into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[0525] Generating and Executing Database Queries

[0526] The server generates an SQL query based on the received criteria and retrieves relevant restaurant information from the database, including criteria such as genre, price, rating, and location.

[0527] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple," the server will extract information about restaurants that meet these criteria from the database.

[0528] Restaurant information rating and ranking

[0529] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is based on how well it matches the user's criteria. The higher the evaluation, the closer the restaurant is to the user's preferences.

[0530] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[0531] Presentation of recommendation results

[0532] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and locations) on the user interface.

[0533] Gathering feedback and updating the algorithm

[0534] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0535] The device converts user feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0536] Through this series of processes, the system can efficiently recommend optimal restaurants based on user preferences and local information, allowing travelers to enjoy a high-quality dining experience.

[0537] The processing flow will be explained below.

[0538] Step 1:

[0539] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[0540] Step 2:

[0541] The terminal converts the user's input conditions into JSON format.

[0542] Step 3:

[0543] The terminal sends the converted JSON data to the server as an HTTP POST request.

[0544] Step 4:

[0545] The server receives the HTTP request and parses the JSON data.

[0546] Step 5:

[0547] The server generates a database query based on the parsed conditions.

[0548] Step 6:

[0549] The server executes the generated query and retrieves the relevant restaurant information from the database.

[0550] Step 7:

[0551] The restaurant information acquired by the server is input into a recommendation algorithm and evaluated.

[0552] Step 8:

[0553] The server ranks the restaurants based on the evaluation results.

[0554] Step 9:

[0555] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[0556] Step 10:

[0557] The device parses the JSON data received from the server.

[0558] Step 11:

[0559] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[0560] Step 12:

[0561] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[0562] Step 13:

[0563] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[0564] Step 14:

[0565] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[0566] Step 15:

[0567] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[0568] Step 16:

[0569] The server receives the feedback and stores it in a database.

[0570] Step 17:

[0571] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0572] Example 1

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

[0574] Conventional systems rely on simple data filtering when users search for the best restaurant at their travel destination, making it difficult to provide optimal restaurants that are tailored to the user's detailed preferences and current situation. Furthermore, they lack a mechanism for efficiently collecting user feedback and using it to improve the system's recommendation accuracy. This makes it difficult to provide travelers with a satisfying dining experience.

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

[0576] In this invention, the server includes means for receiving restaurant-related conditions from a user, means for converting the conditions into JSON format and sending the JSON format to the server, means for generating a database query based on the JSON format conditions, means for acquiring restaurant information based on the query, means for inputting the acquired restaurant information into a recommendation algorithm and rating and ranking it, means for generating the rating results in JSON format and sending them to a terminal, means for displaying the rating results on a user interface by the terminal, means for collecting feedback from the user, means for converting the feedback into JSON format and sending it to the server, and means for updating the recommendation algorithm based on the feedback. This makes it possible to efficiently recommend optimal restaurants that are suited to the user's detailed preferences and current situation, and to further improve accuracy based on the feedback.

[0577] "Conditions regarding restaurants from the user" refers to selection criteria such as the genre, price range, rating, location, etc. of the restaurant entered by the user.

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

[0579] "Server" refers to a computer system that receives requests over a network and provides the necessary data processing or services.

[0580] "Database query" refers to a statement used to retrieve specific information from a database.

[0581] "Recommendation algorithm" refers to the calculation procedure for selecting the most suitable restaurant based on the user's criteria and then rating and ranking the results.

[0582] "Evaluation and ranking" refers to scoring the acquired restaurant information based on the user's criteria and determining the priority according to the score.

[0583] A "terminal" is a device on which a user runs an application, such as a smartphone or PC.

[0584] "User interface" refers to the screens and input forms that users use on their devices.

[0585] "Feedback" refers to the opinions and impressions provided by users after using a restaurant.

[0586] A "big data analytics engine" refers to a software tool for analyzing large amounts of data and extracting useful information.

[0587] The present invention is a system for users to search for the best restaurant at their travel destination, and is realized through cooperation between users, terminals, and servers.

[0588] Hardware and software used

[0589] The system uses the following hardware and software:

[0590] User device: smartphone or PC

[0591] server

[0592] Database: A database (e.g., MySQL) for storing restaurant information

[0593] Recommendation Algorithm

[0594] User Interface: Application or Web Browser

[0595] Specific operation of the system

[0596] Condition input from the user

[0597] Users launch the application using a smartphone or PC and enter criteria for restaurants (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating 4 or higher, within a 15-minute walk from a tourist spot." Based on this information, the process of searching for the most suitable restaurant begins.

[0598] Submitting a Request

[0599] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP request, generating the following JSON data:

[0600] json

[0601] {

[0602] "Genre": "Japanese cuisine",

[0603] "Price range": "Under 3000 yen",

[0604] "Rating": "4 or above",

[0605] "Location": "Within 15 minutes' walk from tourist attractions"

[0606] }

[0607] Generating and Executing Database Queries

[0608] The server parses the received JSON data and generates a SQL query based on the conditions, for example, the following SQL query:

[0609] sql

[0610] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[0611] The generated SQL query is executed to retrieve the relevant restaurant information from the database.

[0612] Restaurant information rating and ranking

[0613] The server inputs the acquired restaurant information into a recommendation algorithm. This recommendation algorithm evaluates and scores each restaurant based on how well it meets the user's criteria. Based on the evaluation results, restaurants are ranked and an optimal restaurant list is generated.

[0614] Presentation of recommendation results

[0615] The server generates a list of the best restaurants in JSON format and sends it to the device. For example, it generates the following JSON data:

[0616] json

[0617] {

[0618] "restaurants": [

[0619] {

[0620] "Name": "Store A",

[0621] "Rating": 4.8,

[0622] "Price range": "Under 3000 yen",

[0623] "Location": "10 minutes walk from the tourist spot"

[0624] },

[0625] {

[0626] "Name": "Store B",

[0627] "Rating": 4.5,

[0628] "Price range": "Under 2500 yen",

[0629] "Location": "12 minutes walk from the tourist spot"

[0630] }

[0631] ]

[0632] }

[0633] The device analyzes the received JSON data and displays detailed information about the restaurant on the screen.

[0634] Gathering feedback and updating the algorithm

[0635] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts the user's feedback into JSON format and sends it to the server. The server stores the received feedback in a database and retrains the recommendation algorithm based on the collected feedback to improve accuracy.

[0636] Examples and prompts

[0637] For example, if a user specifies the following criteria: "Italian food, under 5,000 yen, rating 4.5 or higher, within a 10-minute walk from Shinjuku Station," the device will input the following prompt sentence into the generative AI model:

[0638] "Find restaurants serving Italian food, priced under 5,000 yen, with a rating of 4.5 or higher, and within a 10-minute walk from Shinjuku Station."

[0639] Based on this prompt, the system generates a list of the most suitable restaurants and presents the results to the user.

[0640] This invention aims to recommend the most suitable restaurants based on the user's detailed preferences and local conditions, and is designed to enable more accurate recommendations by improving the recommendation algorithm based on feedback.

[0641] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0642] Step 1: User launches application and enters criteria

[0643] The user starts up their smartphone or PC and enters their restaurant search criteria into the application's input form. For example, they might enter criteria such as "Japanese food, under 3,000 yen, a rating of 4 or higher, and within a 15-minute walk from a tourist spot." This registers the user's desired restaurant search criteria as specific data on the device.

[0644] input:

[0645] User's restaurant-related conditions (genre, price range, rating, location, etc.)

[0646] output:

[0647] Specific data for user conditions

[0648] Step 2: The device generates and sends a request

[0649] The terminal receives the conditions entered by the user and converts them into JSON format. For example, it generates the following JSON data:

[0650] json

[0651] {

[0652] "Genre": "Japanese cuisine",

[0653] "Price range": "Under 3000 yen",

[0654] "Rating": "4 or above",

[0655] "Location": "Within 15 minutes' walk from tourist attractions"

[0656] }

[0657] The generated JSON data is sent to the server as an HTTP request, which starts processing on the server side.

[0658] input:

[0659] Specific data for user conditions

[0660] output:

[0661] JSON format data

[0662] sent as an HTTP request to the server

[0663] Step 3: The server generates and executes the database query

[0664] The server parses the received JSON data and generates a SQL query based on the conditions. For example, the SQL query corresponding to the above conditions would be:

[0665] sql

[0666] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[0667] The server executes the generated SQL query and retrieves the relevant restaurant information from the database.

[0668] input:

[0669] Condition data in JSON format

[0670] output:

[0671] SQL Query

[0672] Restaurant information from the database

[0673] Step 4: The server rates and ranks the restaurant information

[0674] The server inputs the restaurant information retrieved from the database into a recommendation algorithm. This recommendation algorithm calculates a score based on the user's criteria and the restaurant information. As a result, each restaurant is evaluated and ranked in descending order of score to generate an optimal restaurant list.

[0675] input:

[0676] Restaurant information from the database

[0677] output:

[0678] Evaluation results

[0679] Best restaurant list (ranked)

[0680] Step 5: The server generates and sends the recommendations

[0681] The server converts the rated and ranked restaurant list into JSON format and sends it to the device. For example, the following JSON data is generated:

[0682] json

[0683] {

[0684] "restaurants": [

[0685] {

[0686] "Name": "Store A",

[0687] "Rating": 4.8,

[0688] "Price range": "Under 3000 yen",

[0689] "Location": "10 minutes walk from the tourist spot"

[0690] },

[0691] {

[0692] "Name": "Store B",

[0693] "Rating": 4.5,

[0694] "Price range": "Under 2500 yen",

[0695] "Location": "12 minutes walk from the tourist spot"

[0696] }

[0697] ]

[0698] }

[0699] This allows it to be displayed on the device.

[0700] input:

[0701] Best restaurant list

[0702] output:

[0703] Optimal restaurant list in JSON format

[0704] Send to the terminal as an HTTP response

[0705] Step 6: Your device will display the recommendations

[0706] The device analyzes the received JSON data and displays detailed restaurant information (such as name, rating, price range, and location information) on the user interface. For example, the screen might display "Store A: rating 4.8, price range under 3,000 yen, 10-minute walk" and "Store B: rating 4.5, price range under 2,500 yen, 12-minute walk." This allows the user to select specific options.

[0707] input:

[0708] Optimal restaurant list in JSON format

[0709] output:

[0710] Displaying recommendation results on the user interface

[0711] Step 7: User Provides Feedback

[0712] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0713] input:

[0714] User opinions and impressions after eating

[0715] output:

[0716] Feedback Data

[0717] Step 8: Device sends feedback

[0718] The device converts the feedback entered by the user into JSON format and sends it to the server. For example, it generates the following JSON data:

[0719] json

[0720] {

[0721] "Feedback": "The food at Restaurant A was delicious. I'd like to try Chinese food next time."

[0722] }

[0723] This data is sent to the server as an HTTP request.

[0724] input:

[0725] Feedback Data

[0726] output:

[0727] Feedback data in JSON format

[0728] sent as an HTTP request to the server

[0729] Step 9: The server receives the feedback and updates the algorithm

[0730] The server stores the received feedback in a database. The recommendation algorithm is periodically retrained based on the collected feedback to improve its accuracy. This improves the accuracy of restaurant recommendations from the next time onwards.

[0731] input:

[0732] Feedback data in JSON format

[0733] output:

[0734] Updated recommendation algorithm

[0735] Feedback Database

[0736] (Application example 1)

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

[0738] When traveling or in a new location, it is difficult for users to quickly and efficiently find food delivery services that meet their desired criteria. Conventional systems require users to spend a lot of time manually searching for restaurants and checking whether they meet their criteria. Furthermore, it is difficult to fully utilize user feedback to improve the recommendation algorithm, resulting in a lack of accuracy in future recommendations.

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

[0740] In this invention, the server includes a means for receiving restaurant-related conditions from a user, a means for generating a database query based on the conditions, and a means for retrieving restaurant information based on the query. This allows the user to complete an order with a system providing food delivery services after entering the conditions. The system also includes a means for evaluating and ranking the retrieved restaurant information, a means for presenting the evaluation results to the user, a means for collecting user feedback, and a means for updating the recommendation algorithm based on the feedback, making it possible to utilize user feedback to improve recommendation accuracy in the future.

[0741] The "means for receiving restaurant-related conditions from the user" is a system function that allows the user to input conditions such as the genre, price range, rating, and delivery area of ​​the restaurant they desire.

[0742] The "means for generating a database query" is a system function that automatically creates a query required to search for restaurant information based on conditions entered by the user.

[0743] The "means for obtaining restaurant information" is a system function that executes the generated database query and retrieves information about the relevant restaurant from the database.

[0744] The "means for evaluating and ranking acquired restaurant information" is a function of the system that analyzes the acquired restaurant information, evaluates and ranks each restaurant based on how well it meets the user's conditions.

[0745] The "means for presenting evaluation results to the user" is a system function that displays information about the evaluated restaurant on the user interface and suggests it to the user.

[0746] The "means for collecting feedback from users" is a function that allows users to input their experiences and opinions after actually using a restaurant and send them to the system.

[0747] "Means for updating the recommendation algorithm based on feedback" refers to the system's ability to use collected user feedback to retrain the recommendation algorithm to improve its accuracy.

[0748] "Means for a user to complete an order to a system that provides food delivery services after inputting conditions" refers to a system function that allows a user to select from recommended restaurants, place an order with the food delivery service, and complete the ordering process.

[0749] The present invention provides a system for users to search for the best restaurant, and will be described in detail below with reference to an embodiment that is specifically designed for a food delivery service. The system is implemented through the following steps: a server, a user terminal, and a recommendation algorithm.

[0750] System program configuration

[0751] 1. Condition input from user:

[0752] The user uses the device to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user might specify criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." The device then converts these criteria into JSON format and sends it to the server.

[0753] 2. Request processing on the server:

[0754] The server analyzes the conditions received from the device and automatically generates a corresponding SQL query. The query includes the genre, price range, rating, delivery area, and other information specified by the user. Based on the generated query, the server retrieves relevant restaurant information from the database. The server uses AWS (Amazon Web Services) and PostgreSQL for database management.

[0755] 3. Restaurant information rating and ranking:

[0756] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is calculated based on how well the restaurant matches the user's input criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Restaurants are ranked based on the evaluation results, and an optimal restaurant list is generated.

[0757] 4. Presenting the recommendation results:

[0758] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and location information) on the user interface. The user selects the restaurant they want from the list and completes their order with the food delivery service.

[0759] 5. Gathering feedback and updating the algorithm:

[0760] After the user receives the ordered meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts this feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0761] Specific examples

[0762] If a user wants to order Japanese food in their current location, they can input their requirements into the system using the following prompt sentence:

[0763] "I'm looking for Japanese food. My budget is under 3000 yen, and the place has a rating of 4 or higher. Can you tell me a restaurant within 15 minutes of my current location?"

[0764] This system allows users to easily select the food delivery service that best suits their needs and enjoy a high-quality dining experience.

[0765] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0766] Step 1:

[0767] The user uses a device (such as a smartphone) to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user can set criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." This input data is converted to JSON format on the device. Input: Criteria entered by the user. Output: JSON format data.

[0768] Step 2:

[0769] The terminal converts the user's conditions into JSON format and sends them to the server as an HTTP request. The server analyzes the received request and extracts the necessary information. Input: JSON format request. Output: Analyzed condition data.

[0770] Step 3:

[0771] The server automatically generates a corresponding SQL query based on the conditions entered by the user. The query includes the genre, price range, rating, delivery area, etc. specified by the user. The generated SQL query is used to retrieve the relevant restaurant information from the database. Input: Parsed condition data. Output: SQL query.

[0772] Step 4:

[0773] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved restaurant information includes the name, rating, price range, location, etc. Input: SQL query. Output: Restaurant information data.

[0774] Step 5:

[0775] The server inputs the acquired restaurant information into a recommendation algorithm and rates each restaurant. The rating is calculated based on how well the restaurant matches the user's criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Input: Restaurant information data. Output: Restaurant list with ratings.

[0776] Step 6:

[0777] The server ranks restaurants based on the rating results and generates a list of optimal restaurants. This list is generated in JSON format and sent to the terminal. Input: List of restaurants with ratings. Output: List of optimal restaurants in JSON format.

[0778] Step 7:

[0779] The device analyzes the received list of optimal restaurants and displays it on the user interface. The user can then select the restaurant of their choice and complete the order with the food delivery service. Input: A list of optimal restaurants in JSON format. Output: Recommendation results displayed on the user interface.

[0780] Step 8:

[0781] After the user receives the ordered meal, the terminal displays a feedback form and allows the user to enter their opinions and impressions. For example, the user can enter feedback such as "The food was delicious. I'd like to try Chinese food next time." Input: User feedback. Output: Feedback data in JSON format.

[0782] Step 9:

[0783] The device converts the user's feedback into JSON format and sends it to the server. The server parses the received feedback and stores it in a database. Input: Feedback data in JSON format. Output: Parsed feedback data.

[0784] Step 10:

[0785] The server periodically retrains the recommendation algorithm based on the collected feedback, improving its accuracy. This improves the accuracy of future recommendations. Input: Parsed feedback data. Output: Updated recommendation algorithm.

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

[0787] The present invention is a system for users to search for the best restaurants at their travel destinations, and by combining it with an emotion engine, it is possible to make recommendations that take into account the user's emotional state. This system is implemented through the following steps.

[0788] This system includes a device used by the user, a server that performs processing, an emotion engine that acquires and analyzes information from the user, and an algorithm that recommends the most suitable restaurant based on the user's conditions and emotional state.

[0789] Condition input from the user and emotion recognition

[0790] Users launch the app on their smartphone or PC and enter restaurant search criteria (such as genre, price range, rating, and location). At this time, the emotion engine analyzes the user's facial expression, tone of voice, and text input to recognize the user's emotional state. For example, if the engine recognizes that the user is "a little tired," that information is added to the search criteria.

[0791] Submitting a Request

[0792] The device converts the conditions entered by the user and the emotional information recognized by the emotion engine into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[0793] Generating and Executing Database Queries

[0794] The server generates an SQL query based on the received conditions and emotion information, and retrieves the corresponding restaurant information from the database, including genre, price, rating, location, and correction conditions based on the emotional state.

[0795] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple" and the emotion engine recognizes "fatigue," the server will extract information from the database about restaurants that fit this criteria but also offer a more relaxing environment.

[0796] Restaurant information rating and ranking

[0797] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it. The evaluation is based on how well it matches the user's criteria and emotional state. The higher the evaluation, the closer the restaurant is to the user's preferences.

[0798] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[0799] Presentation of recommendation results

[0800] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response. The terminal analyzes the received results and presents detailed information about the restaurants (such as names, ratings, price ranges, and location information) to the user on the user interface.

[0801] Gathering feedback and updating the algorithm

[0802] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0803] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve recommendation accuracy.

[0804] This series of processes allows us to efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling the user to enjoy a high-quality dining experience while traveling.

[0805] The processing flow will be explained below.

[0806] Step 1:

[0807] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[0808] Step 2:

[0809] The emotion engine uses the user's facial recognition camera and microphone to analyze facial expressions and tone of voice, for example, to determine whether the user is smiling or tired.

[0810] Step 3:

[0811] The device converts the user's input conditions and the emotional state information analyzed by the emotion engine into JSON format.

[0812] Step 4:

[0813] The device sends the converted JSON data to the server as an HTTP POST request.

[0814] Step 5:

[0815] The server receives the HTTP request and parses the JSON data.

[0816] Step 6:

[0817] The server generates a database query based on the analyzed conditions and emotional information. For example, it generates a query with the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple, relaxing environment."

[0818] Step 7:

[0819] The server executes the generated query and retrieves the relevant restaurant information from the database.

[0820] Step 8:

[0821] The server inputs the restaurant information it has acquired into a recommendation algorithm and evaluates it based on how well it matches the user's criteria and emotional state.

[0822] Step 9:

[0823] The server ranks the restaurants based on the rating results, for example, by arranging the restaurants with the highest ratings first, and generates an optimal restaurant list.

[0824] Step 10:

[0825] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[0826] Step 11:

[0827] The device parses the JSON data received from the server.

[0828] Step 12:

[0829] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[0830] Step 13:

[0831] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[0832] Step 14:

[0833] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[0834] Step 15:

[0835] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[0836] Step 16:

[0837] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[0838] Step 17:

[0839] The server receives the feedback and stores it in a database.

[0840] Step 18:

[0841] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[0842] Example 2

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

[0844] Conventional restaurant recommendation systems typically make recommendations based on user input criteria, but do not consider the user's emotional state. This can result in discrepancies between the restaurants recommended and the user's actual preferences. Furthermore, algorithms that utilize user feedback are not updated efficiently, making it difficult to improve recommendation accuracy. To address these issues, the present invention aims to provide a system for recommending optimal restaurants that considers the user's emotional state.

[0845] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing conditions input from the user and emotions, a means for generating and executing a database query, and a means for evaluating and ranking restaurant information. This enables recommendations that take into account the conditions input by the user and their emotional state at the time. In addition, by providing a means for collecting user feedback and updating the recommendation algorithm based on that feedback, recommendation accuracy can be improved.

[0846] Definitions of important words

[0847] "User" refers to an individual who uses the system to receive restaurant recommendations.

[0848] "Conditions related to the restaurant" refer to the characteristics of the restaurant specified by the user, such as genre, price range, rating, location, etc.

[0849] "Emotional state" refers to the user's mental and emotional state as recognized from the user's facial expression, tone of voice, text input, etc.

[0850] An "emotion engine" refers to software or algorithms used to analyze a user's emotional state.

[0851] A "database query" refers to a query statement used to retrieve specific information from a database.

[0852] "Recommendation algorithm" refers to a computational method for evaluating acquired restaurant information and selecting the most suitable restaurant based on the user's conditions and emotional state.

[0853] "Feedback" refers to opinions and impressions about restaurants that users have actually visited.

[0854] "Algorithm update" refers to the process of retraining recommendation algorithms based on collected feedback data to improve recommendation accuracy.

[0855] A "big data analysis engine" refers to software or algorithms for analyzing large amounts of data.

[0856] "User interface" refers to the screen and operating environment that allows a user to interact with a system.

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

[0858] A "server" refers to a computer system that processes and stores data, executes queries, etc.

[0859] "Terminal" refers to a device used by a user, such as a smartphone or PC.

[0860] MODE FOR CARRYING OUT THE INVENTION

[0861] The present invention is a system for users to search for the best restaurant at their travel destination, and is characterized by making recommendations taking into account the user's emotional state. This system includes a terminal used by the user, a server that processes data, an emotion engine that analyzes user information, and an algorithm that recommends the best restaurant based on the user's conditions and emotional state.

[0862] Hardware and software used

[0863] Device: The device used by the user, such as a smartphone, tablet, or computer

[0864] Server: Cloud server or dedicated server

[0865] Emotion engine: Software for analyzing the user's facial expressions, voice, and text input

[0866] Database: A relational database that stores restaurant information

[0867] Recommendation algorithm: An algorithm for rating and ranking restaurant information based on the user's criteria and emotional state

[0868] Big data analysis engine: Software that analyzes large amounts of data to recommend the best restaurants

[0869] Processing Overview

[0870] First, the user launches the app on their device and inputs restaurant-related criteria (such as genre, price range, rating, and location). The device then activates an emotion engine based on this input information, analyzing the user's facial expression, tone of voice, and text input to recognize their emotional state. The recognized emotional state, such as "I'm a little tired," is then added to the criteria.

[0871] The device converts the user's input conditions and the recognized emotional state information into JSON format and sends it as an HTTP request to the server. The server then generates an SQL query based on the received information and retrieves the corresponding restaurant information from the database.

[0872] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it based on the user's criteria and emotional state. Based on this evaluation, the restaurants are ranked and a list of optimal restaurants is generated. The generated list is sent to the device in JSON format, and detailed restaurant information (such as name, rating, price range, and location) is displayed on the user interface.

[0873] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, feedback such as "The food at Restaurant A was delicious. I'd like to try Chinese food next time" is collected. The device converts the collected feedback into JSON format and sends it to the server as an HTTP POST request. The server stores the received feedback in a database and periodically retrains the recommendation algorithm.

[0874] Specific examples

[0875] Let's say a user inputs the criteria "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple," and the emotion engine recognizes "fatigue" from the user's facial expression. Based on this, the server searches the database for restaurants that offer a "relaxing environment," and evaluates and ranks the most suitable restaurant information using a recommendation algorithm. The evaluation and ranking results are displayed to the user, who can then select a restaurant based on that information.

[0876] Prompt Sentence Examples

[0877] I'm thinking of a system to help users find the best restaurants to eat at a travel destination. This system needs to recognize the user's emotional state and recommend restaurants based on that. Please explain how to incorporate the user's criteria (such as genre, price range, rating, location, etc.) and emotional state to recommend the best restaurants. Please provide a series of steps with concrete examples.

[0878] As a result, a system is constructed that can efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling users to enjoy high-quality dining experiences while traveling.

[0879] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0880] Program processing steps

[0881] Step 1: User input

[0882] Input: The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[0883] Specific operation: The user inputs conditions such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple." The device temporarily stores this input data in its internal memory.

[0884] Output: Conditional input data is saved in the internal memory.

[0885] Step 2: Emotion Recognition

[0886] Input: While the user is entering restaurant requirements, the device captures the user's facial expression, tone of voice, and text input.

[0887] Specific operation: The device activates the emotion engine and analyzes the user's facial expressions and tone of voice. For example, it captures facial expressions and voice in real time using the user's camera and microphone and analyzes them.

[0888] Output: The emotion engine recognizes the user's emotional state and outputs a result such as "I'm a little tired."

[0889] Step 3: Format and send the data

[0890] Input: User condition input data and emotional state recognized by the emotion engine

[0891] Specific operation: The device converts this information into JSON format, specifically formatting the data as follows: {"Conditions": {"Genre": "Japanese cuisine", "Price range": "Under 3000 yen", "Rating": "4 or higher", "Location": "Within 15 minutes' walk from Kiyomizu-dera Temple"}, "Emotional state": "Tired"}.

[0892] Output: JSON format data

[0893] Next action: The device sends this JSON data to the server as an HTTP request.

[0894] Step 4: Data reception and analysis by the server

[0895] Input: JSON data sent from the terminal

[0896] Specific operation: The server receives the HTTP request and parses the JSON data to extract the user's condition and emotional state.

[0897] Output: Analyzed condition and emotion information

[0898] Step 5: Generate and execute database queries

[0899] Input: Parsed condition and emotion information

[0900] Specific operation: The server generates an SQL query based on this data, such as "SELECT FROM restaurant WHERE genre = 'Japanese cuisine' AND price <= 3000 AND rating >= 4 AND distance <= 15 AND environment = 'relaxing'".

[0901] Output: Generated SQL query

[0902] Next action: The server executes this SQL query against the database to retrieve the relevant restaurant information.

[0903] Step 6: Evaluate and rank restaurant information

[0904] Input: Restaurant information retrieved from the database

[0905] Specific operation: The server inputs the acquired restaurant information into the recommendation algorithm and evaluates it based on the user's conditions and emotional state. For example, the algorithm may use "a relaxing environment" as an evaluation point.

[0906] Output: Evaluation results

[0907] Next operation: The server ranks the restaurants based on the evaluation results and generates an optimal restaurant list.

[0908] Step 7: Presenting the Recommendations

[0909] Input: Best restaurant list

[0910] Specific operation: The server formats this in JSON format and sends it to the device as an HTTP response. The device analyzes the received data and displays it in the user interface.

[0911] Output: Details displayed in the user interface (e.g., name, rating, price range, location)

[0912] Step 8: Collect and send feedback

[0913] Input: User feedback

[0914] Specific operation: After eating, the user enters their opinions and impressions into a feedback form on the device. For example, they might enter, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[0915] Output: Collected feedback data

[0916] Next: The device converts the feedback into JSON format and sends it to the server as an HTTP POST request.

[0917] Step 9: Update the algorithm based on feedback

[0918] Input: Collected feedback data

[0919] How it works: The server stores the received feedback in a database and periodically retrains the recommendation algorithm, improving the accuracy of future recommendations.

[0920] Output: Updated recommendation algorithm

[0921] Through the above processing steps, users can efficiently search for and receive recommendations for the best restaurants while traveling, enabling them to enjoy a high-quality dining experience.

[0922] (Application example 2)

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

[0924] Conventional restaurant recommendation systems make recommendations based only on static criteria without considering the user's emotional state, making it difficult to recommend restaurants that best suit the user's current mood and state. Furthermore, they lack a mechanism for fully utilizing feedback provided by users to improve the accuracy of recommendation algorithms. This issue is particularly serious for food delivery services, where it is important to provide the optimal meal based on the user's mood and state.

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

[0926] In this invention, the server includes means for analyzing restaurant-related conditions from a user and the user's emotional state based on an emotion engine, means for generating a database query based on the conditions and emotional state, means for acquiring restaurant information based on the query, means for evaluating and ranking the acquired restaurant information, means for presenting the evaluation results to the user, means for collecting feedback from the user, means for updating the recommendation algorithm based on the feedback, means for converting the user's input and emotional data into JSON format and transmitting it to the server, and means for analyzing the response from the server and displaying it on a user interface. This enables optimal restaurant recommendations based on the user's emotional state, significantly improving the accuracy and satisfaction of food delivery services.

[0927] "User's requirements for restaurants" are desired items such as type of cuisine, budget, rating, location, etc. input by the user.

[0928] An "emotion engine" is a technology that detects a user's emotional state through facial expression recognition and voice tone analysis.

[0929] A "database query" is a query statement used to extract information from a database based on specific conditions.

[0930] "Restaurant information" is detailed information such as the name, rating, price, and location of the restaurant.

[0931] The "means for evaluating and ranking" is a process of scoring restaurants based on the acquired restaurant information and assigning priorities to them.

[0932] The "means for presenting to the user" refers to a method for displaying the recommendation results obtained from the server on the user's terminal.

[0933] The means for collecting "feedback" is a process for collecting opinions and impressions from users.

[0934] A "recommendation algorithm" is an algorithm that selects the most suitable restaurant based on the user's input conditions and emotional state.

[0935] A "big data analysis engine" is a technology that analyzes large amounts of data and extracts useful information.

[0936] "JSON format" stands for JavaScript Object Notation and is a lightweight text format for exchanging data.

[0937] "Means for transmitting to the server" refers to a method for transmitting data from the user terminal to the server.

[0938] A "response from a server" is response data that a server returns in response to a request.

[0939] A "user interface" is a screen or interaction area that a user can directly operate.

[0940] System Program

[0941] The system is designed to help users receive the optimal food delivery service based on their current emotional state and desired conditions. The system consists of the following main components:

[0942] User Input and Sentiment Analysis

[0943] Users input criteria such as restaurant type, budget, rating, and location through a smartphone app. In addition, an emotion engine analyzes the user's facial expressions and tone of voice to detect their current emotional state. This emotion analysis uses technologies such as Amazon Rekognition and Google Cloud Vision.

[0944] Sending and Receiving Data

[0945] The user's input and emotional data are converted into JSON format and sent to the server, which then analyzes it and generates a database query based on the user's emotional state and conditions. This query then retrieves the relevant restaurant information from the database.

[0946] Recommendation Algorithms and Ranking

[0947] The server runs a recommendation algorithm based on the acquired restaurant information to evaluate and rank the most suitable restaurants. This recommendation algorithm is continuously updated using a big data analysis engine to reflect the user's emotional state.

[0948] Presentation of recommendation results

[0949] The recommendation results generated by the server are returned to the user's smartphone in JSON format, which the smartphone app parses and displays in its user interface.

[0950] Feedback collection and algorithm updates

[0951] After the user visits a recommended restaurant, the application displays a feedback form. This feedback contains the user's impressions and opinions and is sent to the server in JSON format. The server collects this feedback and uses it to improve the accuracy of the recommendation algorithm.

[0952] Specific examples of hardware and software use

[0953] For the overall system to operate efficiently, the following hardware and software is used:

[0954] Smartphone: A device that acquires user input and sentiment analysis data and communicates with the server.

[0955] Emotion engine: Technology for analyzing the user's emotional state (e.g., Amazon Rekognition, Google Cloud Vision).

[0956] Server: A central processing unit that receives user input and emotion data and generates queries against a database, including a database management system (e.g., MySQL, PostgreSQL).

[0957] Big data analysis engine: Technology for analyzing large amounts of data and continuously updating recommendation algorithms (e.g., Apache Hadoop, Apache Spark).

[0958] Specific examples

[0959] For example, suppose a user uses a smartphone app to input the following criteria: "Italian food, budget under 2,000 yen, rating of 4 or higher, location in Tokyo," and the emotion engine analyzes the user's emotional state as "happy." This data is sent to the server, which evaluates and ranks the restaurants based on the most suitable information. The recommendation results from the server are returned to the user's smartphone and presented to the user as a list of the most suitable restaurants.

[0960] Prompt Sentence Examples

[0961] "The user input criteria were 'Italian, under 2000 yen, with a rating of 4 or higher, in Tokyo'. The emotion engine recognized the user as 'happy'. Based on this, please recommend the most suitable restaurant. Please also output the reason for the recommendation."

[0962] This system allows users to receive the optimal food delivery service based on their current emotional state and desired conditions, thereby improving user satisfaction and the service experience.

[0963] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0964] Step 1:

[0965] The user launches the smartphone app and inputs restaurant-related criteria (such as genre, budget, rating, and location). The user sets specific criteria such as "Italian food, budget under 2,000 yen, rating 4 or higher, location in Tokyo." The input data is stored in the application as text data.

[0966] Step 2:

[0967] The device uses an emotion engine to analyze the user's emotional state. For example, the device's camera captures the user's facial expression, and software such as Amazon Rekognition or Google Cloud Vision recognizes emotions such as "happiness." The analyzed emotion data is stored in the application as text data.

[0968] Step 3:

[0969] The device converts the user's input conditions and emotion data into JSON format and sends it to the server. Specifically, it combines the input conditions and emotion data into a single JSON object and sends it to the server as an HTTP POST request. The input data will be in the following format: "cuisine": "italian", "budget": 2000, "rating": 4.0, "location": "Tokyo", "emotion": "happy".

[0970] Step 4:

[0971] The server analyzes the received JSON data and generates a database query. Inside the server, a database management system (e.g., MySQL, PostgreSQL) is used to generate an SQL query to retrieve restaurant information that matches the user's input criteria and emotion data. For example, a query like "SELECT FROM restaurants WHERE cuisine='italian' AND budget <= 2000 AND rating >= 4.0 AND location='Tokyo' AND environment LIKE '%relaxing%'" is generated.

[0972] Step 5:

[0973] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved data is returned to the server as table data by the database management system. It contains detailed information such as the name, rating, price, location, and environment of each restaurant.

[0974] Step 6:

[0975] Based on the restaurant information acquired by the server, a recommendation algorithm is used to evaluate and rank restaurants. A big data analysis engine (e.g., Apache Hadoop, Apache Spark) is used internally on the server to give high rankings to restaurants that best fit the user's criteria and emotional data. This generates a list of restaurants with an evaluation score.

[0976] Step 7:

[0977] The server converts the recommendation results into JSON format and sends it to the user's device as an HTTP response. The generated recommendation results will be in the format "restaurants": [{"name": "Restaurant A", "rating": 4.5, "price": 1800, "location": "Tokyo", "comment": "relaxing atmosphere"}, ...]".

[0978] Step 8:

[0979] The terminal analyzes the recommendation results received from the server and displays them on the user interface. The user can then check detailed information about the recommended restaurants through the application and place an order at the selected restaurant.

[0980] Step 9:

[0981] After the user visits a recommended restaurant and enjoys a meal, the application displays a feedback form. The user enters their opinions and impressions about the restaurant's food and service. This feedback data is saved in the application as text data.

[0982] Step 10:

[0983] The feedback data collected by the device is converted to JSON format and sent to the server. The feedback data sent to the server as an HTTP POST request is specific, such as "restaurant": "Restaurant A", "feedback": "The food was delicious. I'd like to try a different genre next time."

[0984] Step 11:

[0985] The server retrains the recommendation algorithm based on the received feedback data to improve recommendation accuracy. The server analyzes the collected feedback data and updates the algorithm using a big data analysis engine. This enables recommendations that better match the user's preferences and emotional state.

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

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

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

[0989] [Third embodiment]

[0990] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

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

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

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

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

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

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

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

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

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

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

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

[1002] The present invention is a system for allowing users to search for the best restaurant at their travel destination, and is implemented through the following steps.

[1003] The system includes a terminal used by the user, a server that performs processing, and an algorithm that recommends the best restaurants based on the information provided by the user.

[1004] Condition input from the user

[1005] Users start the application on their smartphone or PC and input restaurant-related criteria (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating of 4 or higher, within a 15-minute walk from a tourist spot."

[1006] Submitting a Request

[1007] The terminal converts the conditions entered by the user into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[1008] Generating and Executing Database Queries

[1009] The server generates an SQL query based on the received criteria and retrieves relevant restaurant information from the database, including criteria such as genre, price, rating, and location.

[1010] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple," the server will extract information about restaurants that meet these criteria from the database.

[1011] Restaurant information rating and ranking

[1012] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is based on how well it matches the user's criteria. The higher the evaluation, the closer the restaurant is to the user's preferences.

[1013] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[1014] Presentation of recommendation results

[1015] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and locations) on the user interface.

[1016] Gathering feedback and updating the algorithm

[1017] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1018] The device converts user feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1019] Through this series of processes, the system can efficiently recommend optimal restaurants based on user preferences and local information, allowing travelers to enjoy a high-quality dining experience.

[1020] The processing flow will be explained below.

[1021] Step 1:

[1022] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[1023] Step 2:

[1024] The terminal converts the user's input conditions into JSON format.

[1025] Step 3:

[1026] The terminal sends the converted JSON data to the server as an HTTP POST request.

[1027] Step 4:

[1028] The server receives the HTTP request and parses the JSON data.

[1029] Step 5:

[1030] The server generates a database query based on the parsed conditions.

[1031] Step 6:

[1032] The server executes the generated query and retrieves the relevant restaurant information from the database.

[1033] Step 7:

[1034] The restaurant information acquired by the server is input into a recommendation algorithm and evaluated.

[1035] Step 8:

[1036] The server ranks the restaurants based on the evaluation results.

[1037] Step 9:

[1038] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[1039] Step 10:

[1040] The device parses the JSON data received from the server.

[1041] Step 11:

[1042] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[1043] Step 12:

[1044] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[1045] Step 13:

[1046] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[1047] Step 14:

[1048] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[1049] Step 15:

[1050] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[1051] Step 16:

[1052] The server receives the feedback and stores it in a database.

[1053] Step 17:

[1054] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1055] Example 1

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

[1057] Conventional systems rely on simple data filtering when users search for the best restaurant at their travel destination, making it difficult to provide optimal restaurants that are tailored to the user's detailed preferences and current situation. Furthermore, they lack a mechanism for efficiently collecting user feedback and using it to improve the system's recommendation accuracy. This makes it difficult to provide travelers with a satisfying dining experience.

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

[1059] In this invention, the server includes means for receiving restaurant-related conditions from a user, means for converting the conditions into JSON format and sending the JSON format to the server, means for generating a database query based on the JSON format conditions, means for acquiring restaurant information based on the query, means for inputting the acquired restaurant information into a recommendation algorithm and rating and ranking it, means for generating the rating results in JSON format and sending them to a terminal, means for displaying the rating results on a user interface by the terminal, means for collecting feedback from the user, means for converting the feedback into JSON format and sending it to the server, and means for updating the recommendation algorithm based on the feedback. This makes it possible to efficiently recommend optimal restaurants that are suited to the user's detailed preferences and current situation, and to further improve accuracy based on the feedback.

[1060] "Conditions regarding restaurants from the user" refers to selection criteria such as the genre, price range, rating, location, etc. of the restaurant entered by the user.

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

[1062] "Server" refers to a computer system that receives requests over a network and provides the necessary data processing or services.

[1063] "Database query" refers to a statement used to retrieve specific information from a database.

[1064] "Recommendation algorithm" refers to the calculation procedure for selecting the most suitable restaurant based on the user's criteria and then rating and ranking the results.

[1065] "Evaluation and ranking" refers to scoring the acquired restaurant information based on the user's criteria and determining the priority according to the score.

[1066] A "terminal" is a device on which a user runs an application, such as a smartphone or PC.

[1067] "User interface" refers to the screens and input forms that users use on their devices.

[1068] "Feedback" refers to the opinions and impressions provided by users after using a restaurant.

[1069] A "big data analytics engine" refers to a software tool for analyzing large amounts of data and extracting useful information.

[1070] The present invention is a system for users to search for the best restaurant at their travel destination, and is realized through cooperation between users, terminals, and servers.

[1071] Hardware and software used

[1072] The system uses the following hardware and software:

[1073] User device: smartphone or PC

[1074] server

[1075] Database: A database (e.g., MySQL) for storing restaurant information

[1076] Recommendation Algorithm

[1077] User Interface: Application or Web Browser

[1078] Specific operation of the system

[1079] Condition input from the user

[1080] Users launch the application using a smartphone or PC and enter criteria for restaurants (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating 4 or higher, within a 15-minute walk from a tourist spot." Based on this information, the process of searching for the most suitable restaurant begins.

[1081] Submitting a Request

[1082] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP request, generating the following JSON data:

[1083] json

[1084] {

[1085] "Genre": "Japanese cuisine",

[1086] "Price range": "Under 3000 yen",

[1087] "Rating": "4 or above",

[1088] "Location": "Within 15 minutes' walk from tourist attractions"

[1089] }

[1090] Generating and Executing Database Queries

[1091] The server parses the received JSON data and generates a SQL query based on the conditions, for example, the following SQL query:

[1092] sql

[1093] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[1094] The generated SQL query is executed to retrieve the relevant restaurant information from the database.

[1095] Restaurant information rating and ranking

[1096] The server inputs the acquired restaurant information into a recommendation algorithm. This recommendation algorithm evaluates and scores each restaurant based on how well it meets the user's criteria. Based on the evaluation results, restaurants are ranked and an optimal restaurant list is generated.

[1097] Presentation of recommendation results

[1098] The server generates a list of the best restaurants in JSON format and sends it to the device. For example, it generates the following JSON data:

[1099] json

[1100] {

[1101] "restaurants": [

[1102] {

[1103] "Name": "Store A",

[1104] "Rating": 4.8,

[1105] "Price range": "Under 3000 yen",

[1106] "Location": "10 minutes walk from the tourist spot"

[1107] },

[1108] {

[1109] "Name": "Store B",

[1110] "Rating": 4.5,

[1111] "Price range": "Under 2500 yen",

[1112] "Location": "12 minutes walk from the tourist spot"

[1113] }

[1114] ]

[1115] }

[1116] The device analyzes the received JSON data and displays detailed information about the restaurant on the screen.

[1117] Gathering feedback and updating the algorithm

[1118] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts the user's feedback into JSON format and sends it to the server. The server stores the received feedback in a database and retrains the recommendation algorithm based on the collected feedback to improve accuracy.

[1119] Examples and prompts

[1120] For example, if a user specifies the following criteria: "Italian food, under 5,000 yen, rating 4.5 or higher, within a 10-minute walk from Shinjuku Station," the device will input the following prompt sentence into the generative AI model:

[1121] "Find restaurants serving Italian food, priced under 5,000 yen, with a rating of 4.5 or higher, and within a 10-minute walk from Shinjuku Station."

[1122] Based on this prompt, the system generates a list of the most suitable restaurants and presents the results to the user.

[1123] This invention aims to recommend the most suitable restaurants based on the user's detailed preferences and local conditions, and is designed to enable more accurate recommendations by improving the recommendation algorithm based on feedback.

[1124] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1125] Step 1: User launches application and enters criteria

[1126] The user starts up their smartphone or PC and enters their restaurant search criteria into the application's input form. For example, they might enter criteria such as "Japanese food, under 3,000 yen, a rating of 4 or higher, and within a 15-minute walk from a tourist spot." This registers the user's desired restaurant search criteria as specific data on the device.

[1127] input:

[1128] User's restaurant-related conditions (genre, price range, rating, location, etc.)

[1129] output:

[1130] Specific data for user conditions

[1131] Step 2: The device generates and sends a request

[1132] The terminal receives the conditions entered by the user and converts them into JSON format. For example, it generates the following JSON data:

[1133] json

[1134] {

[1135] "Genre": "Japanese cuisine",

[1136] "Price range": "Under 3000 yen",

[1137] "Rating": "4 or above",

[1138] "Location": "Within 15 minutes' walk from tourist attractions"

[1139] }

[1140] The generated JSON data is sent to the server as an HTTP request, which starts processing on the server side.

[1141] input:

[1142] Specific data for user conditions

[1143] output:

[1144] JSON format data

[1145] sent as an HTTP request to the server

[1146] Step 3: The server generates and executes the database query

[1147] The server parses the received JSON data and generates a SQL query based on the conditions. For example, the SQL query corresponding to the above conditions would be:

[1148] sql

[1149] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[1150] The server executes the generated SQL query and retrieves the relevant restaurant information from the database.

[1151] input:

[1152] Condition data in JSON format

[1153] output:

[1154] SQL Query

[1155] Restaurant information from the database

[1156] Step 4: The server rates and ranks the restaurant information

[1157] The server inputs the restaurant information retrieved from the database into a recommendation algorithm. This recommendation algorithm calculates a score based on the user's criteria and the restaurant information. As a result, each restaurant is evaluated and ranked in descending order of score to generate an optimal restaurant list.

[1158] input:

[1159] Restaurant information from the database

[1160] output:

[1161] Evaluation results

[1162] Best restaurant list (ranked)

[1163] Step 5: The server generates and sends the recommendations

[1164] The server converts the rated and ranked restaurant list into JSON format and sends it to the device. For example, the following JSON data is generated:

[1165] json

[1166] {

[1167] "restaurants": [

[1168] {

[1169] "Name": "Store A",

[1170] "Rating": 4.8,

[1171] "Price range": "Under 3000 yen",

[1172] "Location": "10 minutes walk from the tourist spot"

[1173] },

[1174] {

[1175] "Name": "Store B",

[1176] "Rating": 4.5,

[1177] "Price range": "Under 2500 yen",

[1178] "Location": "12 minutes walk from the tourist spot"

[1179] }

[1180] ]

[1181] }

[1182] This allows it to be displayed on the device.

[1183] input:

[1184] Best restaurant list

[1185] output:

[1186] Optimal restaurant list in JSON format

[1187] Send to the terminal as an HTTP response

[1188] Step 6: Your device will display the recommendations

[1189] The device analyzes the received JSON data and displays detailed restaurant information (such as name, rating, price range, and location information) on the user interface. For example, the screen might display "Store A: rating 4.8, price range under 3,000 yen, 10-minute walk" and "Store B: rating 4.5, price range under 2,500 yen, 12-minute walk." This allows the user to select specific options.

[1190] input:

[1191] Optimal restaurant list in JSON format

[1192] output:

[1193] Displaying recommendation results on the user interface

[1194] Step 7: User Provides Feedback

[1195] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1196] input:

[1197] User opinions and impressions after eating

[1198] output:

[1199] Feedback Data

[1200] Step 8: Device sends feedback

[1201] The device converts the feedback entered by the user into JSON format and sends it to the server. For example, it generates the following JSON data:

[1202] json

[1203] {

[1204] "Feedback": "The food at Restaurant A was delicious. I'd like to try Chinese food next time."

[1205] }

[1206] This data is sent to the server as an HTTP request.

[1207] input:

[1208] Feedback Data

[1209] output:

[1210] Feedback data in JSON format

[1211] sent as an HTTP request to the server

[1212] Step 9: The server receives the feedback and updates the algorithm

[1213] The server stores the received feedback in a database. The recommendation algorithm is periodically retrained based on the collected feedback to improve its accuracy. This improves the accuracy of restaurant recommendations from the next time onwards.

[1214] input:

[1215] Feedback data in JSON format

[1216] output:

[1217] Updated recommendation algorithm

[1218] Feedback Database

[1219] (Application example 1)

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

[1221] When traveling or in a new location, it is difficult for users to quickly and efficiently find food delivery services that meet their desired criteria. Conventional systems require users to spend a lot of time manually searching for restaurants and checking whether they meet their criteria. Furthermore, it is difficult to fully utilize user feedback to improve the recommendation algorithm, resulting in a lack of accuracy in future recommendations.

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

[1223] In this invention, the server includes a means for receiving restaurant-related conditions from a user, a means for generating a database query based on the conditions, and a means for retrieving restaurant information based on the query. This allows the user to complete an order with a system providing food delivery services after entering the conditions. The system also includes a means for evaluating and ranking the retrieved restaurant information, a means for presenting the evaluation results to the user, a means for collecting user feedback, and a means for updating the recommendation algorithm based on the feedback, making it possible to utilize user feedback to improve recommendation accuracy in the future.

[1224] The "means for receiving restaurant-related conditions from the user" is a system function that allows the user to input conditions such as the genre, price range, rating, and delivery area of ​​the restaurant they desire.

[1225] The "means for generating a database query" is a system function that automatically creates a query required to search for restaurant information based on conditions entered by the user.

[1226] The "means for obtaining restaurant information" is a system function that executes the generated database query and retrieves information about the relevant restaurant from the database.

[1227] The "means for evaluating and ranking acquired restaurant information" is a function of the system that analyzes the acquired restaurant information, evaluates and ranks each restaurant based on how well it meets the user's conditions.

[1228] The "means for presenting evaluation results to the user" is a system function that displays information about the evaluated restaurant on the user interface and suggests it to the user.

[1229] The "means for collecting feedback from users" is a function that allows users to input their experiences and opinions after actually using a restaurant and send them to the system.

[1230] "Means for updating the recommendation algorithm based on feedback" refers to the system's ability to use collected user feedback to retrain the recommendation algorithm to improve its accuracy.

[1231] "Means for a user to complete an order to a system that provides food delivery services after inputting conditions" refers to a system function that allows a user to select from recommended restaurants, place an order with the food delivery service, and complete the ordering process.

[1232] The present invention provides a system for users to search for the best restaurant, and will be described in detail below with reference to an embodiment that is specifically designed for a food delivery service. The system is implemented through the following steps: a server, a user terminal, and a recommendation algorithm.

[1233] System program configuration

[1234] 1. Condition input from user:

[1235] The user uses the device to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user might specify criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." The device then converts these criteria into JSON format and sends it to the server.

[1236] 2. Request processing on the server:

[1237] The server analyzes the conditions received from the device and automatically generates a corresponding SQL query. The query includes the genre, price range, rating, delivery area, and other information specified by the user. Based on the generated query, the server retrieves relevant restaurant information from the database. The server uses AWS (Amazon Web Services) and PostgreSQL for database management.

[1238] 3. Restaurant information rating and ranking:

[1239] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is calculated based on how well the restaurant matches the user's input criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Restaurants are ranked based on the evaluation results, and an optimal restaurant list is generated.

[1240] 4. Presenting the recommendation results:

[1241] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and location information) on the user interface. The user selects the restaurant they want from the list and completes their order with the food delivery service.

[1242] 5. Gathering feedback and updating the algorithm:

[1243] After the user receives the ordered meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts this feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1244] Specific examples

[1245] If a user wants to order Japanese food in their current location, they can input their requirements into the system using the following prompt sentence:

[1246] "I'm looking for Japanese food. My budget is under 3000 yen, and the place has a rating of 4 or higher. Can you tell me a restaurant within 15 minutes of my current location?"

[1247] This system allows users to easily select the food delivery service that best suits their needs and enjoy a high-quality dining experience.

[1248] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1249] Step 1:

[1250] The user uses a device (such as a smartphone) to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user can set criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." This input data is converted to JSON format on the device. Input: Criteria entered by the user. Output: JSON format data.

[1251] Step 2:

[1252] The terminal converts the user's conditions into JSON format and sends them to the server as an HTTP request. The server analyzes the received request and extracts the necessary information. Input: JSON format request. Output: Analyzed condition data.

[1253] Step 3:

[1254] The server automatically generates a corresponding SQL query based on the conditions entered by the user. The query includes the genre, price range, rating, delivery area, etc. specified by the user. The generated SQL query is used to retrieve the relevant restaurant information from the database. Input: Parsed condition data. Output: SQL query.

[1255] Step 4:

[1256] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved restaurant information includes the name, rating, price range, location, etc. Input: SQL query. Output: Restaurant information data.

[1257] Step 5:

[1258] The server inputs the acquired restaurant information into a recommendation algorithm and rates each restaurant. The rating is calculated based on how well the restaurant matches the user's criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Input: Restaurant information data. Output: Restaurant list with ratings.

[1259] Step 6:

[1260] The server ranks restaurants based on the rating results and generates a list of optimal restaurants. This list is generated in JSON format and sent to the terminal. Input: List of restaurants with ratings. Output: List of optimal restaurants in JSON format.

[1261] Step 7:

[1262] The device analyzes the received list of optimal restaurants and displays it on the user interface. The user can then select the restaurant of their choice and complete the order with the food delivery service. Input: A list of optimal restaurants in JSON format. Output: Recommendation results displayed on the user interface.

[1263] Step 8:

[1264] After the user receives the ordered meal, the terminal displays a feedback form and allows the user to enter their opinions and impressions. For example, the user can enter feedback such as "The food was delicious. I'd like to try Chinese food next time." Input: User feedback. Output: Feedback data in JSON format.

[1265] Step 9:

[1266] The device converts the user's feedback into JSON format and sends it to the server. The server parses the received feedback and stores it in a database. Input: Feedback data in JSON format. Output: Parsed feedback data.

[1267] Step 10:

[1268] The server periodically retrains the recommendation algorithm based on the collected feedback, improving its accuracy. This improves the accuracy of future recommendations. Input: Parsed feedback data. Output: Updated recommendation algorithm.

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

[1270] The present invention is a system for users to search for the best restaurants at their travel destinations, and by combining it with an emotion engine, it is possible to make recommendations that take into account the user's emotional state. This system is implemented through the following steps.

[1271] This system includes a device used by the user, a server that performs processing, an emotion engine that acquires and analyzes information from the user, and an algorithm that recommends the most suitable restaurant based on the user's conditions and emotional state.

[1272] Condition input from the user and emotion recognition

[1273] Users launch the app on their smartphone or PC and enter restaurant search criteria (such as genre, price range, rating, and location). At this time, the emotion engine analyzes the user's facial expression, tone of voice, and text input to recognize the user's emotional state. For example, if the engine recognizes that the user is "a little tired," that information is added to the search criteria.

[1274] Submitting a Request

[1275] The device converts the conditions entered by the user and the emotional information recognized by the emotion engine into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[1276] Generating and Executing Database Queries

[1277] The server generates an SQL query based on the received conditions and emotion information, and retrieves the corresponding restaurant information from the database, including genre, price, rating, location, and correction conditions based on the emotional state.

[1278] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple" and the emotion engine recognizes "fatigue," the server will extract information from the database about restaurants that fit this criteria but also offer a more relaxing environment.

[1279] Restaurant information rating and ranking

[1280] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it. The evaluation is based on how well it matches the user's criteria and emotional state. The higher the evaluation, the closer the restaurant is to the user's preferences.

[1281] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[1282] Presentation of recommendation results

[1283] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response. The terminal analyzes the received results and presents detailed information about the restaurants (such as names, ratings, price ranges, and location information) to the user on the user interface.

[1284] Gathering feedback and updating the algorithm

[1285] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1286] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve recommendation accuracy.

[1287] This series of processes allows us to efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling the user to enjoy a high-quality dining experience while traveling.

[1288] The processing flow will be explained below.

[1289] Step 1:

[1290] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[1291] Step 2:

[1292] The emotion engine uses the user's facial recognition camera and microphone to analyze facial expressions and tone of voice, for example, to determine whether the user is smiling or tired.

[1293] Step 3:

[1294] The device converts the user's input conditions and the emotional state information analyzed by the emotion engine into JSON format.

[1295] Step 4:

[1296] The device sends the converted JSON data to the server as an HTTP POST request.

[1297] Step 5:

[1298] The server receives the HTTP request and parses the JSON data.

[1299] Step 6:

[1300] The server generates a database query based on the analyzed conditions and emotional information. For example, it generates a query with the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple, relaxing environment."

[1301] Step 7:

[1302] The server executes the generated query and retrieves the relevant restaurant information from the database.

[1303] Step 8:

[1304] The server inputs the restaurant information it has acquired into a recommendation algorithm and evaluates it based on how well it matches the user's criteria and emotional state.

[1305] Step 9:

[1306] The server ranks the restaurants based on the rating results, for example, by arranging the restaurants with the highest ratings first, and generates an optimal restaurant list.

[1307] Step 10:

[1308] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[1309] Step 11:

[1310] The device parses the JSON data received from the server.

[1311] Step 12:

[1312] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[1313] Step 13:

[1314] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[1315] Step 14:

[1316] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[1317] Step 15:

[1318] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[1319] Step 16:

[1320] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[1321] Step 17:

[1322] The server receives the feedback and stores it in a database.

[1323] Step 18:

[1324] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1325] Example 2

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

[1327] Conventional restaurant recommendation systems typically make recommendations based on user input criteria, but do not consider the user's emotional state. This can result in discrepancies between the restaurants recommended and the user's actual preferences. Furthermore, algorithms that utilize user feedback are not updated efficiently, making it difficult to improve recommendation accuracy. To address these issues, the present invention aims to provide a system for recommending optimal restaurants that considers the user's emotional state.

[1328] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing conditions input from the user and emotions, a means for generating and executing a database query, and a means for evaluating and ranking restaurant information. This enables recommendations that take into account the conditions input by the user and their emotional state at the time. In addition, by providing a means for collecting user feedback and updating the recommendation algorithm based on that feedback, recommendation accuracy can be improved.

[1329] Definitions of important words

[1330] "User" refers to an individual who uses the system to receive restaurant recommendations.

[1331] "Conditions related to the restaurant" refer to the characteristics of the restaurant specified by the user, such as genre, price range, rating, location, etc.

[1332] "Emotional state" refers to the user's mental and emotional state as recognized from the user's facial expression, tone of voice, text input, etc.

[1333] An "emotion engine" refers to software or algorithms used to analyze a user's emotional state.

[1334] A "database query" refers to a query statement used to retrieve specific information from a database.

[1335] "Recommendation algorithm" refers to a computational method for evaluating acquired restaurant information and selecting the most suitable restaurant based on the user's conditions and emotional state.

[1336] "Feedback" refers to opinions and impressions about restaurants that users have actually visited.

[1337] "Algorithm update" refers to the process of retraining recommendation algorithms based on collected feedback data to improve recommendation accuracy.

[1338] A "big data analysis engine" refers to software or algorithms for analyzing large amounts of data.

[1339] "User interface" refers to the screen and operating environment that allows a user to interact with a system.

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

[1341] A "server" refers to a computer system that processes and stores data, executes queries, etc.

[1342] "Terminal" refers to a device used by a user, such as a smartphone or PC.

[1343] MODE FOR CARRYING OUT THE INVENTION

[1344] The present invention is a system for users to search for the best restaurant at their travel destination, and is characterized by making recommendations taking into account the user's emotional state. This system includes a terminal used by the user, a server that processes data, an emotion engine that analyzes user information, and an algorithm that recommends the best restaurant based on the user's conditions and emotional state.

[1345] Hardware and software used

[1346] Device: The device used by the user, such as a smartphone, tablet, or computer

[1347] Server: Cloud server or dedicated server

[1348] Emotion engine: Software for analyzing the user's facial expressions, voice, and text input

[1349] Database: A relational database that stores restaurant information

[1350] Recommendation algorithm: An algorithm for rating and ranking restaurant information based on the user's criteria and emotional state

[1351] Big data analysis engine: Software that analyzes large amounts of data to recommend the best restaurants

[1352] Processing Overview

[1353] First, the user launches the app on their device and inputs restaurant-related criteria (such as genre, price range, rating, and location). The device then activates an emotion engine based on this input information, analyzing the user's facial expression, tone of voice, and text input to recognize their emotional state. The recognized emotional state, such as "I'm a little tired," is then added to the criteria.

[1354] The device converts the user's input conditions and the recognized emotional state information into JSON format and sends it as an HTTP request to the server. The server then generates an SQL query based on the received information and retrieves the corresponding restaurant information from the database.

[1355] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it based on the user's criteria and emotional state. Based on this evaluation, the restaurants are ranked and a list of optimal restaurants is generated. The generated list is sent to the device in JSON format, and detailed restaurant information (such as name, rating, price range, and location) is displayed on the user interface.

[1356] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, feedback such as "The food at Restaurant A was delicious. I'd like to try Chinese food next time" is collected. The device converts the collected feedback into JSON format and sends it to the server as an HTTP POST request. The server stores the received feedback in a database and periodically retrains the recommendation algorithm.

[1357] Specific examples

[1358] Let's say a user inputs the criteria "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple," and the emotion engine recognizes "fatigue" from the user's facial expression. Based on this, the server searches the database for restaurants that offer a "relaxing environment," and evaluates and ranks the most suitable restaurant information using a recommendation algorithm. The evaluation and ranking results are displayed to the user, who can then select a restaurant based on that information.

[1359] Prompt Sentence Examples

[1360] I'm thinking of a system to help users find the best restaurants to eat at a travel destination. This system needs to recognize the user's emotional state and recommend restaurants based on that. Please explain how to incorporate the user's criteria (such as genre, price range, rating, location, etc.) and emotional state to recommend the best restaurants. Please provide a series of steps with concrete examples.

[1361] As a result, a system is constructed that can efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling users to enjoy high-quality dining experiences while traveling.

[1362] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1363] Program processing steps

[1364] Step 1: User input

[1365] Input: The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[1366] Specific operation: The user inputs conditions such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple." The device temporarily stores this input data in its internal memory.

[1367] Output: Conditional input data is saved in the internal memory.

[1368] Step 2: Emotion Recognition

[1369] Input: While the user is entering restaurant requirements, the device captures the user's facial expression, tone of voice, and text input.

[1370] Specific operation: The device activates the emotion engine and analyzes the user's facial expressions and tone of voice. For example, it captures facial expressions and voice in real time using the user's camera and microphone and analyzes them.

[1371] Output: The emotion engine recognizes the user's emotional state and outputs a result such as "I'm a little tired."

[1372] Step 3: Format and send the data

[1373] Input: User condition input data and emotional state recognized by the emotion engine

[1374] Specific operation: The device converts this information into JSON format, specifically formatting the data as follows: {"Conditions": {"Genre": "Japanese cuisine", "Price range": "Under 3000 yen", "Rating": "4 or higher", "Location": "Within 15 minutes' walk from Kiyomizu-dera Temple"}, "Emotional state": "Tired"}.

[1375] Output: JSON format data

[1376] Next action: The device sends this JSON data to the server as an HTTP request.

[1377] Step 4: Data reception and analysis by the server

[1378] Input: JSON data sent from the terminal

[1379] Specific operation: The server receives the HTTP request and parses the JSON data to extract the user's condition and emotional state.

[1380] Output: Analyzed condition and emotion information

[1381] Step 5: Generate and execute database queries

[1382] Input: Parsed condition and emotion information

[1383] Specific operation: The server generates an SQL query based on this data, such as "SELECT FROM restaurant WHERE genre = 'Japanese cuisine' AND price <= 3000 AND rating >= 4 AND distance <= 15 AND environment = 'relaxing'".

[1384] Output: Generated SQL query

[1385] Next action: The server executes this SQL query against the database to retrieve the relevant restaurant information.

[1386] Step 6: Evaluate and rank restaurant information

[1387] Input: Restaurant information retrieved from the database

[1388] Specific operation: The server inputs the acquired restaurant information into the recommendation algorithm and evaluates it based on the user's conditions and emotional state. For example, the algorithm may use "a relaxing environment" as an evaluation point.

[1389] Output: Evaluation results

[1390] Next operation: The server ranks the restaurants based on the evaluation results and generates an optimal restaurant list.

[1391] Step 7: Presenting the Recommendations

[1392] Input: Best restaurant list

[1393] Specific operation: The server formats this in JSON format and sends it to the device as an HTTP response. The device analyzes the received data and displays it in the user interface.

[1394] Output: Details displayed in the user interface (e.g., name, rating, price range, location)

[1395] Step 8: Collect and send feedback

[1396] Input: User feedback

[1397] Specific operation: After eating, the user enters their opinions and impressions into a feedback form on the device. For example, they might enter, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1398] Output: Collected feedback data

[1399] Next: The device converts the feedback into JSON format and sends it to the server as an HTTP POST request.

[1400] Step 9: Update the algorithm based on feedback

[1401] Input: Collected feedback data

[1402] How it works: The server stores the received feedback in a database and periodically retrains the recommendation algorithm, improving the accuracy of future recommendations.

[1403] Output: Updated recommendation algorithm

[1404] Through the above processing steps, users can efficiently search for and receive recommendations for the best restaurants while traveling, enabling them to enjoy a high-quality dining experience.

[1405] (Application example 2)

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

[1407] Conventional restaurant recommendation systems make recommendations based only on static criteria without considering the user's emotional state, making it difficult to recommend restaurants that best suit the user's current mood and state. Furthermore, they lack a mechanism for fully utilizing feedback provided by users to improve the accuracy of recommendation algorithms. This issue is particularly serious for food delivery services, where it is important to provide the optimal meal based on the user's mood and state.

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

[1409] In this invention, the server includes means for analyzing restaurant-related conditions from a user and the user's emotional state based on an emotion engine, means for generating a database query based on the conditions and emotional state, means for acquiring restaurant information based on the query, means for evaluating and ranking the acquired restaurant information, means for presenting the evaluation results to the user, means for collecting feedback from the user, means for updating the recommendation algorithm based on the feedback, means for converting the user's input and emotional data into JSON format and transmitting it to the server, and means for analyzing the response from the server and displaying it on a user interface. This enables optimal restaurant recommendations based on the user's emotional state, significantly improving the accuracy and satisfaction of food delivery services.

[1410] "User's requirements for restaurants" are desired items such as type of cuisine, budget, rating, location, etc. input by the user.

[1411] An "emotion engine" is a technology that detects a user's emotional state through facial expression recognition and voice tone analysis.

[1412] A "database query" is a query statement used to extract information from a database based on specific conditions.

[1413] "Restaurant information" is detailed information such as the name, rating, price, and location of the restaurant.

[1414] The "means for evaluating and ranking" is a process of scoring restaurants based on the acquired restaurant information and assigning priorities to them.

[1415] The "means for presenting to the user" refers to a method for displaying the recommendation results obtained from the server on the user's terminal.

[1416] The means for collecting "feedback" is a process for collecting opinions and impressions from users.

[1417] A "recommendation algorithm" is an algorithm that selects the most suitable restaurant based on the user's input conditions and emotional state.

[1418] A "big data analysis engine" is a technology that analyzes large amounts of data and extracts useful information.

[1419] "JSON format" stands for JavaScript Object Notation and is a lightweight text format for exchanging data.

[1420] "Means for transmitting to the server" refers to a method for transmitting data from the user terminal to the server.

[1421] A "response from a server" is response data that a server returns in response to a request.

[1422] A "user interface" is a screen or interaction area that a user can directly operate.

[1423] System Program

[1424] The system is designed to help users receive the optimal food delivery service based on their current emotional state and desired conditions. The system consists of the following main components:

[1425] User Input and Sentiment Analysis

[1426] Users input criteria such as restaurant type, budget, rating, and location through a smartphone app. In addition, an emotion engine analyzes the user's facial expressions and tone of voice to detect their current emotional state. This emotion analysis uses technologies such as Amazon Rekognition and Google Cloud Vision.

[1427] Sending and Receiving Data

[1428] The user's input and emotional data are converted into JSON format and sent to the server, which then analyzes it and generates a database query based on the user's emotional state and conditions. This query then retrieves the relevant restaurant information from the database.

[1429] Recommendation Algorithms and Ranking

[1430] The server runs a recommendation algorithm based on the acquired restaurant information to evaluate and rank the most suitable restaurants. This recommendation algorithm is continuously updated using a big data analysis engine to reflect the user's emotional state.

[1431] Presentation of recommendation results

[1432] The recommendation results generated by the server are returned to the user's smartphone in JSON format, which the smartphone app parses and displays in its user interface.

[1433] Feedback collection and algorithm updates

[1434] After the user visits a recommended restaurant, the application displays a feedback form. This feedback contains the user's impressions and opinions and is sent to the server in JSON format. The server collects this feedback and uses it to improve the accuracy of the recommendation algorithm.

[1435] Specific examples of hardware and software use

[1436] For the overall system to operate efficiently, the following hardware and software is used:

[1437] Smartphone: A device that acquires user input and sentiment analysis data and communicates with the server.

[1438] Emotion engine: Technology for analyzing the user's emotional state (e.g., Amazon Rekognition, Google Cloud Vision).

[1439] Server: A central processing unit that receives user input and emotion data and generates queries against a database, including a database management system (e.g., MySQL, PostgreSQL).

[1440] Big data analysis engine: Technology for analyzing large amounts of data and continuously updating recommendation algorithms (e.g., Apache Hadoop, Apache Spark).

[1441] Specific examples

[1442] For example, suppose a user uses a smartphone app to input the following criteria: "Italian food, budget under 2,000 yen, rating of 4 or higher, location in Tokyo," and the emotion engine analyzes the user's emotional state as "happy." This data is sent to the server, which evaluates and ranks the restaurants based on the most suitable information. The recommendation results from the server are returned to the user's smartphone and presented to the user as a list of the most suitable restaurants.

[1443] Prompt Sentence Examples

[1444] "The user input criteria were 'Italian, under 2000 yen, with a rating of 4 or higher, in Tokyo'. The emotion engine recognized the user as 'happy'. Based on this, please recommend the most suitable restaurant. Please also output the reason for the recommendation."

[1445] This system allows users to receive the optimal food delivery service based on their current emotional state and desired conditions, thereby improving user satisfaction and the service experience.

[1446] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1447] Step 1:

[1448] The user launches the smartphone app and inputs restaurant-related criteria (such as genre, budget, rating, and location). The user sets specific criteria such as "Italian food, budget under 2,000 yen, rating 4 or higher, location in Tokyo." The input data is stored in the application as text data.

[1449] Step 2:

[1450] The device uses an emotion engine to analyze the user's emotional state. For example, the device's camera captures the user's facial expression, and software such as Amazon Rekognition or Google Cloud Vision recognizes emotions such as "happiness." The analyzed emotion data is stored in the application as text data.

[1451] Step 3:

[1452] The device converts the user's input conditions and emotion data into JSON format and sends it to the server. Specifically, it combines the input conditions and emotion data into a single JSON object and sends it to the server as an HTTP POST request. The input data will be in the following format: "cuisine": "italian", "budget": 2000, "rating": 4.0, "location": "Tokyo", "emotion": "happy".

[1453] Step 4:

[1454] The server analyzes the received JSON data and generates a database query. Inside the server, a database management system (e.g., MySQL, PostgreSQL) is used to generate an SQL query to retrieve restaurant information that matches the user's input criteria and emotion data. For example, a query like "SELECT FROM restaurants WHERE cuisine='italian' AND budget <= 2000 AND rating >= 4.0 AND location='Tokyo' AND environment LIKE '%relaxing%'" is generated.

[1455] Step 5:

[1456] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved data is returned to the server as table data by the database management system. It contains detailed information such as the name, rating, price, location, and environment of each restaurant.

[1457] Step 6:

[1458] Based on the restaurant information acquired by the server, a recommendation algorithm is used to evaluate and rank restaurants. A big data analysis engine (e.g., Apache Hadoop, Apache Spark) is used internally on the server to give high rankings to restaurants that best fit the user's criteria and emotional data. This generates a list of restaurants with an evaluation score.

[1459] Step 7:

[1460] The server converts the recommendation results into JSON format and sends it to the user's device as an HTTP response. The generated recommendation results will be in the format "restaurants": [{"name": "Restaurant A", "rating": 4.5, "price": 1800, "location": "Tokyo", "comment": "relaxing atmosphere"}, ...]".

[1461] Step 8:

[1462] The terminal analyzes the recommendation results received from the server and displays them on the user interface. The user can then check detailed information about the recommended restaurants through the application and place an order at the selected restaurant.

[1463] Step 9:

[1464] After the user visits a recommended restaurant and enjoys a meal, the application displays a feedback form. The user enters their opinions and impressions about the restaurant's food and service. This feedback data is saved in the application as text data.

[1465] Step 10:

[1466] The feedback data collected by the device is converted to JSON format and sent to the server. The feedback data sent to the server as an HTTP POST request is specific, such as "restaurant": "Restaurant A", "feedback": "The food was delicious. I'd like to try a different genre next time."

[1467] Step 11:

[1468] The server retrains the recommendation algorithm based on the received feedback data to improve recommendation accuracy. The server analyzes the collected feedback data and updates the algorithm using a big data analysis engine. This enables recommendations that better match the user's preferences and emotional state.

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

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

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

[1472] [Fourth embodiment]

[1473] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1486] The present invention is a system for allowing users to search for the best restaurant at their travel destination, and is implemented through the following steps.

[1487] The system includes a terminal used by the user, a server that performs processing, and an algorithm that recommends the best restaurants based on the information provided by the user.

[1488] Condition input from the user

[1489] Users start the application on their smartphone or PC and input restaurant-related criteria (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating of 4 or higher, within a 15-minute walk from a tourist spot."

[1490] Submitting a Request

[1491] The terminal converts the conditions entered by the user into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[1492] Generating and Executing Database Queries

[1493] The server generates an SQL query based on the received criteria and retrieves relevant restaurant information from the database, including criteria such as genre, price, rating, and location.

[1494] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple," the server will extract information about restaurants that meet these criteria from the database.

[1495] Restaurant information rating and ranking

[1496] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is based on how well it matches the user's criteria. The higher the evaluation, the closer the restaurant is to the user's preferences.

[1497] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[1498] Presentation of recommendation results

[1499] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and locations) on the user interface.

[1500] Gathering feedback and updating the algorithm

[1501] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1502] The device converts user feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1503] Through this series of processes, the system can efficiently recommend optimal restaurants based on user preferences and local information, allowing travelers to enjoy a high-quality dining experience.

[1504] The processing flow will be explained below.

[1505] Step 1:

[1506] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[1507] Step 2:

[1508] The terminal converts the user's input conditions into JSON format.

[1509] Step 3:

[1510] The terminal sends the converted JSON data to the server as an HTTP POST request.

[1511] Step 4:

[1512] The server receives the HTTP request and parses the JSON data.

[1513] Step 5:

[1514] The server generates a database query based on the parsed conditions.

[1515] Step 6:

[1516] The server executes the generated query and retrieves the relevant restaurant information from the database.

[1517] Step 7:

[1518] The restaurant information acquired by the server is input into a recommendation algorithm and evaluated.

[1519] Step 8:

[1520] The server ranks the restaurants based on the evaluation results.

[1521] Step 9:

[1522] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[1523] Step 10:

[1524] The device parses the JSON data received from the server.

[1525] Step 11:

[1526] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[1527] Step 12:

[1528] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[1529] Step 13:

[1530] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[1531] Step 14:

[1532] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[1533] Step 15:

[1534] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[1535] Step 16:

[1536] The server receives the feedback and stores it in a database.

[1537] Step 17:

[1538] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1539] Example 1

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

[1541] Conventional systems rely on simple data filtering when users search for the best restaurant at their travel destination, making it difficult to provide optimal restaurants that are tailored to the user's detailed preferences and current situation. Furthermore, they lack a mechanism for efficiently collecting user feedback and using it to improve the system's recommendation accuracy. This makes it difficult to provide travelers with a satisfying dining experience.

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

[1543] In this invention, the server includes means for receiving restaurant-related conditions from a user, means for converting the conditions into JSON format and sending the JSON format to the server, means for generating a database query based on the JSON format conditions, means for acquiring restaurant information based on the query, means for inputting the acquired restaurant information into a recommendation algorithm and rating and ranking it, means for generating the rating results in JSON format and sending them to a terminal, means for displaying the rating results on a user interface by the terminal, means for collecting feedback from the user, means for converting the feedback into JSON format and sending it to the server, and means for updating the recommendation algorithm based on the feedback. This makes it possible to efficiently recommend optimal restaurants that are suited to the user's detailed preferences and current situation, and to further improve accuracy based on the feedback.

[1544] "Conditions regarding restaurants from the user" refers to selection criteria such as the genre, price range, rating, location, etc. of the restaurant entered by the user.

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

[1546] "Server" refers to a computer system that receives requests over a network and provides the necessary data processing or services.

[1547] "Database query" refers to a statement used to retrieve specific information from a database.

[1548] "Recommendation algorithm" refers to the calculation procedure for selecting the most suitable restaurant based on the user's criteria and then rating and ranking the results.

[1549] "Evaluation and ranking" refers to scoring the acquired restaurant information based on the user's criteria and determining the priority according to the score.

[1550] A "terminal" is a device on which a user runs an application, such as a smartphone or PC.

[1551] "User interface" refers to the screens and input forms that users use on their devices.

[1552] "Feedback" refers to the opinions and impressions provided by users after using a restaurant.

[1553] A "big data analytics engine" refers to a software tool for analyzing large amounts of data and extracting useful information.

[1554] The present invention is a system for users to search for the best restaurant at their travel destination, and is realized through cooperation between users, terminals, and servers.

[1555] Hardware and software used

[1556] The system uses the following hardware and software:

[1557] User device: smartphone or PC

[1558] server

[1559] Database: A database (e.g., MySQL) for storing restaurant information

[1560] Recommendation Algorithm

[1561] User Interface: Application or Web Browser

[1562] Specific operation of the system

[1563] Condition input from the user

[1564] Users launch the application using a smartphone or PC and enter criteria for restaurants (such as genre, price range, rating, and location). For example, they can specify criteria such as "Japanese cuisine, under 3,000 yen, rating 4 or higher, within a 15-minute walk from a tourist spot." Based on this information, the process of searching for the most suitable restaurant begins.

[1565] Submitting a Request

[1566] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP request, generating the following JSON data:

[1567] json

[1568] {

[1569] "Genre": "Japanese cuisine",

[1570] "Price range": "Under 3000 yen",

[1571] "Rating": "4 or above",

[1572] "Location": "Within 15 minutes' walk from tourist attractions"

[1573] }

[1574] Generating and Executing Database Queries

[1575] The server parses the received JSON data and generates a SQL query based on the conditions, for example, the following SQL query:

[1576] sql

[1577] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[1578] The generated SQL query is executed to retrieve the relevant restaurant information from the database.

[1579] Restaurant information rating and ranking

[1580] The server inputs the acquired restaurant information into a recommendation algorithm. This recommendation algorithm evaluates and scores each restaurant based on how well it meets the user's criteria. Based on the evaluation results, restaurants are ranked and an optimal restaurant list is generated.

[1581] Presentation of recommendation results

[1582] The server generates a list of the best restaurants in JSON format and sends it to the device. For example, it generates the following JSON data:

[1583] json

[1584] {

[1585] "restaurants": [

[1586] {

[1587] "Name": "Store A",

[1588] "Rating": 4.8,

[1589] "Price range": "Under 3000 yen",

[1590] "Location": "10 minutes walk from the tourist spot"

[1591] },

[1592] {

[1593] "Name": "Store B",

[1594] "Rating": 4.5,

[1595] "Price range": "Under 2500 yen",

[1596] "Location": "12 minutes walk from the tourist spot"

[1597] }

[1598] ]

[1599] }

[1600] The device analyzes the received JSON data and displays detailed information about the restaurant on the screen.

[1601] Gathering feedback and updating the algorithm

[1602] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts the user's feedback into JSON format and sends it to the server. The server stores the received feedback in a database and retrains the recommendation algorithm based on the collected feedback to improve accuracy.

[1603] Examples and prompts

[1604] For example, if a user specifies the following criteria: "Italian food, under 5,000 yen, rating 4.5 or higher, within a 10-minute walk from Shinjuku Station," the device will input the following prompt sentence into the generative AI model:

[1605] "Find restaurants serving Italian food, priced under 5,000 yen, with a rating of 4.5 or higher, and within a 10-minute walk from Shinjuku Station."

[1606] Based on this prompt, the system generates a list of the most suitable restaurants and presents the results to the user.

[1607] This invention aims to recommend the most suitable restaurants based on the user's detailed preferences and local conditions, and is designed to enable more accurate recommendations by improving the recommendation algorithm based on feedback.

[1608] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1609] Step 1: User launches application and enters criteria

[1610] The user starts up their smartphone or PC and enters their restaurant search criteria into the application's input form. For example, they might enter criteria such as "Japanese food, under 3,000 yen, a rating of 4 or higher, and within a 15-minute walk from a tourist spot." This registers the user's desired restaurant search criteria as specific data on the device.

[1611] input:

[1612] User's restaurant-related conditions (genre, price range, rating, location, etc.)

[1613] output:

[1614] Specific data for user conditions

[1615] Step 2: The device generates and sends a request

[1616] The terminal receives the conditions entered by the user and converts them into JSON format. For example, it generates the following JSON data:

[1617] json

[1618] {

[1619] "Genre": "Japanese cuisine",

[1620] "Price range": "Under 3000 yen",

[1621] "Rating": "4 or above",

[1622] "Location": "Within 15 minutes' walk from tourist attractions"

[1623] }

[1624] The generated JSON data is sent to the server as an HTTP request, which starts processing on the server side.

[1625] input:

[1626] Specific data for user conditions

[1627] output:

[1628] JSON format data

[1629] sent as an HTTP request to the server

[1630] Step 3: The server generates and executes the database query

[1631] The server parses the received JSON data and generates a SQL query based on the conditions. For example, the SQL query corresponding to the above conditions would be:

[1632] sql

[1633] SELECT FROM restaurants WHERE genre = 'Japanese' AND price <= 3000 AND rating >= 4 AND location <= '15 minutes walk from the tourist spot';

[1634] The server executes the generated SQL query and retrieves the relevant restaurant information from the database.

[1635] input:

[1636] Condition data in JSON format

[1637] output:

[1638] SQL Query

[1639] Restaurant information from the database

[1640] Step 4: The server rates and ranks the restaurant information

[1641] The server inputs the restaurant information retrieved from the database into a recommendation algorithm. This recommendation algorithm calculates a score based on the user's criteria and the restaurant information. As a result, each restaurant is evaluated and ranked in descending order of score to generate an optimal restaurant list.

[1642] input:

[1643] Restaurant information from the database

[1644] output:

[1645] Evaluation results

[1646] Best restaurant list (ranked)

[1647] Step 5: The server generates and sends the recommendations

[1648] The server converts the rated and ranked restaurant list into JSON format and sends it to the device. For example, the following JSON data is generated:

[1649] json

[1650] {

[1651] "restaurants": [

[1652] {

[1653] "Name": "Store A",

[1654] "Rating": 4.8,

[1655] "Price range": "Under 3000 yen",

[1656] "Location": "10 minutes walk from the tourist spot"

[1657] },

[1658] {

[1659] "Name": "Store B",

[1660] "Rating": 4.5,

[1661] "Price range": "Under 2500 yen",

[1662] "Location": "12 minutes walk from the tourist spot"

[1663] }

[1664] ]

[1665] }

[1666] This allows it to be displayed on the device.

[1667] input:

[1668] Best restaurant list

[1669] output:

[1670] Optimal restaurant list in JSON format

[1671] Send to the terminal as an HTTP response

[1672] Step 6: Your device will display the recommendations

[1673] The device analyzes the received JSON data and displays detailed restaurant information (such as name, rating, price range, and location information) on the user interface. For example, the screen might display "Store A: rating 4.8, price range under 3,000 yen, 10-minute walk" and "Store B: rating 4.5, price range under 2,500 yen, 12-minute walk." This allows the user to select specific options.

[1674] input:

[1675] Optimal restaurant list in JSON format

[1676] output:

[1677] Displaying recommendation results on the user interface

[1678] Step 7: User Provides Feedback

[1679] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1680] input:

[1681] User opinions and impressions after eating

[1682] output:

[1683] Feedback Data

[1684] Step 8: Device sends feedback

[1685] The device converts the feedback entered by the user into JSON format and sends it to the server. For example, it generates the following JSON data:

[1686] json

[1687] {

[1688] "Feedback": "The food at Restaurant A was delicious. I'd like to try Chinese food next time."

[1689] }

[1690] This data is sent to the server as an HTTP request.

[1691] input:

[1692] Feedback Data

[1693] output:

[1694] Feedback data in JSON format

[1695] sent as an HTTP request to the server

[1696] Step 9: The server receives the feedback and updates the algorithm

[1697] The server stores the received feedback in a database. The recommendation algorithm is periodically retrained based on the collected feedback to improve its accuracy. This improves the accuracy of restaurant recommendations from the next time onwards.

[1698] input:

[1699] Feedback data in JSON format

[1700] output:

[1701] Updated recommendation algorithm

[1702] Feedback Database

[1703] (Application example 1)

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

[1705] When traveling or in a new location, it is difficult for users to quickly and efficiently find food delivery services that meet their desired criteria. Conventional systems require users to spend a lot of time manually searching for restaurants and checking whether they meet their criteria. Furthermore, it is difficult to fully utilize user feedback to improve the recommendation algorithm, resulting in a lack of accuracy in future recommendations.

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

[1707] In this invention, the server includes a means for receiving restaurant-related conditions from a user, a means for generating a database query based on the conditions, and a means for retrieving restaurant information based on the query. This allows the user to complete an order with a system providing food delivery services after entering the conditions. The system also includes a means for evaluating and ranking the retrieved restaurant information, a means for presenting the evaluation results to the user, a means for collecting user feedback, and a means for updating the recommendation algorithm based on the feedback, making it possible to utilize user feedback to improve recommendation accuracy in the future.

[1708] The "means for receiving restaurant-related conditions from the user" is a system function that allows the user to input conditions such as the genre, price range, rating, and delivery area of ​​the restaurant they desire.

[1709] The "means for generating a database query" is a system function that automatically creates a query required to search for restaurant information based on conditions entered by the user.

[1710] The "means for obtaining restaurant information" is a system function that executes the generated database query and retrieves information about the relevant restaurant from the database.

[1711] The "means for evaluating and ranking acquired restaurant information" is a function of the system that analyzes the acquired restaurant information, evaluates and ranks each restaurant based on how well it meets the user's conditions.

[1712] The "means for presenting evaluation results to the user" is a system function that displays information about the evaluated restaurant on the user interface and suggests it to the user.

[1713] The "means for collecting feedback from users" is a function that allows users to input their experiences and opinions after actually using a restaurant and send them to the system.

[1714] "Means for updating the recommendation algorithm based on feedback" refers to the system's ability to use collected user feedback to retrain the recommendation algorithm to improve its accuracy.

[1715] "Means for a user to complete an order to a system that provides food delivery services after inputting conditions" refers to a system function that allows a user to select from recommended restaurants, place an order with the food delivery service, and complete the ordering process.

[1716] The present invention provides a system for users to search for the best restaurant, and will be described in detail below with reference to an embodiment that is specifically designed for a food delivery service. The system is implemented through the following steps: a server, a user terminal, and a recommendation algorithm.

[1717] System program configuration

[1718] 1. Condition input from user:

[1719] The user uses the device to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user might specify criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." The device then converts these criteria into JSON format and sends it to the server.

[1720] 2. Request processing on the server:

[1721] The server analyzes the conditions received from the device and automatically generates a corresponding SQL query. The query includes the genre, price range, rating, delivery area, and other information specified by the user. Based on the generated query, the server retrieves relevant restaurant information from the database. The server uses AWS (Amazon Web Services) and PostgreSQL for database management.

[1722] 3. Restaurant information rating and ranking:

[1723] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates each restaurant. This evaluation is calculated based on how well the restaurant matches the user's input criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Restaurants are ranked based on the evaluation results, and an optimal restaurant list is generated.

[1724] 4. Presenting the recommendation results:

[1725] The server generates a list of optimal restaurants in JSON format and sends it to the device. The device analyzes the results and displays detailed information about the restaurants (such as their names, ratings, price ranges, and location information) on the user interface. The user selects the restaurant they want from the list and completes their order with the food delivery service.

[1726] 5. Gathering feedback and updating the algorithm:

[1727] After the user receives the ordered meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. I'd like to try Chinese food next time." The device converts this feedback into JSON format and sends it to the server. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1728] Specific examples

[1729] If a user wants to order Japanese food in their current location, they can input their requirements into the system using the following prompt sentence:

[1730] "I'm looking for Japanese food. My budget is under 3000 yen, and the place has a rating of 4 or higher. Can you tell me a restaurant within 15 minutes of my current location?"

[1731] This system allows users to easily select the food delivery service that best suits their needs and enjoy a high-quality dining experience.

[1732] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1733] Step 1:

[1734] The user uses a device (such as a smartphone) to input restaurant-related criteria (such as genre, price range, rating, and delivery area). For example, the user can set criteria such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes of the current location." This input data is converted to JSON format on the device. Input: Criteria entered by the user. Output: JSON format data.

[1735] Step 2:

[1736] The terminal converts the user's conditions into JSON format and sends them to the server as an HTTP request. The server analyzes the received request and extracts the necessary information. Input: JSON format request. Output: Analyzed condition data.

[1737] Step 3:

[1738] The server automatically generates a corresponding SQL query based on the conditions entered by the user. The query includes the genre, price range, rating, delivery area, etc. specified by the user. The generated SQL query is used to retrieve the relevant restaurant information from the database. Input: Parsed condition data. Output: SQL query.

[1739] Step 4:

[1740] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved restaurant information includes the name, rating, price range, location, etc. Input: SQL query. Output: Restaurant information data.

[1741] Step 5:

[1742] The server inputs the acquired restaurant information into a recommendation algorithm and rates each restaurant. The rating is calculated based on how well the restaurant matches the user's criteria. The algorithm is implemented using a machine learning library (e.g., scikit-learn or TensorFlow). Input: Restaurant information data. Output: Restaurant list with ratings.

[1743] Step 6:

[1744] The server ranks restaurants based on the rating results and generates a list of optimal restaurants. This list is generated in JSON format and sent to the terminal. Input: List of restaurants with ratings. Output: List of optimal restaurants in JSON format.

[1745] Step 7:

[1746] The device analyzes the received list of optimal restaurants and displays it on the user interface. The user can then select the restaurant of their choice and complete the order with the food delivery service. Input: A list of optimal restaurants in JSON format. Output: Recommendation results displayed on the user interface.

[1747] Step 8:

[1748] After the user receives the ordered meal, the terminal displays a feedback form and allows the user to enter their opinions and impressions. For example, the user can enter feedback such as "The food was delicious. I'd like to try Chinese food next time." Input: User feedback. Output: Feedback data in JSON format.

[1749] Step 9:

[1750] The device converts the user's feedback into JSON format and sends it to the server. The server parses the received feedback and stores it in a database. Input: Feedback data in JSON format. Output: Parsed feedback data.

[1751] Step 10:

[1752] The server periodically retrains the recommendation algorithm based on the collected feedback, improving its accuracy. This improves the accuracy of future recommendations. Input: Parsed feedback data. Output: Updated recommendation algorithm.

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

[1754] The present invention is a system for users to search for the best restaurants at their travel destinations, and by combining it with an emotion engine, it is possible to make recommendations that take into account the user's emotional state. This system is implemented through the following steps.

[1755] This system includes a device used by the user, a server that performs processing, an emotion engine that acquires and analyzes information from the user, and an algorithm that recommends the most suitable restaurant based on the user's conditions and emotional state.

[1756] Condition input from the user and emotion recognition

[1757] Users launch the app on their smartphone or PC and enter restaurant search criteria (such as genre, price range, rating, and location). At this time, the emotion engine analyzes the user's facial expression, tone of voice, and text input to recognize the user's emotional state. For example, if the engine recognizes that the user is "a little tired," that information is added to the search criteria.

[1758] Submitting a Request

[1759] The device converts the conditions entered by the user and the emotional information recognized by the emotion engine into JSON format and sends it as an HTTP request to the server. The server receives the request and analyzes it.

[1760] Generating and Executing Database Queries

[1761] The server generates an SQL query based on the received conditions and emotion information, and retrieves the corresponding restaurant information from the database, including genre, price, rating, location, and correction conditions based on the emotional state.

[1762] As a specific example, if a user specifies the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within a 15-minute walk from Kiyomizu-dera Temple" and the emotion engine recognizes "fatigue," the server will extract information from the database about restaurants that fit this criteria but also offer a more relaxing environment.

[1763] Restaurant information rating and ranking

[1764] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it. The evaluation is based on how well it matches the user's criteria and emotional state. The higher the evaluation, the closer the restaurant is to the user's preferences.

[1765] Next, the restaurants are ranked based on the evaluation results, for example, by ranking the restaurants with the highest evaluation first, to generate an optimal restaurant list.

[1766] Presentation of recommendation results

[1767] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response. The terminal analyzes the received results and presents detailed information about the restaurants (such as names, ratings, price ranges, and location information) to the user on the user interface.

[1768] Gathering feedback and updating the algorithm

[1769] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and prompts the user to enter their opinions and impressions. For example, the user might enter feedback such as, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1770] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request. The server receives the feedback and stores it in a database. Periodically, the server retrains the recommendation algorithm based on the collected feedback to improve recommendation accuracy.

[1771] This series of processes allows us to efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling the user to enjoy a high-quality dining experience while traveling.

[1772] The processing flow will be explained below.

[1773] Step 1:

[1774] The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[1775] Step 2:

[1776] The emotion engine uses the user's facial recognition camera and microphone to analyze facial expressions and tone of voice, for example, to determine whether the user is smiling or tired.

[1777] Step 3:

[1778] The device converts the user's input conditions and the emotional state information analyzed by the emotion engine into JSON format.

[1779] Step 4:

[1780] The device sends the converted JSON data to the server as an HTTP POST request.

[1781] Step 5:

[1782] The server receives the HTTP request and parses the JSON data.

[1783] Step 6:

[1784] The server generates a database query based on the analyzed conditions and emotional information. For example, it generates a query with the conditions "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple, relaxing environment."

[1785] Step 7:

[1786] The server executes the generated query and retrieves the relevant restaurant information from the database.

[1787] Step 8:

[1788] The server inputs the restaurant information it has acquired into a recommendation algorithm and evaluates it based on how well it matches the user's criteria and emotional state.

[1789] Step 9:

[1790] The server ranks the restaurants based on the rating results, for example, by arranging the restaurants with the highest ratings first, and generates an optimal restaurant list.

[1791] Step 10:

[1792] The server generates a list of optimal restaurants in JSON format and sends it to the terminal as an HTTP response.

[1793] Step 11:

[1794] The device parses the JSON data received from the server.

[1795] Step 12:

[1796] The device displays the analysis results on the user interface, providing the user with detailed information about the restaurant (such as name, rating, price range, and location information).

[1797] Step 13:

[1798] The user selects from a list of suggested restaurants to visit and enjoy the meal.

[1799] Step 14:

[1800] After the meal, the device displays a feedback form, prompting the user to enter their opinions and thoughts.

[1801] Step 15:

[1802] The user enters their opinions and thoughts in the feedback form and clicks the submit button.

[1803] Step 16:

[1804] The device converts the user's feedback into JSON format and sends it to the server as an HTTP POST request.

[1805] Step 17:

[1806] The server receives the feedback and stores it in a database.

[1807] Step 18:

[1808] The server periodically retrains the recommendation algorithm based on the collected feedback to improve its accuracy.

[1809] Example 2

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

[1811] Conventional restaurant recommendation systems typically make recommendations based on user input criteria, but do not consider the user's emotional state. This can result in discrepancies between the restaurants recommended and the user's actual preferences. Furthermore, algorithms that utilize user feedback are not updated efficiently, making it difficult to improve recommendation accuracy. To address these issues, the present invention aims to provide a system for recommending optimal restaurants that considers the user's emotional state.

[1812] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for recognizing conditions input from the user and emotions, a means for generating and executing a database query, and a means for evaluating and ranking restaurant information. This enables recommendations that take into account the conditions input by the user and their emotional state at the time. In addition, by providing a means for collecting user feedback and updating the recommendation algorithm based on that feedback, recommendation accuracy can be improved.

[1813] Definitions of important words

[1814] "User" refers to an individual who uses the system to receive restaurant recommendations.

[1815] "Conditions related to the restaurant" refer to the characteristics of the restaurant specified by the user, such as genre, price range, rating, location, etc.

[1816] "Emotional state" refers to the user's mental and emotional state as recognized from the user's facial expression, tone of voice, text input, etc.

[1817] An "emotion engine" refers to software or algorithms used to analyze a user's emotional state.

[1818] A "database query" refers to a query statement used to retrieve specific information from a database.

[1819] "Recommendation algorithm" refers to a computational method for evaluating acquired restaurant information and selecting the most suitable restaurant based on the user's conditions and emotional state.

[1820] "Feedback" refers to opinions and impressions about restaurants that users have actually visited.

[1821] "Algorithm update" refers to the process of retraining recommendation algorithms based on collected feedback data to improve recommendation accuracy.

[1822] A "big data analysis engine" refers to software or algorithms for analyzing large amounts of data.

[1823] "User interface" refers to the screen and operating environment that allows a user to interact with a system.

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

[1825] A "server" refers to a computer system that processes and stores data, executes queries, etc.

[1826] "Terminal" refers to a device used by a user, such as a smartphone or PC.

[1827] MODE FOR CARRYING OUT THE INVENTION

[1828] The present invention is a system for users to search for the best restaurant at their travel destination, and is characterized by making recommendations taking into account the user's emotional state. This system includes a terminal used by the user, a server that processes data, an emotion engine that analyzes user information, and an algorithm that recommends the best restaurant based on the user's conditions and emotional state.

[1829] Hardware and software used

[1830] Device: The device used by the user, such as a smartphone, tablet, or computer

[1831] Server: Cloud server or dedicated server

[1832] Emotion engine: Software for analyzing the user's facial expressions, voice, and text input

[1833] Database: A relational database that stores restaurant information

[1834] Recommendation algorithm: An algorithm for rating and ranking restaurant information based on the user's criteria and emotional state

[1835] Big data analysis engine: Software that analyzes large amounts of data to recommend the best restaurants

[1836] Processing Overview

[1837] First, the user launches the app on their device and inputs restaurant-related criteria (such as genre, price range, rating, and location). The device then activates an emotion engine based on this input information, analyzing the user's facial expression, tone of voice, and text input to recognize their emotional state. The recognized emotional state, such as "I'm a little tired," is then added to the criteria.

[1838] The device converts the user's input conditions and the recognized emotional state information into JSON format and sends it as an HTTP request to the server. The server then generates an SQL query based on the received information and retrieves the corresponding restaurant information from the database.

[1839] The server inputs the acquired restaurant information into a recommendation algorithm and evaluates it based on the user's criteria and emotional state. Based on this evaluation, the restaurants are ranked and a list of optimal restaurants is generated. The generated list is sent to the device in JSON format, and detailed restaurant information (such as name, rating, price range, and location) is displayed on the user interface.

[1840] The user visits the suggested restaurant and enjoys a meal. After the meal, the device displays a feedback form and asks the user to enter their opinions and impressions. For example, feedback such as "The food at Restaurant A was delicious. I'd like to try Chinese food next time" is collected. The device converts the collected feedback into JSON format and sends it to the server as an HTTP POST request. The server stores the received feedback in a database and periodically retrains the recommendation algorithm.

[1841] Specific examples

[1842] Let's say a user inputs the criteria "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple," and the emotion engine recognizes "fatigue" from the user's facial expression. Based on this, the server searches the database for restaurants that offer a "relaxing environment," and evaluates and ranks the most suitable restaurant information using a recommendation algorithm. The evaluation and ranking results are displayed to the user, who can then select a restaurant based on that information.

[1843] Prompt Sentence Examples

[1844] I'm thinking of a system to help users find the best restaurants to eat at a travel destination. This system needs to recognize the user's emotional state and recommend restaurants based on that. Please explain how to incorporate the user's criteria (such as genre, price range, rating, location, etc.) and emotional state to recommend the best restaurants. Please provide a series of steps with concrete examples.

[1845] As a result, a system is constructed that can efficiently recommend optimal restaurants based on the user's preferences and emotional state, enabling users to enjoy high-quality dining experiences while traveling.

[1846] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1847] Program processing steps

[1848] Step 1: User input

[1849] Input: The user launches the app on their smartphone or PC and enters the restaurant's criteria (genre, price range, rating, location, etc.).

[1850] Specific operation: The user inputs conditions such as "Japanese food, under 3,000 yen, rating 4 or higher, within 15 minutes' walk from Kiyomizu-dera Temple." The device temporarily stores this input data in its internal memory.

[1851] Output: Conditional input data is saved in the internal memory.

[1852] Step 2: Emotion Recognition

[1853] Input: While the user is entering restaurant requirements, the device captures the user's facial expression, tone of voice, and text input.

[1854] Specific operation: The device activates the emotion engine and analyzes the user's facial expressions and tone of voice. For example, it captures facial expressions and voice in real time using the user's camera and microphone and analyzes them.

[1855] Output: The emotion engine recognizes the user's emotional state and outputs a result such as "I'm a little tired."

[1856] Step 3: Format and send the data

[1857] Input: User condition input data and emotional state recognized by the emotion engine

[1858] Specific operation: The device converts this information into JSON format, specifically formatting the data as follows: {"Conditions": {"Genre": "Japanese cuisine", "Price range": "Under 3000 yen", "Rating": "4 or higher", "Location": "Within 15 minutes' walk from Kiyomizu-dera Temple"}, "Emotional state": "Tired"}.

[1859] Output: JSON format data

[1860] Next action: The device sends this JSON data to the server as an HTTP request.

[1861] Step 4: Data reception and analysis by the server

[1862] Input: JSON data sent from the terminal

[1863] Specific operation: The server receives the HTTP request and parses the JSON data to extract the user's condition and emotional state.

[1864] Output: Analyzed condition and emotion information

[1865] Step 5: Generate and execute database queries

[1866] Input: Parsed condition and emotion information

[1867] Specific operation: The server generates an SQL query based on this data, such as "SELECT FROM restaurant WHERE genre = 'Japanese cuisine' AND price <= 3000 AND rating >= 4 AND distance <= 15 AND environment = 'relaxing'".

[1868] Output: Generated SQL query

[1869] Next action: The server executes this SQL query against the database to retrieve the relevant restaurant information.

[1870] Step 6: Evaluate and rank restaurant information

[1871] Input: Restaurant information retrieved from the database

[1872] Specific operation: The server inputs the acquired restaurant information into the recommendation algorithm and evaluates it based on the user's conditions and emotional state. For example, the algorithm may use "a relaxing environment" as an evaluation point.

[1873] Output: Evaluation results

[1874] Next operation: The server ranks the restaurants based on the evaluation results and generates an optimal restaurant list.

[1875] Step 7: Presenting the Recommendations

[1876] Input: Best restaurant list

[1877] Specific operation: The server formats this in JSON format and sends it to the device as an HTTP response. The device analyzes the received data and displays it in the user interface.

[1878] Output: Details displayed in the user interface (e.g., name, rating, price range, location)

[1879] Step 8: Collect and send feedback

[1880] Input: User feedback

[1881] Specific operation: After eating, the user enters their opinions and impressions into a feedback form on the device. For example, they might enter, "The food at Restaurant A was delicious. Next time, I'd like to try Chinese food."

[1882] Output: Collected feedback data

[1883] Next: The device converts the feedback into JSON format and sends it to the server as an HTTP POST request.

[1884] Step 9: Update the algorithm based on feedback

[1885] Input: Collected feedback data

[1886] How it works: The server stores the received feedback in a database and periodically retrains the recommendation algorithm, improving the accuracy of future recommendations.

[1887] Output: Updated recommendation algorithm

[1888] Through the above processing steps, users can efficiently search for and receive recommendations for the best restaurants while traveling, enabling them to enjoy a high-quality dining experience.

[1889] (Application example 2)

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

[1891] Conventional restaurant recommendation systems make recommendations based only on static criteria without considering the user's emotional state, making it difficult to recommend restaurants that best suit the user's current mood and state. Furthermore, they lack a mechanism for fully utilizing feedback provided by users to improve the accuracy of recommendation algorithms. This issue is particularly serious for food delivery services, where it is important to provide the optimal meal based on the user's mood and state.

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

[1893] In this invention, the server includes means for analyzing restaurant-related conditions from a user and the user's emotional state based on an emotion engine, means for generating a database query based on the conditions and emotional state, means for acquiring restaurant information based on the query, means for evaluating and ranking the acquired restaurant information, means for presenting the evaluation results to the user, means for collecting feedback from the user, means for updating the recommendation algorithm based on the feedback, means for converting the user's input and emotional data into JSON format and transmitting it to the server, and means for analyzing the response from the server and displaying it on a user interface. This enables optimal restaurant recommendations based on the user's emotional state, significantly improving the accuracy and satisfaction of food delivery services.

[1894] "User's requirements for restaurants" are desired items such as type of cuisine, budget, rating, location, etc. input by the user.

[1895] An "emotion engine" is a technology that detects a user's emotional state through facial expression recognition and voice tone analysis.

[1896] A "database query" is a query statement used to extract information from a database based on specific conditions.

[1897] "Restaurant information" is detailed information such as the name, rating, price, and location of the restaurant.

[1898] The "means for evaluating and ranking" is a process of scoring restaurants based on the acquired restaurant information and assigning priorities to them.

[1899] The "means for presenting to the user" refers to a method for displaying the recommendation results obtained from the server on the user's terminal.

[1900] The means for collecting "feedback" is a process for collecting opinions and impressions from users.

[1901] A "recommendation algorithm" is an algorithm that selects the most suitable restaurant based on the user's input conditions and emotional state.

[1902] A "big data analysis engine" is a technology that analyzes large amounts of data and extracts useful information.

[1903] "JSON format" stands for JavaScript Object Notation and is a lightweight text format for exchanging data.

[1904] "Means for transmitting to the server" refers to a method for transmitting data from the user terminal to the server.

[1905] A "response from a server" is response data that a server returns in response to a request.

[1906] A "user interface" is a screen or interaction area that a user can directly operate.

[1907] System Program

[1908] The system is designed to help users receive the optimal food delivery service based on their current emotional state and desired conditions. The system consists of the following main components:

[1909] User Input and Sentiment Analysis

[1910] Users input criteria such as restaurant type, budget, rating, and location through a smartphone app. In addition, an emotion engine analyzes the user's facial expressions and tone of voice to detect their current emotional state. This emotion analysis uses technologies such as Amazon Rekognition and Google Cloud Vision.

[1911] Sending and Receiving Data

[1912] The user's input and emotional data are converted into JSON format and sent to the server, which then analyzes it and generates a database query based on the user's emotional state and conditions. This query then retrieves the relevant restaurant information from the database.

[1913] Recommendation Algorithms and Ranking

[1914] The server runs a recommendation algorithm based on the acquired restaurant information to evaluate and rank the most suitable restaurants. This recommendation algorithm is continuously updated using a big data analysis engine to reflect the user's emotional state.

[1915] Presentation of recommendation results

[1916] The recommendation results generated by the server are returned to the user's smartphone in JSON format, which the smartphone app parses and displays in its user interface.

[1917] Feedback collection and algorithm updates

[1918] After the user visits a recommended restaurant, the application displays a feedback form. This feedback contains the user's impressions and opinions and is sent to the server in JSON format. The server collects this feedback and uses it to improve the accuracy of the recommendation algorithm.

[1919] Specific examples of hardware and software use

[1920] For the overall system to operate efficiently, the following hardware and software is used:

[1921] Smartphone: A device that acquires user input and sentiment analysis data and communicates with the server.

[1922] Emotion engine: Technology for analyzing the user's emotional state (e.g., Amazon Rekognition, Google Cloud Vision).

[1923] Server: A central processing unit that receives user input and emotion data and generates queries against a database, including a database management system (e.g., MySQL, PostgreSQL).

[1924] Big data analysis engine: Technology for analyzing large amounts of data and continuously updating recommendation algorithms (e.g., Apache Hadoop, Apache Spark).

[1925] Specific examples

[1926] For example, suppose a user uses a smartphone app to input the following criteria: "Italian food, budget under 2,000 yen, rating of 4 or higher, location in Tokyo," and the emotion engine analyzes the user's emotional state as "happy." This data is sent to the server, which evaluates and ranks the restaurants based on the most suitable information. The recommendation results from the server are returned to the user's smartphone and presented to the user as a list of the most suitable restaurants.

[1927] Prompt Sentence Examples

[1928] "The user input criteria were 'Italian, under 2000 yen, with a rating of 4 or higher, in Tokyo'. The emotion engine recognized the user as 'happy'. Based on this, please recommend the most suitable restaurant. Please also output the reason for the recommendation."

[1929] This system allows users to receive the optimal food delivery service based on their current emotional state and desired conditions, thereby improving user satisfaction and the service experience.

[1930] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1931] Step 1:

[1932] The user launches the smartphone app and inputs restaurant-related criteria (such as genre, budget, rating, and location). The user sets specific criteria such as "Italian food, budget under 2,000 yen, rating 4 or higher, location in Tokyo." The input data is stored in the application as text data.

[1933] Step 2:

[1934] The device uses an emotion engine to analyze the user's emotional state. For example, the device's camera captures the user's facial expression, and software such as Amazon Rekognition or Google Cloud Vision recognizes emotions such as "happiness." The analyzed emotion data is stored in the application as text data.

[1935] Step 3:

[1936] The device converts the user's input conditions and emotion data into JSON format and sends it to the server. Specifically, it combines the input conditions and emotion data into a single JSON object and sends it to the server as an HTTP POST request. The input data will be in the following format: "cuisine": "italian", "budget": 2000, "rating": 4.0, "location": "Tokyo", "emotion": "happy".

[1937] Step 4:

[1938] The server analyzes the received JSON data and generates a database query. Inside the server, a database management system (e.g., MySQL, PostgreSQL) is used to generate an SQL query to retrieve restaurant information that matches the user's input criteria and emotion data. For example, a query like "SELECT FROM restaurants WHERE cuisine='italian' AND budget <= 2000 AND rating >= 4.0 AND location='Tokyo' AND environment LIKE '%relaxing%'" is generated.

[1939] Step 5:

[1940] The server executes the generated SQL query and retrieves the relevant restaurant information from the database. The retrieved data is returned to the server as table data by the database management system. It contains detailed information such as the name, rating, price, location, and environment of each restaurant.

[1941] Step 6:

[1942] Based on the restaurant information acquired by the server, a recommendation algorithm is used to evaluate and rank restaurants. A big data analysis engine (e.g., Apache Hadoop, Apache Spark) is used internally on the server to give high rankings to restaurants that best fit the user's criteria and emotional data. This generates a list of restaurants with an evaluation score.

[1943] Step 7:

[1944] The server converts the recommendation results into JSON format and sends it to the user's device as an HTTP response. The generated recommendation results will be in the format "restaurants": [{"name": "Restaurant A", "rating": 4.5, "price": 1800, "location": "Tokyo", "comment": "relaxing atmosphere"}, ...]".

[1945] Step 8:

[1946] The terminal analyzes the recommendation results received from the server and displays them on the user interface. The user can then check detailed information about the recommended restaurants through the application and place an order at the selected restaurant.

[1947] Step 9:

[1948] After the user visits a recommended restaurant and enjoys a meal, the application displays a feedback form. The user enters their opinions and impressions about the restaurant's food and service. This feedback data is saved in the application as text data.

[1949] Step 10:

[1950] The feedback data collected by the device is converted to JSON format and sent to the server. The feedback data sent to the server as an HTTP POST request is specific, such as "restaurant": "Restaurant A", "feedback": "The food was delicious. I'd like to try a different genre next time."

[1951] Step 11:

[1952] The server retrains the recommendation algorithm based on the received feedback data to improve recommendation accuracy. The server analyzes the collected feedback data and updates the algorithm using a big data analysis engine. This enables recommendations that better match the user's preferences and emotional state.

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

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

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

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

[1957] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1974] The following is further disclosed regarding the above embodiment.

[1975] (Claim 1)

[1976] A means for receiving conditions related to the restaurant from a user;

[1977] means for generating a database query based on the conditions;

[1978] A means for acquiring restaurant information based on the query;

[1979] A means for evaluating and ranking the acquired restaurant information;

[1980] means for presenting the evaluation results to a user;

[1981] a means for collecting feedback from users;

[1982] means for updating a recommendation algorithm based on said feedback;

[1983] A system including:

[1984] (Claim 2)

[1985] The system according to claim 1, further comprising means for analyzing the restaurant information using a big data analysis engine and recommending the most suitable restaurant.

[1986] (Claim 3)

[1987] 2. The system according to claim 1, further comprising: means for converting the user's input into a JSON format and sending it to a server; and means for analyzing a response from the server and displaying it on a user interface.

[1988] "Example 1"

[1989] (Claim 1)

[1990] A means for receiving conditions related to the restaurant from a user;

[1991] means for converting the conditions into a JSON format and transmitting the JSON format to a server;

[1992] means for generating a database query based on the JSON formatted conditions;

[1993] A means for acquiring restaurant information based on the query;

[1994] A means for inputting the acquired restaurant information into a recommendation algorithm to evaluate and rank the information;

[1995] means for generating the evaluation result in JSON format and transmitting the result to a terminal;

[1996] means for displaying the evaluation results on a user interface by a terminal;

[1997] a means for collecting feedback from users;

[1998] means for converting the feedback into a JSON format and transmitting the JSON format to a server;

[1999] means for updating a recommendation algorithm based on said feedback;

[2000] A system including:

[2001] (Claim 2)

[2002] The system according to claim 1, further comprising means for analyzing the restaurant information using a big data analysis engine and recommending the most suitable restaurant.

[2003] (Claim 3)

[2004] 2. The system according to claim 1, further comprising: means for converting the user's input into a JSON format and sending it to a server; and means for analyzing a response from the server and displaying it on a user interface.

[2005] "Application Example 1"

[2006] (Claim 1)

[2007] A means for receiving conditions related to the restaurant from a user;

[2008] means for generating a database query based on the conditions;

[2009] A means for acquiring restaurant information based on the query;

[2010] A means for evaluating and ranking the acquired restaurant information;

[2011] means for presenting the evaluation results to a user;

[2012] a means for collecting feedback from users;

[2013] means for updating a recommendation algorithm based on said feedback;

[2014] A means for a user to input conditions and then complete an order to a system that provides food delivery services;

[2015] A system including:

[2016] (Claim 2)

[2017] The system according to claim 1, further comprising means for analyzing the restaurant information using a big data analysis engine and recommending the most suitable restaurant.

[2018] (Claim 3)

[2019] 2. The system according to claim 1, further comprising: means for converting the user's input into a JSON format and sending it to a server; and means for analyzing a response from the server and displaying it on a user interface.

[2020] "Example 2: Combining Emotion Engines"

[2021] (Claim 1)

[2022] A means for receiving conditions related to the restaurant from a user;

[2023] means for generating a database query based on the conditions;

[2024] A means for acquiring restaurant information based on the query;

[2025] A means for evaluating and ranking the acquired restaurant information;

[2026] means for presenting the evaluation results to a user;

[2027] means including an engine for recognizing an emotional state of a user;

[2028] means for correcting the condition based on said emotional state;

[2029] means for applying a recommendation algorithm based on the amended conditions;

[2030] a means for collecting feedback from users;

[2031] means for updating a recommendation algorithm based on said feedback;

[2032] A system including:

[2033] (Claim 2)

[2034] The system according to claim 1, further comprising means for analyzing the restaurant information using a big data analysis engine and recommending the most suitable restaurant.

[2035] (Claim 3)

[2036] 2. The system according to claim 1, further comprising: means for converting the user's input into a JSON format and sending it to a server; and means for analyzing a response from the server and displaying it on a user interface.

[2037] "Application example 2 when combining emotion engines"

[2038] (Claim 1)

[2039] A means for receiving conditions related to the restaurant from a user;

[2040] means for analyzing the user's emotional state by an emotion engine in addition to the conditions;

[2041] means for generating a database query based on the condition and emotional state;

[2042] A means for acquiring restaurant information based on the query;

[2043] A means for evaluating and ranking the acquired restaurant information;

[2044] means for presenting the evaluation results to a user;

[2045] a means for collecting feedback from users;

[2046] means for updating a recommendation algorithm based on said feedback;

[2047] A system including:

[2048] (Claim 2)

[2049] The system according to claim 1, further comprising means for analyzing the restaurant information using a big data analysis engine and recommending the most suitable restaurant.

[2050] (Claim 3)

[2051] 2. The system according to claim 1, further comprising: means for converting the user's input and emotion data into a JSON format and transmitting the converted data to a server; and means for analyzing a response from the server and displaying the analysis result on a user interface. [Explanation of symbols]

[2052] 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 receiving conditions related to the restaurant from a user; means for generating a database query based on the conditions; A means for acquiring restaurant information based on the query; A means for evaluating and ranking the acquired restaurant information; means for presenting the evaluation results to a user; a means for collecting feedback from users; means for updating a recommendation algorithm based on said feedback; A system including:

2. The system according to claim 1 , further comprising a means for analyzing the restaurant information using a big data analysis engine and recommending the most suitable restaurant.

3. The system according to claim 1 , further comprising: means for converting the user's input into a JSON format and sending the converted input to a server; and means for analyzing a response from the server and displaying the response on a user interface.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A