system

The system addresses the challenge of finding the best restaurant by centralizing data from multiple sources, converting it into a unified format, eliminating duplicates, and providing optimized results, thus enhancing user efficiency in the search and reservation process.

JP2026037324APending Publication Date: 2026-03-06SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Users face difficulty in efficiently finding the best restaurant due to fragmented and outdated information from multiple sources, leading to a time-consuming and labor-intensive process.

Method used

A system that collects data from multiple information providers, converts it into a unified format, eliminates duplicates, aggregates and analyzes it based on user criteria, and displays optimized results, allowing users to select and reserve a restaurant.

Benefits of technology

Enables users to quickly and efficiently find the best restaurant by centralizing data from various sources, reducing effort and time spent in the search process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026037324000001_ABST
    Figure 2026037324000001_ABST
Patent Text Reader

Abstract

Provide a system. [Solution] a means for inputting conditions from a user; means for converting the conditions into a data format and transmitting the data to a server; A means for collecting data from a plurality of information providing services; A means of converting collected data into a unified format, eliminating duplicates, and aggregating and analyzing it. A means for generating optimized results based on the aggregated and analyzed data; and means for displaying the results to a user; The system includes a means for a user to select and make a reservation based on the displayed results.
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] Many modern users find it difficult to find the best restaurant for them among the vast amount of information available when searching for a place to eat. In particular, the information available from multiple information providers (online platforms) is fragmented, making it unclear which service to trust and which information is the most up-to-date. This makes it difficult to find the right restaurant efficiently, resulting in a time-consuming and labor-intensive process. [Means for solving the problem]

[0005] In order to solve the above problems, the present invention provides the following means.

[0006] a means for inputting conditions from a user;

[0007] means for converting the conditions into a data format and transmitting the data to a server;

[0008] A means for collecting data from a plurality of information providing services;

[0009] A means of converting collected data into a unified format, eliminating duplicates, and aggregating and analyzing it.

[0010] A means for generating optimized results based on the aggregated and analyzed data; and

[0011] means for displaying the results to a user;

[0012] The system includes a means for the user to select and make a reservation based on the displayed results.

[0013] This allows users to efficiently find the best restaurant from multiple information providing services, saving time and effort.

[0014] "User" refers to an individual or organization that uses this system to search for restaurants and make reservations.

[0015] "Conditions" refers to the factors and criteria regarding the restaurant desired by the user, including budget, type of cuisine, area, and other special notes.

[0016] "Means" refers to components, modules, and algorithms used to realize specific functions or processes.

[0017] "Data format" refers to a standardized format for computers to process and exchange data, such as JSON or XML.

[0018] "Server" refers to a computer system on a network that receives, processes, and transmits data.

[0019] "Information provision service" refers to an online platform that provides data about restaurants, including, for example, certain restaurant review sites and map services.

[0020] "Unified format" refers to the conversion of data obtained from different sources into a consistent format.

[0021] "Eliminating duplicates" refers to identifying identical restaurant information obtained from multiple information providing services and combining it into one.

[0022] "Aggregation and analysis" refers to organizing collected data, evaluating it statistically or rule-based, and deriving optimal results for users.

[0023] "Optimized Results" refers to a list of restaurants that have been rated and selected based on your criteria.

[0024] "Display" refers to outputting data in a format that allows a user to visually confirm the information.

[0025] "Selection and reservation" refers to the act of a user selecting a desired restaurant from the displayed restaurants and making a reservation for the date and time of use at that restaurant. [Brief explanation of the drawings]

[0026] [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

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

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

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

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

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

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

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

[0034] [First embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0047] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[0048] User operations

[0049] 1. The user opens a dedicated application on a device such as a smartphone or computer.

[0050] 2. The user enters the desired conditions (for example, budget, type of cuisine, area, whether smoking is permitted, etc.) on the condition input screen.

[0051] 3. When the user presses the "Search" button, the entered conditions are converted into JSON format data by the terminal.

[0052] Terminal handling

[0053] 1. The device sends the condition data converted to JSON format to the server as an HTTP POST request.

[0054] 2. The terminal also prepares to receive a response from the server.

[0055] Server Processing

[0056] 1. The server analyzes the condition data received from the terminal.

[0057] 2. Next, requests are sent to the APIs of multiple information services (for example, specific restaurant review sites and map services) to collect restaurant data that matches the criteria.

[0058] 3. The server converts the data received from each information provider into a unified format and eliminates duplicate information.

[0059] 4. The data, formatted in a unified format, is aggregated and analyzed on the server based on criteria such as rating points, number of reviews, price range, and whether smoking is permitted.

[0060] 5. The server generates a list of restaurants that are most suitable for the user based on the analysis results and sends it to the terminal in JSON format.

[0061] Viewing and booking results

[0062] 1. The device analyzes the data received from the server and displays it in an easy-to-read format for the user, including the store name, address, photos, rating, number of reviews, budget, etc.

[0063] 2. The user can select the restaurant they are interested in from the displayed list, check the details, and make a reservation online if necessary.

[0064] Specific examples

[0065] For example, if a user enters the conditions "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seat preferred," the device converts these conditions into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the desired restaurant and complete the reservation.

[0066] The present invention allows users to easily find the best restaurant and complete reservations smoothly. The system includes a means for efficiently collecting data from multiple information providing services and providing optimal results.

[0067] The processing flow will be explained below.

[0068] Step 1:

[0069] The user opens the application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[0070] Step 2:

[0071] The terminal converts the conditions entered by the user into JSON format data.

[0072] {

[0073] "budget": 2000,

[0074] "genre": "Japanese",

[0075] "location": "Shibuya",

[0076] "smoking": false

[0077] }

[0078] Step 3:

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

[0080] Step 4:

[0081] The server analyzes the JSON data received from the terminal and extracts conditions.

[0082] Step 5:

[0083] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services).

[0084] Restaurant review site API:

[0085] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[0086] Map Service API:

[0087] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[0088] Step 6:

[0089] The server analyzes the data received from each information provider, converts it into a unified format, and eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[0090] Step 7:

[0091] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the 10 most suitable establishments for the user.

[0092] Step 8:

[0093] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[0094] [

[0095] {

[0096] "name": "Restaurant A",

[0097] "address": "Shibuya, Tokyo",

[0098] "rating": 4.5,

[0099] "reviews": 120,

[0100] "budget": 1800,

[0101] "smoking": false

[0102] },

[0103] ...

[0104] ]

[0105] Step 9:

[0106] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[0107] Step 10:

[0108] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[0109] Step 11:

[0110] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[0111] Step 12:

[0112] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[0113] Step 13:

[0114] The server receives confirmation of the reservation completion and notifies the terminal.

[0115] Step 14:

[0116] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[0117] Example 1

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

[0119] Conventional restaurant search systems make it difficult for users to efficiently find restaurants that meet their desired criteria. Furthermore, they often contain duplicate data and do not perform detailed analysis based on the criteria. Furthermore, there is a lack of a means to centrally obtain, compare, and analyze data from multiple information services, making it difficult to obtain accurate search results. This results in users having to spend a lot of time and effort to find the restaurant that best suits them.

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

[0121] In this invention, the server includes a means for converting user requirements into a data format and transmitting it to the server, a means for collecting data from multiple information services, and a means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing it. This enables the server to quickly and accurately present search results for optimal restaurants based on the user's requirements. Furthermore, by acquiring data from external review sites and map services via API and analyzing the results based on detailed requirements such as rating points, number of reviews, price range, and whether or not smoking is permitted, the server can provide the restaurant most suitable for the user. This allows users to quickly find the optimal restaurant with minimal effort and complete reservations smoothly.

[0122] The "means for entering conditions" refers to an interface that allows users to enter desired conditions such as budget, type of cuisine, area, and whether smoking is permitted into an input form on a dedicated application or website.

[0123] "Means for converting into a data format and sending to the server" refers to a function for converting the conditions entered by the user into a machine-understandable data format such as JSON, and sending that data to the server as an HTTP POST request.

[0124] "Means of collecting data from multiple information providing services" refers to a function for obtaining necessary data via API from external services such as restaurant review sites and map services.

[0125] "Means of converting data into a unified format, eliminating duplicates, and aggregating and analyzing" refers to a function that converts data obtained from each information provider into a common format, removes duplicate information, and aggregates and analyzes data based on certain conditions.

[0126] The "means for generating optimized results" is a function for generating a list of restaurants that best meets the user's requirements from the results of the aggregation and analysis.

[0127] "Means for displaying results to the user" refers to a function for displaying the analysis results received from the server to the user in an easy-to-understand manner through a graphical user interface or the like.

[0128] "Means to select, check details, and make a reservation" refers to a function that allows users to select a restaurant of interest from the displayed list of restaurants, check its details, and, if necessary, make a reservation online.

[0129] "Means of obtaining data using the APIs of external review sites and map services" refers to a function that sends API requests to external services that provide restaurant reviews and location information and obtains the necessary data.

[0130] "Means for converting conditions into JSON format and sending to server" is a function for encoding the conditions entered by the user into JSON format and sending to the server.

[0131] "Means of aggregating and analyzing based on rating points, number of reviews, price range, and whether smoking is permitted" is a function for aggregating and analyzing acquired restaurant data based on conditions such as rating points, number of reviews, price range, and whether smoking is permitted.

[0132] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[0133] User operations

[0134] First, the user opens the dedicated application on a device such as a smartphone or computer. Next, they enter their desired conditions on the condition input screen. Specifically, they specify budget, type of cuisine, area, whether smoking is permitted, etc. For example, a user might enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating preferred." After that, when the user presses the "Search" button, the entered conditions are converted into JSON format data by the device.

[0135] Terminal handling

[0136] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP POST request. The device also prepares to receive a response from the server. For example, the following data is sent to the server: {"budget":2000, "cuisine":"Japanese food", "area":"Shibuya", "nonSmoking":true}.

[0137] Server Processing

[0138] The server analyzes the received JSON-formatted condition data. Based on the analysis results, it sends a request to the API of each information service (for example, a restaurant review site or map service) to obtain data that matches the conditions. Specifically, the server uses the API of an external review site or map service to collect restaurant data. The server sends an API request, converts the obtained data into a unified format, and eliminates duplicate information.

[0139] Data integration and analysis

[0140] The server converts the data obtained from each information provider into a common format and creates a dataset containing information such as store name, address, budget, rating, and number of reviews. After eliminating duplicate data, the data is aggregated and analyzed. The analysis includes criteria such as rating, number of reviews, price range, and whether smoking is permitted.

[0141] Generate and send results

[0142] The server generates a list of restaurants that best suit the user based on the analysis results. The generated list is sent to the device in JSON format. For example, the following data is sent to the device: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}

[0143] Viewing and booking results

[0144] The terminal analyzes the data received from the server and displays it in an easy-to-read format for the user. This display includes the restaurant name, address, photos, rating, number of reviews, budget, etc. The user can select a restaurant of interest from the displayed list and check detailed information. If necessary, they can also make reservations online.

[0145] Specific examples

[0146] For example, a user enters criteria such as "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred." The device converts these criteria into JSON format and sends it to the server. The server collects data from multiple information services based on the specified criteria, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the restaurant they want and complete the reservation. This system allows users to find the perfect restaurant without any hassle and complete the reservation smoothly.

[0147] Example prompts to input to the generative AI model

[0148] "Looking for a restaurant with a budget of up to 2000 yen, Japanese food, around Shibuya, and non-smoking seating"

[0149] "I'm looking for a good Italian restaurant in the Shinjuku area, with a budget of around 5,000 yen."

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

[0151] Step 1:

[0152] The user opens a dedicated application from their smartphone or computer. The input form displays fields for entering criteria such as budget, cuisine type, area, and whether smoking is permitted. The user enters these criteria and presses the search button. Once the input is complete, it is converted into JSON format data. For example, the input may include criteria such as "budget up to 2000 yen," "Japanese cuisine," "Shibuya area," and "non-smoking seat desired," and this data is converted into the following: {"budget":2000, "cuisine":"Japanese cuisine", "area":"Shibuya", "nonSmoking":true}.

[0153] Step 2:

[0154] The device sends the JSON-formatted condition data received from the user to the server using an HTTP POST request. The device also prepares to receive a response from the server. The necessary network request and response waiting logic for this are built into the application.

[0155] Step 3:

[0156] The server analyzes the received JSON-formatted condition data. The analyzed data is converted into a specific query such as "budget up to 2000 yen, cuisine genre Japanese, area Shibuya, non-smoking seat preferred." Based on this, the server sends a request to an external review site or map service API to collect restaurant data that matches the conditions. For example, a request is sent to the Gurunavi API or Google (registered trademark) Maps API.

[0157] Step 4:

[0158] The server converts the data obtained from each information provider into a unified format. This process standardizes information such as restaurant name, address, budget, rating, and number of reviews. It also eliminates duplicate data, creating a consistent data set without duplication. For example, it verifies that "Store A" and "Store A'" are the same, and integrates the information.

[0159] Step 5:

[0160] The server aggregates and analyzes the data, formatted in a unified format, based on the user's criteria. This includes calculating the average rating, the number of reviews, and filtering by budget range. This analysis generates a list of restaurants that best fit the user's criteria. For example, Japanese restaurants with a rating of 4.5 or higher are listed.

[0161] Step 6:

[0162] The server generates the optimized results in JSON format and sends them to the terminal. The generated JSON data has a format like this: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}.

[0163] Step 7:

[0164] The device parses the received JSON data and displays it in a format that is easy for the user to view. The display includes the store name, address, photos, rating, number of reviews, budget, etc. The user can select a store of interest from the list and check detailed information. During this process, the user selects "Store A" and checks the detailed information.

[0165] Step 8:

[0166] The user selects a restaurant they are interested in from the displayed list and makes a reservation online. For example, the user selects "Store B," enters the necessary information in the reservation form, and submits it. This completes the reservation.

[0167] (Application example 1)

[0168] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0169] Many current food delivery services have a problem in that it takes a lot of time and effort for users to find the best restaurant. Users have to refer to multiple apps and websites individually, making it difficult to compare information from each service. As a result, users waste time and effort and find it inconvenient to choose the best delivery service.

[0170] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0171] In this invention, the server includes means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, and means for generating optimized results based on the aggregated and analyzed data. This enables users to easily obtain information on multiple delivery services using a single application, select the most suitable store, and place an order.

[0172] "User" means a person who uses the food delivery service.

[0173] "Conditions" are the budget, type of food, area, delivery time, and other desired factors set by the user.

[0174] "Data format" refers to the format into which the conditions entered by the user are converted for transmission to the server.

[0175] A "server" is a computer system that receives condition data from a user, collects data from multiple information providing services, and performs integrated processing.

[0176] "Information provision service" is an online service that provides information about food delivery via API.

[0177] The "unified format" is a data format in which data obtained from multiple information providing services is converted into a single format.

[0178] "Deduplication" is the process of removing identical information from data obtained from multiple information providing services.

[0179] "Aggregation and analysis" refers to the process of performing statistical or logical processing on data that has had duplicates removed to derive optimal results for the user.

[0180] "Optimized results" are a list of restaurants that best fit the user's criteria based on aggregated and analyzed data.

[0181] "Display" refers to displaying the optimized results on the application in a format that is easy for the user to view.

[0182] "Selection" refers to the act of a user choosing a restaurant of interest from the displayed list of restaurants.

[0183] "Ordering" means the act of requesting food delivery from a store selected by the user.

[0184] The present invention provides a system that enables users to efficiently find the most suitable restaurant that offers delivery and smoothly place an order. Specific embodiments are described below.

[0185] User operations

[0186] Users open a dedicated application on their smartphone, smart glasses, or head-mounted display. Using the application, users can set their desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. After entering the conditions, users press the "Search" button.

[0187] Terminal handling

[0188] The device converts the conditions entered by the user into JSON format data and sends it to the server as an HTTP POST request. It also prepares to receive a response from the server. The device uses the React Native framework for smartphone applications and ARKit for smart glasses or head-mounted displays. The Google Speech-to-Text API is used for voice input.

[0189] Server Processing

[0190] The server receives and analyzes the JSON-formatted condition data sent from the device. Based on the analyzed condition data, the server sends requests to multiple delivery information services (for example, the API of a general delivery service) to collect restaurant data that matches the conditions. The collected data is converted into a unified format and duplicate data is eliminated using Pandas and Numpy.

[0191] Next, the data is formatted in a unified format and statistically and logically aggregated and analyzed to generate a list of restaurants that are best suited to the user. This list is returned to the device in JSON format.

[0192] Viewing and ordering results

[0193] The device parses the JSON data received from the server and displays the information in an easy-to-read format to the user. The display includes information such as the restaurant's name, address, photos, rating, number of reviews, and budget. The user selects a restaurant of interest from the displayed list, checks the details, and places an order.

[0194] Specific examples

[0195] For example, if a user enters criteria such as "budget up to 3,000 yen, Italian food, Minato Ward, delivery within 20 minutes," the device converts this to JSON format and sends it to the server. The server collects restaurant data from multiple delivery information services based on the specified criteria, eliminates duplicate data, and lists the restaurants that are most suitable for the user. The device displays this list to the user, allowing them to select the restaurant of their interest and complete their order.

[0196] Here is an example prompt:

[0197] Budget: Under 3,000 yen

[0198] Cuisine: Italian

[0199] Area: Minato Ward

[0200] Delivery time: within 20 minutes

[0201] Search for and list restaurants that meet these criteria.

[0202] This system allows users to easily obtain information on multiple delivery services in one application, select the most suitable store, and place an order. Specific technical elements used include React Native, ARKit, Google Speech-to-Text API, Node.js, Express, MongoDB, Pandas, and Numpy, providing a seamless user experience.

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

[0204] Step 1:

[0205] The user opens a dedicated application on their smartphone, smart glasses, or head-mounted display, and sets the desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. The condition data specified by the user is received as input and passed to the next step.

[0206] Step 2:

[0207] The device converts the condition data received from the user into JSON format and sends it as an HTTP POST request to the server. The device also converts the condition data received as input into a data format and sends it to the server so that the server can begin data analysis. This is where React Native, ARKit, and the Google Speech-to-Text API are used.

[0208] Step 3:

[0209] The server analyzes the JSON formatted condition data received from the device and collects data by sending requests to the APIs of multiple delivery information services. It receives the analyzed condition data as input and sends requests to each information service to obtain the necessary restaurant data.

[0210] Step 4:

[0211] The server converts the data received from each information provider into a unified format and eliminates duplicate data. It receives the collected raw data as input, formats the data using Pandas and Numpy, and removes duplicate information, thereby creating a consistent dataset.

[0212] Step 5:

[0213] The server performs statistical and logical aggregation and analysis based on the unified formatted data to generate a list of restaurants that are best suited to the user. Using the formatted dataset as input, the server applies algorithms to score and filter the data, generating an optimized list of restaurants that is then sent to the device in JSON format.

[0214] Step 6:

[0215] The device parses the optimized restaurant list received from the server and displays it in a user-friendly format. It receives JSON data from the server as input and displays the information using React Native and ARKit. This information includes the restaurant name, address, photos, rating, number of reviews, budget, etc.

[0216] Step 7:

[0217] The user selects a restaurant from the displayed list of restaurants, checks the details, and places an order. The user makes a selection based on the displayed list of restaurants, and sends the order data to the server, which finally starts the food delivery.

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

[0219] The present invention provides a system that recognizes a user's emotions and suggests the most suitable restaurant based on the emotions. The system functions through cooperation between the user, a terminal, a server, and an emotion engine. Specific embodiments are described below.

[0220] User operations

[0221] 1. The user opens a dedicated application on their smartphone or computer.

[0222] 2. The user enters the desired conditions (e.g. budget up to 2000 yen, Japanese cuisine, Shibuya, non-smoking seats) into the input form and presses the "Search" button.

[0223] 3. The emotion engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[0224] Terminal handling

[0225] 1. The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[0226] {

[0227] "conditions": {

[0228] "budget": 2000,

[0229] "genre": "Japanese",

[0230] "location": "Shibuya",

[0231] "smoking": false

[0232] },

[0233] "emotions": {

[0234] "stress_level": "high",

[0235] "mood": "neutral"

[0236] }

[0237] }

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

[0239] Server Processing

[0240] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[0241] 2. Next, it sends condition-based requests to the APIs of multiple information services (restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted to JSON format.

[0242] 3. The server analyzes the data received from each information provider and converts it into a unified format. At the same time, it also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[0243] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. It is scored based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, and the best restaurant for the user is selected.

[0244] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[0245] 6. The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[0246] [

[0247] {

[0248] "name": "Relaxing Sushi Place",

[0249] "address": "Shibuya, Tokyo",

[0250] "rating": 4.8,

[0251] "reviews": 150,

[0252] "budget": 1800,

[0253] "smoking": false,

[0254] "ambiance": "relaxed"

[0255] },

[0256] ...

[0257] ]

[0258] Viewing and booking results

[0259] 1. The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[0260] 2. The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[0261] 3. The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[0262] 4. The device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[0263] 5. The server receives confirmation that the reservation is complete and notifies the terminal.

[0264] 6. The terminal displays a reservation confirmation message to the user, and the reservation is complete.

[0265] Specific examples

[0266] For example, if a user inputs the conditions "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred" and the emotion engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions and emotion data, and creates a list of optimal restaurants. The list is prioritized taking into account scoring and emotion data, with restaurants with a relaxing atmosphere appearing at the top. The device displays this list to the user, who can then select the desired restaurant and complete the reservation.

[0267] The present invention allows users to easily find the best restaurant that matches their emotional state and reduce stress. The system includes a means for efficiently collecting data from multiple information providing services and providing the best results based on the user's emotions.

[0268] The processing flow will be explained below.

[0269] Step 1:

[0270] The user opens a dedicated application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[0271] Step 2:

[0272] The emotion engine recognizes emotions in real time from the user's voice, facial expressions, or input text, for example by capturing facial expressions with a camera or analyzing the tone of voice with a microphone.

[0273] Step 3:

[0274] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[0275] {

[0276] "conditions": {

[0277] "budget": 2000,

[0278] "genre": "Japanese",

[0279] "location": "Shibuya",

[0280] "smoking": false

[0281] },

[0282] "emotions": {

[0283] "stress_level": "high",

[0284] "mood": "neutral"

[0285] }

[0286] }

[0287] Step 4:

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

[0289] Step 5:

[0290] The server analyzes the JSON data received from the device and extracts the conditions and emotion data.

[0291] Step 6:

[0292] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted into JSON format.

[0293] Restaurant review site API:

[0294] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[0295] Map Service API:

[0296] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[0297] Step 7:

[0298] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[0299] Step 8:

[0300] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the best restaurant for the user.

[0301] Step 9:

[0302] Furthermore, the server takes into consideration the recognized emotional data, and if it determines that stress is high, it will give priority to suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[0303] Step 10:

[0304] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[0305] [

[0306] {

[0307] "name": "Relaxing Sushi Place",

[0308] "address": "Shibuya, Tokyo",

[0309] "rating": 4.8,

[0310] "reviews": 150,

[0311] "budget": 1800,

[0312] "smoking": false,

[0313] "ambiance": "relaxed"

[0314] },

[0315] ...

[0316] ]

[0317] Step 11:

[0318] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons for "View details" and "Make a reservation."

[0319] Step 12:

[0320] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[0321] Step 13:

[0322] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[0323] Step 14:

[0324] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[0325] Step 15:

[0326] The server receives confirmation of the reservation completion and notifies the terminal.

[0327] Step 16:

[0328] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[0329] Example 2

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

[0331] Conventional restaurant recommendation systems suggest appropriate restaurants based on user-entered criteria, but they have the problem of not being able to make recommendations that take into account the user's emotional state. This makes it difficult to find the restaurant that best suits the user's current mood or level of stress. Furthermore, issues remain, such as eliminating duplicates and converting data into consistent formats when processing data from multiple information services in a unified manner.

[0332] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0333] In this invention, the server includes means for inputting conditions from a user, means for converting the conditions into a data format and transmitting it to the server, means for recognizing emotions from the user's voice, facial expression, or text, means for converting the recognized emotion data into a data format and transmitting it to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, means for generating optimized results based on the aggregated and analyzed data and emotion data, means for displaying the results to the user, and means for the user to select and make a reservation based on the displayed results. This enables the user to efficiently find the optimal restaurant based on their emotional state, thereby reducing stress for the user.

[0334] "Means for inputting conditions from the user" refers to a device or software that provides an interface for the user to input the conditions they desire.

[0335] "Means for converting the conditions into a data format and transmitting it to a server" refers to a method or device for converting the input conditions into a data format that can be understood by a computer and transmitting that data to a server.

[0336] "Means for recognizing emotions from a user's voice, facial expression, or text" refers to technology or devices that analyze and recognize emotions based on a user's voice, facial expression, or input text information.

[0337] "Means for converting recognized emotion data into a data format and transmitting it to a server" refers to a method or device for converting emotion information recognized by an emotion engine into a data format that can be understood by a computer and transmitting that data to a server.

[0338] "Means for collecting data from multiple information providing services" refers to the methods and devices used to collect the required data from different information providing services.

[0339] "Means of converting collected data into a unified format, eliminating duplication, and aggregating and analyzing" refers to methods and devices for converting data provided in different formats into a consistent format, eliminating duplicates of the same information if they exist, and analyzing them together.

[0340] "Means for generating optimized results based on aggregated and analyzed data and emotion data" refers to a method or device for generating optimized recommendation results using aggregated and analyzed data and emotion-recognized data.

[0341] "Means for displaying the results to the user" refers to a device or software for visually displaying the generated results to the user.

[0342] "Means for users to select and make reservations based on the displayed results" refers to devices or software that allow users to select restaurants of interest from the displayed results and make reservations for them.

[0343] The present invention is a system for suggesting optimal restaurants based on a user's emotional state, in which a user, a terminal, and a server work in cooperation with each other. Specific embodiments of the present invention will be described below.

[0344] User operations

[0345] The user launches a dedicated application on their smartphone or computer. The application displays the initial screen and prompts the user to log in. After logging in, the user enters their desired conditions. For example, they enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and press the "Search" button.

[0346] Emotion recognition

[0347] After the user enters the conditions, the emotion engine is activated and performs analysis to recognize emotions from the user's voice, facial expressions, or input text. Real-time emotion analysis is performed using a dedicated camera or microphone. For example, the emotion engine can detect "high stress, neutral mood" from the user's facial expressions.

[0348] Terminal handling

[0349] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data. The following is an example:

[0350] json

[0351] {

[0352] "conditions": {

[0353] "budget": 2000,

[0354] "genre": "Japanese",

[0355] "location": "Shibuya",

[0356] "smoking": false

[0357] },

[0358] "emotions": {

[0359] "stress_level": "high",

[0360] "mood": "neutral"

[0361] }

[0362] }

[0363] The converted JSON data is sent from the terminal to the server as an HTTP POST request.

[0364] Server Processing

[0365] The server analyzes the JSON data received from the device and extracts the conditions and emotion data. It then sends requests based on the APIs of multiple information services (e.g., restaurant review sites and map services) to collect restaurant data that matches the conditions. The collected data is then converted back to JSON format.

[0366] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is provided by different services, it will merge them into one.

[0367] Data collection, analysis and scoring

[0368] The data, formatted into a unified format, is aggregated and analyzed on the server. Scoring is performed based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, allowing the system to select the best restaurant for the user. Furthermore, the system takes into account recognized emotional data and prioritizes restaurants with a relaxing atmosphere for users experiencing high levels of stress.

[0369] Viewing and booking results

[0370] The server generates a list of selected restaurants and sends it to the terminal in JSON format. The terminal parses the received JSON data and displays the list in a format that is easy for the user to view (e.g., card format or map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[0371] The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. On the details page, they can check the menu and reviews, and when they click the "Make a Reservation" button, the device displays a form for entering reservation information (desired date and time, number of people, special notes, etc.).

[0372] When the user enters the information and presses the "Confirm" button, the device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends a final reservation request to the restaurant API. The server then notifies the device that the reservation is complete. The device then displays a reservation confirmation message to the user, and the reservation is complete.

[0373] Examples and prompts

[0374] Here are some examples of specific prompts:

[0375] "The user entered the criteria 'budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating', and the emotion engine detected 'high stress, neutral mood'. Please suggest the best restaurant taking this information into consideration."

[0376] The present invention allows users to easily find the best restaurant that matches their emotional state, reducing stress. It also efficiently collects data from multiple information providing services and provides optimal results based on the user's emotions.

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

[0378] Step 1: The user launches a dedicated application on a smartphone or computer. Input: User operation. Output: The initial screen of the application.

[0379] What happens: The user taps or clicks on the application to launch it and the initial screen appears.

[0380] Step 2: The user enters the desired conditions. Input: User's conditions. Output: Conditions entered in the input form.

[0381] Specific operation: The user enters conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and presses the "Search" button.

[0382] Step 3: The emotion engine recognizes emotions from the user's voice, facial expression, or input text. Input: User's voice, facial expression, text. Output: Recognized emotion data.

[0383] Specific operation: Analyzes the user's voice and facial expressions in real time through a dedicated camera and microphone to recognize "high stress, neutral mood."

[0384] Step 4: The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format. Input: User conditions, recognized emotion data. Output: JSON format data.

[0385] Specific operation: Based on the conditions and emotion data, the following JSON data is generated.

[0386] json

[0387] {

[0388] "conditions": {

[0389] "budget": 2000,

[0390] "genre": "Japanese",

[0391] "location": "Shibuya",

[0392] "smoking": false

[0393] },

[0394] "emotions": {

[0395] "stress_level": "high",

[0396] "mood": "neutral"

[0397] }

[0398] }

[0399] Step 5: The terminal sends the JSON data to the server as an HTTP POST request. Input: JSON data. Output: Request sent to the server.

[0400] Specific behavior: The device uses the appropriate endpoint to send JSON data to the server via an HTTP POST request.

[0401] Step 6: The server parses the JSON data received from the device and extracts the condition and emotion data. Input: Received JSON data. Output: Extracted condition and emotion data.

[0402] Specific operation: The server parses the JSON data and stores the condition and emotion data in an internal data structure.

[0403] Step 7: The server sends an API request to collect data from multiple information providers. Input: Condition data. Output: Data from multiple information providers.

[0404] Specific operation: Sends condition-based requests to "restaurant review sites" and "map service APIs" to collect data.

[0405] Step 8: The server converts the data received from each information provider into a unified format and eliminates duplicates. Input: Collected data. Output: Unified format data.

[0406] What it does: Parses data provided by different services, converts it into a consistent format, and eliminates duplicate data.

[0407] Step 9: The server aggregates and analyzes the unified format data and performs scoring. Input: unified format data. Output: scored data.

[0408] Specific operation: Select the most suitable restaurant by scoring based on rating points, number of reviews, budget, etc. Also, prioritize restaurants for users with high stress levels by taking into account emotional data.

[0409] Step 10: The server generates a list of selected restaurants and sends it to the terminal in JSON format. Input: Selected data. Output: Send JSON list to the terminal.

[0410] Specific operation: Convert the list into JSON data and send it to the terminal as an HTTP response.

[0411] Step 11: The terminal parses the JSON data received from the server and displays the restaurant list in an easy-to-read format for the user. Input: Received JSON data. Output: Display of restaurant list.

[0412] Specific operation: A list of restaurants is visually displayed in card or map format, and each restaurant has a "View details" button and a "Make a reservation" button.

[0413] Step 12: The user selects the restaurant they are interested in and clicks the "View Details" or "Make a Reservation" button. Input: User's selection. Output: Transition to the details page or reservation page.

[0414] Specific operation: When the user checks the details and clicks the "Make a reservation" button, a reservation information input form will be displayed.

[0415] Step 13: The user enters reservation information and presses the "Confirm" button. Input: Reservation information. Output: JSON data of reservation information.

[0416] Specific operation: After the user enters the desired date and time, number of people, special notes, etc., the terminal converts the reservation information into JSON format.

[0417] Step 14: The terminal sends the reservation information JSON data to the server, and the server sends a reservation request to the restaurant API. Input: JSON data of reservation information. Output: Reservation processing result.

[0418] Specific operation: The terminal sends the reservation information to the server, and the server sends the final reservation request to the restaurant API.

[0419] Step 15: The server receives confirmation of the reservation completion and notifies the terminal. Input: Reservation processing result. Output: Notification to the terminal.

[0420] Specific operation: The server receives confirmation of the reservation completion and notifies the terminal.

[0421] Step 16: The terminal displays a reservation confirmation message to the user, and the reservation is completed. Input: Notification from the server. Output: Reservation confirmation message to the user.

[0422] Specific operation: The terminal displays a message to the user indicating that the reservation is complete, and the reservation procedure is completed.

[0423] The above is the processing flow of this system.

[0424] (Application example 2)

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

[0426] Conventional food delivery services make it difficult for users to find the perfect food or restaurant for their emotional state. Simply setting criteria such as budget, cuisine, and location does not allow users to find options that match their current psychological state. This results in lower user satisfaction and a decrease in frequency of service use. Furthermore, because they do not take emotional data into account, they are unable to provide a dining experience that reduces stress or allows users to relax.

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

[0428] In this invention, the server includes means for converting user requirements into a data format and transmitting the data to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format and aggregating and analyzing the data after eliminating duplicates, means for generating optimized results based on the aggregated and analyzed data, means for displaying the results to the user, means for the user to select and order based on the displayed results, means for collecting and analyzing user emotion data, and means for optimizing the results based on the emotion data, thereby enabling the provision of optimal food delivery options based on the user's emotional state.

[0429] "User's conditions" refer to the budget, type of cuisine, area, and other requests specified by the user.

[0430] A "means for converting into a data format" is a device or software that includes a process for converting the conditions entered by the user into a structured data format (e.g., JSON).

[0431] The "means for collecting data from a plurality of information providing services" refers to a device or software for acquiring necessary data from a plurality of information providing services via a network.

[0432] "Means for converting data into a unified format, eliminating duplicates, and aggregating and analyzing data" refers to equipment or software that includes a process for converting acquired data into a consistent format, eliminating duplicates, and analyzing the data.

[0433] "Means for generating optimized results" refers to a device or software that generates optimal options for users based on the aggregated and analyzed data.

[0434] The "means for displaying results to a user" is a device or software that visually displays the generated optimization results to a user.

[0435] The "means for selecting and ordering" refers to a device or software that allows a user to select an option from the displayed results and complete an order.

[0436] "Means for collecting and analyzing user emotional data" refers to devices or software for capturing and analyzing the user's emotions, such as facial expressions and voice.

[0437] A "means for optimizing results based on emotional data" is a device or software that includes a process for providing optimal options to a user based on collected emotional data.

[0438] The present invention provides a system that recognizes a user's emotions and suggests optimal food delivery options based on those emotions. This system functions through cooperation between a user, a terminal, a server, and an emotion analysis engine. Specific embodiments are described below.

[0439] User operations

[0440] 1. The user opens the dedicated application on their smartphone.

[0441] 2. The user enters the desired conditions (e.g., budget up to 2,000 yen, Japanese food, current location) into the input form and presses the "Search" button.

[0442] 3. The emotion analysis engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[0443] Terminal handling

[0444] 1. The device converts the conditions entered by the user and the emotional data recognized by the emotion analysis engine into JSON format data.

[0445] {

[0446] "conditions": {

[0447] "budget": 2000,

[0448] "genre": "Japanese",

[0449] "location": "Current Location",

[0450] "smoking": false

[0451] },

[0452] "emotions": {

[0453] "stress_level": "high",

[0454] "mood": "neutral"

[0455] }

[0456] }

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

[0458] Server Processing

[0459] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[0460] 2. Next, it sends condition-based requests to the APIs of multiple information providers (e.g., food delivery services) to collect data on food delivery options that match the conditions. The collected data is also converted into JSON format.

[0461] 3. The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found from multiple services, it will be merged into one.

[0462] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. Restaurants are scored based on criteria such as rating points, number of reviews, price range, and whether they are non-smoking, and the best food delivery option is selected for the user.

[0463] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting dishes that create a relaxing atmosphere or dishes that can relieve stress.

[0464] 6. The server generates a list of selected food delivery options and sends it to the device in JSON format.

[0465] [

[0466] {

[0467] "name": "Relaxing Sushi Place",

[0468] "address": "Shibuya, Tokyo",

[0469] "rating": 4.8,

[0470] "reviews": 150,

[0471] "budget": 1800,

[0472] "smoking": false,

[0473] "ambiance": "relaxed",

[0474] "delivery_options": ["Service1", "Service2"]

[0475] },

[0476] ...

[0477] ]

[0478] Viewing and ordering results

[0479] 1. The device parses the JSON data received from the server and displays a list of food delivery options in a user-friendly format (e.g., card or list), with detailed information and buttons to "View Details" and "Order."

[0480] 2. The user selects an option that interests them from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Order" button.

[0481] 3. The terminal displays a form for entering order information (desired delivery time, special instructions, etc.) The user enters the information and presses the "Confirm" button.

[0482] 4. The terminal converts the entered order information into JSON format and sends it to the server. The server receives the order information and sends the final order request to the food delivery service API.

[0483] 5. The server receives confirmation that the order has been completed and notifies the terminal.

[0484] 6. The terminal displays an order confirmation message to the user and the order is completed.

[0485] Examples and prompts

[0486] Example: If a user inputs the criteria "budget up to 2000 yen, Japanese food, current location, non-smoking seat preferred" and the sentiment analysis engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information providers based on the specified criteria and sentiment data, and lists the most suitable restaurants. The list is prioritized taking into account the scoring and sentiment data, with food delivery options with a relaxing atmosphere being displayed at the top. The device then displays this list to the user, who can select the desired option and complete the order.

[0487] Example prompt:

[0488] Build a system that allows users to search for food delivery options based on their emotions using their smartphones. Include functionality that captures user emotions in real time and suggests the best dishes and restaurants.

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

[0490] Step 1:

[0491] The user opens the smartphone application and inputs conditions, such as budget, type of food, and current location. At this time, the smartphone's camera and microphone capture the user's facial expressions and voice, obtaining emotional data in real time. The input conditions and captured emotional data become the input data.

[0492] Step 2:

[0493] The conditions and emotion data acquired by the device are converted into JSON format. During conversion, the user's conditions (e.g., budget up to 2000 yen, Japanese food, current location, preference for non-smoking seat) and emotion data (e.g., high stress, neutral mood) are mapped to JSON as corresponding key pairs. The converted JSON data becomes the output data.

[0494] Step 3:

[0495] The terminal sends the converted JSON data to the server as an HTTP POST request, which causes the server to receive the input data. The data sent is the converted JSON data.

[0496] Step 4:

[0497] The server analyzes the received JSON data. During the data analysis process, the user's conditions and emotion data are extracted and stored in an internal data structure. The analyzed data structure becomes the output data.

[0498] Step 5:

[0499] The server sends condition-based requests to the APIs of multiple information providers and collects the corresponding data. For example, it sends a request to a food delivery service API that offers Japanese cuisine and non-smoking restaurants with a budget of up to 2,000 yen. The information obtained through the API request becomes input data.

[0500] Step 6:

[0501] The server converts the data received from each information provider into a unified format. Next, it eliminates duplicate information (e.g., the same restaurant information from multiple services) and formats it into a consistent format. During this process, it also analyzes each piece of information's rating, number of reviews, price range, and whether or not smoking is permitted. The converted data becomes the output data.

[0502] Step 7:

[0503] The server then aggregates and analyzes the unified data to generate optimal food delivery options for the user. In particular, it prioritizes dishes that create a relaxing atmosphere and reduce stress based on emotional data (e.g., high stress). The optimized results from this process are output data.

[0504] Step 8:

[0505] The server generates a list of optimized food delivery options and sends it to the device in JSON format. The data sent is the optimized JSON data.

[0506] Step 9:

[0507] The device parses the JSON data received from the server and displays it in a user-friendly format (card or list format). The displayed content includes detailed information about each food delivery option (e.g., restaurant name, rating, and budget). This is the output data to the user.

[0508] Step 10:

[0509] The user selects the food delivery option they are interested in from the displayed list and clicks the "View Details" button. The selected data becomes the next input data.

[0510] Step 11:

[0511] The user checks the menu and reviews on the details page and clicks the "Order" button. A form is then displayed in which the user can enter the desired delivery time and any special notes. The entered order information becomes the next input data.

[0512] Step 12:

[0513] The terminal converts the input order information into JSON format and sends it to the server. The data sent is the converted JSON data of the order information.

[0514] Step 13:

[0515] The server receives the order information and sends a final order request to the corresponding food delivery service API. The order is confirmed through the API request. During this process, the server receives confirmation of the order completion based on the API response.

[0516] Step 14:

[0517] After the server receives confirmation that the order has been completed, it returns the result to the terminal in JSON format. The returned data is JSON data that includes confirmation that the order has been completed.

[0518] Step 15:

[0519] The terminal parses the received JSON data and displays an order confirmation message to the user, completing the order. The confirmation message is the final output data to the user.

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

[0521] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (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.

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

[0523] [Second embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0536] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[0537] User operations

[0538] 1. The user opens a dedicated application on a device such as a smartphone or computer.

[0539] 2. The user enters the desired conditions (for example, budget, type of cuisine, area, whether smoking is permitted, etc.) on the condition input screen.

[0540] 3. When the user presses the "Search" button, the entered conditions are converted into JSON format data by the terminal.

[0541] Terminal handling

[0542] 1. The device sends the condition data converted to JSON format to the server as an HTTP POST request.

[0543] 2. The terminal also prepares to receive a response from the server.

[0544] Server Processing

[0545] 1. The server analyzes the condition data received from the terminal.

[0546] 2. Next, requests are sent to the APIs of multiple information services (for example, specific restaurant review sites and map services) to collect restaurant data that matches the criteria.

[0547] 3. The server converts the data received from each information provider into a unified format and eliminates duplicate information.

[0548] 4. The data, formatted in a unified format, is aggregated and analyzed on the server based on criteria such as rating points, number of reviews, price range, and whether smoking is permitted.

[0549] 5. The server generates a list of restaurants that are most suitable for the user based on the analysis results and sends it to the terminal in JSON format.

[0550] Viewing and booking results

[0551] 1. The device analyzes the data received from the server and displays it in an easy-to-read format for the user, including the store name, address, photos, rating, number of reviews, budget, etc.

[0552] 2. The user can select the restaurant they are interested in from the displayed list, check the details, and make a reservation online if necessary.

[0553] Specific examples

[0554] For example, if a user enters the conditions "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seat preferred," the device converts these conditions into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the desired restaurant and complete the reservation.

[0555] The present invention allows users to easily find the best restaurant and complete reservations smoothly. The system includes a means for efficiently collecting data from multiple information providing services and providing optimal results.

[0556] The processing flow will be explained below.

[0557] Step 1:

[0558] The user opens the application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[0559] Step 2:

[0560] The terminal converts the conditions entered by the user into JSON format data.

[0561] {

[0562] "budget": 2000,

[0563] "genre": "Japanese",

[0564] "location": "Shibuya",

[0565] "smoking": false

[0566] }

[0567] Step 3:

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

[0569] Step 4:

[0570] The server analyzes the JSON data received from the terminal and extracts conditions.

[0571] Step 5:

[0572] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services).

[0573] Restaurant review site API:

[0574] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[0575] Map Service API:

[0576] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[0577] Step 6:

[0578] The server analyzes the data received from each information provider, converts it into a unified format, and eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[0579] Step 7:

[0580] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the 10 most suitable establishments for the user.

[0581] Step 8:

[0582] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[0583] [

[0584] {

[0585] "name": "Restaurant A",

[0586] "address": "Shibuya, Tokyo",

[0587] "rating": 4.5,

[0588] "reviews": 120,

[0589] "budget": 1800,

[0590] "smoking": false

[0591] },

[0592] ...

[0593] ]

[0594] Step 9:

[0595] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[0596] Step 10:

[0597] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[0598] Step 11:

[0599] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[0600] Step 12:

[0601] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[0602] Step 13:

[0603] The server receives confirmation of the reservation completion and notifies the terminal.

[0604] Step 14:

[0605] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[0606] Example 1

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

[0608] Conventional restaurant search systems make it difficult for users to efficiently find restaurants that meet their desired criteria. Furthermore, they often contain duplicate data and do not perform detailed analysis based on the criteria. Furthermore, there is a lack of a means to centrally obtain, compare, and analyze data from multiple information services, making it difficult to obtain accurate search results. This results in users having to spend a lot of time and effort to find the restaurant that best suits them.

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

[0610] In this invention, the server includes a means for converting user requirements into a data format and transmitting it to the server, a means for collecting data from multiple information services, and a means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing it. This enables the server to quickly and accurately present search results for optimal restaurants based on the user's requirements. Furthermore, by acquiring data from external review sites and map services via API and analyzing the results based on detailed requirements such as rating points, number of reviews, price range, and whether or not smoking is permitted, the server can provide the restaurant most suitable for the user. This allows users to quickly find the optimal restaurant with minimal effort and complete reservations smoothly.

[0611] The "means for entering conditions" refers to an interface that allows users to enter desired conditions such as budget, type of cuisine, area, and whether smoking is permitted into an input form on a dedicated application or website.

[0612] "Means for converting into a data format and sending to the server" refers to a function for converting the conditions entered by the user into a machine-understandable data format such as JSON, and sending that data to the server as an HTTP POST request.

[0613] "Means of collecting data from multiple information providing services" refers to a function for obtaining necessary data via API from external services such as restaurant review sites and map services.

[0614] "Means of converting data into a unified format, eliminating duplicates, and aggregating and analyzing" refers to a function that converts data obtained from each information provider into a common format, removes duplicate information, and aggregates and analyzes data based on certain conditions.

[0615] The "means for generating optimized results" is a function for generating a list of restaurants that best meets the user's requirements from the results of the aggregation and analysis.

[0616] "Means for displaying results to the user" refers to a function for displaying the analysis results received from the server to the user in an easy-to-understand manner through a graphical user interface or the like.

[0617] "Means to select, check details, and make a reservation" refers to a function that allows users to select a restaurant of interest from the displayed list of restaurants, check its details, and, if necessary, make a reservation online.

[0618] "Means of obtaining data using the APIs of external review sites and map services" refers to a function that sends API requests to external services that provide restaurant reviews and location information and obtains the necessary data.

[0619] "Means for converting conditions into JSON format and sending to server" is a function for encoding the conditions entered by the user into JSON format and sending to the server.

[0620] "Means of aggregating and analyzing based on rating points, number of reviews, price range, and whether smoking is permitted" is a function for aggregating and analyzing acquired restaurant data based on conditions such as rating points, number of reviews, price range, and whether smoking is permitted.

[0621] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[0622] User operations

[0623] First, the user opens the dedicated application on a device such as a smartphone or computer. Next, they enter their desired conditions on the condition input screen. Specifically, they specify budget, type of cuisine, area, whether smoking is permitted, etc. For example, a user might enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating preferred." After that, when the user presses the "Search" button, the entered conditions are converted into JSON format data by the device.

[0624] Terminal handling

[0625] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP POST request. The device also prepares to receive a response from the server. For example, the following data is sent to the server: {"budget":2000, "cuisine":"Japanese food", "area":"Shibuya", "nonSmoking":true}.

[0626] Server Processing

[0627] The server analyzes the received JSON-formatted condition data. Based on the analysis results, it sends a request to the API of each information service (for example, a restaurant review site or map service) to obtain data that matches the conditions. Specifically, the server uses the API of an external review site or map service to collect restaurant data. The server sends an API request, converts the obtained data into a unified format, and eliminates duplicate information.

[0628] Data integration and analysis

[0629] The server converts the data obtained from each information provider into a common format and creates a dataset containing information such as store name, address, budget, rating, and number of reviews. After eliminating duplicate data, the data is aggregated and analyzed. The analysis includes criteria such as rating, number of reviews, price range, and whether smoking is permitted.

[0630] Generate and send results

[0631] The server generates a list of restaurants that best suit the user based on the analysis results. The generated list is sent to the device in JSON format. For example, the following data is sent to the device: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}

[0632] Viewing and booking results

[0633] The terminal analyzes the data received from the server and displays it in an easy-to-read format for the user. This display includes the restaurant name, address, photos, rating, number of reviews, budget, etc. The user can select a restaurant of interest from the displayed list and check detailed information. If necessary, they can also make reservations online.

[0634] Specific examples

[0635] For example, a user enters criteria such as "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred." The device converts these criteria into JSON format and sends it to the server. The server collects data from multiple information services based on the specified criteria, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the restaurant they want and complete the reservation. This system allows users to find the perfect restaurant without any hassle and complete the reservation smoothly.

[0636] Example prompts to input to the generative AI model

[0637] "Looking for a restaurant with a budget of up to 2000 yen, Japanese food, around Shibuya, and non-smoking seating"

[0638] "I'm looking for a good Italian restaurant in the Shinjuku area, with a budget of around 5,000 yen."

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

[0640] Step 1:

[0641] The user opens a dedicated application from their smartphone or computer. The input form displays fields for entering criteria such as budget, cuisine type, area, and whether smoking is permitted. The user enters these criteria and presses the search button. Once the input is complete, it is converted into JSON format data. For example, the input may include criteria such as "budget up to 2000 yen," "Japanese cuisine," "Shibuya area," and "non-smoking seat desired," and this data is converted into the following: {"budget":2000, "cuisine":"Japanese cuisine", "area":"Shibuya", "nonSmoking":true}.

[0642] Step 2:

[0643] The device sends the JSON-formatted condition data received from the user to the server using an HTTP POST request. The device also prepares to receive a response from the server. The necessary network request and response waiting logic for this are built into the application.

[0644] Step 3:

[0645] The server analyzes the received JSON-formatted condition data. The analyzed data is converted into a specific query such as "budget up to 2000 yen, cuisine genre Japanese, area Shibuya, non-smoking seat preferred." Based on this, the server sends a request to an external review site or map service API to collect restaurant data that matches the conditions. For example, a request is sent to the Gurunavi API or Google Maps API.

[0646] Step 4:

[0647] The server converts the data obtained from each information provider into a unified format. This process standardizes information such as restaurant name, address, budget, rating, and number of reviews. It also eliminates duplicate data, creating a consistent data set without duplication. For example, it verifies that "Store A" and "Store A'" are the same, and integrates the information.

[0648] Step 5:

[0649] The server aggregates and analyzes the data, formatted in a unified format, based on the user's criteria. This includes calculating the average rating, the number of reviews, and filtering by budget range. This analysis generates a list of restaurants that best fit the user's criteria. For example, Japanese restaurants with a rating of 4.5 or higher are listed.

[0650] Step 6:

[0651] The server generates the optimized results in JSON format and sends them to the terminal. The generated JSON data has a format like this: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}.

[0652] Step 7:

[0653] The device parses the received JSON data and displays it in a format that is easy for the user to view. The display includes the store name, address, photos, rating, number of reviews, budget, etc. The user can select a store of interest from the list and check detailed information. During this process, the user selects "Store A" and checks the detailed information.

[0654] Step 8:

[0655] The user selects a restaurant they are interested in from the displayed list and makes a reservation online. For example, the user selects "Store B," enters the necessary information in the reservation form, and submits it. This completes the reservation.

[0656] (Application example 1)

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

[0658] Many current food delivery services have a problem in that it takes a lot of time and effort for users to find the best restaurant. Users have to refer to multiple apps and websites individually, making it difficult to compare information from each service. As a result, users waste time and effort and find it inconvenient to choose the best delivery service.

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

[0660] In this invention, the server includes means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, and means for generating optimized results based on the aggregated and analyzed data. This enables users to easily obtain information on multiple delivery services using a single application, select the most suitable store, and place an order.

[0661] "User" means a person who uses the food delivery service.

[0662] "Conditions" are the budget, type of food, area, delivery time, and other desired factors set by the user.

[0663] "Data format" refers to the format into which the conditions entered by the user are converted for transmission to the server.

[0664] A "server" is a computer system that receives condition data from a user, collects data from multiple information providing services, and performs integrated processing.

[0665] "Information provision service" is an online service that provides information about food delivery via API.

[0666] The "unified format" is a data format in which data obtained from multiple information providing services is converted into a single format.

[0667] "Deduplication" is the process of removing identical information from data obtained from multiple information providing services.

[0668] "Aggregation and analysis" refers to the process of performing statistical or logical processing on data that has had duplicates removed to derive optimal results for the user.

[0669] "Optimized results" are a list of restaurants that best fit the user's criteria based on aggregated and analyzed data.

[0670] "Display" refers to displaying the optimized results on the application in a format that is easy for the user to view.

[0671] "Selection" refers to the act of a user choosing a restaurant of interest from the displayed list of restaurants.

[0672] "Ordering" means the act of requesting food delivery from a store selected by the user.

[0673] The present invention provides a system that enables users to efficiently find the most suitable restaurant that offers delivery and smoothly place an order. Specific embodiments are described below.

[0674] User operations

[0675] Users open a dedicated application on their smartphone, smart glasses, or head-mounted display. Using the application, users can set their desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. After entering the conditions, users press the "Search" button.

[0676] Terminal handling

[0677] The device converts the conditions entered by the user into JSON format data and sends it to the server as an HTTP POST request. It also prepares to receive a response from the server. The device uses the React Native framework for smartphone applications and ARKit for smart glasses or head-mounted displays. The Google Speech-to-Text API is used for voice input.

[0678] Server Processing

[0679] The server receives and analyzes the JSON-formatted condition data sent from the device. Based on the analyzed condition data, the server sends requests to multiple delivery information services (for example, the API of a general delivery service) to collect restaurant data that matches the conditions. The collected data is converted into a unified format and duplicate data is eliminated using Pandas and Numpy.

[0680] Next, the data is formatted in a unified format and statistically and logically aggregated and analyzed to generate a list of restaurants that are best suited to the user. This list is returned to the device in JSON format.

[0681] Viewing and ordering results

[0682] The device parses the JSON data received from the server and displays the information in an easy-to-read format to the user. The display includes information such as the restaurant's name, address, photos, rating, number of reviews, and budget. The user selects a restaurant of interest from the displayed list, checks the details, and places an order.

[0683] Specific examples

[0684] For example, if a user enters criteria such as "budget up to 3,000 yen, Italian food, Minato Ward, delivery within 20 minutes," the device converts this to JSON format and sends it to the server. The server collects restaurant data from multiple delivery information services based on the specified criteria, eliminates duplicate data, and lists the restaurants that are most suitable for the user. The device displays this list to the user, allowing them to select the restaurant of their interest and complete their order.

[0685] Here is an example prompt:

[0686] Budget: Under 3,000 yen

[0687] Cuisine: Italian

[0688] Area: Minato Ward

[0689] Delivery time: within 20 minutes

[0690] Search for and list restaurants that meet these criteria.

[0691] This system allows users to easily obtain information on multiple delivery services in one application, select the most suitable store, and place an order. Specific technical elements used include React Native, ARKit, Google Speech-to-Text API, Node.js, Express, MongoDB, Pandas, and Numpy, providing a seamless user experience.

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

[0693] Step 1:

[0694] The user opens a dedicated application on their smartphone, smart glasses, or head-mounted display, and sets the desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. The condition data specified by the user is received as input and passed to the next step.

[0695] Step 2:

[0696] The device converts the condition data received from the user into JSON format and sends it as an HTTP POST request to the server. The device also converts the condition data received as input into a data format and sends it to the server so that the server can begin data analysis. This is where React Native, ARKit, and the Google Speech-to-Text API are used.

[0697] Step 3:

[0698] The server analyzes the JSON formatted condition data received from the device and collects data by sending requests to the APIs of multiple delivery information services. It receives the analyzed condition data as input and sends requests to each information service to obtain the necessary restaurant data.

[0699] Step 4:

[0700] The server converts the data received from each information provider into a unified format and eliminates duplicate data. It receives the collected raw data as input, formats the data using Pandas and Numpy, and removes duplicate information, thereby creating a consistent dataset.

[0701] Step 5:

[0702] The server performs statistical and logical aggregation and analysis based on the unified formatted data to generate a list of restaurants that are best suited to the user. Using the formatted dataset as input, the server applies algorithms to score and filter the data, generating an optimized list of restaurants that is then sent to the device in JSON format.

[0703] Step 6:

[0704] The device parses the optimized restaurant list received from the server and displays it in a user-friendly format. It receives JSON data from the server as input and displays the information using React Native and ARKit. This information includes the restaurant name, address, photos, rating, number of reviews, budget, etc.

[0705] Step 7:

[0706] The user selects a restaurant from the displayed list of restaurants, checks the details, and places an order. The user makes a selection based on the displayed list of restaurants, and sends the order data to the server, which finally starts the food delivery.

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

[0708] The present invention provides a system that recognizes a user's emotions and suggests the most suitable restaurant based on the emotions. The system functions through cooperation between the user, a terminal, a server, and an emotion engine. Specific embodiments are described below.

[0709] User operations

[0710] 1. The user opens a dedicated application on their smartphone or computer.

[0711] 2. The user enters the desired conditions (e.g. budget up to 2000 yen, Japanese cuisine, Shibuya, non-smoking seats) into the input form and presses the "Search" button.

[0712] 3. The emotion engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[0713] Terminal handling

[0714] 1. The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[0715] {

[0716] "conditions": {

[0717] "budget": 2000,

[0718] "genre": "Japanese",

[0719] "location": "Shibuya",

[0720] "smoking": false

[0721] },

[0722] "emotions": {

[0723] "stress_level": "high",

[0724] "mood": "neutral"

[0725] }

[0726] }

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

[0728] Server Processing

[0729] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[0730] 2. Next, it sends condition-based requests to the APIs of multiple information services (restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted to JSON format.

[0731] 3. The server analyzes the data received from each information provider and converts it into a unified format. At the same time, it also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[0732] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. It is scored based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, and the best restaurant for the user is selected.

[0733] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[0734] 6. The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[0735] [

[0736] {

[0737] "name": "Relaxing Sushi Place",

[0738] "address": "Shibuya, Tokyo",

[0739] "rating": 4.8,

[0740] "reviews": 150,

[0741] "budget": 1800,

[0742] "smoking": false,

[0743] "ambiance": "relaxed"

[0744] },

[0745] ...

[0746] ]

[0747] Viewing and booking results

[0748] 1. The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[0749] 2. The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[0750] 3. The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[0751] 4. The device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[0752] 5. The server receives confirmation that the reservation is complete and notifies the terminal.

[0753] 6. The terminal displays a reservation confirmation message to the user, and the reservation is complete.

[0754] Specific examples

[0755] For example, if a user inputs the conditions "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred" and the emotion engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions and emotion data, and creates a list of optimal restaurants. The list is prioritized taking into account scoring and emotion data, with restaurants with a relaxing atmosphere appearing at the top. The device displays this list to the user, who can then select the desired restaurant and complete the reservation.

[0756] The present invention allows users to easily find the best restaurant that matches their emotional state and reduce stress. The system includes a means for efficiently collecting data from multiple information providing services and providing the best results based on the user's emotions.

[0757] The processing flow will be explained below.

[0758] Step 1:

[0759] The user opens a dedicated application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[0760] Step 2:

[0761] The emotion engine recognizes emotions in real time from the user's voice, facial expressions, or input text, for example by capturing facial expressions with a camera or analyzing the tone of voice with a microphone.

[0762] Step 3:

[0763] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[0764] {

[0765] "conditions": {

[0766] "budget": 2000,

[0767] "genre": "Japanese",

[0768] "location": "Shibuya",

[0769] "smoking": false

[0770] },

[0771] "emotions": {

[0772] "stress_level": "high",

[0773] "mood": "neutral"

[0774] }

[0775] }

[0776] Step 4:

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

[0778] Step 5:

[0779] The server analyzes the JSON data received from the device and extracts the conditions and emotion data.

[0780] Step 6:

[0781] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted into JSON format.

[0782] Restaurant review site API:

[0783] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[0784] Map Service API:

[0785] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[0786] Step 7:

[0787] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[0788] Step 8:

[0789] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the best restaurant for the user.

[0790] Step 9:

[0791] Furthermore, the server takes into consideration the recognized emotional data, and if it determines that stress is high, it will give priority to suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[0792] Step 10:

[0793] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[0794] [

[0795] {

[0796] "name": "Relaxing Sushi Place",

[0797] "address": "Shibuya, Tokyo",

[0798] "rating": 4.8,

[0799] "reviews": 150,

[0800] "budget": 1800,

[0801] "smoking": false,

[0802] "ambiance": "relaxed"

[0803] },

[0804] ...

[0805] ]

[0806] Step 11:

[0807] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons for "View details" and "Make a reservation."

[0808] Step 12:

[0809] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[0810] Step 13:

[0811] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[0812] Step 14:

[0813] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[0814] Step 15:

[0815] The server receives confirmation of the reservation completion and notifies the terminal.

[0816] Step 16:

[0817] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[0818] Example 2

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

[0820] Conventional restaurant recommendation systems suggest appropriate restaurants based on user-entered criteria, but they have the problem of not being able to make recommendations that take into account the user's emotional state. This makes it difficult to find the restaurant that best suits the user's current mood or level of stress. Furthermore, issues remain, such as eliminating duplicates and converting data into consistent formats when processing data from multiple information services in a unified manner.

[0821] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0822] In this invention, the server includes means for inputting conditions from a user, means for converting the conditions into a data format and transmitting it to the server, means for recognizing emotions from the user's voice, facial expression, or text, means for converting the recognized emotion data into a data format and transmitting it to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, means for generating optimized results based on the aggregated and analyzed data and emotion data, means for displaying the results to the user, and means for the user to select and make a reservation based on the displayed results. This enables the user to efficiently find the optimal restaurant based on their emotional state, thereby reducing stress for the user.

[0823] "Means for inputting conditions from the user" refers to a device or software that provides an interface for the user to input the conditions they desire.

[0824] "Means for converting the conditions into a data format and transmitting it to a server" refers to a method or device for converting the input conditions into a data format that can be understood by a computer and transmitting that data to a server.

[0825] "Means for recognizing emotions from a user's voice, facial expression, or text" refers to technology or devices that analyze and recognize emotions based on a user's voice, facial expression, or input text information.

[0826] "Means for converting recognized emotion data into a data format and transmitting it to a server" refers to a method or device for converting emotion information recognized by an emotion engine into a data format that can be understood by a computer and transmitting that data to a server.

[0827] "Means for collecting data from multiple information providing services" refers to the methods and devices used to collect the required data from different information providing services.

[0828] "Means of converting collected data into a unified format, eliminating duplication, and aggregating and analyzing" refers to methods and devices for converting data provided in different formats into a consistent format, eliminating duplicates of the same information if they exist, and analyzing them together.

[0829] "Means for generating optimized results based on aggregated and analyzed data and emotion data" refers to a method or device for generating optimized recommendation results using aggregated and analyzed data and emotion-recognized data.

[0830] "Means for displaying the results to the user" refers to a device or software for visually displaying the generated results to the user.

[0831] "Means for users to select and make reservations based on the displayed results" refers to devices or software that allow users to select restaurants of interest from the displayed results and make reservations for them.

[0832] The present invention is a system for suggesting optimal restaurants based on a user's emotional state, in which a user, a terminal, and a server work in cooperation with each other. Specific embodiments of the present invention will be described below.

[0833] User operations

[0834] The user launches a dedicated application on their smartphone or computer. The application displays the initial screen and prompts the user to log in. After logging in, the user enters their desired conditions. For example, they enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and press the "Search" button.

[0835] Emotion recognition

[0836] After the user enters the conditions, the emotion engine is activated and performs analysis to recognize emotions from the user's voice, facial expressions, or input text. Real-time emotion analysis is performed using a dedicated camera or microphone. For example, the emotion engine can detect "high stress, neutral mood" from the user's facial expressions.

[0837] Terminal handling

[0838] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data. The following is an example:

[0839] json

[0840] {

[0841] "conditions": {

[0842] "budget": 2000,

[0843] "genre": "Japanese",

[0844] "location": "Shibuya",

[0845] "smoking": false

[0846] },

[0847] "emotions": {

[0848] "stress_level": "high",

[0849] "mood": "neutral"

[0850] }

[0851] }

[0852] The converted JSON data is sent from the terminal to the server as an HTTP POST request.

[0853] Server Processing

[0854] The server analyzes the JSON data received from the device and extracts the conditions and emotion data. It then sends requests based on the APIs of multiple information services (e.g., restaurant review sites and map services) to collect restaurant data that matches the conditions. The collected data is then converted back to JSON format.

[0855] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is provided by different services, it will merge them into one.

[0856] Data collection, analysis and scoring

[0857] The data, formatted into a unified format, is aggregated and analyzed on the server. Scoring is performed based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, allowing the system to select the best restaurant for the user. Furthermore, the system takes into account recognized emotional data and prioritizes restaurants with a relaxing atmosphere for users experiencing high levels of stress.

[0858] Viewing and booking results

[0859] The server generates a list of selected restaurants and sends it to the terminal in JSON format. The terminal parses the received JSON data and displays the list in a format that is easy for the user to view (e.g., card format or map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[0860] The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. On the details page, they can check the menu and reviews, and when they click the "Make a Reservation" button, the device displays a form for entering reservation information (desired date and time, number of people, special notes, etc.).

[0861] When the user enters the information and presses the "Confirm" button, the device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends a final reservation request to the restaurant API. The server then notifies the device that the reservation is complete. The device then displays a reservation confirmation message to the user, and the reservation is complete.

[0862] Examples and prompts

[0863] Here are some examples of specific prompts:

[0864] "The user entered the criteria 'budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating', and the emotion engine detected 'high stress, neutral mood'. Please suggest the best restaurant taking this information into consideration."

[0865] The present invention allows users to easily find the best restaurant that matches their emotional state, reducing stress. It also efficiently collects data from multiple information providing services and provides optimal results based on the user's emotions.

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

[0867] Step 1: The user launches a dedicated application on a smartphone or computer. Input: User operation. Output: The initial screen of the application.

[0868] What happens: The user taps or clicks on the application to launch it and the initial screen appears.

[0869] Step 2: The user enters the desired conditions. Input: User's conditions. Output: Conditions entered in the input form.

[0870] Specific operation: The user enters conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and presses the "Search" button.

[0871] Step 3: The emotion engine recognizes emotions from the user's voice, facial expression, or input text. Input: User's voice, facial expression, text. Output: Recognized emotion data.

[0872] Specific operation: Analyzes the user's voice and facial expressions in real time through a dedicated camera and microphone to recognize "high stress, neutral mood."

[0873] Step 4: The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format. Input: User conditions, recognized emotion data. Output: JSON format data.

[0874] Specific operation: Based on the conditions and emotion data, the following JSON data is generated.

[0875] json

[0876] {

[0877] "conditions": {

[0878] "budget": 2000,

[0879] "genre": "Japanese",

[0880] "location": "Shibuya",

[0881] "smoking": false

[0882] },

[0883] "emotions": {

[0884] "stress_level": "high",

[0885] "mood": "neutral"

[0886] }

[0887] }

[0888] Step 5: The terminal sends the JSON data to the server as an HTTP POST request. Input: JSON data. Output: Request sent to the server.

[0889] Specific behavior: The device uses the appropriate endpoint to send JSON data to the server via an HTTP POST request.

[0890] Step 6: The server parses the JSON data received from the device and extracts the condition and emotion data. Input: Received JSON data. Output: Extracted condition and emotion data.

[0891] Specific operation: The server parses the JSON data and stores the condition and emotion data in an internal data structure.

[0892] Step 7: The server sends an API request to collect data from multiple information providers. Input: Condition data. Output: Data from multiple information providers.

[0893] Specific operation: Sends condition-based requests to "restaurant review sites" and "map service APIs" to collect data.

[0894] Step 8: The server converts the data received from each information provider into a unified format and eliminates duplicates. Input: Collected data. Output: Unified format data.

[0895] What it does: Parses data provided by different services, converts it into a consistent format, and eliminates duplicate data.

[0896] Step 9: The server aggregates and analyzes the unified format data and performs scoring. Input: unified format data. Output: scored data.

[0897] Specific operation: Select the most suitable restaurant by scoring based on rating points, number of reviews, budget, etc. Also, prioritize restaurants for users with high stress levels by taking into account emotional data.

[0898] Step 10: The server generates a list of selected restaurants and sends it to the terminal in JSON format. Input: Selected data. Output: Send JSON list to the terminal.

[0899] Specific operation: Convert the list into JSON data and send it to the terminal as an HTTP response.

[0900] Step 11: The terminal parses the JSON data received from the server and displays the restaurant list in an easy-to-read format for the user. Input: Received JSON data. Output: Display of restaurant list.

[0901] Specific operation: A list of restaurants is visually displayed in card or map format, and each restaurant has a "View details" button and a "Make a reservation" button.

[0902] Step 12: The user selects the restaurant they are interested in and clicks the "View Details" or "Make a Reservation" button. Input: User's selection. Output: Transition to the details page or reservation page.

[0903] Specific operation: When the user checks the details and clicks the "Make a reservation" button, a reservation information input form will be displayed.

[0904] Step 13: The user enters reservation information and presses the "Confirm" button. Input: Reservation information. Output: JSON data of reservation information.

[0905] Specific operation: After the user enters the desired date and time, number of people, special notes, etc., the terminal converts the reservation information into JSON format.

[0906] Step 14: The terminal sends the reservation information JSON data to the server, and the server sends a reservation request to the restaurant API. Input: JSON data of reservation information. Output: Reservation processing result.

[0907] Specific operation: The terminal sends the reservation information to the server, and the server sends the final reservation request to the restaurant API.

[0908] Step 15: The server receives confirmation of the reservation completion and notifies the terminal. Input: Reservation processing result. Output: Notification to the terminal.

[0909] Specific operation: The server receives confirmation of the reservation completion and notifies the terminal.

[0910] Step 16: The terminal displays a reservation confirmation message to the user, and the reservation is completed. Input: Notification from the server. Output: Reservation confirmation message to the user.

[0911] Specific operation: The terminal displays a message to the user indicating that the reservation is complete, and the reservation procedure is completed.

[0912] The above is the processing flow of this system.

[0913] (Application example 2)

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

[0915] Conventional food delivery services make it difficult for users to find the perfect food or restaurant for their emotional state. Simply setting criteria such as budget, cuisine, and location does not allow users to find options that match their current psychological state. This results in lower user satisfaction and a decrease in frequency of service use. Furthermore, because they do not take emotional data into account, they are unable to provide a dining experience that reduces stress or allows users to relax.

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

[0917] In this invention, the server includes means for converting user requirements into a data format and transmitting the data to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format and aggregating and analyzing the data after eliminating duplicates, means for generating optimized results based on the aggregated and analyzed data, means for displaying the results to the user, means for the user to select and order based on the displayed results, means for collecting and analyzing user emotion data, and means for optimizing the results based on the emotion data, thereby enabling the provision of optimal food delivery options based on the user's emotional state.

[0918] "User's conditions" refer to the budget, type of cuisine, area, and other requests specified by the user.

[0919] A "means for converting into a data format" is a device or software that includes a process for converting the conditions entered by the user into a structured data format (e.g., JSON).

[0920] The "means for collecting data from a plurality of information providing services" refers to a device or software for acquiring necessary data from a plurality of information providing services via a network.

[0921] "Means for converting data into a unified format, eliminating duplicates, and aggregating and analyzing data" refers to equipment or software that includes a process for converting acquired data into a consistent format, eliminating duplicates, and analyzing the data.

[0922] "Means for generating optimized results" refers to a device or software that generates optimal options for users based on the aggregated and analyzed data.

[0923] The "means for displaying results to a user" is a device or software that visually displays the generated optimization results to a user.

[0924] The "means for selecting and ordering" refers to a device or software that allows a user to select an option from the displayed results and complete an order.

[0925] "Means for collecting and analyzing user emotional data" refers to devices or software for capturing and analyzing the user's emotions, such as facial expressions and voice.

[0926] A "means for optimizing results based on emotional data" is a device or software that includes a process for providing optimal options to a user based on collected emotional data.

[0927] The present invention provides a system that recognizes a user's emotions and suggests optimal food delivery options based on those emotions. This system functions through cooperation between a user, a terminal, a server, and an emotion analysis engine. Specific embodiments are described below.

[0928] User operations

[0929] 1. The user opens the dedicated application on their smartphone.

[0930] 2. The user enters the desired conditions (e.g., budget up to 2,000 yen, Japanese food, current location) into the input form and presses the "Search" button.

[0931] 3. The emotion analysis engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[0932] Terminal handling

[0933] 1. The device converts the conditions entered by the user and the emotional data recognized by the emotion analysis engine into JSON format data.

[0934] {

[0935] "conditions": {

[0936] "budget": 2000,

[0937] "genre": "Japanese",

[0938] "location": "Current Location",

[0939] "smoking": false

[0940] },

[0941] "emotions": {

[0942] "stress_level": "high",

[0943] "mood": "neutral"

[0944] }

[0945] }

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

[0947] Server Processing

[0948] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[0949] 2. Next, it sends condition-based requests to the APIs of multiple information providers (e.g., food delivery services) to collect data on food delivery options that match the conditions. The collected data is also converted into JSON format.

[0950] 3. The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found from multiple services, it will be merged into one.

[0951] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. Restaurants are scored based on criteria such as rating points, number of reviews, price range, and whether they are non-smoking, and the best food delivery option is selected for the user.

[0952] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting dishes that create a relaxing atmosphere or dishes that can relieve stress.

[0953] 6. The server generates a list of selected food delivery options and sends it to the device in JSON format.

[0954] [

[0955] {

[0956] "name": "Relaxing Sushi Place",

[0957] "address": "Shibuya, Tokyo",

[0958] "rating": 4.8,

[0959] "reviews": 150,

[0960] "budget": 1800,

[0961] "smoking": false,

[0962] "ambiance": "relaxed",

[0963] "delivery_options": ["Service1", "Service2"]

[0964] },

[0965] ...

[0966] ]

[0967] Viewing and ordering results

[0968] 1. The device parses the JSON data received from the server and displays a list of food delivery options in a user-friendly format (e.g., card or list), with detailed information and buttons to "View Details" and "Order."

[0969] 2. The user selects an option that interests them from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Order" button.

[0970] 3. The terminal displays a form for entering order information (desired delivery time, special instructions, etc.) The user enters the information and presses the "Confirm" button.

[0971] 4. The terminal converts the entered order information into JSON format and sends it to the server. The server receives the order information and sends the final order request to the food delivery service API.

[0972] 5. The server receives confirmation that the order has been completed and notifies the terminal.

[0973] 6. The terminal displays an order confirmation message to the user and the order is completed.

[0974] Examples and prompts

[0975] Example: If a user inputs the criteria "budget up to 2000 yen, Japanese food, current location, non-smoking seat preferred" and the sentiment analysis engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information providers based on the specified criteria and sentiment data, and lists the most suitable restaurants. The list is prioritized taking into account the scoring and sentiment data, with food delivery options with a relaxing atmosphere being displayed at the top. The device then displays this list to the user, who can select the desired option and complete the order.

[0976] Example prompt:

[0977] Build a system that allows users to search for food delivery options based on their emotions using their smartphones. Include functionality that captures user emotions in real time and suggests the best dishes and restaurants.

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

[0979] Step 1:

[0980] The user opens the smartphone application and inputs conditions, such as budget, type of food, and current location. At this time, the smartphone's camera and microphone capture the user's facial expressions and voice, obtaining emotional data in real time. The input conditions and captured emotional data become the input data.

[0981] Step 2:

[0982] The conditions and emotion data acquired by the device are converted into JSON format. During conversion, the user's conditions (e.g., budget up to 2000 yen, Japanese food, current location, preference for non-smoking seat) and emotion data (e.g., high stress, neutral mood) are mapped to JSON as corresponding key pairs. The converted JSON data becomes the output data.

[0983] Step 3:

[0984] The terminal sends the converted JSON data to the server as an HTTP POST request, which causes the server to receive the input data. The data sent is the converted JSON data.

[0985] Step 4:

[0986] The server analyzes the received JSON data. During the data analysis process, the user's conditions and emotion data are extracted and stored in an internal data structure. The analyzed data structure becomes the output data.

[0987] Step 5:

[0988] The server sends condition-based requests to the APIs of multiple information providers and collects the corresponding data. For example, it sends a request to a food delivery service API that offers Japanese cuisine and non-smoking restaurants with a budget of up to 2,000 yen. The information obtained through the API request becomes input data.

[0989] Step 6:

[0990] The server converts the data received from each information provider into a unified format. Next, it eliminates duplicate information (e.g., the same restaurant information from multiple services) and formats it into a consistent format. During this process, it also analyzes each piece of information's rating, number of reviews, price range, and whether or not smoking is permitted. The converted data becomes the output data.

[0991] Step 7:

[0992] The server then aggregates and analyzes the unified data to generate optimal food delivery options for the user. In particular, it prioritizes dishes that create a relaxing atmosphere and reduce stress based on emotional data (e.g., high stress). The optimized results from this process are output data.

[0993] Step 8:

[0994] The server generates a list of optimized food delivery options and sends it to the device in JSON format. The data sent is the optimized JSON data.

[0995] Step 9:

[0996] The device parses the JSON data received from the server and displays it in a user-friendly format (card or list format). The displayed content includes detailed information about each food delivery option (e.g., restaurant name, rating, and budget). This is the output data to the user.

[0997] Step 10:

[0998] The user selects the food delivery option they are interested in from the displayed list and clicks the "View Details" button. The selected data becomes the next input data.

[0999] Step 11:

[1000] The user checks the menu and reviews on the details page and clicks the "Order" button. A form is then displayed in which the user can enter the desired delivery time and any special notes. The entered order information becomes the next input data.

[1001] Step 12:

[1002] The terminal converts the input order information into JSON format and sends it to the server. The data sent is the converted JSON data of the order information.

[1003] Step 13:

[1004] The server receives the order information and sends a final order request to the corresponding food delivery service API. The order is confirmed through the API request. During this process, the server receives confirmation of the order completion based on the API response.

[1005] Step 14:

[1006] After the server receives confirmation that the order has been completed, it returns the result to the terminal in JSON format. The returned data is JSON data that includes confirmation that the order has been completed.

[1007] Step 15:

[1008] The terminal parses the received JSON data and displays an order confirmation message to the user, completing the order. The confirmation message is the final output data to the user.

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

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

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

[1012] [Third embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[1025] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[1026] User operations

[1027] 1. The user opens a dedicated application on a device such as a smartphone or computer.

[1028] 2. The user enters the desired conditions (for example, budget, type of cuisine, area, whether smoking is permitted, etc.) on the condition input screen.

[1029] 3. When the user presses the "Search" button, the entered conditions are converted into JSON format data by the terminal.

[1030] Terminal handling

[1031] 1. The device sends the condition data converted to JSON format to the server as an HTTP POST request.

[1032] 2. The terminal also prepares to receive a response from the server.

[1033] Server Processing

[1034] 1. The server analyzes the condition data received from the terminal.

[1035] 2. Next, requests are sent to the APIs of multiple information services (for example, specific restaurant review sites and map services) to collect restaurant data that matches the criteria.

[1036] 3. The server converts the data received from each information provider into a unified format and eliminates duplicate information.

[1037] 4. The data, formatted in a unified format, is aggregated and analyzed on the server based on criteria such as rating points, number of reviews, price range, and whether smoking is permitted.

[1038] 5. The server generates a list of restaurants that are most suitable for the user based on the analysis results and sends it to the terminal in JSON format.

[1039] Viewing and booking results

[1040] 1. The device analyzes the data received from the server and displays it in an easy-to-read format for the user, including the store name, address, photos, rating, number of reviews, budget, etc.

[1041] 2. The user can select the restaurant they are interested in from the displayed list, check the details, and make a reservation online if necessary.

[1042] Specific examples

[1043] For example, if a user enters the conditions "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seat preferred," the device converts these conditions into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the desired restaurant and complete the reservation.

[1044] The present invention allows users to easily find the best restaurant and complete reservations smoothly. The system includes a means for efficiently collecting data from multiple information providing services and providing optimal results.

[1045] The processing flow will be explained below.

[1046] Step 1:

[1047] The user opens the application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[1048] Step 2:

[1049] The terminal converts the conditions entered by the user into JSON format data.

[1050] {

[1051] "budget": 2000,

[1052] "genre": "Japanese",

[1053] "location": "Shibuya",

[1054] "smoking": false

[1055] }

[1056] Step 3:

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

[1058] Step 4:

[1059] The server analyzes the JSON data received from the terminal and extracts conditions.

[1060] Step 5:

[1061] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services).

[1062] Restaurant review site API:

[1063] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[1064] Map Service API:

[1065] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[1066] Step 6:

[1067] The server analyzes the data received from each information provider, converts it into a unified format, and eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[1068] Step 7:

[1069] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the 10 most suitable establishments for the user.

[1070] Step 8:

[1071] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[1072] [

[1073] {

[1074] "name": "Restaurant A",

[1075] "address": "Shibuya, Tokyo",

[1076] "rating": 4.5,

[1077] "reviews": 120,

[1078] "budget": 1800,

[1079] "smoking": false

[1080] },

[1081] ...

[1082] ]

[1083] Step 9:

[1084] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[1085] Step 10:

[1086] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[1087] Step 11:

[1088] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[1089] Step 12:

[1090] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[1091] Step 13:

[1092] The server receives confirmation of the reservation completion and notifies the terminal.

[1093] Step 14:

[1094] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[1095] Example 1

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

[1097] Conventional restaurant search systems make it difficult for users to efficiently find restaurants that meet their desired criteria. Furthermore, they often contain duplicate data and do not perform detailed analysis based on the criteria. Furthermore, there is a lack of a means to centrally obtain, compare, and analyze data from multiple information services, making it difficult to obtain accurate search results. This results in users having to spend a lot of time and effort to find the restaurant that best suits them.

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

[1099] In this invention, the server includes a means for converting user requirements into a data format and transmitting it to the server, a means for collecting data from multiple information services, and a means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing it. This enables the server to quickly and accurately present search results for optimal restaurants based on the user's requirements. Furthermore, by acquiring data from external review sites and map services via API and analyzing the results based on detailed requirements such as rating points, number of reviews, price range, and whether or not smoking is permitted, the server can provide the restaurant most suitable for the user. This allows users to quickly find the optimal restaurant with minimal effort and complete reservations smoothly.

[1100] The "means for entering conditions" refers to an interface that allows users to enter desired conditions such as budget, type of cuisine, area, and whether smoking is permitted into an input form on a dedicated application or website.

[1101] "Means for converting into a data format and sending to the server" refers to a function for converting the conditions entered by the user into a machine-understandable data format such as JSON, and sending that data to the server as an HTTP POST request.

[1102] "Means of collecting data from multiple information providing services" refers to a function for obtaining necessary data via API from external services such as restaurant review sites and map services.

[1103] "Means of converting data into a unified format, eliminating duplicates, and aggregating and analyzing" refers to a function that converts data obtained from each information provider into a common format, removes duplicate information, and aggregates and analyzes data based on certain conditions.

[1104] The "means for generating optimized results" is a function for generating a list of restaurants that best meets the user's requirements from the results of the aggregation and analysis.

[1105] "Means for displaying results to the user" refers to a function for displaying the analysis results received from the server to the user in an easy-to-understand manner through a graphical user interface or the like.

[1106] "Means to select, check details, and make a reservation" refers to a function that allows users to select a restaurant of interest from the displayed list of restaurants, check its details, and, if necessary, make a reservation online.

[1107] "Means of obtaining data using the APIs of external review sites and map services" refers to a function that sends API requests to external services that provide restaurant reviews and location information and obtains the necessary data.

[1108] "Means for converting conditions into JSON format and sending to server" is a function for encoding the conditions entered by the user into JSON format and sending to the server.

[1109] "Means of aggregating and analyzing based on rating points, number of reviews, price range, and whether smoking is permitted" is a function for aggregating and analyzing acquired restaurant data based on conditions such as rating points, number of reviews, price range, and whether smoking is permitted.

[1110] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[1111] User operations

[1112] First, the user opens the dedicated application on a device such as a smartphone or computer. Next, they enter their desired conditions on the condition input screen. Specifically, they specify budget, type of cuisine, area, whether smoking is permitted, etc. For example, a user might enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating preferred." After that, when the user presses the "Search" button, the entered conditions are converted into JSON format data by the device.

[1113] Terminal handling

[1114] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP POST request. The device also prepares to receive a response from the server. For example, the following data is sent to the server: {"budget":2000, "cuisine":"Japanese food", "area":"Shibuya", "nonSmoking":true}.

[1115] Server Processing

[1116] The server analyzes the received JSON-formatted condition data. Based on the analysis results, it sends a request to the API of each information service (for example, a restaurant review site or map service) to obtain data that matches the conditions. Specifically, the server uses the API of an external review site or map service to collect restaurant data. The server sends an API request, converts the obtained data into a unified format, and eliminates duplicate information.

[1117] Data integration and analysis

[1118] The server converts the data obtained from each information provider into a common format and creates a dataset containing information such as store name, address, budget, rating, and number of reviews. After eliminating duplicate data, the data is aggregated and analyzed. The analysis includes criteria such as rating, number of reviews, price range, and whether smoking is permitted.

[1119] Generate and send results

[1120] The server generates a list of restaurants that best suit the user based on the analysis results. The generated list is sent to the device in JSON format. For example, the following data is sent to the device: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}

[1121] Viewing and booking results

[1122] The terminal analyzes the data received from the server and displays it in an easy-to-read format for the user. This display includes the restaurant name, address, photos, rating, number of reviews, budget, etc. The user can select a restaurant of interest from the displayed list and check detailed information. If necessary, they can also make reservations online.

[1123] Specific examples

[1124] For example, a user enters criteria such as "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred." The device converts these criteria into JSON format and sends it to the server. The server collects data from multiple information services based on the specified criteria, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the restaurant they want and complete the reservation. This system allows users to find the perfect restaurant without any hassle and complete the reservation smoothly.

[1125] Example prompts to input to the generative AI model

[1126] "Looking for a restaurant with a budget of up to 2000 yen, Japanese food, around Shibuya, and non-smoking seating"

[1127] "I'm looking for a good Italian restaurant in the Shinjuku area, with a budget of around 5,000 yen."

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

[1129] Step 1:

[1130] The user opens a dedicated application from their smartphone or computer. The input form displays fields for entering criteria such as budget, cuisine type, area, and whether smoking is permitted. The user enters these criteria and presses the search button. Once the input is complete, it is converted into JSON format data. For example, the input may include criteria such as "budget up to 2000 yen," "Japanese cuisine," "Shibuya area," and "non-smoking seat desired," and this data is converted into the following: {"budget":2000, "cuisine":"Japanese cuisine", "area":"Shibuya", "nonSmoking":true}.

[1131] Step 2:

[1132] The device sends the JSON-formatted condition data received from the user to the server using an HTTP POST request. The device also prepares to receive a response from the server. The necessary network request and response waiting logic for this are built into the application.

[1133] Step 3:

[1134] The server analyzes the received JSON-formatted condition data. The analyzed data is converted into a specific query such as "budget up to 2000 yen, cuisine genre Japanese, area Shibuya, non-smoking seat preferred." Based on this, the server sends a request to an external review site or map service API to collect restaurant data that matches the conditions. For example, a request is sent to the Gurunavi API or Google Maps API.

[1135] Step 4:

[1136] The server converts the data obtained from each information provider into a unified format. This process standardizes information such as restaurant name, address, budget, rating, and number of reviews. It also eliminates duplicate data, creating a consistent data set without duplication. For example, it verifies that "Store A" and "Store A'" are the same, and integrates the information.

[1137] Step 5:

[1138] The server aggregates and analyzes the data, formatted in a unified format, based on the user's criteria. This includes calculating the average rating, the number of reviews, and filtering by budget range. This analysis generates a list of restaurants that best fit the user's criteria. For example, Japanese restaurants with a rating of 4.5 or higher are listed.

[1139] Step 6:

[1140] The server generates the optimized results in JSON format and sends them to the terminal. The generated JSON data has a format like this: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}.

[1141] Step 7:

[1142] The device parses the received JSON data and displays it in a format that is easy for the user to view. The display includes the store name, address, photos, rating, number of reviews, budget, etc. The user can select a store of interest from the list and check detailed information. During this process, the user selects "Store A" and checks the detailed information.

[1143] Step 8:

[1144] The user selects a restaurant they are interested in from the displayed list and makes a reservation online. For example, the user selects "Store B," enters the necessary information in the reservation form, and submits it. This completes the reservation.

[1145] (Application example 1)

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

[1147] Many current food delivery services have a problem in that it takes a lot of time and effort for users to find the best restaurant. Users have to refer to multiple apps and websites individually, making it difficult to compare information from each service. As a result, users waste time and effort and find it inconvenient to choose the best delivery service.

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

[1149] In this invention, the server includes means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, and means for generating optimized results based on the aggregated and analyzed data. This enables users to easily obtain information on multiple delivery services using a single application, select the most suitable store, and place an order.

[1150] "User" means a person who uses the food delivery service.

[1151] "Conditions" are the budget, type of food, area, delivery time, and other desired factors set by the user.

[1152] "Data format" refers to the format into which the conditions entered by the user are converted for transmission to the server.

[1153] A "server" is a computer system that receives condition data from a user, collects data from multiple information providing services, and performs integrated processing.

[1154] "Information provision service" is an online service that provides information about food delivery via API.

[1155] The "unified format" is a data format in which data obtained from multiple information providing services is converted into a single format.

[1156] "Deduplication" is the process of removing identical information from data obtained from multiple information providing services.

[1157] "Aggregation and analysis" refers to the process of performing statistical or logical processing on data that has had duplicates removed to derive optimal results for the user.

[1158] "Optimized results" are a list of restaurants that best fit the user's criteria based on aggregated and analyzed data.

[1159] "Display" refers to displaying the optimized results on the application in a format that is easy for the user to view.

[1160] "Selection" refers to the act of a user choosing a restaurant of interest from the displayed list of restaurants.

[1161] "Ordering" means the act of requesting food delivery from a store selected by the user.

[1162] The present invention provides a system that enables users to efficiently find the most suitable restaurant that offers delivery and smoothly place an order. Specific embodiments are described below.

[1163] User operations

[1164] Users open a dedicated application on their smartphone, smart glasses, or head-mounted display. Using the application, users can set their desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. After entering the conditions, users press the "Search" button.

[1165] Terminal handling

[1166] The device converts the conditions entered by the user into JSON format data and sends it to the server as an HTTP POST request. It also prepares to receive a response from the server. The device uses the React Native framework for smartphone applications and ARKit for smart glasses or head-mounted displays. The Google Speech-to-Text API is used for voice input.

[1167] Server Processing

[1168] The server receives and analyzes the JSON-formatted condition data sent from the device. Based on the analyzed condition data, the server sends requests to multiple delivery information services (for example, the API of a general delivery service) to collect restaurant data that matches the conditions. The collected data is converted into a unified format and duplicate data is eliminated using Pandas and Numpy.

[1169] Next, the data is formatted in a unified format and statistically and logically aggregated and analyzed to generate a list of restaurants that are best suited to the user. This list is returned to the device in JSON format.

[1170] Viewing and ordering results

[1171] The device parses the JSON data received from the server and displays the information in an easy-to-read format to the user. The display includes information such as the restaurant's name, address, photos, rating, number of reviews, and budget. The user selects a restaurant of interest from the displayed list, checks the details, and places an order.

[1172] Specific examples

[1173] For example, if a user enters criteria such as "budget up to 3,000 yen, Italian food, Minato Ward, delivery within 20 minutes," the device converts this to JSON format and sends it to the server. The server collects restaurant data from multiple delivery information services based on the specified criteria, eliminates duplicate data, and lists the restaurants that are most suitable for the user. The device displays this list to the user, allowing them to select the restaurant of their interest and complete their order.

[1174] Here is an example prompt:

[1175] Budget: Under 3,000 yen

[1176] Cuisine: Italian

[1177] Area: Minato Ward

[1178] Delivery time: within 20 minutes

[1179] Search for and list restaurants that meet these criteria.

[1180] This system allows users to easily obtain information on multiple delivery services in one application, select the most suitable store, and place an order. Specific technical elements used include React Native, ARKit, Google Speech-to-Text API, Node.js, Express, MongoDB, Pandas, and Numpy, providing a seamless user experience.

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

[1182] Step 1:

[1183] The user opens a dedicated application on their smartphone, smart glasses, or head-mounted display, and sets the desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. The condition data specified by the user is received as input and passed to the next step.

[1184] Step 2:

[1185] The device converts the condition data received from the user into JSON format and sends it as an HTTP POST request to the server. The device also converts the condition data received as input into a data format and sends it to the server so that the server can begin data analysis. This is where React Native, ARKit, and the Google Speech-to-Text API are used.

[1186] Step 3:

[1187] The server analyzes the JSON formatted condition data received from the device and collects data by sending requests to the APIs of multiple delivery information services. It receives the analyzed condition data as input and sends requests to each information service to obtain the necessary restaurant data.

[1188] Step 4:

[1189] The server converts the data received from each information provider into a unified format and eliminates duplicate data. It receives the collected raw data as input, formats the data using Pandas and Numpy, and removes duplicate information, thereby creating a consistent dataset.

[1190] Step 5:

[1191] The server performs statistical and logical aggregation and analysis based on the unified formatted data to generate a list of restaurants that are best suited to the user. Using the formatted dataset as input, the server applies algorithms to score and filter the data, generating an optimized list of restaurants that is then sent to the device in JSON format.

[1192] Step 6:

[1193] The device parses the optimized restaurant list received from the server and displays it in a user-friendly format. It receives JSON data from the server as input and displays the information using React Native and ARKit. This information includes the restaurant name, address, photos, rating, number of reviews, budget, etc.

[1194] Step 7:

[1195] The user selects a restaurant from the displayed list of restaurants, checks the details, and places an order. The user makes a selection based on the displayed list of restaurants, and sends the order data to the server, which finally starts the food delivery.

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

[1197] The present invention provides a system that recognizes a user's emotions and suggests the most suitable restaurant based on the emotions. The system functions through cooperation between the user, a terminal, a server, and an emotion engine. Specific embodiments are described below.

[1198] User operations

[1199] 1. The user opens a dedicated application on their smartphone or computer.

[1200] 2. The user enters the desired conditions (e.g. budget up to 2000 yen, Japanese cuisine, Shibuya, non-smoking seats) into the input form and presses the "Search" button.

[1201] 3. The emotion engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[1202] Terminal handling

[1203] 1. The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[1204] {

[1205] "conditions": {

[1206] "budget": 2000,

[1207] "genre": "Japanese",

[1208] "location": "Shibuya",

[1209] "smoking": false

[1210] },

[1211] "emotions": {

[1212] "stress_level": "high",

[1213] "mood": "neutral"

[1214] }

[1215] }

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

[1217] Server Processing

[1218] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[1219] 2. Next, it sends condition-based requests to the APIs of multiple information services (restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted to JSON format.

[1220] 3. The server analyzes the data received from each information provider and converts it into a unified format. At the same time, it also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[1221] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. It is scored based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, and the best restaurant for the user is selected.

[1222] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[1223] 6. The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[1224] [

[1225] {

[1226] "name": "Relaxing Sushi Place",

[1227] "address": "Shibuya, Tokyo",

[1228] "rating": 4.8,

[1229] "reviews": 150,

[1230] "budget": 1800,

[1231] "smoking": false,

[1232] "ambiance": "relaxed"

[1233] },

[1234] ...

[1235] ]

[1236] Viewing and booking results

[1237] 1. The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[1238] 2. The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[1239] 3. The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[1240] 4. The device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[1241] 5. The server receives confirmation that the reservation is complete and notifies the terminal.

[1242] 6. The terminal displays a reservation confirmation message to the user, and the reservation is complete.

[1243] Specific examples

[1244] For example, if a user inputs the conditions "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred" and the emotion engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions and emotion data, and creates a list of optimal restaurants. The list is prioritized taking into account scoring and emotion data, with restaurants with a relaxing atmosphere appearing at the top. The device displays this list to the user, who can then select the desired restaurant and complete the reservation.

[1245] The present invention allows users to easily find the best restaurant that matches their emotional state and reduce stress. The system includes a means for efficiently collecting data from multiple information providing services and providing the best results based on the user's emotions.

[1246] The processing flow will be explained below.

[1247] Step 1:

[1248] The user opens a dedicated application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[1249] Step 2:

[1250] The emotion engine recognizes emotions in real time from the user's voice, facial expressions, or input text, for example by capturing facial expressions with a camera or analyzing the tone of voice with a microphone.

[1251] Step 3:

[1252] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[1253] {

[1254] "conditions": {

[1255] "budget": 2000,

[1256] "genre": "Japanese",

[1257] "location": "Shibuya",

[1258] "smoking": false

[1259] },

[1260] "emotions": {

[1261] "stress_level": "high",

[1262] "mood": "neutral"

[1263] }

[1264] }

[1265] Step 4:

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

[1267] Step 5:

[1268] The server analyzes the JSON data received from the device and extracts the conditions and emotion data.

[1269] Step 6:

[1270] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted into JSON format.

[1271] Restaurant review site API:

[1272] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[1273] Map Service API:

[1274] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[1275] Step 7:

[1276] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[1277] Step 8:

[1278] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the best restaurant for the user.

[1279] Step 9:

[1280] Furthermore, the server takes into consideration the recognized emotional data, and if it determines that stress is high, it will give priority to suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[1281] Step 10:

[1282] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[1283] [

[1284] {

[1285] "name": "Relaxing Sushi Place",

[1286] "address": "Shibuya, Tokyo",

[1287] "rating": 4.8,

[1288] "reviews": 150,

[1289] "budget": 1800,

[1290] "smoking": false,

[1291] "ambiance": "relaxed"

[1292] },

[1293] ...

[1294] ]

[1295] Step 11:

[1296] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons for "View details" and "Make a reservation."

[1297] Step 12:

[1298] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[1299] Step 13:

[1300] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[1301] Step 14:

[1302] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[1303] Step 15:

[1304] The server receives confirmation of the reservation completion and notifies the terminal.

[1305] Step 16:

[1306] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[1307] Example 2

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

[1309] Conventional restaurant recommendation systems suggest appropriate restaurants based on user-entered criteria, but they have the problem of not being able to make recommendations that take into account the user's emotional state. This makes it difficult to find the restaurant that best suits the user's current mood or level of stress. Furthermore, issues remain, such as eliminating duplicates and converting data into consistent formats when processing data from multiple information services in a unified manner.

[1310] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1311] In this invention, the server includes means for inputting conditions from a user, means for converting the conditions into a data format and transmitting it to the server, means for recognizing emotions from the user's voice, facial expression, or text, means for converting the recognized emotion data into a data format and transmitting it to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, means for generating optimized results based on the aggregated and analyzed data and emotion data, means for displaying the results to the user, and means for the user to select and make a reservation based on the displayed results. This enables the user to efficiently find the optimal restaurant based on their emotional state, thereby reducing stress for the user.

[1312] "Means for inputting conditions from the user" refers to a device or software that provides an interface for the user to input the conditions they desire.

[1313] "Means for converting the conditions into a data format and transmitting it to a server" refers to a method or device for converting the input conditions into a data format that can be understood by a computer and transmitting that data to a server.

[1314] "Means for recognizing emotions from a user's voice, facial expression, or text" refers to technology or devices that analyze and recognize emotions based on a user's voice, facial expression, or input text information.

[1315] "Means for converting recognized emotion data into a data format and transmitting it to a server" refers to a method or device for converting emotion information recognized by an emotion engine into a data format that can be understood by a computer and transmitting that data to a server.

[1316] "Means for collecting data from multiple information providing services" refers to the methods and devices used to collect the required data from different information providing services.

[1317] "Means of converting collected data into a unified format, eliminating duplication, and aggregating and analyzing" refers to methods and devices for converting data provided in different formats into a consistent format, eliminating duplicates of the same information if they exist, and analyzing them together.

[1318] "Means for generating optimized results based on aggregated and analyzed data and emotion data" refers to a method or device for generating optimized recommendation results using aggregated and analyzed data and emotion-recognized data.

[1319] "Means for displaying the results to the user" refers to a device or software for visually displaying the generated results to the user.

[1320] "Means for users to select and make reservations based on the displayed results" refers to devices or software that allow users to select restaurants of interest from the displayed results and make reservations for them.

[1321] The present invention is a system for suggesting optimal restaurants based on a user's emotional state, in which a user, a terminal, and a server work in cooperation with each other. Specific embodiments of the present invention will be described below.

[1322] User operations

[1323] The user launches a dedicated application on their smartphone or computer. The application displays the initial screen and prompts the user to log in. After logging in, the user enters their desired conditions. For example, they enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and press the "Search" button.

[1324] Emotion recognition

[1325] After the user enters the conditions, the emotion engine is activated and performs analysis to recognize emotions from the user's voice, facial expressions, or input text. Real-time emotion analysis is performed using a dedicated camera or microphone. For example, the emotion engine can detect "high stress, neutral mood" from the user's facial expressions.

[1326] Terminal handling

[1327] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data. The following is an example:

[1328] json

[1329] {

[1330] "conditions": {

[1331] "budget": 2000,

[1332] "genre": "Japanese",

[1333] "location": "Shibuya",

[1334] "smoking": false

[1335] },

[1336] "emotions": {

[1337] "stress_level": "high",

[1338] "mood": "neutral"

[1339] }

[1340] }

[1341] The converted JSON data is sent from the terminal to the server as an HTTP POST request.

[1342] Server Processing

[1343] The server analyzes the JSON data received from the device and extracts the conditions and emotion data. It then sends requests based on the APIs of multiple information services (e.g., restaurant review sites and map services) to collect restaurant data that matches the conditions. The collected data is then converted back to JSON format.

[1344] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is provided by different services, it will merge them into one.

[1345] Data collection, analysis and scoring

[1346] The data, formatted into a unified format, is aggregated and analyzed on the server. Scoring is performed based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, allowing the system to select the best restaurant for the user. Furthermore, the system takes into account recognized emotional data and prioritizes restaurants with a relaxing atmosphere for users experiencing high levels of stress.

[1347] Viewing and booking results

[1348] The server generates a list of selected restaurants and sends it to the terminal in JSON format. The terminal parses the received JSON data and displays the list in a format that is easy for the user to view (e.g., card format or map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[1349] The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. On the details page, they can check the menu and reviews, and when they click the "Make a Reservation" button, the device displays a form for entering reservation information (desired date and time, number of people, special notes, etc.).

[1350] When the user enters the information and presses the "Confirm" button, the device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends a final reservation request to the restaurant API. The server then notifies the device that the reservation is complete. The device then displays a reservation confirmation message to the user, and the reservation is complete.

[1351] Examples and prompts

[1352] Here are some examples of specific prompts:

[1353] "The user entered the criteria 'budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating', and the emotion engine detected 'high stress, neutral mood'. Please suggest the best restaurant taking this information into consideration."

[1354] The present invention allows users to easily find the best restaurant that matches their emotional state, reducing stress. It also efficiently collects data from multiple information providing services and provides optimal results based on the user's emotions.

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

[1356] Step 1: The user launches a dedicated application on a smartphone or computer. Input: User operation. Output: The initial screen of the application.

[1357] What happens: The user taps or clicks on the application to launch it and the initial screen appears.

[1358] Step 2: The user enters the desired conditions. Input: User's conditions. Output: Conditions entered in the input form.

[1359] Specific operation: The user enters conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and presses the "Search" button.

[1360] Step 3: The emotion engine recognizes emotions from the user's voice, facial expression, or input text. Input: User's voice, facial expression, text. Output: Recognized emotion data.

[1361] Specific operation: Analyzes the user's voice and facial expressions in real time through a dedicated camera and microphone to recognize "high stress, neutral mood."

[1362] Step 4: The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format. Input: User conditions, recognized emotion data. Output: JSON format data.

[1363] Specific operation: Based on the conditions and emotion data, the following JSON data is generated.

[1364] json

[1365] {

[1366] "conditions": {

[1367] "budget": 2000,

[1368] "genre": "Japanese",

[1369] "location": "Shibuya",

[1370] "smoking": false

[1371] },

[1372] "emotions": {

[1373] "stress_level": "high",

[1374] "mood": "neutral"

[1375] }

[1376] }

[1377] Step 5: The terminal sends the JSON data to the server as an HTTP POST request. Input: JSON data. Output: Request sent to the server.

[1378] Specific behavior: The device uses the appropriate endpoint to send JSON data to the server via an HTTP POST request.

[1379] Step 6: The server parses the JSON data received from the device and extracts the condition and emotion data. Input: Received JSON data. Output: Extracted condition and emotion data.

[1380] Specific operation: The server parses the JSON data and stores the condition and emotion data in an internal data structure.

[1381] Step 7: The server sends an API request to collect data from multiple information providers. Input: Condition data. Output: Data from multiple information providers.

[1382] Specific operation: Sends condition-based requests to "restaurant review sites" and "map service APIs" to collect data.

[1383] Step 8: The server converts the data received from each information provider into a unified format and eliminates duplicates. Input: Collected data. Output: Unified format data.

[1384] What it does: Parses data provided by different services, converts it into a consistent format, and eliminates duplicate data.

[1385] Step 9: The server aggregates and analyzes the unified format data and performs scoring. Input: unified format data. Output: scored data.

[1386] Specific operation: Select the most suitable restaurant by scoring based on rating points, number of reviews, budget, etc. Also, prioritize restaurants for users with high stress levels by taking into account emotional data.

[1387] Step 10: The server generates a list of selected restaurants and sends it to the terminal in JSON format. Input: Selected data. Output: Send JSON list to the terminal.

[1388] Specific operation: Convert the list into JSON data and send it to the terminal as an HTTP response.

[1389] Step 11: The terminal parses the JSON data received from the server and displays the restaurant list in an easy-to-read format for the user. Input: Received JSON data. Output: Display of restaurant list.

[1390] Specific operation: A list of restaurants is visually displayed in card or map format, and each restaurant has a "View details" button and a "Make a reservation" button.

[1391] Step 12: The user selects the restaurant they are interested in and clicks the "View Details" or "Make a Reservation" button. Input: User's selection. Output: Transition to the details page or reservation page.

[1392] Specific operation: When the user checks the details and clicks the "Make a reservation" button, a reservation information input form will be displayed.

[1393] Step 13: The user enters reservation information and presses the "Confirm" button. Input: Reservation information. Output: JSON data of reservation information.

[1394] Specific operation: After the user enters the desired date and time, number of people, special notes, etc., the terminal converts the reservation information into JSON format.

[1395] Step 14: The terminal sends the reservation information JSON data to the server, and the server sends a reservation request to the restaurant API. Input: JSON data of reservation information. Output: Reservation processing result.

[1396] Specific operation: The terminal sends the reservation information to the server, and the server sends the final reservation request to the restaurant API.

[1397] Step 15: The server receives confirmation of the reservation completion and notifies the terminal. Input: Reservation processing result. Output: Notification to the terminal.

[1398] Specific operation: The server receives confirmation of the reservation completion and notifies the terminal.

[1399] Step 16: The terminal displays a reservation confirmation message to the user, and the reservation is completed. Input: Notification from the server. Output: Reservation confirmation message to the user.

[1400] Specific operation: The terminal displays a message to the user indicating that the reservation is complete, and the reservation procedure is completed.

[1401] The above is the processing flow of this system.

[1402] (Application example 2)

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

[1404] Conventional food delivery services make it difficult for users to find the perfect food or restaurant for their emotional state. Simply setting criteria such as budget, cuisine, and location does not allow users to find options that match their current psychological state. This results in lower user satisfaction and a decrease in frequency of service use. Furthermore, because they do not take emotional data into account, they are unable to provide a dining experience that reduces stress or allows users to relax.

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

[1406] In this invention, the server includes means for converting user requirements into a data format and transmitting the data to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format and aggregating and analyzing the data after eliminating duplicates, means for generating optimized results based on the aggregated and analyzed data, means for displaying the results to the user, means for the user to select and order based on the displayed results, means for collecting and analyzing user emotion data, and means for optimizing the results based on the emotion data, thereby enabling the provision of optimal food delivery options based on the user's emotional state.

[1407] "User's conditions" refer to the budget, type of cuisine, area, and other requests specified by the user.

[1408] A "means for converting into a data format" is a device or software that includes a process for converting the conditions entered by the user into a structured data format (e.g., JSON).

[1409] The "means for collecting data from a plurality of information providing services" refers to a device or software for acquiring necessary data from a plurality of information providing services via a network.

[1410] "Means for converting data into a unified format, eliminating duplicates, and aggregating and analyzing data" refers to equipment or software that includes a process for converting acquired data into a consistent format, eliminating duplicates, and analyzing the data.

[1411] "Means for generating optimized results" refers to a device or software that generates optimal options for users based on the aggregated and analyzed data.

[1412] The "means for displaying results to a user" is a device or software that visually displays the generated optimization results to a user.

[1413] The "means for selecting and ordering" refers to a device or software that allows a user to select an option from the displayed results and complete an order.

[1414] "Means for collecting and analyzing user emotional data" refers to devices or software for capturing and analyzing the user's emotions, such as facial expressions and voice.

[1415] A "means for optimizing results based on emotional data" is a device or software that includes a process for providing optimal options to a user based on collected emotional data.

[1416] The present invention provides a system that recognizes a user's emotions and suggests optimal food delivery options based on those emotions. This system functions through cooperation between a user, a terminal, a server, and an emotion analysis engine. Specific embodiments are described below.

[1417] User operations

[1418] 1. The user opens the dedicated application on their smartphone.

[1419] 2. The user enters the desired conditions (e.g., budget up to 2,000 yen, Japanese food, current location) into the input form and presses the "Search" button.

[1420] 3. The emotion analysis engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[1421] Terminal handling

[1422] 1. The device converts the conditions entered by the user and the emotional data recognized by the emotion analysis engine into JSON format data.

[1423] {

[1424] "conditions": {

[1425] "budget": 2000,

[1426] "genre": "Japanese",

[1427] "location": "Current Location",

[1428] "smoking": false

[1429] },

[1430] "emotions": {

[1431] "stress_level": "high",

[1432] "mood": "neutral"

[1433] }

[1434] }

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

[1436] Server Processing

[1437] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[1438] 2. Next, it sends condition-based requests to the APIs of multiple information providers (e.g., food delivery services) to collect data on food delivery options that match the conditions. The collected data is also converted into JSON format.

[1439] 3. The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found from multiple services, it will be merged into one.

[1440] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. Restaurants are scored based on criteria such as rating points, number of reviews, price range, and whether they are non-smoking, and the best food delivery option is selected for the user.

[1441] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting dishes that create a relaxing atmosphere or dishes that can relieve stress.

[1442] 6. The server generates a list of selected food delivery options and sends it to the device in JSON format.

[1443] [

[1444] {

[1445] "name": "Relaxing Sushi Place",

[1446] "address": "Shibuya, Tokyo",

[1447] "rating": 4.8,

[1448] "reviews": 150,

[1449] "budget": 1800,

[1450] "smoking": false,

[1451] "ambiance": "relaxed",

[1452] "delivery_options": ["Service1", "Service2"]

[1453] },

[1454] ...

[1455] ]

[1456] Viewing and ordering results

[1457] 1. The device parses the JSON data received from the server and displays a list of food delivery options in a user-friendly format (e.g., card or list), with detailed information and buttons to "View Details" and "Order."

[1458] 2. The user selects an option that interests them from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Order" button.

[1459] 3. The terminal displays a form for entering order information (desired delivery time, special instructions, etc.) The user enters the information and presses the "Confirm" button.

[1460] 4. The terminal converts the entered order information into JSON format and sends it to the server. The server receives the order information and sends the final order request to the food delivery service API.

[1461] 5. The server receives confirmation that the order has been completed and notifies the terminal.

[1462] 6. The terminal displays an order confirmation message to the user and the order is completed.

[1463] Examples and prompts

[1464] Example: If a user inputs the criteria "budget up to 2000 yen, Japanese food, current location, non-smoking seat preferred" and the sentiment analysis engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information providers based on the specified criteria and sentiment data, and lists the most suitable restaurants. The list is prioritized taking into account the scoring and sentiment data, with food delivery options with a relaxing atmosphere being displayed at the top. The device then displays this list to the user, who can select the desired option and complete the order.

[1465] Example prompt:

[1466] Build a system that allows users to search for food delivery options based on their emotions using their smartphones. Include functionality that captures user emotions in real time and suggests the best dishes and restaurants.

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

[1468] Step 1:

[1469] The user opens the smartphone application and inputs conditions, such as budget, type of food, and current location. At this time, the smartphone's camera and microphone capture the user's facial expressions and voice, obtaining emotional data in real time. The input conditions and captured emotional data become the input data.

[1470] Step 2:

[1471] The conditions and emotion data acquired by the device are converted into JSON format. During conversion, the user's conditions (e.g., budget up to 2000 yen, Japanese food, current location, preference for non-smoking seat) and emotion data (e.g., high stress, neutral mood) are mapped to JSON as corresponding key pairs. The converted JSON data becomes the output data.

[1472] Step 3:

[1473] The terminal sends the converted JSON data to the server as an HTTP POST request, which causes the server to receive the input data. The data sent is the converted JSON data.

[1474] Step 4:

[1475] The server analyzes the received JSON data. During the data analysis process, the user's conditions and emotion data are extracted and stored in an internal data structure. The analyzed data structure becomes the output data.

[1476] Step 5:

[1477] The server sends condition-based requests to the APIs of multiple information providers and collects the corresponding data. For example, it sends a request to a food delivery service API that offers Japanese cuisine and non-smoking restaurants with a budget of up to 2,000 yen. The information obtained through the API request becomes input data.

[1478] Step 6:

[1479] The server converts the data received from each information provider into a unified format. Next, it eliminates duplicate information (e.g., the same restaurant information from multiple services) and formats it into a consistent format. During this process, it also analyzes each piece of information's rating, number of reviews, price range, and whether or not smoking is permitted. The converted data becomes the output data.

[1480] Step 7:

[1481] The server then aggregates and analyzes the unified data to generate optimal food delivery options for the user. In particular, it prioritizes dishes that create a relaxing atmosphere and reduce stress based on emotional data (e.g., high stress). The optimized results from this process are output data.

[1482] Step 8:

[1483] The server generates a list of optimized food delivery options and sends it to the device in JSON format. The data sent is the optimized JSON data.

[1484] Step 9:

[1485] The device parses the JSON data received from the server and displays it in a user-friendly format (card or list format). The displayed content includes detailed information about each food delivery option (e.g., restaurant name, rating, and budget). This is the output data to the user.

[1486] Step 10:

[1487] The user selects the food delivery option they are interested in from the displayed list and clicks the "View Details" button. The selected data becomes the next input data.

[1488] Step 11:

[1489] The user checks the menu and reviews on the details page and clicks the "Order" button. A form is then displayed in which the user can enter the desired delivery time and any special notes. The entered order information becomes the next input data.

[1490] Step 12:

[1491] The terminal converts the input order information into JSON format and sends it to the server. The data sent is the converted JSON data of the order information.

[1492] Step 13:

[1493] The server receives the order information and sends a final order request to the corresponding food delivery service API. The order is confirmed through the API request. During this process, the server receives confirmation of the order completion based on the API response.

[1494] Step 14:

[1495] After the server receives confirmation that the order has been completed, it returns the result to the terminal in JSON format. The returned data is JSON data that includes confirmation that the order has been completed.

[1496] Step 15:

[1497] The terminal parses the received JSON data and displays an order confirmation message to the user, completing the order. The confirmation message is the final output data to the user.

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

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

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

[1501] [Fourth embodiment]

[1502] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1515] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[1516] User operations

[1517] 1. The user opens a dedicated application on a device such as a smartphone or computer.

[1518] 2. The user enters the desired conditions (for example, budget, type of cuisine, area, whether smoking is permitted, etc.) on the condition input screen.

[1519] 3. When the user presses the "Search" button, the entered conditions are converted into JSON format data by the terminal.

[1520] Terminal handling

[1521] 1. The device sends the condition data converted to JSON format to the server as an HTTP POST request.

[1522] 2. The terminal also prepares to receive a response from the server.

[1523] Server Processing

[1524] 1. The server analyzes the condition data received from the terminal.

[1525] 2. Next, requests are sent to the APIs of multiple information services (for example, specific restaurant review sites and map services) to collect restaurant data that matches the criteria.

[1526] 3. The server converts the data received from each information provider into a unified format and eliminates duplicate information.

[1527] 4. The data, formatted in a unified format, is aggregated and analyzed on the server based on criteria such as rating points, number of reviews, price range, and whether smoking is permitted.

[1528] 5. The server generates a list of restaurants that are most suitable for the user based on the analysis results and sends it to the terminal in JSON format.

[1529] Viewing and booking results

[1530] 1. The device analyzes the data received from the server and displays it in an easy-to-read format for the user, including the store name, address, photos, rating, number of reviews, budget, etc.

[1531] 2. The user can select the restaurant they are interested in from the displayed list, check the details, and make a reservation online if necessary.

[1532] Specific examples

[1533] For example, if a user enters the conditions "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seat preferred," the device converts these conditions into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the desired restaurant and complete the reservation.

[1534] The present invention allows users to easily find the best restaurant and complete reservations smoothly. The system includes a means for efficiently collecting data from multiple information providing services and providing optimal results.

[1535] The processing flow will be explained below.

[1536] Step 1:

[1537] The user opens the application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[1538] Step 2:

[1539] The terminal converts the conditions entered by the user into JSON format data.

[1540] {

[1541] "budget": 2000,

[1542] "genre": "Japanese",

[1543] "location": "Shibuya",

[1544] "smoking": false

[1545] }

[1546] Step 3:

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

[1548] Step 4:

[1549] The server analyzes the JSON data received from the terminal and extracts conditions.

[1550] Step 5:

[1551] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services).

[1552] Restaurant review site API:

[1553] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[1554] Map Service API:

[1555] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[1556] Step 6:

[1557] The server analyzes the data received from each information provider, converts it into a unified format, and eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[1558] Step 7:

[1559] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the 10 most suitable establishments for the user.

[1560] Step 8:

[1561] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[1562] [

[1563] {

[1564] "name": "Restaurant A",

[1565] "address": "Shibuya, Tokyo",

[1566] "rating": 4.5,

[1567] "reviews": 120,

[1568] "budget": 1800,

[1569] "smoking": false

[1570] },

[1571] ...

[1572] ]

[1573] Step 9:

[1574] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[1575] Step 10:

[1576] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[1577] Step 11:

[1578] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[1579] Step 12:

[1580] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[1581] Step 13:

[1582] The server receives confirmation of the reservation completion and notifies the terminal.

[1583] Step 14:

[1584] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[1585] Example 1

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

[1587] Conventional restaurant search systems make it difficult for users to efficiently find restaurants that meet their desired criteria. Furthermore, they often contain duplicate data and do not perform detailed analysis based on the criteria. Furthermore, there is a lack of a means to centrally obtain, compare, and analyze data from multiple information services, making it difficult to obtain accurate search results. This results in users having to spend a lot of time and effort to find the restaurant that best suits them.

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

[1589] In this invention, the server includes a means for converting user requirements into a data format and transmitting it to the server, a means for collecting data from multiple information services, and a means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing it. This enables the server to quickly and accurately present search results for optimal restaurants based on the user's requirements. Furthermore, by acquiring data from external review sites and map services via API and analyzing the results based on detailed requirements such as rating points, number of reviews, price range, and whether or not smoking is permitted, the server can provide the restaurant most suitable for the user. This allows users to quickly find the optimal restaurant with minimal effort and complete reservations smoothly.

[1590] The "means for entering conditions" refers to an interface that allows users to enter desired conditions such as budget, type of cuisine, area, and whether smoking is permitted into an input form on a dedicated application or website.

[1591] "Means for converting into a data format and sending to the server" refers to a function for converting the conditions entered by the user into a machine-understandable data format such as JSON, and sending that data to the server as an HTTP POST request.

[1592] "Means of collecting data from multiple information providing services" refers to a function for obtaining necessary data via API from external services such as restaurant review sites and map services.

[1593] "Means of converting data into a unified format, eliminating duplicates, and aggregating and analyzing" refers to a function that converts data obtained from each information provider into a common format, removes duplicate information, and aggregates and analyzes data based on certain conditions.

[1594] The "means for generating optimized results" is a function for generating a list of restaurants that best meets the user's requirements from the results of the aggregation and analysis.

[1595] "Means for displaying results to the user" refers to a function for displaying the analysis results received from the server to the user in an easy-to-understand manner through a graphical user interface or the like.

[1596] "Means to select, check details, and make a reservation" refers to a function that allows users to select a restaurant of interest from the displayed list of restaurants, check its details, and, if necessary, make a reservation online.

[1597] "Means of obtaining data using the APIs of external review sites and map services" refers to a function that sends API requests to external services that provide restaurant reviews and location information and obtains the necessary data.

[1598] "Means for converting conditions into JSON format and sending to server" is a function for encoding the conditions entered by the user into JSON format and sending to the server.

[1599] "Means of aggregating and analyzing based on rating points, number of reviews, price range, and whether smoking is permitted" is a function for aggregating and analyzing acquired restaurant data based on conditions such as rating points, number of reviews, price range, and whether smoking is permitted.

[1600] The present invention is a system for enabling users to efficiently find suitable restaurants, and functions effectively through cooperation between users, terminals, and a server. Specific embodiments are described below.

[1601] User operations

[1602] First, the user opens the dedicated application on a device such as a smartphone or computer. Next, they enter their desired conditions on the condition input screen. Specifically, they specify budget, type of cuisine, area, whether smoking is permitted, etc. For example, a user might enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating preferred." After that, when the user presses the "Search" button, the entered conditions are converted into JSON format data by the device.

[1603] Terminal handling

[1604] The device converts the conditions entered by the user into JSON format and sends it to the server as an HTTP POST request. The device also prepares to receive a response from the server. For example, the following data is sent to the server: {"budget":2000, "cuisine":"Japanese food", "area":"Shibuya", "nonSmoking":true}.

[1605] Server Processing

[1606] The server analyzes the received JSON-formatted condition data. Based on the analysis results, it sends a request to the API of each information service (for example, a restaurant review site or map service) to obtain data that matches the conditions. Specifically, the server uses the API of an external review site or map service to collect restaurant data. The server sends an API request, converts the obtained data into a unified format, and eliminates duplicate information.

[1607] Data integration and analysis

[1608] The server converts the data obtained from each information provider into a common format and creates a dataset containing information such as store name, address, budget, rating, and number of reviews. After eliminating duplicate data, the data is aggregated and analyzed. The analysis includes criteria such as rating, number of reviews, price range, and whether smoking is permitted.

[1609] Generate and send results

[1610] The server generates a list of restaurants that best suit the user based on the analysis results. The generated list is sent to the device in JSON format. For example, the following data is sent to the device: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}

[1611] Viewing and booking results

[1612] The terminal analyzes the data received from the server and displays it in an easy-to-read format for the user. This display includes the restaurant name, address, photos, rating, number of reviews, budget, etc. The user can select a restaurant of interest from the displayed list and check detailed information. If necessary, they can also make reservations online.

[1613] Specific examples

[1614] For example, a user enters criteria such as "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred." The device converts these criteria into JSON format and sends it to the server. The server collects data from multiple information services based on the specified criteria, eliminates duplicate data, and creates a list of the 10 most suitable restaurants for the user. The device displays this list to the user, allowing them to select the restaurant they are interested in. The user can then select the restaurant they want and complete the reservation. This system allows users to find the perfect restaurant without any hassle and complete the reservation smoothly.

[1615] Example prompts to input to the generative AI model

[1616] "Looking for a restaurant with a budget of up to 2000 yen, Japanese food, around Shibuya, and non-smoking seating"

[1617] "I'm looking for a good Italian restaurant in the Shinjuku area, with a budget of around 5,000 yen."

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

[1619] Step 1:

[1620] The user opens a dedicated application from their smartphone or computer. The input form displays fields for entering criteria such as budget, cuisine type, area, and whether smoking is permitted. The user enters these criteria and presses the search button. Once the input is complete, it is converted into JSON format data. For example, the input may include criteria such as "budget up to 2000 yen," "Japanese cuisine," "Shibuya area," and "non-smoking seat desired," and this data is converted into the following: {"budget":2000, "cuisine":"Japanese cuisine", "area":"Shibuya", "nonSmoking":true}.

[1621] Step 2:

[1622] The device sends the JSON-formatted condition data received from the user to the server using an HTTP POST request. The device also prepares to receive a response from the server. The necessary network request and response waiting logic for this are built into the application.

[1623] Step 3:

[1624] The server analyzes the received JSON-formatted condition data. The analyzed data is converted into a specific query such as "budget up to 2000 yen, cuisine genre Japanese, area Shibuya, non-smoking seat preferred." Based on this, the server sends a request to an external review site or map service API to collect restaurant data that matches the conditions. For example, a request is sent to the Gurunavi API or Google Maps API.

[1625] Step 4:

[1626] The server converts the data obtained from each information provider into a unified format. This process standardizes information such as restaurant name, address, budget, rating, and number of reviews. It also eliminates duplicate data, creating a consistent data set without duplication. For example, it verifies that "Store A" and "Store A'" are the same, and integrates the information.

[1627] Step 5:

[1628] The server aggregates and analyzes the data, formatted in a unified format, based on the user's criteria. This includes calculating the average rating, the number of reviews, and filtering by budget range. This analysis generates a list of restaurants that best fit the user's criteria. For example, Japanese restaurants with a rating of 4.5 or higher are listed.

[1629] Step 6:

[1630] The server generates the optimized results in JSON format and sends them to the terminal. The generated JSON data has a format like this: {"restaurants": [{"name":"Store A", "address":"Shibuya Ward...", "budget":1800, "rating":4.5, "reviews":100}, ...]}.

[1631] Step 7:

[1632] The device parses the received JSON data and displays it in a format that is easy for the user to view. The display includes the store name, address, photos, rating, number of reviews, budget, etc. The user can select a store of interest from the list and check detailed information. During this process, the user selects "Store A" and checks the detailed information.

[1633] Step 8:

[1634] The user selects a restaurant they are interested in from the displayed list and makes a reservation online. For example, the user selects "Store B," enters the necessary information in the reservation form, and submits it. This completes the reservation.

[1635] (Application example 1)

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

[1637] Many current food delivery services have a problem in that it takes a lot of time and effort for users to find the best restaurant. Users have to refer to multiple apps and websites individually, making it difficult to compare information from each service. As a result, users waste time and effort and find it inconvenient to choose the best delivery service.

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

[1639] In this invention, the server includes means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, and means for generating optimized results based on the aggregated and analyzed data. This enables users to easily obtain information on multiple delivery services using a single application, select the most suitable store, and place an order.

[1640] "User" means a person who uses the food delivery service.

[1641] "Conditions" are the budget, type of food, area, delivery time, and other desired factors set by the user.

[1642] "Data format" refers to the format into which the conditions entered by the user are converted for transmission to the server.

[1643] A "server" is a computer system that receives condition data from a user, collects data from multiple information providing services, and performs integrated processing.

[1644] "Information provision service" is an online service that provides information about food delivery via API.

[1645] The "unified format" is a data format in which data obtained from multiple information providing services is converted into a single format.

[1646] "Deduplication" is the process of removing identical information from data obtained from multiple information providing services.

[1647] "Aggregation and analysis" refers to the process of performing statistical or logical processing on data that has had duplicates removed to derive optimal results for the user.

[1648] "Optimized results" are a list of restaurants that best fit the user's criteria based on aggregated and analyzed data.

[1649] "Display" refers to displaying the optimized results on the application in a format that is easy for the user to view.

[1650] "Selection" refers to the act of a user choosing a restaurant of interest from the displayed list of restaurants.

[1651] "Ordering" means the act of requesting food delivery from a store selected by the user.

[1652] The present invention provides a system that enables users to efficiently find the most suitable restaurant that offers delivery and smoothly place an order. Specific embodiments are described below.

[1653] User operations

[1654] Users open a dedicated application on their smartphone, smart glasses, or head-mounted display. Using the application, users can set their desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. After entering the conditions, users press the "Search" button.

[1655] Terminal handling

[1656] The device converts the conditions entered by the user into JSON format data and sends it to the server as an HTTP POST request. It also prepares to receive a response from the server. The device uses the React Native framework for smartphone applications and ARKit for smart glasses or head-mounted displays. The Google Speech-to-Text API is used for voice input.

[1657] Server Processing

[1658] The server receives and analyzes the JSON-formatted condition data sent from the device. Based on the analyzed condition data, the server sends requests to multiple delivery information services (for example, the API of a general delivery service) to collect restaurant data that matches the conditions. The collected data is converted into a unified format and duplicate data is eliminated using Pandas and Numpy.

[1659] Next, the data is formatted in a unified format and statistically and logically aggregated and analyzed to generate a list of restaurants that are best suited to the user. This list is returned to the device in JSON format.

[1660] Viewing and ordering results

[1661] The device parses the JSON data received from the server and displays the information in an easy-to-read format to the user. The display includes information such as the restaurant's name, address, photos, rating, number of reviews, and budget. The user selects a restaurant of interest from the displayed list, checks the details, and places an order.

[1662] Specific examples

[1663] For example, if a user enters criteria such as "budget up to 3,000 yen, Italian food, Minato Ward, delivery within 20 minutes," the device converts this to JSON format and sends it to the server. The server collects restaurant data from multiple delivery information services based on the specified criteria, eliminates duplicate data, and lists the restaurants that are most suitable for the user. The device displays this list to the user, allowing them to select the restaurant of their interest and complete their order.

[1664] Here is an example prompt:

[1665] Budget: Under 3,000 yen

[1666] Cuisine: Italian

[1667] Area: Minato Ward

[1668] Delivery time: within 20 minutes

[1669] Search for and list restaurants that meet these criteria.

[1670] This system allows users to easily obtain information on multiple delivery services in one application, select the most suitable store, and place an order. Specific technical elements used include React Native, ARKit, Google Speech-to-Text API, Node.js, Express, MongoDB, Pandas, and Numpy, providing a seamless user experience.

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

[1672] Step 1:

[1673] The user opens a dedicated application on their smartphone, smart glasses, or head-mounted display, and sets the desired conditions (budget, type of food, area, delivery time, etc.) by voice or touch input. The condition data specified by the user is received as input and passed to the next step.

[1674] Step 2:

[1675] The device converts the condition data received from the user into JSON format and sends it as an HTTP POST request to the server. The device also converts the condition data received as input into a data format and sends it to the server so that the server can begin data analysis. This is where React Native, ARKit, and the Google Speech-to-Text API are used.

[1676] Step 3:

[1677] The server analyzes the JSON formatted condition data received from the device and collects data by sending requests to the APIs of multiple delivery information services. It receives the analyzed condition data as input and sends requests to each information service to obtain the necessary restaurant data.

[1678] Step 4:

[1679] The server converts the data received from each information provider into a unified format and eliminates duplicate data. It receives the collected raw data as input, formats the data using Pandas and Numpy, and removes duplicate information, thereby creating a consistent dataset.

[1680] Step 5:

[1681] The server performs statistical and logical aggregation and analysis based on the unified formatted data to generate a list of restaurants that are best suited to the user. Using the formatted dataset as input, the server applies algorithms to score and filter the data, generating an optimized list of restaurants that is then sent to the device in JSON format.

[1682] Step 6:

[1683] The device parses the optimized restaurant list received from the server and displays it in a user-friendly format. It receives JSON data from the server as input and displays the information using React Native and ARKit. This information includes the restaurant name, address, photos, rating, number of reviews, budget, etc.

[1684] Step 7:

[1685] The user selects a restaurant from the displayed list of restaurants, checks the details, and places an order. The user makes a selection based on the displayed list of restaurants, and sends the order data to the server, which finally starts the food delivery.

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

[1687] The present invention provides a system that recognizes a user's emotions and suggests the most suitable restaurant based on the emotions. The system functions through cooperation between the user, a terminal, a server, and an emotion engine. Specific embodiments are described below.

[1688] User operations

[1689] 1. The user opens a dedicated application on their smartphone or computer.

[1690] 2. The user enters the desired conditions (e.g. budget up to 2000 yen, Japanese cuisine, Shibuya, non-smoking seats) into the input form and presses the "Search" button.

[1691] 3. The emotion engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[1692] Terminal handling

[1693] 1. The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[1694] {

[1695] "conditions": {

[1696] "budget": 2000,

[1697] "genre": "Japanese",

[1698] "location": "Shibuya",

[1699] "smoking": false

[1700] },

[1701] "emotions": {

[1702] "stress_level": "high",

[1703] "mood": "neutral"

[1704] }

[1705] }

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

[1707] Server Processing

[1708] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[1709] 2. Next, it sends condition-based requests to the APIs of multiple information services (restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted to JSON format.

[1710] 3. The server analyzes the data received from each information provider and converts it into a unified format. At the same time, it also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[1711] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. It is scored based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, and the best restaurant for the user is selected.

[1712] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[1713] 6. The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[1714] [

[1715] {

[1716] "name": "Relaxing Sushi Place",

[1717] "address": "Shibuya, Tokyo",

[1718] "rating": 4.8,

[1719] "reviews": 150,

[1720] "budget": 1800,

[1721] "smoking": false,

[1722] "ambiance": "relaxed"

[1723] },

[1724] ...

[1725] ]

[1726] Viewing and booking results

[1727] 1. The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[1728] 2. The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[1729] 3. The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[1730] 4. The device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[1731] 5. The server receives confirmation that the reservation is complete and notifies the terminal.

[1732] 6. The terminal displays a reservation confirmation message to the user, and the reservation is complete.

[1733] Specific examples

[1734] For example, if a user inputs the conditions "budget up to 2,000 yen, Japanese food, Shibuya area, non-smoking seat preferred" and the emotion engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information services based on the specified conditions and emotion data, and creates a list of optimal restaurants. The list is prioritized taking into account scoring and emotion data, with restaurants with a relaxing atmosphere appearing at the top. The device displays this list to the user, who can then select the desired restaurant and complete the reservation.

[1735] The present invention allows users to easily find the best restaurant that matches their emotional state and reduce stress. The system includes a means for efficiently collecting data from multiple information providing services and providing the best results based on the user's emotions.

[1736] The processing flow will be explained below.

[1737] Step 1:

[1738] The user opens a dedicated application on their smartphone or computer, enters their desired criteria (e.g., budget up to 2,000 yen, Japanese food, Shibuya, non-smoking seats) into the input form, and presses the "Search" button.

[1739] Step 2:

[1740] The emotion engine recognizes emotions in real time from the user's voice, facial expressions, or input text, for example by capturing facial expressions with a camera or analyzing the tone of voice with a microphone.

[1741] Step 3:

[1742] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data.

[1743] {

[1744] "conditions": {

[1745] "budget": 2000,

[1746] "genre": "Japanese",

[1747] "location": "Shibuya",

[1748] "smoking": false

[1749] },

[1750] "emotions": {

[1751] "stress_level": "high",

[1752] "mood": "neutral"

[1753] }

[1754] }

[1755] Step 4:

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

[1757] Step 5:

[1758] The server analyzes the JSON data received from the device and extracts the conditions and emotion data.

[1759] Step 6:

[1760] The server sends condition-based requests to the APIs of multiple information services (e.g., restaurant review sites, map services, etc.) to collect restaurant data that matches the conditions. The collected data is also converted into JSON format.

[1761] Restaurant review site API:

[1762] GET https: / / api.example.com / v2 / restaurants?budget=2000&genre=Japanese&location=Shibuya

[1763] Map Service API:

[1764] GET https: / / api.example.com / v1 / maps / search?query=Japanese+restaurant+in+Shibuya&maxprice=2

[1765] Step 7:

[1766] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found on a review site and a map service, it will be merged into one.

[1767] Step 8:

[1768] The server then aggregates and analyzes the data converted into a unified format, scoring it based on criteria such as rating points, number of reviews, budget, and whether smoking is permitted, and selects the best restaurant for the user.

[1769] Step 9:

[1770] Furthermore, the server takes into consideration the recognized emotional data, and if it determines that stress is high, it will give priority to suggesting stores with a relaxing atmosphere or stores that offer services that can relieve stress.

[1771] Step 10:

[1772] The server generates a list of selected restaurants and sends it to the terminal in JSON format.

[1773] [

[1774] {

[1775] "name": "Relaxing Sushi Place",

[1776] "address": "Shibuya, Tokyo",

[1777] "rating": 4.8,

[1778] "reviews": 150,

[1779] "budget": 1800,

[1780] "smoking": false,

[1781] "ambiance": "relaxed"

[1782] },

[1783] ...

[1784] ]

[1785] Step 11:

[1786] The device parses the JSON data received from the server and displays a list of restaurants in a format that is easy for the user to view (e.g., card format, map format). Each restaurant has detailed information and buttons for "View details" and "Make a reservation."

[1787] Step 12:

[1788] The user selects a restaurant from the list that interests them and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Make a Reservation" button.

[1789] Step 13:

[1790] The terminal displays a form for entering reservation information (desired date and time, number of people, special notes, etc.) The user enters the information and presses the "Confirm" button.

[1791] Step 14:

[1792] The terminal converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends the final reservation request to the restaurant API.

[1793] Step 15:

[1794] The server receives confirmation of the reservation completion and notifies the terminal.

[1795] Step 16:

[1796] The terminal displays a reservation confirmation message to the user, and the reservation is completed.

[1797] Example 2

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

[1799] Conventional restaurant recommendation systems suggest appropriate restaurants based on user-entered criteria, but they have the problem of not being able to make recommendations that take into account the user's emotional state. This makes it difficult to find the restaurant that best suits the user's current mood or level of stress. Furthermore, issues remain, such as eliminating duplicates and converting data into consistent formats when processing data from multiple information services in a unified manner.

[1800] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1801] In this invention, the server includes means for inputting conditions from a user, means for converting the conditions into a data format and transmitting it to the server, means for recognizing emotions from the user's voice, facial expression, or text, means for converting the recognized emotion data into a data format and transmitting it to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format, eliminating duplicates, and aggregating and analyzing the data, means for generating optimized results based on the aggregated and analyzed data and emotion data, means for displaying the results to the user, and means for the user to select and make a reservation based on the displayed results. This enables the user to efficiently find the optimal restaurant based on their emotional state, thereby reducing stress for the user.

[1802] "Means for inputting conditions from the user" refers to a device or software that provides an interface for the user to input the conditions they desire.

[1803] "Means for converting the conditions into a data format and transmitting it to a server" refers to a method or device for converting the input conditions into a data format that can be understood by a computer and transmitting that data to a server.

[1804] "Means for recognizing emotions from a user's voice, facial expression, or text" refers to technology or devices that analyze and recognize emotions based on a user's voice, facial expression, or input text information.

[1805] "Means for converting recognized emotion data into a data format and transmitting it to a server" refers to a method or device for converting emotion information recognized by an emotion engine into a data format that can be understood by a computer and transmitting that data to a server.

[1806] "Means for collecting data from multiple information providing services" refers to the methods and devices used to collect the required data from different information providing services.

[1807] "Means of converting collected data into a unified format, eliminating duplication, and aggregating and analyzing" refers to methods and devices for converting data provided in different formats into a consistent format, eliminating duplicates of the same information if they exist, and analyzing them together.

[1808] "Means for generating optimized results based on aggregated and analyzed data and emotion data" refers to a method or device for generating optimized recommendation results using aggregated and analyzed data and emotion-recognized data.

[1809] "Means for displaying the results to the user" refers to a device or software for visually displaying the generated results to the user.

[1810] "Means for users to select and make reservations based on the displayed results" refers to devices or software that allow users to select restaurants of interest from the displayed results and make reservations for them.

[1811] The present invention is a system for suggesting optimal restaurants based on a user's emotional state, in which a user, a terminal, and a server work in cooperation with each other. Specific embodiments of the present invention will be described below.

[1812] User operations

[1813] The user launches a dedicated application on their smartphone or computer. The application displays the initial screen and prompts the user to log in. After logging in, the user enters their desired conditions. For example, they enter conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and press the "Search" button.

[1814] Emotion recognition

[1815] After the user enters the conditions, the emotion engine is activated and performs analysis to recognize emotions from the user's voice, facial expressions, or input text. Real-time emotion analysis is performed using a dedicated camera or microphone. For example, the emotion engine can detect "high stress, neutral mood" from the user's facial expressions.

[1816] Terminal handling

[1817] The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format data. The following is an example:

[1818] json

[1819] {

[1820] "conditions": {

[1821] "budget": 2000,

[1822] "genre": "Japanese",

[1823] "location": "Shibuya",

[1824] "smoking": false

[1825] },

[1826] "emotions": {

[1827] "stress_level": "high",

[1828] "mood": "neutral"

[1829] }

[1830] }

[1831] The converted JSON data is sent from the terminal to the server as an HTTP POST request.

[1832] Server Processing

[1833] The server analyzes the JSON data received from the device and extracts the conditions and emotion data. It then sends requests based on the APIs of multiple information services (e.g., restaurant review sites and map services) to collect restaurant data that matches the conditions. The collected data is then converted back to JSON format.

[1834] The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is provided by different services, it will merge them into one.

[1835] Data collection, analysis and scoring

[1836] The data, formatted into a unified format, is aggregated and analyzed on the server. Scoring is performed based on criteria such as rating points, number of reviews, price range, and whether or not the restaurant is non-smoking, allowing the system to select the best restaurant for the user. Furthermore, the system takes into account recognized emotional data and prioritizes restaurants with a relaxing atmosphere for users experiencing high levels of stress.

[1837] Viewing and booking results

[1838] The server generates a list of selected restaurants and sends it to the terminal in JSON format. The terminal parses the received JSON data and displays the list in a format that is easy for the user to view (e.g., card format or map format). Each restaurant has detailed information and buttons such as "View details" and "Make a reservation."

[1839] The user selects a restaurant they are interested in from the displayed list and clicks the "View Details" button. On the details page, they can check the menu and reviews, and when they click the "Make a Reservation" button, the device displays a form for entering reservation information (desired date and time, number of people, special notes, etc.).

[1840] When the user enters the information and presses the "Confirm" button, the device converts the entered reservation information into JSON format and sends it to the server. The server receives the reservation information and sends a final reservation request to the restaurant API. The server then notifies the device that the reservation is complete. The device then displays a reservation confirmation message to the user, and the reservation is complete.

[1841] Examples and prompts

[1842] Here are some examples of specific prompts:

[1843] "The user entered the criteria 'budget up to 2000 yen, Japanese food, Shibuya area, non-smoking seating', and the emotion engine detected 'high stress, neutral mood'. Please suggest the best restaurant taking this information into consideration."

[1844] The present invention allows users to easily find the best restaurant that matches their emotional state, reducing stress. It also efficiently collects data from multiple information providing services and provides optimal results based on the user's emotions.

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

[1846] Step 1: The user launches a dedicated application on a smartphone or computer. Input: User operation. Output: The initial screen of the application.

[1847] What happens: The user taps or clicks on the application to launch it and the initial screen appears.

[1848] Step 2: The user enters the desired conditions. Input: User's conditions. Output: Conditions entered in the input form.

[1849] Specific operation: The user enters conditions such as "budget up to 2000 yen, Japanese food, Shibuya, non-smoking seats" into the input form and presses the "Search" button.

[1850] Step 3: The emotion engine recognizes emotions from the user's voice, facial expression, or input text. Input: User's voice, facial expression, text. Output: Recognized emotion data.

[1851] Specific operation: Analyzes the user's voice and facial expressions in real time through a dedicated camera and microphone to recognize "high stress, neutral mood."

[1852] Step 4: The device converts the conditions entered by the user and the emotion data recognized by the emotion engine into JSON format. Input: User conditions, recognized emotion data. Output: JSON format data.

[1853] Specific operation: Based on the conditions and emotion data, the following JSON data is generated.

[1854] json

[1855] {

[1856] "conditions": {

[1857] "budget": 2000,

[1858] "genre": "Japanese",

[1859] "location": "Shibuya",

[1860] "smoking": false

[1861] },

[1862] "emotions": {

[1863] "stress_level": "high",

[1864] "mood": "neutral"

[1865] }

[1866] }

[1867] Step 5: The terminal sends the JSON data to the server as an HTTP POST request. Input: JSON data. Output: Request sent to the server.

[1868] Specific behavior: The device uses the appropriate endpoint to send JSON data to the server via an HTTP POST request.

[1869] Step 6: The server parses the JSON data received from the device and extracts the condition and emotion data. Input: Received JSON data. Output: Extracted condition and emotion data.

[1870] Specific operation: The server parses the JSON data and stores the condition and emotion data in an internal data structure.

[1871] Step 7: The server sends an API request to collect data from multiple information providers. Input: Condition data. Output: Data from multiple information providers.

[1872] Specific operation: Sends condition-based requests to "restaurant review sites" and "map service APIs" to collect data.

[1873] Step 8: The server converts the data received from each information provider into a unified format and eliminates duplicates. Input: Collected data. Output: Unified format data.

[1874] What it does: Parses data provided by different services, converts it into a consistent format, and eliminates duplicate data.

[1875] Step 9: The server aggregates and analyzes the unified format data and performs scoring. Input: unified format data. Output: scored data.

[1876] Specific operation: Select the most suitable restaurant by scoring based on rating points, number of reviews, budget, etc. Also, prioritize restaurants for users with high stress levels by taking into account emotional data.

[1877] Step 10: The server generates a list of selected restaurants and sends it to the terminal in JSON format. Input: Selected data. Output: Send JSON list to the terminal.

[1878] Specific operation: Convert the list into JSON data and send it to the terminal as an HTTP response.

[1879] Step 11: The terminal parses the JSON data received from the server and displays the restaurant list in an easy-to-read format for the user. Input: Received JSON data. Output: Display of restaurant list.

[1880] Specific operation: A list of restaurants is visually displayed in card or map format, and each restaurant has a "View details" button and a "Make a reservation" button.

[1881] Step 12: The user selects the restaurant they are interested in and clicks the "View Details" or "Make a Reservation" button. Input: User's selection. Output: Transition to the details page or reservation page.

[1882] Specific operation: When the user checks the details and clicks the "Make a reservation" button, a reservation information input form will be displayed.

[1883] Step 13: The user enters reservation information and presses the "Confirm" button. Input: Reservation information. Output: JSON data of reservation information.

[1884] Specific operation: After the user enters the desired date and time, number of people, special notes, etc., the terminal converts the reservation information into JSON format.

[1885] Step 14: The terminal sends the reservation information JSON data to the server, and the server sends a reservation request to the restaurant API. Input: JSON data of reservation information. Output: Reservation processing result.

[1886] Specific operation: The terminal sends the reservation information to the server, and the server sends the final reservation request to the restaurant API.

[1887] Step 15: The server receives confirmation of the reservation completion and notifies the terminal. Input: Reservation processing result. Output: Notification to the terminal.

[1888] Specific operation: The server receives confirmation of the reservation completion and notifies the terminal.

[1889] Step 16: The terminal displays a reservation confirmation message to the user, and the reservation is completed. Input: Notification from the server. Output: Reservation confirmation message to the user.

[1890] Specific operation: The terminal displays a message to the user indicating that the reservation is complete, and the reservation procedure is completed.

[1891] The above is the processing flow of this system.

[1892] (Application example 2)

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

[1894] Conventional food delivery services make it difficult for users to find the perfect food or restaurant for their emotional state. Simply setting criteria such as budget, cuisine, and location does not allow users to find options that match their current psychological state. This results in lower user satisfaction and a decrease in frequency of service use. Furthermore, because they do not take emotional data into account, they are unable to provide a dining experience that reduces stress or allows users to relax.

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

[1896] In this invention, the server includes means for converting user requirements into a data format and transmitting the data to the server, means for collecting data from multiple information providing services, means for converting the collected data into a unified format and aggregating and analyzing the data after eliminating duplicates, means for generating optimized results based on the aggregated and analyzed data, means for displaying the results to the user, means for the user to select and order based on the displayed results, means for collecting and analyzing user emotion data, and means for optimizing the results based on the emotion data, thereby enabling the provision of optimal food delivery options based on the user's emotional state.

[1897] "User's conditions" refer to the budget, type of cuisine, area, and other requests specified by the user.

[1898] A "means for converting into a data format" is a device or software that includes a process for converting the conditions entered by the user into a structured data format (e.g., JSON).

[1899] The "means for collecting data from a plurality of information providing services" refers to a device or software for acquiring necessary data from a plurality of information providing services via a network.

[1900] "Means for converting data into a unified format, eliminating duplicates, and aggregating and analyzing data" refers to equipment or software that includes a process for converting acquired data into a consistent format, eliminating duplicates, and analyzing the data.

[1901] "Means for generating optimized results" refers to a device or software that generates optimal options for users based on the aggregated and analyzed data.

[1902] The "means for displaying results to a user" is a device or software that visually displays the generated optimization results to a user.

[1903] The "means for selecting and ordering" refers to a device or software that allows a user to select an option from the displayed results and complete an order.

[1904] "Means for collecting and analyzing user emotional data" refers to devices or software for capturing and analyzing the user's emotions, such as facial expressions and voice.

[1905] A "means for optimizing results based on emotional data" is a device or software that includes a process for providing optimal options to a user based on collected emotional data.

[1906] The present invention provides a system that recognizes a user's emotions and suggests optimal food delivery options based on those emotions. This system functions through cooperation between a user, a terminal, a server, and an emotion analysis engine. Specific embodiments are described below.

[1907] User operations

[1908] 1. The user opens the dedicated application on their smartphone.

[1909] 2. The user enters the desired conditions (e.g., budget up to 2,000 yen, Japanese food, current location) into the input form and presses the "Search" button.

[1910] 3. The emotion analysis engine recognizes emotions from the user's voice, facial expressions, or input text, for example, by using a camera or microphone to perform real-time emotion analysis.

[1911] Terminal handling

[1912] 1. The device converts the conditions entered by the user and the emotional data recognized by the emotion analysis engine into JSON format data.

[1913] {

[1914] "conditions": {

[1915] "budget": 2000,

[1916] "genre": "Japanese",

[1917] "location": "Current Location",

[1918] "smoking": false

[1919] },

[1920] "emotions": {

[1921] "stress_level": "high",

[1922] "mood": "neutral"

[1923] }

[1924] }

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

[1926] Server Processing

[1927] 1. The server analyzes the JSON data received from the device and extracts the condition and emotion data.

[1928] 2. Next, it sends condition-based requests to the APIs of multiple information providers (e.g., food delivery services) to collect data on food delivery options that match the conditions. The collected data is also converted into JSON format.

[1929] 3. The server analyzes the data received from each information provider and converts it into a unified format. It also eliminates duplicate information. For example, if the same restaurant is found from multiple services, it will be merged into one.

[1930] 4. The data, formatted in a unified format, is aggregated and analyzed on the server. Restaurants are scored based on criteria such as rating points, number of reviews, price range, and whether they are non-smoking, and the best food delivery option is selected for the user.

[1931] 5. Furthermore, the server takes into account the recognized emotional data, and if it determines that stress is high, it will prioritize suggesting dishes that create a relaxing atmosphere or dishes that can relieve stress.

[1932] 6. The server generates a list of selected food delivery options and sends it to the device in JSON format.

[1933] [

[1934] {

[1935] "name": "Relaxing Sushi Place",

[1936] "address": "Shibuya, Tokyo",

[1937] "rating": 4.8,

[1938] "reviews": 150,

[1939] "budget": 1800,

[1940] "smoking": false,

[1941] "ambiance": "relaxed",

[1942] "delivery_options": ["Service1", "Service2"]

[1943] },

[1944] ...

[1945] ]

[1946] Viewing and ordering results

[1947] 1. The device parses the JSON data received from the server and displays a list of food delivery options in a user-friendly format (e.g., card or list), with detailed information and buttons to "View Details" and "Order."

[1948] 2. The user selects an option that interests them from the displayed list and clicks the "View Details" button. After checking the menu and reviews on the details page, the user clicks the "Order" button.

[1949] 3. The terminal displays a form for entering order information (desired delivery time, special instructions, etc.) The user enters the information and presses the "Confirm" button.

[1950] 4. The terminal converts the entered order information into JSON format and sends it to the server. The server receives the order information and sends the final order request to the food delivery service API.

[1951] 5. The server receives confirmation that the order has been completed and notifies the terminal.

[1952] 6. The terminal displays an order confirmation message to the user and the order is completed.

[1953] Examples and prompts

[1954] Example: If a user inputs the criteria "budget up to 2000 yen, Japanese food, current location, non-smoking seat preferred" and the sentiment analysis engine simultaneously detects "high stress, neutral mood," the device converts this information into JSON format and sends it to the server. The server collects data from multiple information providers based on the specified criteria and sentiment data, and lists the most suitable restaurants. The list is prioritized taking into account the scoring and sentiment data, with food delivery options with a relaxing atmosphere being displayed at the top. The device then displays this list to the user, who can select the desired option and complete the order.

[1955] Example prompt:

[1956] Build a system that allows users to search for food delivery options based on their emotions using their smartphones. Include functionality that captures user emotions in real time and suggests the best dishes and restaurants.

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

[1958] Step 1:

[1959] The user opens the smartphone application and inputs conditions, such as budget, type of food, and current location. At this time, the smartphone's camera and microphone capture the user's facial expressions and voice, obtaining emotional data in real time. The input conditions and captured emotional data become the input data.

[1960] Step 2:

[1961] The conditions and emotion data acquired by the device are converted into JSON format. During conversion, the user's conditions (e.g., budget up to 2000 yen, Japanese food, current location, preference for non-smoking seat) and emotion data (e.g., high stress, neutral mood) are mapped to JSON as corresponding key pairs. The converted JSON data becomes the output data.

[1962] Step 3:

[1963] The terminal sends the converted JSON data to the server as an HTTP POST request, which causes the server to receive the input data. The data sent is the converted JSON data.

[1964] Step 4:

[1965] The server analyzes the received JSON data. During the data analysis process, the user's conditions and emotion data are extracted and stored in an internal data structure. The analyzed data structure becomes the output data.

[1966] Step 5:

[1967] The server sends condition-based requests to the APIs of multiple information providers and collects the corresponding data. For example, it sends a request to a food delivery service API that offers Japanese cuisine and non-smoking restaurants with a budget of up to 2,000 yen. The information obtained through the API request becomes input data.

[1968] Step 6:

[1969] The server converts the data received from each information provider into a unified format. Next, it eliminates duplicate information (e.g., the same restaurant information from multiple services) and formats it into a consistent format. During this process, it also analyzes each piece of information's rating, number of reviews, price range, and whether or not smoking is permitted. The converted data becomes the output data.

[1970] Step 7:

[1971] The server then aggregates and analyzes the unified data to generate optimal food delivery options for the user. In particular, it prioritizes dishes that create a relaxing atmosphere and reduce stress based on emotional data (e.g., high stress). The optimized results from this process are output data.

[1972] Step 8:

[1973] The server generates a list of optimized food delivery options and sends it to the device in JSON format. The data sent is the optimized JSON data.

[1974] Step 9:

[1975] The device parses the JSON data received from the server and displays it in a user-friendly format (card or list format). The displayed content includes detailed information about each food delivery option (e.g., restaurant name, rating, and budget). This is the output data to the user.

[1976] Step 10:

[1977] The user selects the food delivery option they are interested in from the displayed list and clicks the "View Details" button. The selected data becomes the next input data.

[1978] Step 11:

[1979] The user checks the menu and reviews on the details page and clicks the "Order" button. A form is then displayed in which the user can enter the desired delivery time and any special notes. The entered order information becomes the next input data.

[1980] Step 12:

[1981] The terminal converts the input order information into JSON format and sends it to the server. The data sent is the converted JSON data of the order information.

[1982] Step 13:

[1983] The server receives the order information and sends a final order request to the corresponding food delivery service API. The order is confirmed through the API request. During this process, the server receives confirmation of the order completion based on the API response.

[1984] Step 14:

[1985] After the server receives confirmation that the order has been completed, it returns the result to the terminal in JSON format. The returned data is JSON data that includes confirmation that the order has been completed.

[1986] Step 15:

[1987] The terminal parses the received JSON data and displays an order confirmation message to the user, completing the order. The confirmation message is the final output data to the user.

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

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

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

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

[1992] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

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

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

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

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

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

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

Claims

1. a means for inputting conditions from a user; means for converting the conditions into a data format and transmitting the data to a server; A means for collecting data from a plurality of information providing services; A means to convert the collected data into a unified format, eliminate duplicates, and aggregate and analyze it; a means for generating optimized results based on the aggregated and analyzed data; and means for displaying the results to a user; The system includes a means for a user to select and make a reservation based on the displayed results.

2. 2. The system according to claim 1, wherein the plurality of information providing services are online services and data is acquired via an API.

3. The system according to claim 1 , wherein the user's conditions are inputted in a range including budget, type of cuisine, area, and other conditions.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A