System

A system that collects user data and automatically suggests and books restaurants based on preferences, addressing the challenge of finding suitable dining options and streamlining the reservation process.

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

Patent Information

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

AI Technical Summary

Technical Problem

Choosing and reserving a restaurant for social events can be time-consuming and stressful due to the difficulty in finding a suitable match from numerous options with uncertain information, and many restaurants do not allow online reservations.

Method used

A system that collects user data on past searches and reservations, analyzes preferences, gathers restaurant information from multiple sources, generates optimal candidates, and automatically makes reservations via web or voice calls, ensuring personalized suggestions and efficient booking processes.

Benefits of technology

Enables users to quickly and smoothly find and reserve restaurants that meet their preferences, reducing stress and simplifying the reservation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026034174000001_ABST
    Figure 2026034174000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for collecting past search / reservation data of a user and analyzing preferences of the user; means for collecting data related to restaurants from a plurality of information sources on the Internet and storing the data in a database; means for generating candidates for an optimal restaurant based on a request from the user and suggesting the candidates to the user; and means for automatically attempting to reserve the suggested restaurant using a web reservation or a voice call.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] In modern society, choosing and reserving a restaurant for a drinking party, business entertainment, or date can be a time-consuming task. Selecting a restaurant that matches a user's purpose and preferences from a large number of options and uncertain information, and completing the reservation process, can be time-consuming and stressful. Furthermore, information available online is often outdated, and many restaurants do not allow online reservations. This makes it difficult for users to smoothly select and reserve the restaurant that best suits them. [Means for solving the problem]

[0005] The present invention provides a means for collecting a user's past search and reservation data and analyzing the user's preferences, a means for collecting restaurant-related data from multiple sources on the Internet and storing it in a database, a means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, and a means for automatically attempting to make reservations at the suggested restaurants via web reservations or voice calls. It also includes a means for periodically updating the collected restaurant data, confirming reservations at restaurants selected by the user, and notifying the user of the success or failure of the reservation. This allows users to smoothly find and reserve the optimal restaurant, reducing the stress associated with reservations.

[0006] "User" refers to a person who uses the system to search for and make reservations at restaurants.

[0007] "Search data" refers to the user's past internet search history regarding restaurants.

[0008] "Reservation data" refers to the user's past restaurant reservation history.

[0009] "Preferences" refers to personal preferences such as the type of cuisine, price range, and area that a user particularly likes.

[0010] "Analysis" refers to the processing of collected data to identify user preferences.

[0011] "Sources" refers to websites and APIs that provide data about restaurants on the internet.

[0012] "Database" refers to a digital repository where collected restaurant information is stored.

[0013] "Requests" refer to the conditions such as area, date and time, number of people, purpose, and preferences that users specify when searching for or making a reservation at a restaurant.

[0014] "Candidates" refers to multiple restaurants suggested based on the user's requests and preferences.

[0015] "Suggestion" refers to showing the user restaurant options generated based on the user's requests and preferences.

[0016] "Web reservation" refers to the process of making a restaurant reservation using an online reservation system.

[0017] "Voice call" refers to the procedure of making a restaurant reservation using a voice call.

[0018] "Automatic" means that the system carries out the entire reservation process without user interaction.

[0019] "Success or failure" refers to whether or not a reservation is successful.

[0020] "Notification" means informing the User of the success or failure of a reservation. [Brief explanation of the drawings]

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

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

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

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

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

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

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

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

[0029] [First embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0042] The present invention relates to a system that suggests restaurants based on the user's past preferences and behavior, and automatically handles reservations. This system learns the user's preferences, suggests restaurants that meet the user's specified criteria, and ultimately automatically makes reservations via the web or by voice call.

[0043] System Overview

[0044] The system includes the following elements:

[0045] 1. Preference Learning Module

[0046] 2. Information Collection Module

[0047] 3. Proposal Module

[0048] 4. Booking Module

[0049] Preference Learning Module

[0050] The server collects the user's past search and reservation data and analyzes the user's preferences. Specifically, it uses an AI algorithm to learn the user's preferences based on the type of cuisine the user has searched for and the restaurants they have booked.

[0051] Specific examples

[0052] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[0053] Information Collection Module

[0054] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[0055] Specific examples

[0056] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[0057] Suggestion Module

[0058] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[0059] Specific examples

[0060] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0061] Booking Module

[0062] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[0063] Specific examples

[0064] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[0065] Overall system flow

[0066] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[0067] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[0068] 3. The server will suggest the best restaurant options to the user.

[0069] 4. The user selects one of the suggested options and attempts to make a reservation.

[0070] 5. The server automatically makes the reservation using web booking or voice call.

[0071] 6. Notify the user whether the reservation is successful or not.

[0072] In this way, the system efficiently searches for restaurants that meet the user's preferences and specified conditions, enabling the user to smoothly make reservations.

[0073] The processing flow will be explained below.

[0074] Program processing flow

[0075] Preference Learning Module

[0076] Step 1:

[0077] The server collects users' past search and reservation data.

[0078] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[0079] Step 2:

[0080] The server analyzes the collected data to identify user preferences.

[0081] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[0082] Information Collection Module

[0083] Step 1:

[0084] The server collects restaurant data from multiple sources on the Internet.

[0085] Operation: Calls an external API (e.g., Google (registered trademark) Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[0086] Step 2:

[0087] The server stores the collected restaurant data in a database.

[0088] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[0089] Suggestion Module

[0090] Step 1:

[0091] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[0092] Action: A user fills out a form in a smartphone app or web application and submits it.

[0093] Step 2:

[0094] The user terminal sends the input information to the server.

[0095] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[0096] Step 3:

[0097] The server generates optimal restaurant candidates based on the user's requests and preference data.

[0098] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a list of candidates by comparing it with the user's preference data.

[0099] Step 4:

[0100] The server will suggest the best restaurant options to the user.

[0101] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[0102] Booking Module

[0103] Step 1:

[0104] The user device accepts a selection from the proposed candidate list.

[0105] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[0106] Step 2:

[0107] The user terminal transmits the selection information to the server.

[0108] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[0109] Step 3:

[0110] The server attempts to make a reservation at the selected restaurant.

[0111] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[0112] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[0113] Step 4:

[0114] The server checks whether the reservation was successful and notifies the user of the result.

[0115] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[0116] Example 1

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

[0118] Conventional restaurant reservation systems have the problem that they do not provide sufficient personalized suggestions based on the user's preferences and past behavior, and it takes a long time for the user to find a suitable restaurant. In addition, the reservation methods are limited, so reservations are often not possible. The purpose of this invention is to provide a system that automatically suggests the most suitable restaurant based on the user's preferences and efficiently handles the reservation process.

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

[0120] In this invention, the server includes means for acquiring information about the user's past searches and reservations and analyzing the user's preferences, means for acquiring information from the Internet and saving it in a database, means for generating optimal location candidates based on the user's specified conditions and presenting them to the user, means for automatically attempting to make a reservation at the presented locations via online reservation or voice call, and means for confirming whether the reservation was successful and notifying the user of the result. This makes it possible to suggest optimal restaurants based on the user's preferences and past behavior and to smoothly complete the reservation process.

[0121] "User" refers to a person who uses the System to receive offers and reservations.

[0122] "Search and Booking Information" refers to data about your past searches and bookings.

[0123] "Means for analyzing preferences" refers to means for analyzing a user's past search and booking data using AI algorithms to identify a user's preferences and interests.

[0124] "Means of obtaining information from the Internet and storing it in a database" refers to the function of using an external API to collect the latest information about restaurants and store it in an internal database.

[0125] "Specified conditions" refers to the requested information such as area, date and time, number of people, purpose, and preferences that a user enters when using the system.

[0126] "Means for generating optimal location candidates and presenting them to the user" refers to the function of comparing the user's preference data with collected restaurant information, and generating and presenting a list of restaurants that are most suitable for the user.

[0127] "Means of automatically attempting to make a reservation online or by voice call" refers to a function that automatically makes a reservation for the selected restaurant using a web reservation form or an automated voice call system.

[0128] "Means for checking whether a reservation has been made successfully and notifying the user of the result" refers to a function for checking whether a reservation has been made successfully and notifying the user of the result.

[0129] "Database" refers to a management system for storing information about restaurants and user preference data.

[0130] The present invention relates to a system that makes personalized restaurant recommendations and automatically reserves reservations based on a user's past preferences and behavior. The system includes a server, a terminal, and multiple software modules. Specific embodiments for implementing the system are described below.

[0131] Hardware and software used

[0132] 1. Server: This is the central computer in this system, which collects user data, analyzes preferences, collects and stores restaurant information, and attempts to make reservations.

[0133] 2. Terminal: A device (e.g., smartphone, PC) through which a user accesses the system through an interface and enters and receives requests.

[0134] 3. Software Module:

[0135] Preference learning module: Analyzes user preferences using AI algorithms (e.g., scikit-learn and TENSORFLOW®).

[0136] Information collection module: Collects restaurant information from the Internet and stores it in a database (e.g., using Google Places API or Yelp API).

[0137] Suggestion module: Generates optimal restaurant suggestions based on user requests and preference data.

[0138] Reservation module: Attempts to make reservations for suggested restaurants using a web reservation form or an automated voice call system (e.g., Twilio API).

[0139] Specific operation explanation

[0140] Users access the system interface using a device (smartphone or PC) and input request information such as area, date and time, number of people, purpose, and preferences. The server receives the user's request information and analyzes past search and reservation data using a preference learning module.

[0141] The server uses AI algorithms to learn and identify user preferences, for example, determining that a user likes Thai food based on data showing that the user has frequently searched for Thai food in the past year.

[0142] Next, the server uses an information collection module to collect restaurant data in the specified area from external APIs (such as Google Places API or Yelp API). The collected data is stored in a database. For example, information on Thai restaurants in the "Shinjuku" area is obtained, and information such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is stored in the database.

[0143] The server then uses the suggestion module to generate optimal restaurant candidates based on the user's request criteria and preference data. The generated candidates are displayed on the device interface and presented to the user. Once the user selects their preferred restaurant from the presented list of restaurants, the server first attempts to make a web reservation using the reservation module. If a web reservation is not possible, the server attempts to make a reservation via automated voice call using the Twilio API.

[0144] Finally, the server confirms whether the reservation was successful and notifies the user of the result. Through this series of processes, users can easily and quickly find and reserve restaurants that suit their tastes and requirements.

[0145] Prompt Sentence Examples

[0146] If I'm looking for a Thai restaurant for a date night for two in the Shinjuku area at 7pm on July 10th, please suggest some. Users have searched for Thai food a lot in the past.

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

[0148] Processing Steps

[0149] Step 1:

[0150] A user accesses the system interface using a terminal and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input request information is sent to the server.

[0151] Input: User request information such as area, date and time, number of people, purpose, preferences, etc.

[0152] Output: Data containing user request information

[0153] Step 2:

[0154] The server processes the received request information and retrieves information about the user's past searches and reservations. The preference learning module is used to analyze the user's preferences using AI algorithms (e.g., scikit-learn and TensorFlow).

[0155] Input: User request information, past search and reservation data

[0156] Output: User preference patterns (e.g., whether they like Thai food)

[0157] Specific behavior:

[0158] Based on the search history and reservation data from the past year, the server detects that the user has searched for and used "Thai food" multiple times and determines that the user likes "Thai food."

[0159] Step 3:

[0160] The server uses an information collection module to collect restaurant data in the specified area from external APIs (Google Places API or Yelp API) and store it in a database.

[0161] Input: Information about the specified area (e.g. Shinjuku)

[0162] Output: Restaurant information stored in the database (e.g., restaurant ID, restaurant name, rating, number of seats, menu, price range, etc.)

[0163] Specific behavior:

[0164] The server retrieves restaurant information for the "Shinjuku" area from an external API and stores restaurant data filtered by the area name "Shinjuku" in a database.

[0165] Step 4:

[0166] The server uses the suggestion module to generate optimal restaurant candidates based on the user's request conditions and preference data, and the generated candidate list is presented to the user.

[0167] Input: User request information, user preference data, restaurant database

[0168] Output: A list of the best restaurants

[0169] Specific behavior:

[0170] The server searches the database based on the request criteria, "Thai restaurant for a date night for two in the Shinjuku area on July 10th at 7pm," and lists restaurants that match the request criteria (e.g., "Thai restaurant A," "Thai restaurant B," and "Thai restaurant C"). The restaurant information listed is then displayed on the device's interface.

[0171] Step 5:

[0172] The user selects a restaurant from the list of restaurants presented, and the server first attempts to make a reservation for the selected restaurant via web booking.

[0173] Input: The restaurant selected by the user

[0174] Output: Web booking success or failure status

[0175] Specific behavior:

[0176] When the user selects "Thai Restaurant A," the server accesses the restaurant's web reservation page, automatically fills in the necessary information, and attempts to make a reservation.

[0177] Step 6:

[0178] If the server is unable to accept web reservations, it will instead attempt to make a reservation by phone using an automated voice call system (e.g., Twilio API) to the store.

[0179] Input: Web reservation failure status, user reservation information

[0180] Output: Success or failure status of the voice call booking

[0181] Specific behavior:

[0182] If the server is unable to make a web reservation for "Thai Restaurant A," it will use the Twilio API to make an automated voice call, enter the necessary reservation information, and attempt to make a reservation over the phone.

[0183] Step 7:

[0184] The server checks whether the reservation was successful and notifies the user of the result.

[0185] Input: Booking success or failure status

[0186] Output: Notification of reservation result to user

[0187] Specific behavior:

[0188] If the server successfully makes a reservation for "Thai Restaurant A," it notifies the user's device that "Reservation completed." If the reservation fails, it notifies the user that "Reservation failed. Please choose another restaurant."

[0189] (Application example 1)

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

[0191] In modern life, users are busy and have limited time to find the best restaurant or delivery service. In particular, there is a demand for technology that can provide personalized suggestions and automate reservations and ordering, but current systems are insufficient. The challenge is to simplify the complicated procedures for users and provide suggestions that match individual preferences, as well as automated reservations and ordering.

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

[0193] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting data on restaurants from multiple sources on the Internet and saving it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation at the suggested restaurants via web reservation or voice call, means for learning preferences from the user's past ordering history and suggesting optimal restaurant candidates that offer delivery, and means for automatically placing an order at the suggested restaurants. This makes it possible to suggest restaurants and delivery services that meet the user's preferences and needs, and to automate reservations and ordering.

[0194] "User preferences" refers to a user's tendency to prefer certain food genres or restaurants based on past search and reservation data and order history.

[0195] "Information source" refers to a source that provides data about restaurants obtained from databases publicly available on the Internet or external APIs.

[0196] A "database" refers to a collection of data that systematically stores collected restaurant information and can be searched and updated as needed.

[0197] "User requirements" refers to the specific conditions and needs, such as area, date and time, number of people, purpose, preferences, etc., that the user inputs into the system.

[0198] A "reservation" refers to the process of applying to a restaurant in advance to use the restaurant on a specified date and time, and reserving a seat and service.

[0199] "Order" means a request made by a User to purchase a particular food item using the Delivery Service.

[0200] "Online reservations" refers to the method of completing a reservation by entering the necessary information into a restaurant reservation form via the Internet.

[0201] "Voice telephone" refers to a method of contacting a restaurant by telephone and making a reservation through voice conversation.

[0202] "Means for learning preferences" refers to technical means for collecting and analyzing a user's past behavioral data and identifying the user's preferences based on the results.

[0203] "Means of suggestion" refers to the technological means of matching the user's requests with collected data and presenting restaurants and menus that are suitable for the user.

[0204] "Means for automatically placing orders" refers to technological means that allow the system to automatically process orders to suggested restaurants, thereby saving the user time and effort.

[0205] The present invention relates to a system that suggests optimal restaurants and delivery services based on a user's preferences and automatically makes reservations or orders. The system includes the following main components:

[0206] 1. Preference Learning Module

[0207] The server collects and analyzes the user's past search and reservation data and order history. Specifically, it uses data such as frequently ordered food genres and price ranges to learn the user's preferences. This process uses AI algorithms (e.g., machine learning models). This allows the server to accurately identify each user's preferences.

[0208] 2. Information Collection Module

[0209] The server collects restaurant-related data from multiple sources on the Internet and stores it in a database, including restaurant ratings, seating information, menus, price ranges, etc. It also includes a function to periodically update the latest information using external APIs.

[0210] 3. Proposal Module

[0211] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and compares it with the preference data and data obtained from the information collection module. This generates optimal restaurant and delivery service candidates and suggests them to the user. The suggested candidates are in line with the user's preferences and conditions.

[0212] 4. Booking and Ordering Module

[0213] The server attempts to make a reservation at a restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are possible, and if so, the user completes the reservation by entering the necessary information into a reservation form. If online reservations are not possible, the server attempts to make the reservation using an automated voice call. In addition, in the case of delivery services, the server automatically places an order with the suggested restaurant. After the order is confirmed, the server sends the user a notification that the order has been completed.

[0214] Hardware and Software

[0215] The system utilizes the following hardware and software:

[0216] Server: We use cloud servers for data processing and storage.

[0217] AI Algorithm: Uses machine learning models for preference learning.

[0218] External API: Use multiple external data sources to gather information.

[0219] Automated telephone system: We use an IVR (Interactive Voice Response) system to automate reservations.

[0220] Specific examples

[0221] Suppose a user enters the criteria "Shinjuku area, budget 2000 yen, Japanese food." The server references the user's past data based on these criteria and analyzes their preferences. At the same time, it collects information about Japanese restaurants in the Shinjuku area and stores it in a database. It compares the preference data with the collected data and suggests "Japanese Restaurant A," "Japanese Restaurant B," and "Japanese Restaurant C" to the user. If the user selects "Japanese Restaurant A," the server attempts to make a web reservation, completes the order, and notifies the user of the results.

[0222] Prompt Sentence Examples

[0223] "Please tell me Japanese restaurants in the Shinjuku area that offer delivery for under 2,000 yen."

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

[0225] Step 1:

[0226] The user accesses the system using a terminal and inputs their requirements (e.g., area, date and time, number of people, purpose, preferences, etc.). The input conditions are sent to the server.

[0227] Step 2:

[0228] The server extracts and collects the user's past search and reservation data and order history from a database and analyzes them. Here, machine learning algorithms are applied to identify the user's preferences from past data. In this process, the user's preferred cuisine genre and price range are derived.

[0229] Step 3:

[0230] The server collects data about restaurants from multiple sources on the Internet and stores it in a database. Specifically, it uses external APIs to obtain the latest information on restaurant ratings, seating information, menus, price ranges, etc. The collected data is updated regularly.

[0231] Step 4:

[0232] The server compares restaurant information in the database based on the user's request (e.g., area, date, time, number of people, purpose, preferences, etc.) and preference data, and generates optimal restaurant candidates. In this process, it uses an AI algorithm to list restaurants that match the user's preferences.

[0233] Step 5:

[0234] The server then proposes the generated optimal restaurant candidates to the user, and the proposal list is sent to the terminal, where the user can check it.

[0235] Step 6:

[0236] The user selects a particular restaurant from the list of suggestions, and the selection is sent to the server.

[0237] Step 7:

[0238] The server attempts to make a reservation for the selected restaurant. First, it checks whether online reservations are available, and if so, it completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, it attempts to make a reservation using an automated voice call.

[0239] Step 8:

[0240] If the user requests delivery service, the server automatically places an order with the suggested restaurant, which is then sent to the restaurant via an external API.

[0241] Step 9:

[0242] The server checks whether the reservation or order has been successful and notifies the user of the result. The notification is sent to the terminal so that the user can check it.

[0243] Step 10:

[0244] The server updates the database with the reservation or order history, which improves the accuracy of future suggestions.

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

[0246] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[0247] System Overview

[0248] The system includes the following elements:

[0249] 1. Preference Learning Module

[0250] 2. Information Collection Module

[0251] 3. Proposal Module

[0252] 4. Emotion Engine

[0253] 5. Booking Module

[0254] Preference Learning Module

[0255] The server collects the user's past search and reservation data and analyzes the user's preferences, thereby identifying the user's personal preferences, such as the type of cuisine, price range, and area.

[0256] Specific examples

[0257] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[0258] Information Collection Module

[0259] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[0260] Specific examples

[0261] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[0262] Suggestion Module

[0263] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[0264] Specific examples

[0265] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0266] Emotion Engine

[0267] The emotion engine analyzes the user's emotions in real time and adjusts suggestions based on those emotions, allowing it to suggest restaurants that best suit the user's emotional state.

[0268] Specific examples

[0269] If the emotion engine detects that the user is feeling stressed, the server will prioritize restaurants with a relaxing atmosphere. The server also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[0270] Booking Module

[0271] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[0272] Specific examples

[0273] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[0274] Overall system flow

[0275] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[0276] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[0277] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[0278] 4. The server will suggest the best restaurant options to the user.

[0279] 5. The user selects one of the suggested options and attempts to make a reservation.

[0280] 6. The server automatically makes the reservation using web booking or voice call.

[0281] 7. Notify the user whether the reservation is successful or not.

[0282] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[0283] In this way, the system efficiently and accurately provides restaurants that match the user's preferences, feelings, and specified conditions, enabling a smooth reservation process.

[0284] The processing flow will be explained below.

[0285] Program processing flow

[0286] A system incorporating an emotion engine

[0287] Step 1:

[0288] The server collects users' past search and reservation data.

[0289] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[0290] Step 2:

[0291] The server analyzes the collected data to identify user preferences.

[0292] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[0293] Step 3:

[0294] The server collects restaurant data from multiple sources on the Internet.

[0295] Operation: Calls an external API (e.g., Google Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[0296] Step 4:

[0297] The server stores the collected restaurant data in a database.

[0298] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[0299] Step 5:

[0300] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[0301] Action: A user fills out a form in a smartphone app or web application and submits it.

[0302] Step 6:

[0303] The user terminal sends the input information to the server.

[0304] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[0305] Step 7:

[0306] The emotion engine recognizes the user's current emotions and analyzes them in real time.

[0307] How it works: A user inputs emotional feedback to an application, or emotional data is acquired from a sensor device.

[0308] Step 8:

[0309] The server generates optimal restaurant candidates based on the user's requests, preference data, and emotion data obtained from the emotion engine.

[0310] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a candidate list by comparing it with the user's preference and emotion data.

[0311] Step 9:

[0312] The server will suggest the best restaurant options to the user.

[0313] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[0314] Step 10:

[0315] The user device accepts a selection from the proposed candidate list.

[0316] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[0317] Step 11:

[0318] The user terminal transmits the selection information to the server.

[0319] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[0320] Step 12:

[0321] The server attempts to make a reservation at the selected restaurant.

[0322] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[0323] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[0324] Step 13:

[0325] The server checks whether the reservation was successful and notifies the user of the result.

[0326] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[0327] Step 14:

[0328] The emotion engine collects user emotional feedback and uses that feedback to improve the accuracy of the next suggestion.

[0329] How it works: The user enters emotional feedback about the suggestions, and the data is analyzed and reflected in preference data.

[0330] In this way, the accuracy of restaurant suggestions based on the user's emotions and preferences can be improved, making it possible to make reservations smoothly.

[0331] Example 2

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

[0333] Conventional restaurant recommendation systems do not adequately base their recommendations on users' past preferences and behavior, making it difficult to select restaurants with high accuracy and personalized accuracy. They also cannot make appropriate recommendations based on changes in emotions, making it difficult to improve user satisfaction. Furthermore, the reservation process is often performed manually, which is time-consuming for users.

[0334] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the user's past search data and reservation data and analyzing the user's preferences, means for collecting data about restaurants from multiple information sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for attempting to make a reservation for the suggested restaurant via web reservation or automated voice call, and means for analyzing the user's emotions in real time and adjusting the suggestion content based on the emotions. This makes it possible to suggest restaurants that match the user's individual preferences and emotional state and to perform automatic reservation procedures.

[0335] "User" refers to an individual who wishes to use the system to suggest or make reservations for restaurants.

[0336] "Search data" refers to the history of internet searches a user has conducted in the past regarding restaurants.

[0337] "Reservation Data" refers to historical information regarding restaurant reservations made by a user in the past.

[0338] "Preferences" refers to a user's personal preferences, such as the type of cuisine they prefer, price range, and area.

[0339] "Multiple sources" refers to the wide variety of data providers and APIs on the Internet.

[0340] "Restaurant data" refers to detailed information about a restaurant, such as its ratings, seating information, menu, and prices.

[0341] "Database" refers to an information management system that stores, manages, and makes searchable collected data in an organized manner.

[0342] "Request" refers to specific conditions entered by the user, such as the area of ​​the restaurant, date and time, number of people, purpose, preferences, etc.

[0343] "Generating candidates" refers to creating a list of the most suitable restaurants based on the user's requests.

[0344] "Suggestion" refers to the act of showing the generated optimal restaurant candidates to the user.

[0345] "Reservation" refers to the process of reserving the date, time, and number of people to visit a restaurant of a user's choosing in advance.

[0346] "Online reservation" refers to the method of completing a reservation by entering information into a restaurant reservation form via the Internet.

[0347] "Automated voice call" refers to a method of attempting to make a reservation at a restaurant over the phone using an automated voice.

[0348] "Emotion" refers to the user's feelings and psychological state.

[0349] "Real-time analysis" refers to instantly analyzing the user's current emotions.

[0350] "Adjusting the suggestions" refers to changing the restaurant suggestions based on the analyzed emotional data.

[0351] "Feedback" refers to any ratings or comments you make on a suggestion or booking.

[0352] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[0353] System configuration

[0354] The system includes the following elements:

[0355] 1. Preference Learning Module

[0356] 2. Information Collection Module

[0357] 3. Proposal Module

[0358] 4. Emotion Engine

[0359] 5. Booking Module

[0360] Preference Learning Module

[0361] The server collects the user's past search and reservation data and uses this data to analyze the user's preferences. Specifically, it uses machine learning algorithms (e.g., Scikit-learn or TensorFlow) to extract information such as the user's preferred cuisine genre, price range, and area.

[0362] Example: Based on the restaurant search data of the user over the past year, it is known that the user has searched for Thai restaurants in particular. Based on this, the server determines that the user likes Thai food.

[0363] Information Collection Module

[0364] The server uses external APIs (e.g., Google Places API, Yelp API) to obtain the latest restaurant data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in its own database, allowing it to provide the latest information that matches the conditions specified by the user.

[0365] Example: The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" are saved.

[0366] Suggestion Module

[0367] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. This is done using an algorithm that compares the user's preference data with the database stored in the information collection module.

[0368] Example: If a user is looking for a Thai restaurant in Shinjuku for two people at 7 p.m. on July 10th, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0369] Emotion Engine

[0370] The emotion engine analyzes the user's real-time emotional state and adjusts the recommendations based on the results. Image and audio analysis technologies are used for the analysis. This allows the system to suggest the most suitable restaurant based on the user's emotional state.

[0371] Example: If a user is feeling stressed, the emotion engine will detect this and prioritize suggestions for restaurants with a relaxing atmosphere for the server.

[0372] Booking Module

[0373] The server automatically processes reservations for restaurants selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[0374] Example: If the user selects "Thai Restaurant A," the server will first try to make a reservation online. If online reservation is not possible, the server will call the restaurant via automated voice call to make the reservation.

[0375] Prompt Sentence Examples

[0376] "A user has a penchant for Thai food and is searching for restaurants in Shinjuku for a date for two. The date and time is July 10th at 7 PM. Please suggest a relaxing Thai restaurant based on past emotional feedback."

[0377] In this way, this system can efficiently and accurately provide restaurants that match the user's preferences, feelings, and specified conditions, and can automatically process reservations.

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

[0379] Step 1:

[0380] The user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input information is sent from the terminal to the server.

[0381] Input: Request information such as area, date and time, number of people, purpose, preferences, etc.

[0382] Output: Request information sent to the server

[0383] What happens: A user fills in various fields on a web form and clicks the submit button.

[0384] Step 2:

[0385] The server collects users' past search and reservation data from a database and analyzes their preferences using machine learning algorithms (e.g., Scikit-learn or TensorFlow).

[0386] Input: User's past search and reservation data

[0387] Output: Analysis results showing user preferences

[0388] How it works: The server retrieves data from the database using the user ID as a key and uses a machine learning algorithm to extract preference patterns.

[0389] Step 3:

[0390] The server uses an external API (e.g., Google Places API, Yelp API) to obtain the latest restaurant information and save it in a database.

[0391] Input: Area information

[0392] Output: Latest restaurant information stored in the database

[0393] Specific operation: The server sends an HTTP request to an external API, parses the JSON response, and stores it in the database.

[0394] Step 4:

[0395] The server generates optimal restaurant candidates based on the collected preference data and request information, which includes database search and filtering.

[0396] Input: User preference data, request information, restaurant information stored in the database

[0397] Output: A list of the best restaurants

[0398] What happens: The server runs an SQL query to generate a list of restaurants that match the criteria.

[0399] Step 5:

[0400] The emotion engine analyzes the user's real-time emotional state and notifies the server of the results. The analysis uses image analysis and audio analysis using the camera and microphone.

[0401] Input: Real-time emotion data (images and audio)

[0402] Output: Emotion analysis results

[0403] Specific operation: The user provides emotion data through the device's camera or microphone, and the emotion engine analyzes it and returns the results to the server.

[0404] Step 6:

[0405] The server uses the results of the sentiment analysis to adjust the priority of the list of restaurants to suggest to the user.

[0406] Input: Sentiment analysis results, list of best restaurants

[0407] Output: A tailored list of restaurant suggestions

[0408] Specific operation: The server adjusts the filtering conditions based on the emotion data and generates a list to display to the user.

[0409] Step 7:

[0410] The user selects from a list of suggested restaurants and attempts to make a reservation, and this information is sent to the server.

[0411] Input: User selection information (store, date and time, number of people, etc.)

[0412] Output: Reservation request information

[0413] Specific behavior: The user selects a store from the displayed list and clicks the reservation button.

[0414] Step 8:

[0415] The server attempts to make a reservation at the selected restaurant. First, it checks whether online reservations are available and automatically fills in the necessary information. If online reservations are not available, the reservation is made using an automated voice call.

[0416] Input: Reservation Request Information

[0417] Output: Reservation success or failure (reservation confirmation or error message)

[0418] What happens: The server attempts to make a reservation by using web scraping or Twilio's API to fill out a reservation form or make a phone call.

[0419] Step 9:

[0420] The server notifies the user whether the reservation was successful or not. If it was successful, it will provide detailed information (store name, address, reservation time, etc.), and if it was unsuccessful, it will provide the reason for the failure.

[0421] Input: Reservation success / failure

[0422] Output: A notification message to the user

[0423] Specific operation: The server will send the reservation result to the user via email or SMS.

[0424] Step 10:

[0425] The server collects the user's emotional feedback and uses it to improve the accuracy of future suggestions.

[0426] Input: User feedback information

[0427] Output: Feedback analysis results

[0428] What it does: The server receives user ratings and comments from the feedback form, stores them in a database, and analyzes them.

[0429] (Application example 2)

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

[0431] In recent years, automated restaurant recommendation and reservation services have become increasingly common, but most systems only refer to the user's past preference data, and few systems consider the user's emotional state in real time. While a wide variety of systems already provide restaurant recommendations, there are currently no systems for food delivery that analyze the user's emotional state and make recommendations based on their preferences. Therefore, there is a need for a system that analyzes the user's current emotional state and makes optimal food delivery recommendations based on that information.

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

[0433] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting restaurant-related data from multiple sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation for the suggested restaurants via web reservation or voice call, means for analyzing the user's emotional state in real time and adjusting the suggestions, and means for suggesting and automatically ordering the optimal dishes for food delivery based on past preference data and emotional data. This makes it possible to take the user's current emotional state into consideration, suggest the best dish for their mood at that time, and even automate the ordering process.

[0434] "User Preferences" means an individual's dining preferences and tendencies determined based on past search and reservation data.

[0435] "Database" means a structured collection of information that stores data about restaurants collected from multiple sources on the Internet.

[0436] "User requirements" refers to the specific conditions and wishes such as area, date and time, number of people, purpose, preferences, etc. that the user provides to the system.

[0437] "Emotional state" refers to the specific emotional state or psychological tendency obtained by analyzing the user's real-time emotions.

[0438] "Food delivery" refers to a service in which food ordered by a user is delivered from a restaurant to a specified location.

[0439] "Suggesting" refers to the act of presenting the user with the most suitable restaurants and dishes based on the user's preferences and current emotions.

[0440] "Ordering" means the act of actually purchasing and arranging delivery of the suggested food through a food delivery service.

[0441] "Automatically attempt" means that the system will carry out the reservation process using web booking or voice call without user intervention.

[0442] "Web reservation" is a method of making a restaurant reservation using an online reservation form.

[0443] "Voice telephone" is a method of making a reservation by communicating with a restaurant via voice over a telephone line.

[0444] "Best Restaurant Suggestions" refers to a list of recommended restaurants selected based on the user's preference data and current requirements.

[0445] "Dishes" means individual meal menu items offered by a restaurant.

[0446] This invention relates to a system that proposes personalized food delivery services based on the user's past preferences and behavior, and automatically places the order. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, this invention achieves more accurate proposals.

[0447] System Overview

[0448] The system includes the following elements:

[0449] 1. Preference Learning Module

[0450] 2. Information Collection Module

[0451] 3. Proposal Module

[0452] 4. Emotion Engine

[0453] 5. Order Module

[0454] Preference Learning Module

[0455] The server collects the user's past search and order data and analyzes their preferences. This allows the system to identify personal preferences, such as the type of cuisine, price range, and area they prefer. The hardware used is a standard server, and the software is a data analysis library.

[0456] Specific examples

[0457] Based on the user's orders over the past year, the server knows that the user has frequently ordered Thai food, and therefore determines that the user likes Thai food.

[0458] Information Collection Module

[0459] It collects restaurant-related data (ratings, menus, prices, etc.) from the internet and stores it in a database. This allows it to provide the latest restaurant and menu information that matches the conditions specified by the user. The software used is an information collection module that utilizes an external API.

[0460] Specific examples

[0461] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "menu," and "price range" is saved.

[0462] Suggestion Module

[0463] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant and cuisine candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module to create a list of the most suitable restaurants and cuisines.

[0464] Specific examples

[0465] If a user is looking for Thai food for a date for two in Shinjuku on a specific date and time, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0466] Emotion Engine

[0467] The emotion engine analyzes users' emotions in real time and adjusts its recommendations based on their emotions. The hardware used is the smartphone's camera and microphone, and the software is an emotion recognition algorithm. This allows it to recommend food delivery options that best suit your emotional state.

[0468] Specific examples

[0469] If the emotion engine detects that the user is feeling stressed, the server will prioritize suggesting dishes that have a relaxing effect. It also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[0470] Order Module

[0471] The server automatically orders the suggested dishes selected by the user through a food delivery service. First, it checks whether online ordering is available, and if so, the user completes the order by entering the required information in the order form. If online ordering is not available, the server attempts to place the order using an automated voice call.

[0472] Specific examples

[0473] If the user selects green curry from "Thai Restaurant A," the server will first attempt to place the order online. If online ordering is not possible, the server will call the restaurant using an automated voice call to place the order. Once the order is complete, the server will notify the user of the result.

[0474] Overall system flow

[0475] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[0476] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[0477] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[0478] 4. The server suggests the best restaurants and dishes for the user.

[0479] 5. The user selects one of the suggested options and attempts to place an order.

[0480] 6. The server will automatically place the order via online ordering or voice call.

[0481] 7. Notify the user of the success or failure of the order.

[0482] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[0483] Example prompt sentence:

[0484] "Based on past ordering history, we identify the user's preferred dishes and suggest restaurant recommendations taking into account their emotional state. Please suggest an effective algorithm to adjust the suggestions based on current data."

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

[0486] Step 1:

[0487] A user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc.

[0488] The input request information is sent to the server, which then executes the next processing step based on the information.

[0489] Step 2:

[0490] The server collects the user's past search data and order data and analyzes the user's preferences using a preference learning module.

[0491] The input data includes the type of food, price range, frequency of orders, etc. Based on this, the server generates a user preference model.

[0492] As an output, preference data indicating the user's preferred food genres and price ranges is obtained.

[0493] Step 3:

[0494] The server collects data about restaurants from multiple sources on the Internet and stores it in a database through an information collection module.

[0495] The input data includes latitude and longitude information such as ratings, menus, prices, etc. obtained from external APIs. The server analyzes this data and processes it to store in the database.

[0496] As an output, the restaurant information table is updated.

[0497] Step 4:

[0498] The server uses a suggestion module to generate optimal restaurant and food options based on the user's request (area, date and time, number of people, purpose, preferences, etc.) and preference data.

[0499] The input data includes the preference data obtained in step 2 and the restaurant information collected in step 3. These are collated to create a list of candidates.

[0500] As an output, a list of restaurants and dishes suggested to the user is generated.

[0501] Step 5:

[0502] The server uses an emotion engine to analyze the user's emotional state in real time and adjusts the suggestions based on the emotional state.

[0503] Input data includes the user's facial expressions, voice, and past emotional feedback, which the server analyzes with emotion recognition algorithms to determine their current emotional state.

[0504] The output is a tailored list of suggestions.

[0505] Step 6:

[0506] The server will suggest the best restaurant and food options to the user, from which the user can select one.

[0507] The entered selection information is sent to the server, which then executes the next processing step based on the information.

[0508] As an output, the user's selected dish and store information are obtained.

[0509] Step 7:

[0510] The server uses the ordering module to automatically order the suggested dishes selected by the user through a food delivery service.

[0511] The entered store and food information is sent to the server to attempt a reservation using an online ordering system or automated voice call. The server then carries out the reservation procedure based on this information.

[0512] The output is notification information about the success or failure of the order.

[0513] Step 8:

[0514] The server notifies the user whether the order was successful or not, and also collects the user's emotional feedback and stores it in a database to improve the accuracy of future suggestions.

[0515] The input data includes the order results and the user's emotional feedback, which the server stores in a database and uses to improve the accuracy of the next recommendation.

[0516] As an output, the user's feedback data is saved and a notification message is sent to the user.

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

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

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

[0520] [Second embodiment]

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

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

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

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

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

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

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

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

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

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

[0531] In the smart glasses 214, 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.

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

[0533] The present invention relates to a system that suggests restaurants based on the user's past preferences and behavior, and automatically handles reservations. This system learns the user's preferences, suggests restaurants that meet the user's specified criteria, and ultimately automatically makes reservations via the web or by voice call.

[0534] System Overview

[0535] The system includes the following elements:

[0536] 1. Preference Learning Module

[0537] 2. Information Collection Module

[0538] 3. Proposal Module

[0539] 4. Booking Module

[0540] Preference Learning Module

[0541] The server collects the user's past search and reservation data and analyzes the user's preferences. Specifically, it uses an AI algorithm to learn the user's preferences based on the type of cuisine the user has searched for and the restaurants they have booked.

[0542] Specific examples

[0543] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[0544] Information Collection Module

[0545] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[0546] Specific examples

[0547] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[0548] Suggestion Module

[0549] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[0550] Specific examples

[0551] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0552] Booking Module

[0553] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[0554] Specific examples

[0555] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[0556] Overall system flow

[0557] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[0558] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[0559] 3. The server will suggest the best restaurant options to the user.

[0560] 4. The user selects one of the suggested options and attempts to make a reservation.

[0561] 5. The server automatically makes the reservation using web booking or voice call.

[0562] 6. Notify the user whether the reservation is successful or not.

[0563] In this way, the system efficiently searches for restaurants that meet the user's preferences and specified conditions, enabling the user to smoothly make reservations.

[0564] The processing flow will be explained below.

[0565] Program processing flow

[0566] Preference Learning Module

[0567] Step 1:

[0568] The server collects users' past search and reservation data.

[0569] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[0570] Step 2:

[0571] The server analyzes the collected data to identify user preferences.

[0572] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[0573] Information Collection Module

[0574] Step 1:

[0575] The server collects restaurant data from multiple sources on the Internet.

[0576] Operation: Calls an external API (e.g., Google Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[0577] Step 2:

[0578] The server stores the collected restaurant data in a database.

[0579] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[0580] Suggestion Module

[0581] Step 1:

[0582] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[0583] Action: A user fills out a form in a smartphone app or web application and submits it.

[0584] Step 2:

[0585] The user terminal sends the input information to the server.

[0586] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[0587] Step 3:

[0588] The server generates optimal restaurant candidates based on the user's requests and preference data.

[0589] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a list of candidates by comparing it with the user's preference data.

[0590] Step 4:

[0591] The server will suggest the best restaurant options to the user.

[0592] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[0593] Booking Module

[0594] Step 1:

[0595] The user device accepts a selection from the proposed candidate list.

[0596] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[0597] Step 2:

[0598] The user terminal transmits the selection information to the server.

[0599] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[0600] Step 3:

[0601] The server attempts to make a reservation at the selected restaurant.

[0602] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[0603] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[0604] Step 4:

[0605] The server checks whether the reservation was successful and notifies the user of the result.

[0606] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[0607] Example 1

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

[0609] Conventional restaurant reservation systems have the problem that they do not provide sufficient personalized suggestions based on the user's preferences and past behavior, and it takes a long time for the user to find a suitable restaurant. In addition, the reservation methods are limited, so reservations are often not possible. The purpose of this invention is to provide a system that automatically suggests the most suitable restaurant based on the user's preferences and efficiently handles the reservation process.

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

[0611] In this invention, the server includes means for acquiring information about the user's past searches and reservations and analyzing the user's preferences, means for acquiring information from the Internet and saving it in a database, means for generating optimal location candidates based on the user's specified conditions and presenting them to the user, means for automatically attempting to make a reservation at the presented locations via online reservation or voice call, and means for confirming whether the reservation was successful and notifying the user of the result. This makes it possible to suggest optimal restaurants based on the user's preferences and past behavior and to smoothly complete the reservation process.

[0612] "User" refers to a person who uses the System to receive offers and reservations.

[0613] "Search and Booking Information" refers to data about your past searches and bookings.

[0614] "Means for analyzing preferences" refers to means for analyzing a user's past search and booking data using AI algorithms to identify a user's preferences and interests.

[0615] "Means of obtaining information from the Internet and storing it in a database" refers to the function of using an external API to collect the latest information about restaurants and store it in an internal database.

[0616] "Specified conditions" refers to the requested information such as area, date and time, number of people, purpose, and preferences that a user enters when using the system.

[0617] "Means for generating optimal location candidates and presenting them to the user" refers to the function of comparing the user's preference data with collected restaurant information, and generating and presenting a list of restaurants that are most suitable for the user.

[0618] "Means of automatically attempting to make a reservation online or by voice call" refers to a function that automatically makes a reservation for the selected restaurant using a web reservation form or an automated voice call system.

[0619] "Means for checking whether a reservation has been made successfully and notifying the user of the result" refers to a function for checking whether a reservation has been made successfully and notifying the user of the result.

[0620] "Database" refers to a management system for storing information about restaurants and user preference data.

[0621] The present invention relates to a system that makes personalized restaurant recommendations and automatically reserves reservations based on a user's past preferences and behavior. The system includes a server, a terminal, and multiple software modules. Specific embodiments for implementing the system are described below.

[0622] Hardware and software used

[0623] 1. Server: This is the central computer in this system, which collects user data, analyzes preferences, collects and stores restaurant information, and attempts to make reservations.

[0624] 2. Terminal: A device (e.g., smartphone, PC) through which a user accesses the system through an interface and enters and receives requests.

[0625] 3. Software Module:

[0626] Preference learning module: Analyzes user preferences using AI algorithms (e.g., scikit-learn and TensorFlow).

[0627] Information collection module: Collects restaurant information from the Internet and stores it in a database (e.g., using Google Places API or Yelp API).

[0628] Suggestion module: Generates optimal restaurant suggestions based on user requests and preference data.

[0629] Reservation module: Attempts to make reservations for suggested restaurants using a web reservation form or an automated voice call system (e.g., Twilio API).

[0630] Specific operation explanation

[0631] Users access the system interface using a device (smartphone or PC) and input request information such as area, date and time, number of people, purpose, and preferences. The server receives the user's request information and analyzes past search and reservation data using a preference learning module.

[0632] The server uses AI algorithms to learn and identify user preferences, for example, determining that a user likes Thai food based on data showing that the user has frequently searched for Thai food in the past year.

[0633] Next, the server uses an information collection module to collect restaurant data in the specified area from external APIs (such as Google Places API or Yelp API). The collected data is stored in a database. For example, information on Thai restaurants in the "Shinjuku" area is obtained, and information such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is stored in the database.

[0634] The server then uses the suggestion module to generate optimal restaurant candidates based on the user's request criteria and preference data. The generated candidates are displayed on the device interface and presented to the user. Once the user selects their preferred restaurant from the presented list of restaurants, the server first attempts to make a web reservation using the reservation module. If a web reservation is not possible, the server attempts to make a reservation via automated voice call using the Twilio API.

[0635] Finally, the server confirms whether the reservation was successful and notifies the user of the result. Through this series of processes, users can easily and quickly find and reserve restaurants that suit their tastes and requirements.

[0636] Prompt Sentence Examples

[0637] If I'm looking for a Thai restaurant for a date night for two in the Shinjuku area at 7pm on July 10th, please suggest some. Users have searched for Thai food a lot in the past.

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

[0639] Processing Steps

[0640] Step 1:

[0641] A user accesses the system interface using a terminal and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input request information is sent to the server.

[0642] Input: User request information such as area, date and time, number of people, purpose, preferences, etc.

[0643] Output: Data containing user request information

[0644] Step 2:

[0645] The server processes the received request information and retrieves information about the user's past searches and reservations. The preference learning module is used to analyze the user's preferences using AI algorithms (e.g., scikit-learn and TensorFlow).

[0646] Input: User request information, past search and reservation data

[0647] Output: User preference patterns (e.g., whether they like Thai food)

[0648] Specific behavior:

[0649] Based on the search history and reservation data from the past year, the server detects that the user has searched for and used "Thai food" multiple times and determines that the user likes "Thai food."

[0650] Step 3:

[0651] The server uses an information collection module to collect restaurant data in the specified area from external APIs (Google Places API or Yelp API) and store it in a database.

[0652] Input: Information about the specified area (e.g. Shinjuku)

[0653] Output: Restaurant information stored in the database (e.g., restaurant ID, restaurant name, rating, number of seats, menu, price range, etc.)

[0654] Specific behavior:

[0655] The server retrieves restaurant information for the "Shinjuku" area from an external API and stores restaurant data filtered by the area name "Shinjuku" in a database.

[0656] Step 4:

[0657] The server uses the suggestion module to generate optimal restaurant candidates based on the user's request conditions and preference data, and the generated candidate list is presented to the user.

[0658] Input: User request information, user preference data, restaurant database

[0659] Output: A list of the best restaurants

[0660] Specific behavior:

[0661] The server searches the database based on the request criteria, "Thai restaurant for a date night for two in the Shinjuku area on July 10th at 7pm," and lists restaurants that match the request criteria (e.g., "Thai restaurant A," "Thai restaurant B," and "Thai restaurant C"). The restaurant information listed is then displayed on the device's interface.

[0662] Step 5:

[0663] The user selects a restaurant from the list of restaurants presented, and the server first attempts to make a reservation for the selected restaurant via web booking.

[0664] Input: The restaurant selected by the user

[0665] Output: Web booking success or failure status

[0666] Specific behavior:

[0667] When the user selects "Thai Restaurant A," the server accesses the restaurant's web reservation page, automatically fills in the necessary information, and attempts to make a reservation.

[0668] Step 6:

[0669] If the server is unable to accept web reservations, it will instead attempt to make a reservation by phone using an automated voice call system (e.g., Twilio API) to the store.

[0670] Input: Web reservation failure status, user reservation information

[0671] Output: Success or failure status of the voice call booking

[0672] Specific behavior:

[0673] If the server is unable to make a web reservation for "Thai Restaurant A," it will use the Twilio API to make an automated voice call, enter the necessary reservation information, and attempt to make a reservation over the phone.

[0674] Step 7:

[0675] The server checks whether the reservation was successful and notifies the user of the result.

[0676] Input: Booking success or failure status

[0677] Output: Notification of reservation result to user

[0678] Specific behavior:

[0679] If the server successfully makes a reservation for "Thai Restaurant A," it notifies the user's device that "Reservation completed." If the reservation fails, it notifies the user that "Reservation failed. Please choose another restaurant."

[0680] (Application example 1)

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

[0682] In modern life, users are busy and have limited time to find the best restaurant or delivery service. In particular, there is a demand for technology that can provide personalized suggestions and automate reservations and ordering, but current systems are insufficient. The challenge is to simplify the complicated procedures for users and provide suggestions that match individual preferences, as well as automated reservations and ordering.

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

[0684] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting data on restaurants from multiple sources on the Internet and saving it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation at the suggested restaurants via web reservation or voice call, means for learning preferences from the user's past ordering history and suggesting optimal restaurant candidates that offer delivery, and means for automatically placing an order at the suggested restaurants. This makes it possible to suggest restaurants and delivery services that meet the user's preferences and needs, and to automate reservations and ordering.

[0685] "User preferences" refers to a user's tendency to prefer certain food genres or restaurants based on past search and reservation data and order history.

[0686] "Information source" refers to a source that provides data about restaurants obtained from databases publicly available on the Internet or external APIs.

[0687] A "database" refers to a collection of data that systematically stores collected restaurant information and can be searched and updated as needed.

[0688] "User requirements" refers to the specific conditions and needs, such as area, date and time, number of people, purpose, preferences, etc., that the user inputs into the system.

[0689] A "reservation" refers to the process of applying to a restaurant in advance to use the restaurant on a specified date and time, and reserving a seat and service.

[0690] "Order" means a request made by a User to purchase a particular food item using the Delivery Service.

[0691] "Online reservations" refers to the method of completing a reservation by entering the necessary information into a restaurant reservation form via the Internet.

[0692] "Voice telephone" refers to a method of contacting a restaurant by telephone and making a reservation through voice conversation.

[0693] "Means for learning preferences" refers to technical means for collecting and analyzing a user's past behavioral data and identifying the user's preferences based on the results.

[0694] "Means of suggestion" refers to the technological means of matching the user's requests with collected data and presenting restaurants and menus that are suitable for the user.

[0695] "Means for automatically placing orders" refers to technological means that allow the system to automatically process orders to suggested restaurants, thereby saving the user time and effort.

[0696] The present invention relates to a system that suggests optimal restaurants and delivery services based on a user's preferences and automatically makes reservations or orders. The system includes the following main components:

[0697] 1. Preference Learning Module

[0698] The server collects and analyzes the user's past search and reservation data and order history. Specifically, it uses data such as frequently ordered food genres and price ranges to learn the user's preferences. This process uses AI algorithms (e.g., machine learning models). This allows the server to accurately identify each user's preferences.

[0699] 2. Information Collection Module

[0700] The server collects restaurant-related data from multiple sources on the Internet and stores it in a database, including restaurant ratings, seating information, menus, price ranges, etc. It also includes a function to periodically update the latest information using external APIs.

[0701] 3. Proposal Module

[0702] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and compares it with the preference data and data obtained from the information collection module. This generates optimal restaurant and delivery service candidates and suggests them to the user. The suggested candidates are in line with the user's preferences and conditions.

[0703] 4. Booking and Ordering Module

[0704] The server attempts to make a reservation at a restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are possible, and if so, the user completes the reservation by entering the necessary information into a reservation form. If online reservations are not possible, the server attempts to make the reservation using an automated voice call. In addition, in the case of delivery services, the server automatically places an order with the suggested restaurant. After the order is confirmed, the server sends the user a notification that the order has been completed.

[0705] Hardware and Software

[0706] The system utilizes the following hardware and software:

[0707] Server: We use cloud servers for data processing and storage.

[0708] AI Algorithm: Uses machine learning models for preference learning.

[0709] External API: Use multiple external data sources to gather information.

[0710] Automated telephone system: We use an IVR (Interactive Voice Response) system to automate reservations.

[0711] Specific examples

[0712] Suppose a user enters the criteria "Shinjuku area, budget 2000 yen, Japanese food." The server references the user's past data based on these criteria and analyzes their preferences. At the same time, it collects information about Japanese restaurants in the Shinjuku area and stores it in a database. It compares the preference data with the collected data and suggests "Japanese Restaurant A," "Japanese Restaurant B," and "Japanese Restaurant C" to the user. If the user selects "Japanese Restaurant A," the server attempts to make a web reservation, completes the order, and notifies the user of the results.

[0713] Prompt Sentence Examples

[0714] "Please tell me Japanese restaurants in the Shinjuku area that offer delivery for under 2,000 yen."

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

[0716] Step 1:

[0717] The user accesses the system using a terminal and inputs their requirements (e.g., area, date and time, number of people, purpose, preferences, etc.). The input conditions are sent to the server.

[0718] Step 2:

[0719] The server extracts and collects the user's past search and reservation data and order history from a database and analyzes them. Here, machine learning algorithms are applied to identify the user's preferences from past data. In this process, the user's preferred cuisine genre and price range are derived.

[0720] Step 3:

[0721] The server collects data about restaurants from multiple sources on the Internet and stores it in a database. Specifically, it uses external APIs to obtain the latest information on restaurant ratings, seating information, menus, price ranges, etc. The collected data is updated regularly.

[0722] Step 4:

[0723] The server compares restaurant information in the database based on the user's request (e.g., area, date, time, number of people, purpose, preferences, etc.) and preference data, and generates optimal restaurant candidates. In this process, it uses an AI algorithm to list restaurants that match the user's preferences.

[0724] Step 5:

[0725] The server then proposes the generated optimal restaurant candidates to the user, and the proposal list is sent to the terminal, where the user can check it.

[0726] Step 6:

[0727] The user selects a particular restaurant from the list of suggestions, and the selection is sent to the server.

[0728] Step 7:

[0729] The server attempts to make a reservation for the selected restaurant. First, it checks whether online reservations are available, and if so, it completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, it attempts to make a reservation using an automated voice call.

[0730] Step 8:

[0731] If the user requests delivery service, the server automatically places an order with the suggested restaurant, which is then sent to the restaurant via an external API.

[0732] Step 9:

[0733] The server checks whether the reservation or order has been successful and notifies the user of the result. The notification is sent to the terminal so that the user can check it.

[0734] Step 10:

[0735] The server updates the database with the reservation or order history, which improves the accuracy of future suggestions.

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

[0737] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[0738] System Overview

[0739] The system includes the following elements:

[0740] 1. Preference Learning Module

[0741] 2. Information Collection Module

[0742] 3. Proposal Module

[0743] 4. Emotion Engine

[0744] 5. Booking Module

[0745] Preference Learning Module

[0746] The server collects the user's past search and reservation data and analyzes the user's preferences, thereby identifying the user's personal preferences, such as the type of cuisine, price range, and area.

[0747] Specific examples

[0748] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[0749] Information Collection Module

[0750] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[0751] Specific examples

[0752] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[0753] Suggestion Module

[0754] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[0755] Specific examples

[0756] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0757] Emotion Engine

[0758] The emotion engine analyzes the user's emotions in real time and adjusts suggestions based on those emotions, allowing it to suggest restaurants that best suit the user's emotional state.

[0759] Specific examples

[0760] If the emotion engine detects that the user is feeling stressed, the server will prioritize restaurants with a relaxing atmosphere. The server also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[0761] Booking Module

[0762] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[0763] Specific examples

[0764] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[0765] Overall system flow

[0766] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[0767] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[0768] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[0769] 4. The server will suggest the best restaurant options to the user.

[0770] 5. The user selects one of the suggested options and attempts to make a reservation.

[0771] 6. The server automatically makes the reservation using web booking or voice call.

[0772] 7. Notify the user whether the reservation is successful or not.

[0773] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[0774] In this way, the system efficiently and accurately provides restaurants that match the user's preferences, feelings, and specified conditions, enabling a smooth reservation process.

[0775] The processing flow will be explained below.

[0776] Program processing flow

[0777] A system incorporating an emotion engine

[0778] Step 1:

[0779] The server collects users' past search and reservation data.

[0780] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[0781] Step 2:

[0782] The server analyzes the collected data to identify user preferences.

[0783] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[0784] Step 3:

[0785] The server collects restaurant data from multiple sources on the Internet.

[0786] Operation: Calls an external API (e.g., Google Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[0787] Step 4:

[0788] The server stores the collected restaurant data in a database.

[0789] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[0790] Step 5:

[0791] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[0792] Action: A user fills out a form in a smartphone app or web application and submits it.

[0793] Step 6:

[0794] The user terminal sends the input information to the server.

[0795] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[0796] Step 7:

[0797] The emotion engine recognizes the user's current emotions and analyzes them in real time.

[0798] How it works: A user inputs emotional feedback to an application, or emotional data is acquired from a sensor device.

[0799] Step 8:

[0800] The server generates optimal restaurant candidates based on the user's requests, preference data, and emotion data obtained from the emotion engine.

[0801] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a candidate list by comparing it with the user's preference and emotion data.

[0802] Step 9:

[0803] The server will suggest the best restaurant options to the user.

[0804] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[0805] Step 10:

[0806] The user device accepts a selection from the proposed candidate list.

[0807] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[0808] Step 11:

[0809] The user terminal transmits the selection information to the server.

[0810] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[0811] Step 12:

[0812] The server attempts to make a reservation at the selected restaurant.

[0813] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[0814] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[0815] Step 13:

[0816] The server checks whether the reservation was successful and notifies the user of the result.

[0817] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[0818] Step 14:

[0819] The emotion engine collects user emotional feedback and uses that feedback to improve the accuracy of the next suggestion.

[0820] How it works: The user enters emotional feedback about the suggestions, and the data is analyzed and reflected in preference data.

[0821] In this way, the accuracy of restaurant suggestions based on the user's emotions and preferences can be improved, making it possible to make reservations smoothly.

[0822] Example 2

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

[0824] Conventional restaurant recommendation systems do not adequately base their recommendations on users' past preferences and behavior, making it difficult to select restaurants with high accuracy and personalized accuracy. They also cannot make appropriate recommendations based on changes in emotions, making it difficult to improve user satisfaction. Furthermore, the reservation process is often performed manually, which is time-consuming for users.

[0825] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the user's past search data and reservation data and analyzing the user's preferences, means for collecting data about restaurants from multiple information sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for attempting to make a reservation for the suggested restaurant via web reservation or automated voice call, and means for analyzing the user's emotions in real time and adjusting the suggestion content based on the emotions. This makes it possible to suggest restaurants that match the user's individual preferences and emotional state and to perform automatic reservation procedures.

[0826] "User" refers to an individual who wishes to use the system to suggest or make reservations for restaurants.

[0827] "Search data" refers to the history of internet searches a user has conducted in the past regarding restaurants.

[0828] "Reservation Data" refers to historical information regarding restaurant reservations made by a user in the past.

[0829] "Preferences" refers to a user's personal preferences, such as the type of cuisine they prefer, price range, and area.

[0830] "Multiple sources" refers to the wide variety of data providers and APIs on the Internet.

[0831] "Restaurant data" refers to detailed information about a restaurant, such as its ratings, seating information, menu, and prices.

[0832] "Database" refers to an information management system that stores, manages, and makes searchable collected data in an organized manner.

[0833] "Request" refers to specific conditions entered by the user, such as the area of ​​the restaurant, date and time, number of people, purpose, preferences, etc.

[0834] "Generating candidates" refers to creating a list of the most suitable restaurants based on the user's requests.

[0835] "Suggestion" refers to the act of showing the generated optimal restaurant candidates to the user.

[0836] "Reservation" refers to the process of reserving the date, time, and number of people to visit a restaurant of a user's choosing in advance.

[0837] "Online reservation" refers to the method of completing a reservation by entering information into a restaurant reservation form via the Internet.

[0838] "Automated voice call" refers to a method of attempting to make a reservation at a restaurant over the phone using an automated voice.

[0839] "Emotion" refers to the user's feelings and psychological state.

[0840] "Real-time analysis" refers to instantly analyzing the user's current emotions.

[0841] "Adjusting the suggestions" refers to changing the restaurant suggestions based on the analyzed emotional data.

[0842] "Feedback" refers to any ratings or comments you make on a suggestion or booking.

[0843] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[0844] System configuration

[0845] The system includes the following elements:

[0846] 1. Preference Learning Module

[0847] 2. Information Collection Module

[0848] 3. Proposal Module

[0849] 4. Emotion Engine

[0850] 5. Booking Module

[0851] Preference Learning Module

[0852] The server collects the user's past search and reservation data and uses this data to analyze the user's preferences. Specifically, it uses machine learning algorithms (e.g., Scikit-learn or TensorFlow) to extract information such as the user's preferred cuisine genre, price range, and area.

[0853] Example: Based on the restaurant search data of the user over the past year, it is known that the user has searched for Thai restaurants in particular. Based on this, the server determines that the user likes Thai food.

[0854] Information Collection Module

[0855] The server uses external APIs (e.g., Google Places API, Yelp API) to obtain the latest restaurant data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in its own database, allowing it to provide the latest information that matches the conditions specified by the user.

[0856] Example: The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" are saved.

[0857] Suggestion Module

[0858] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. This is done using an algorithm that compares the user's preference data with the database stored in the information collection module.

[0859] Example: If a user is looking for a Thai restaurant in Shinjuku for two people at 7 p.m. on July 10th, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0860] Emotion Engine

[0861] The emotion engine analyzes the user's real-time emotional state and adjusts the recommendations based on the results. Image and audio analysis technologies are used for the analysis. This allows the system to suggest the most suitable restaurant based on the user's emotional state.

[0862] Example: If a user is feeling stressed, the emotion engine will detect this and prioritize suggestions for restaurants with a relaxing atmosphere for the server.

[0863] Booking Module

[0864] The server automatically processes reservations for restaurants selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[0865] Example: If the user selects "Thai Restaurant A," the server will first try to make a reservation online. If online reservation is not possible, the server will call the restaurant via automated voice call to make the reservation.

[0866] Prompt Sentence Examples

[0867] "A user has a penchant for Thai food and is searching for restaurants in Shinjuku for a date for two. The date and time is July 10th at 7 PM. Please suggest a relaxing Thai restaurant based on past emotional feedback."

[0868] In this way, this system can efficiently and accurately provide restaurants that match the user's preferences, feelings, and specified conditions, and can automatically process reservations.

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

[0870] Step 1:

[0871] The user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input information is sent from the terminal to the server.

[0872] Input: Request information such as area, date and time, number of people, purpose, preferences, etc.

[0873] Output: Request information sent to the server

[0874] What happens: A user fills in various fields on a web form and clicks the submit button.

[0875] Step 2:

[0876] The server collects users' past search and reservation data from a database and analyzes their preferences using machine learning algorithms (e.g., Scikit-learn or TensorFlow).

[0877] Input: User's past search and reservation data

[0878] Output: Analysis results showing user preferences

[0879] How it works: The server retrieves data from the database using the user ID as a key and uses a machine learning algorithm to extract preference patterns.

[0880] Step 3:

[0881] The server uses an external API (e.g., Google Places API, Yelp API) to obtain the latest restaurant information and save it in a database.

[0882] Input: Area information

[0883] Output: Latest restaurant information stored in the database

[0884] Specific operation: The server sends an HTTP request to an external API, parses the JSON response, and stores it in the database.

[0885] Step 4:

[0886] The server generates optimal restaurant candidates based on the collected preference data and request information, which includes database search and filtering.

[0887] Input: User preference data, request information, restaurant information stored in the database

[0888] Output: A list of the best restaurants

[0889] What happens: The server runs an SQL query to generate a list of restaurants that match the criteria.

[0890] Step 5:

[0891] The emotion engine analyzes the user's real-time emotional state and notifies the server of the results. The analysis uses image analysis and audio analysis using the camera and microphone.

[0892] Input: Real-time emotion data (images and audio)

[0893] Output: Emotion analysis results

[0894] Specific operation: The user provides emotion data through the device's camera or microphone, and the emotion engine analyzes it and returns the results to the server.

[0895] Step 6:

[0896] The server uses the results of the sentiment analysis to adjust the priority of the list of restaurants to suggest to the user.

[0897] Input: Sentiment analysis results, list of best restaurants

[0898] Output: A tailored list of restaurant suggestions

[0899] Specific operation: The server adjusts the filtering conditions based on the emotion data and generates a list to display to the user.

[0900] Step 7:

[0901] The user selects from a list of suggested restaurants and attempts to make a reservation, and this information is sent to the server.

[0902] Input: User selection information (store, date and time, number of people, etc.)

[0903] Output: Reservation request information

[0904] Specific behavior: The user selects a store from the displayed list and clicks the reservation button.

[0905] Step 8:

[0906] The server attempts to make a reservation at the selected restaurant. First, it checks whether online reservations are available and automatically fills in the necessary information. If online reservations are not available, the reservation is made using an automated voice call.

[0907] Input: Reservation Request Information

[0908] Output: Reservation success or failure (reservation confirmation or error message)

[0909] What happens: The server attempts to make a reservation by using web scraping or Twilio's API to fill out a reservation form or make a phone call.

[0910] Step 9:

[0911] The server notifies the user whether the reservation was successful or not. If it was successful, it will provide detailed information (store name, address, reservation time, etc.), and if it was unsuccessful, it will provide the reason for the failure.

[0912] Input: Reservation success / failure

[0913] Output: A notification message to the user

[0914] Specific operation: The server will send the reservation result to the user via email or SMS.

[0915] Step 10:

[0916] The server collects the user's emotional feedback and uses it to improve the accuracy of future suggestions.

[0917] Input: User feedback information

[0918] Output: Feedback analysis results

[0919] What it does: The server receives user ratings and comments from the feedback form, stores them in a database, and analyzes them.

[0920] (Application example 2)

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

[0922] In recent years, automated restaurant recommendation and reservation services have become increasingly common, but most systems only refer to the user's past preference data, and few systems consider the user's emotional state in real time. While a wide variety of systems already provide restaurant recommendations, there are currently no systems for food delivery that analyze the user's emotional state and make recommendations based on their preferences. Therefore, there is a need for a system that analyzes the user's current emotional state and makes optimal food delivery recommendations based on that information.

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

[0924] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting restaurant-related data from multiple sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation for the suggested restaurants via web reservation or voice call, means for analyzing the user's emotional state in real time and adjusting the suggestions, and means for suggesting and automatically ordering the optimal dishes for food delivery based on past preference data and emotional data. This makes it possible to take the user's current emotional state into consideration, suggest the best dish for their mood at that time, and even automate the ordering process.

[0925] "User Preferences" means an individual's dining preferences and tendencies determined based on past search and reservation data.

[0926] "Database" means a structured collection of information that stores data about restaurants collected from multiple sources on the Internet.

[0927] "User requirements" refers to the specific conditions and wishes such as area, date and time, number of people, purpose, preferences, etc. that the user provides to the system.

[0928] "Emotional state" refers to the specific emotional state or psychological tendency obtained by analyzing the user's real-time emotions.

[0929] "Food delivery" refers to a service in which food ordered by a user is delivered from a restaurant to a specified location.

[0930] "Suggesting" refers to the act of presenting the user with the most suitable restaurants and dishes based on the user's preferences and current emotions.

[0931] "Ordering" means the act of actually purchasing and arranging delivery of the suggested food through a food delivery service.

[0932] "Automatically attempt" means that the system will carry out the reservation process using web booking or voice call without user intervention.

[0933] "Web reservation" is a method of making a restaurant reservation using an online reservation form.

[0934] "Voice telephone" is a method of making a reservation by communicating with a restaurant via voice over a telephone line.

[0935] "Best Restaurant Suggestions" refers to a list of recommended restaurants selected based on the user's preference data and current requirements.

[0936] "Dishes" means individual meal menu items offered by a restaurant.

[0937] This invention relates to a system that proposes personalized food delivery services based on the user's past preferences and behavior, and automatically places the order. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, this invention achieves more accurate proposals.

[0938] System Overview

[0939] The system includes the following elements:

[0940] 1. Preference Learning Module

[0941] 2. Information Collection Module

[0942] 3. Proposal Module

[0943] 4. Emotion Engine

[0944] 5. Order Module

[0945] Preference Learning Module

[0946] The server collects the user's past search and order data and analyzes their preferences. This allows the system to identify personal preferences, such as the type of cuisine, price range, and area they prefer. The hardware used is a standard server, and the software is a data analysis library.

[0947] Specific examples

[0948] Based on the user's orders over the past year, the server knows that the user has frequently ordered Thai food, and therefore determines that the user likes Thai food.

[0949] Information Collection Module

[0950] It collects restaurant-related data (ratings, menus, prices, etc.) from the internet and stores it in a database. This allows it to provide the latest restaurant and menu information that matches the conditions specified by the user. The software used is an information collection module that utilizes an external API.

[0951] Specific examples

[0952] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "menu," and "price range" is saved.

[0953] Suggestion Module

[0954] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant and cuisine candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module to create a list of the most suitable restaurants and cuisines.

[0955] Specific examples

[0956] If a user is looking for Thai food for a date for two in Shinjuku on a specific date and time, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[0957] Emotion Engine

[0958] The emotion engine analyzes users' emotions in real time and adjusts its recommendations based on their emotions. The hardware used is the smartphone's camera and microphone, and the software is an emotion recognition algorithm. This allows it to recommend food delivery options that best suit your emotional state.

[0959] Specific examples

[0960] If the emotion engine detects that the user is feeling stressed, the server will prioritize suggesting dishes that have a relaxing effect. It also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[0961] Order Module

[0962] The server automatically orders the suggested dishes selected by the user through a food delivery service. First, it checks whether online ordering is available, and if so, the user completes the order by entering the required information in the order form. If online ordering is not available, the server attempts to place the order using an automated voice call.

[0963] Specific examples

[0964] If the user selects green curry from "Thai Restaurant A," the server will first attempt to place the order online. If online ordering is not possible, the server will call the restaurant using an automated voice call to place the order. Once the order is complete, the server will notify the user of the result.

[0965] Overall system flow

[0966] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[0967] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[0968] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[0969] 4. The server suggests the best restaurants and dishes for the user.

[0970] 5. The user selects one of the suggested options and attempts to place an order.

[0971] 6. The server will automatically place the order via online ordering or voice call.

[0972] 7. Notify the user of the success or failure of the order.

[0973] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[0974] Example prompt sentence:

[0975] "Based on past ordering history, we identify the user's preferred dishes and suggest restaurant recommendations taking into account their emotional state. Please suggest an effective algorithm to adjust the suggestions based on current data."

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

[0977] Step 1:

[0978] A user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc.

[0979] The input request information is sent to the server, which then executes the next processing step based on the information.

[0980] Step 2:

[0981] The server collects the user's past search data and order data and analyzes the user's preferences using a preference learning module.

[0982] The input data includes the type of food, price range, frequency of orders, etc. Based on this, the server generates a user preference model.

[0983] As an output, preference data indicating the user's preferred food genres and price ranges is obtained.

[0984] Step 3:

[0985] The server collects data about restaurants from multiple sources on the Internet and stores it in a database through an information collection module.

[0986] The input data includes latitude and longitude information such as ratings, menus, prices, etc. obtained from external APIs. The server analyzes this data and processes it to store in the database.

[0987] As an output, the restaurant information table is updated.

[0988] Step 4:

[0989] The server uses a suggestion module to generate optimal restaurant and food options based on the user's request (area, date and time, number of people, purpose, preferences, etc.) and preference data.

[0990] The input data includes the preference data obtained in step 2 and the restaurant information collected in step 3. These are collated to create a list of candidates.

[0991] As an output, a list of restaurants and dishes suggested to the user is generated.

[0992] Step 5:

[0993] The server uses an emotion engine to analyze the user's emotional state in real time and adjusts the suggestions based on the emotional state.

[0994] Input data includes the user's facial expressions, voice, and past emotional feedback, which the server analyzes with emotion recognition algorithms to determine their current emotional state.

[0995] The output is a tailored list of suggestions.

[0996] Step 6:

[0997] The server will suggest the best restaurant and food options to the user, from which the user can select one.

[0998] The entered selection information is sent to the server, which then executes the next processing step based on the information.

[0999] As an output, the user's selected dish and store information are obtained.

[1000] Step 7:

[1001] The server uses the ordering module to automatically order the suggested dishes selected by the user through a food delivery service.

[1002] The entered store and food information is sent to the server to attempt a reservation using an online ordering system or automated voice call. The server then carries out the reservation procedure based on this information.

[1003] The output is notification information about the success or failure of the order.

[1004] Step 8:

[1005] The server notifies the user whether the order was successful or not, and also collects the user's emotional feedback and stores it in a database to improve the accuracy of future suggestions.

[1006] The input data includes the order results and the user's emotional feedback, which the server stores in a database and uses to improve the accuracy of the next recommendation.

[1007] As an output, the user's feedback data is saved and a notification message is sent to the user.

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

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

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

[1011] [Third embodiment]

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

[1013] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

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

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

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

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

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

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

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

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

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

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

[1024] The present invention relates to a system that suggests restaurants based on the user's past preferences and behavior, and automatically handles reservations. This system learns the user's preferences, suggests restaurants that meet the user's specified criteria, and ultimately automatically makes reservations via the web or by voice call.

[1025] System Overview

[1026] The system includes the following elements:

[1027] 1. Preference Learning Module

[1028] 2. Information Collection Module

[1029] 3. Proposal Module

[1030] 4. Booking Module

[1031] Preference Learning Module

[1032] The server collects the user's past search and reservation data and analyzes the user's preferences. Specifically, it uses an AI algorithm to learn the user's preferences based on the type of cuisine the user has searched for and the restaurants they have booked.

[1033] Specific examples

[1034] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[1035] Information Collection Module

[1036] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[1037] Specific examples

[1038] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[1039] Suggestion Module

[1040] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[1041] Specific examples

[1042] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1043] Booking Module

[1044] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[1045] Specific examples

[1046] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[1047] Overall system flow

[1048] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[1049] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[1050] 3. The server will suggest the best restaurant options to the user.

[1051] 4. The user selects one of the suggested options and attempts to make a reservation.

[1052] 5. The server automatically makes the reservation using web booking or voice call.

[1053] 6. Notify the user whether the reservation is successful or not.

[1054] In this way, the system efficiently searches for restaurants that meet the user's preferences and specified conditions, enabling the user to smoothly make reservations.

[1055] The processing flow will be explained below.

[1056] Program processing flow

[1057] Preference Learning Module

[1058] Step 1:

[1059] The server collects users' past search and reservation data.

[1060] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[1061] Step 2:

[1062] The server analyzes the collected data to identify user preferences.

[1063] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[1064] Information Collection Module

[1065] Step 1:

[1066] The server collects restaurant data from multiple sources on the Internet.

[1067] Operation: Calls an external API (e.g., Google Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[1068] Step 2:

[1069] The server stores the collected restaurant data in a database.

[1070] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[1071] Suggestion Module

[1072] Step 1:

[1073] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[1074] Action: A user fills out a form in a smartphone app or web application and submits it.

[1075] Step 2:

[1076] The user terminal sends the input information to the server.

[1077] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[1078] Step 3:

[1079] The server generates optimal restaurant candidates based on the user's requests and preference data.

[1080] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a list of candidates by comparing it with the user's preference data.

[1081] Step 4:

[1082] The server will suggest the best restaurant options to the user.

[1083] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[1084] Booking Module

[1085] Step 1:

[1086] The user device accepts a selection from the proposed candidate list.

[1087] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[1088] Step 2:

[1089] The user terminal transmits the selection information to the server.

[1090] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[1091] Step 3:

[1092] The server attempts to make a reservation at the selected restaurant.

[1093] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[1094] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[1095] Step 4:

[1096] The server checks whether the reservation was successful and notifies the user of the result.

[1097] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[1098] Example 1

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

[1100] Conventional restaurant reservation systems have the problem that they do not provide sufficient personalized suggestions based on the user's preferences and past behavior, and it takes a long time for the user to find a suitable restaurant. In addition, the reservation methods are limited, so reservations are often not possible. The purpose of this invention is to provide a system that automatically suggests the most suitable restaurant based on the user's preferences and efficiently handles the reservation process.

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

[1102] In this invention, the server includes means for acquiring information about the user's past searches and reservations and analyzing the user's preferences, means for acquiring information from the Internet and saving it in a database, means for generating optimal location candidates based on the user's specified conditions and presenting them to the user, means for automatically attempting to make a reservation at the presented locations via online reservation or voice call, and means for confirming whether the reservation was successful and notifying the user of the result. This makes it possible to suggest optimal restaurants based on the user's preferences and past behavior and to smoothly complete the reservation process.

[1103] "User" refers to a person who uses the System to receive offers and reservations.

[1104] "Search and Booking Information" refers to data about your past searches and bookings.

[1105] "Means for analyzing preferences" refers to means for analyzing a user's past search and booking data using AI algorithms to identify a user's preferences and interests.

[1106] "Means of obtaining information from the Internet and storing it in a database" refers to the function of using an external API to collect the latest information about restaurants and store it in an internal database.

[1107] "Specified conditions" refers to the requested information such as area, date and time, number of people, purpose, and preferences that a user enters when using the system.

[1108] "Means for generating optimal location candidates and presenting them to the user" refers to the function of comparing the user's preference data with collected restaurant information, and generating and presenting a list of restaurants that are most suitable for the user.

[1109] "Means of automatically attempting to make a reservation online or by voice call" refers to a function that automatically makes a reservation for the selected restaurant using a web reservation form or an automated voice call system.

[1110] "Means for checking whether a reservation has been made successfully and notifying the user of the result" refers to a function for checking whether a reservation has been made successfully and notifying the user of the result.

[1111] "Database" refers to a management system for storing information about restaurants and user preference data.

[1112] The present invention relates to a system that makes personalized restaurant recommendations and automatically reserves reservations based on a user's past preferences and behavior. The system includes a server, a terminal, and multiple software modules. Specific embodiments for implementing the system are described below.

[1113] Hardware and software used

[1114] 1. Server: This is the central computer in this system, which collects user data, analyzes preferences, collects and stores restaurant information, and attempts to make reservations.

[1115] 2. Terminal: A device (e.g., smartphone, PC) through which a user accesses the system through an interface and enters and receives requests.

[1116] 3. Software Module:

[1117] Preference learning module: Analyzes user preferences using AI algorithms (e.g., scikit-learn and TensorFlow).

[1118] Information collection module: Collects restaurant information from the Internet and stores it in a database (e.g., using Google Places API or Yelp API).

[1119] Suggestion module: Generates optimal restaurant suggestions based on user requests and preference data.

[1120] Reservation module: Attempts to make reservations for suggested restaurants using a web reservation form or an automated voice call system (e.g., Twilio API).

[1121] Specific operation explanation

[1122] Users access the system interface using a device (smartphone or PC) and input request information such as area, date and time, number of people, purpose, and preferences. The server receives the user's request information and analyzes past search and reservation data using a preference learning module.

[1123] The server uses AI algorithms to learn and identify user preferences, for example, determining that a user likes Thai food based on data showing that the user has frequently searched for Thai food in the past year.

[1124] Next, the server uses an information collection module to collect restaurant data in the specified area from external APIs (such as Google Places API or Yelp API). The collected data is stored in a database. For example, information on Thai restaurants in the "Shinjuku" area is obtained, and information such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is stored in the database.

[1125] The server then uses the suggestion module to generate optimal restaurant candidates based on the user's request criteria and preference data. The generated candidates are displayed on the device interface and presented to the user. Once the user selects their preferred restaurant from the presented list of restaurants, the server first attempts to make a web reservation using the reservation module. If a web reservation is not possible, the server attempts to make a reservation via automated voice call using the Twilio API.

[1126] Finally, the server confirms whether the reservation was successful and notifies the user of the result. Through this series of processes, users can easily and quickly find and reserve restaurants that suit their tastes and requirements.

[1127] Prompt Sentence Examples

[1128] If I'm looking for a Thai restaurant for a date night for two in the Shinjuku area at 7pm on July 10th, please suggest some. Users have searched for Thai food a lot in the past.

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

[1130] Processing Steps

[1131] Step 1:

[1132] A user accesses the system interface using a terminal and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input request information is sent to the server.

[1133] Input: User request information such as area, date and time, number of people, purpose, preferences, etc.

[1134] Output: Data containing user request information

[1135] Step 2:

[1136] The server processes the received request information and retrieves information about the user's past searches and reservations. The preference learning module is used to analyze the user's preferences using AI algorithms (e.g., scikit-learn and TensorFlow).

[1137] Input: User request information, past search and reservation data

[1138] Output: User preference patterns (e.g., whether they like Thai food)

[1139] Specific behavior:

[1140] Based on the search history and reservation data from the past year, the server detects that the user has searched for and used "Thai food" multiple times and determines that the user likes "Thai food."

[1141] Step 3:

[1142] The server uses an information collection module to collect restaurant data in the specified area from external APIs (Google Places API or Yelp API) and store it in a database.

[1143] Input: Information about the specified area (e.g. Shinjuku)

[1144] Output: Restaurant information stored in the database (e.g., restaurant ID, restaurant name, rating, number of seats, menu, price range, etc.)

[1145] Specific behavior:

[1146] The server retrieves restaurant information for the "Shinjuku" area from an external API and stores restaurant data filtered by the area name "Shinjuku" in a database.

[1147] Step 4:

[1148] The server uses the suggestion module to generate optimal restaurant candidates based on the user's request conditions and preference data, and the generated candidate list is presented to the user.

[1149] Input: User request information, user preference data, restaurant database

[1150] Output: A list of the best restaurants

[1151] Specific behavior:

[1152] The server searches the database based on the request criteria, "Thai restaurant for a date night for two in the Shinjuku area on July 10th at 7pm," and lists restaurants that match the request criteria (e.g., "Thai restaurant A," "Thai restaurant B," and "Thai restaurant C"). The restaurant information listed is then displayed on the device's interface.

[1153] Step 5:

[1154] The user selects a restaurant from the list of restaurants presented, and the server first attempts to make a reservation for the selected restaurant via web booking.

[1155] Input: The restaurant selected by the user

[1156] Output: Web booking success or failure status

[1157] Specific behavior:

[1158] When the user selects "Thai Restaurant A," the server accesses the restaurant's web reservation page, automatically fills in the necessary information, and attempts to make a reservation.

[1159] Step 6:

[1160] If the server is unable to accept web reservations, it will instead attempt to make a reservation by phone using an automated voice call system (e.g., Twilio API) to the store.

[1161] Input: Web reservation failure status, user reservation information

[1162] Output: Success or failure status of the voice call booking

[1163] Specific behavior:

[1164] If the server is unable to make a web reservation for "Thai Restaurant A," it will use the Twilio API to make an automated voice call, enter the necessary reservation information, and attempt to make a reservation over the phone.

[1165] Step 7:

[1166] The server checks whether the reservation was successful and notifies the user of the result.

[1167] Input: Booking success or failure status

[1168] Output: Notification of reservation result to user

[1169] Specific behavior:

[1170] If the server successfully makes a reservation for "Thai Restaurant A," it notifies the user's device that "Reservation completed." If the reservation fails, it notifies the user that "Reservation failed. Please choose another restaurant."

[1171] (Application example 1)

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

[1173] In modern life, users are busy and have limited time to find the best restaurant or delivery service. In particular, there is a demand for technology that can provide personalized suggestions and automate reservations and ordering, but current systems are insufficient. The challenge is to simplify the complicated procedures for users and provide suggestions that match individual preferences, as well as automated reservations and ordering.

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

[1175] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting data on restaurants from multiple sources on the Internet and saving it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation at the suggested restaurants via web reservation or voice call, means for learning preferences from the user's past ordering history and suggesting optimal restaurant candidates that offer delivery, and means for automatically placing an order at the suggested restaurants. This makes it possible to suggest restaurants and delivery services that meet the user's preferences and needs, and to automate reservations and ordering.

[1176] "User preferences" refers to a user's tendency to prefer certain food genres or restaurants based on past search and reservation data and order history.

[1177] "Information source" refers to a source that provides data about restaurants obtained from databases publicly available on the Internet or external APIs.

[1178] A "database" refers to a collection of data that systematically stores collected restaurant information and can be searched and updated as needed.

[1179] "User requirements" refers to the specific conditions and needs, such as area, date and time, number of people, purpose, preferences, etc., that the user inputs into the system.

[1180] A "reservation" refers to the process of applying to a restaurant in advance to use the restaurant on a specified date and time, and reserving a seat and service.

[1181] "Order" means a request made by a User to purchase a particular food item using the Delivery Service.

[1182] "Online reservations" refers to the method of completing a reservation by entering the necessary information into a restaurant reservation form via the Internet.

[1183] "Voice telephone" refers to a method of contacting a restaurant by telephone and making a reservation through voice conversation.

[1184] "Means for learning preferences" refers to technical means for collecting and analyzing a user's past behavioral data and identifying the user's preferences based on the results.

[1185] "Means of suggestion" refers to the technological means of matching the user's requests with collected data and presenting restaurants and menus that are suitable for the user.

[1186] "Means for automatically placing orders" refers to technological means that allow the system to automatically process orders to suggested restaurants, thereby saving the user time and effort.

[1187] The present invention relates to a system that suggests optimal restaurants and delivery services based on a user's preferences and automatically makes reservations or orders. The system includes the following main components:

[1188] 1. Preference Learning Module

[1189] The server collects and analyzes the user's past search and reservation data and order history. Specifically, it uses data such as frequently ordered food genres and price ranges to learn the user's preferences. This process uses AI algorithms (e.g., machine learning models). This allows the server to accurately identify each user's preferences.

[1190] 2. Information Collection Module

[1191] The server collects restaurant-related data from multiple sources on the Internet and stores it in a database, including restaurant ratings, seating information, menus, price ranges, etc. It also includes a function to periodically update the latest information using external APIs.

[1192] 3. Proposal Module

[1193] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and compares it with the preference data and data obtained from the information collection module. This generates optimal restaurant and delivery service candidates and suggests them to the user. The suggested candidates are in line with the user's preferences and conditions.

[1194] 4. Booking and Ordering Module

[1195] The server attempts to make a reservation at a restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are possible, and if so, the user completes the reservation by entering the necessary information into a reservation form. If online reservations are not possible, the server attempts to make the reservation using an automated voice call. In addition, in the case of delivery services, the server automatically places an order with the suggested restaurant. After the order is confirmed, the server sends the user a notification that the order has been completed.

[1196] Hardware and Software

[1197] The system utilizes the following hardware and software:

[1198] Server: We use cloud servers for data processing and storage.

[1199] AI Algorithm: Uses machine learning models for preference learning.

[1200] External API: Use multiple external data sources to gather information.

[1201] Automated telephone system: We use an IVR (Interactive Voice Response) system to automate reservations.

[1202] Specific examples

[1203] Suppose a user enters the criteria "Shinjuku area, budget 2000 yen, Japanese food." The server references the user's past data based on these criteria and analyzes their preferences. At the same time, it collects information about Japanese restaurants in the Shinjuku area and stores it in a database. It compares the preference data with the collected data and suggests "Japanese Restaurant A," "Japanese Restaurant B," and "Japanese Restaurant C" to the user. If the user selects "Japanese Restaurant A," the server attempts to make a web reservation, completes the order, and notifies the user of the results.

[1204] Prompt Sentence Examples

[1205] "Please tell me Japanese restaurants in the Shinjuku area that offer delivery for under 2,000 yen."

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

[1207] Step 1:

[1208] The user accesses the system using a terminal and inputs their requirements (e.g., area, date and time, number of people, purpose, preferences, etc.). The input conditions are sent to the server.

[1209] Step 2:

[1210] The server extracts and collects the user's past search and reservation data and order history from a database and analyzes them. Here, machine learning algorithms are applied to identify the user's preferences from past data. In this process, the user's preferred cuisine genre and price range are derived.

[1211] Step 3:

[1212] The server collects data about restaurants from multiple sources on the Internet and stores it in a database. Specifically, it uses external APIs to obtain the latest information on restaurant ratings, seating information, menus, price ranges, etc. The collected data is updated regularly.

[1213] Step 4:

[1214] The server compares restaurant information in the database based on the user's request (e.g., area, date, time, number of people, purpose, preferences, etc.) and preference data, and generates optimal restaurant candidates. In this process, it uses an AI algorithm to list restaurants that match the user's preferences.

[1215] Step 5:

[1216] The server then proposes the generated optimal restaurant candidates to the user, and the proposal list is sent to the terminal, where the user can check it.

[1217] Step 6:

[1218] The user selects a particular restaurant from the list of suggestions, and the selection is sent to the server.

[1219] Step 7:

[1220] The server attempts to make a reservation for the selected restaurant. First, it checks whether online reservations are available, and if so, it completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, it attempts to make a reservation using an automated voice call.

[1221] Step 8:

[1222] If the user requests delivery service, the server automatically places an order with the suggested restaurant, which is then sent to the restaurant via an external API.

[1223] Step 9:

[1224] The server checks whether the reservation or order has been successful and notifies the user of the result. The notification is sent to the terminal so that the user can check it.

[1225] Step 10:

[1226] The server updates the database with the reservation or order history, which improves the accuracy of future suggestions.

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

[1228] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[1229] System Overview

[1230] The system includes the following elements:

[1231] 1. Preference Learning Module

[1232] 2. Information Collection Module

[1233] 3. Proposal Module

[1234] 4. Emotion Engine

[1235] 5. Booking Module

[1236] Preference Learning Module

[1237] The server collects the user's past search and reservation data and analyzes the user's preferences, thereby identifying the user's personal preferences, such as the type of cuisine, price range, and area.

[1238] Specific examples

[1239] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[1240] Information Collection Module

[1241] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[1242] Specific examples

[1243] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[1244] Suggestion Module

[1245] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[1246] Specific examples

[1247] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1248] Emotion Engine

[1249] The emotion engine analyzes the user's emotions in real time and adjusts suggestions based on those emotions, allowing it to suggest restaurants that best suit the user's emotional state.

[1250] Specific examples

[1251] If the emotion engine detects that the user is feeling stressed, the server will prioritize restaurants with a relaxing atmosphere. The server also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[1252] Booking Module

[1253] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[1254] Specific examples

[1255] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[1256] Overall system flow

[1257] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[1258] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[1259] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[1260] 4. The server will suggest the best restaurant options to the user.

[1261] 5. The user selects one of the suggested options and attempts to make a reservation.

[1262] 6. The server automatically makes the reservation using web booking or voice call.

[1263] 7. Notify the user whether the reservation is successful or not.

[1264] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[1265] In this way, the system efficiently and accurately provides restaurants that match the user's preferences, feelings, and specified conditions, enabling a smooth reservation process.

[1266] The processing flow will be explained below.

[1267] Program processing flow

[1268] A system incorporating an emotion engine

[1269] Step 1:

[1270] The server collects users' past search and reservation data.

[1271] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[1272] Step 2:

[1273] The server analyzes the collected data to identify user preferences.

[1274] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[1275] Step 3:

[1276] The server collects restaurant data from multiple sources on the Internet.

[1277] Operation: Calls an external API (e.g., Google Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[1278] Step 4:

[1279] The server stores the collected restaurant data in a database.

[1280] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[1281] Step 5:

[1282] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[1283] Action: A user fills out a form in a smartphone app or web application and submits it.

[1284] Step 6:

[1285] The user terminal sends the input information to the server.

[1286] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[1287] Step 7:

[1288] The emotion engine recognizes the user's current emotions and analyzes them in real time.

[1289] How it works: A user inputs emotional feedback to an application, or emotional data is acquired from a sensor device.

[1290] Step 8:

[1291] The server generates optimal restaurant candidates based on the user's requests, preference data, and emotion data obtained from the emotion engine.

[1292] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a candidate list by comparing it with the user's preference and emotion data.

[1293] Step 9:

[1294] The server will suggest the best restaurant options to the user.

[1295] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[1296] Step 10:

[1297] The user device accepts a selection from the proposed candidate list.

[1298] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[1299] Step 11:

[1300] The user terminal transmits the selection information to the server.

[1301] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[1302] Step 12:

[1303] The server attempts to make a reservation at the selected restaurant.

[1304] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[1305] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[1306] Step 13:

[1307] The server checks whether the reservation was successful and notifies the user of the result.

[1308] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[1309] Step 14:

[1310] The emotion engine collects user emotional feedback and uses that feedback to improve the accuracy of the next suggestion.

[1311] How it works: The user enters emotional feedback about the suggestions, and the data is analyzed and reflected in preference data.

[1312] In this way, the accuracy of restaurant suggestions based on the user's emotions and preferences can be improved, making it possible to make reservations smoothly.

[1313] Example 2

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

[1315] Conventional restaurant recommendation systems do not adequately base their recommendations on users' past preferences and behavior, making it difficult to select restaurants with high accuracy and personalized accuracy. They also cannot make appropriate recommendations based on changes in emotions, making it difficult to improve user satisfaction. Furthermore, the reservation process is often performed manually, which is time-consuming for users.

[1316] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the user's past search data and reservation data and analyzing the user's preferences, means for collecting data about restaurants from multiple information sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for attempting to make a reservation for the suggested restaurant via web reservation or automated voice call, and means for analyzing the user's emotions in real time and adjusting the suggestion content based on the emotions. This makes it possible to suggest restaurants that match the user's individual preferences and emotional state and to perform automatic reservation procedures.

[1317] "User" refers to an individual who wishes to use the system to suggest or make reservations for restaurants.

[1318] "Search data" refers to the history of internet searches a user has conducted in the past regarding restaurants.

[1319] "Reservation Data" refers to historical information regarding restaurant reservations made by a user in the past.

[1320] "Preferences" refers to a user's personal preferences, such as the type of cuisine they prefer, price range, and area.

[1321] "Multiple sources" refers to the wide variety of data providers and APIs on the Internet.

[1322] "Restaurant data" refers to detailed information about a restaurant, such as its ratings, seating information, menu, and prices.

[1323] "Database" refers to an information management system that stores, manages, and makes searchable collected data in an organized manner.

[1324] "Request" refers to specific conditions entered by the user, such as the area of ​​the restaurant, date and time, number of people, purpose, preferences, etc.

[1325] "Generating candidates" refers to creating a list of the most suitable restaurants based on the user's requests.

[1326] "Suggestion" refers to the act of showing the generated optimal restaurant candidates to the user.

[1327] "Reservation" refers to the process of reserving the date, time, and number of people to visit a restaurant of a user's choosing in advance.

[1328] "Online reservation" refers to the method of completing a reservation by entering information into a restaurant reservation form via the Internet.

[1329] "Automated voice call" refers to a method of attempting to make a reservation at a restaurant over the phone using an automated voice.

[1330] "Emotion" refers to the user's feelings and psychological state.

[1331] "Real-time analysis" refers to instantly analyzing the user's current emotions.

[1332] "Adjusting the suggestions" refers to changing the restaurant suggestions based on the analyzed emotional data.

[1333] "Feedback" refers to any ratings or comments you make on a suggestion or booking.

[1334] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[1335] System configuration

[1336] The system includes the following elements:

[1337] 1. Preference Learning Module

[1338] 2. Information Collection Module

[1339] 3. Proposal Module

[1340] 4. Emotion Engine

[1341] 5. Booking Module

[1342] Preference Learning Module

[1343] The server collects the user's past search and reservation data and uses this data to analyze the user's preferences. Specifically, it uses machine learning algorithms (e.g., Scikit-learn or TensorFlow) to extract information such as the user's preferred cuisine genre, price range, and area.

[1344] Example: Based on the restaurant search data of the user over the past year, it is known that the user has searched for Thai restaurants in particular. Based on this, the server determines that the user likes Thai food.

[1345] Information Collection Module

[1346] The server uses external APIs (e.g., Google Places API, Yelp API) to obtain the latest restaurant data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in its own database, allowing it to provide the latest information that matches the conditions specified by the user.

[1347] Example: The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" are saved.

[1348] Suggestion Module

[1349] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. This is done using an algorithm that compares the user's preference data with the database stored in the information collection module.

[1350] Example: If a user is looking for a Thai restaurant in Shinjuku for two people at 7 p.m. on July 10th, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1351] Emotion Engine

[1352] The emotion engine analyzes the user's real-time emotional state and adjusts the recommendations based on the results. Image and audio analysis technologies are used for the analysis. This allows the system to suggest the most suitable restaurant based on the user's emotional state.

[1353] Example: If a user is feeling stressed, the emotion engine will detect this and prioritize suggestions for restaurants with a relaxing atmosphere for the server.

[1354] Booking Module

[1355] The server automatically processes reservations for restaurants selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[1356] Example: If the user selects "Thai Restaurant A," the server will first try to make a reservation online. If online reservation is not possible, the server will call the restaurant via automated voice call to make the reservation.

[1357] Prompt Sentence Examples

[1358] "A user has a penchant for Thai food and is searching for restaurants in Shinjuku for a date for two. The date and time is July 10th at 7 PM. Please suggest a relaxing Thai restaurant based on past emotional feedback."

[1359] In this way, this system can efficiently and accurately provide restaurants that match the user's preferences, feelings, and specified conditions, and can automatically process reservations.

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

[1361] Step 1:

[1362] The user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input information is sent from the terminal to the server.

[1363] Input: Request information such as area, date and time, number of people, purpose, preferences, etc.

[1364] Output: Request information sent to the server

[1365] What happens: A user fills in various fields on a web form and clicks the submit button.

[1366] Step 2:

[1367] The server collects users' past search and reservation data from a database and analyzes their preferences using machine learning algorithms (e.g., Scikit-learn or TensorFlow).

[1368] Input: User's past search and reservation data

[1369] Output: Analysis results showing user preferences

[1370] How it works: The server retrieves data from the database using the user ID as a key and uses a machine learning algorithm to extract preference patterns.

[1371] Step 3:

[1372] The server uses an external API (e.g., Google Places API, Yelp API) to obtain the latest restaurant information and save it in a database.

[1373] Input: Area information

[1374] Output: Latest restaurant information stored in the database

[1375] Specific operation: The server sends an HTTP request to an external API, parses the JSON response, and stores it in the database.

[1376] Step 4:

[1377] The server generates optimal restaurant candidates based on the collected preference data and request information, which includes database search and filtering.

[1378] Input: User preference data, request information, restaurant information stored in the database

[1379] Output: A list of the best restaurants

[1380] What happens: The server runs an SQL query to generate a list of restaurants that match the criteria.

[1381] Step 5:

[1382] The emotion engine analyzes the user's real-time emotional state and notifies the server of the results. The analysis uses image analysis and audio analysis using the camera and microphone.

[1383] Input: Real-time emotion data (images and audio)

[1384] Output: Emotion analysis results

[1385] Specific operation: The user provides emotion data through the device's camera or microphone, and the emotion engine analyzes it and returns the results to the server.

[1386] Step 6:

[1387] The server uses the results of the sentiment analysis to adjust the priority of the list of restaurants to suggest to the user.

[1388] Input: Sentiment analysis results, list of best restaurants

[1389] Output: A tailored list of restaurant suggestions

[1390] Specific operation: The server adjusts the filtering conditions based on the emotion data and generates a list to display to the user.

[1391] Step 7:

[1392] The user selects from a list of suggested restaurants and attempts to make a reservation, and this information is sent to the server.

[1393] Input: User selection information (store, date and time, number of people, etc.)

[1394] Output: Reservation request information

[1395] Specific behavior: The user selects a store from the displayed list and clicks the reservation button.

[1396] Step 8:

[1397] The server attempts to make a reservation at the selected restaurant. First, it checks whether online reservations are available and automatically fills in the necessary information. If online reservations are not available, the reservation is made using an automated voice call.

[1398] Input: Reservation Request Information

[1399] Output: Reservation success or failure (reservation confirmation or error message)

[1400] What happens: The server attempts to make a reservation by using web scraping or Twilio's API to fill out a reservation form or make a phone call.

[1401] Step 9:

[1402] The server notifies the user whether the reservation was successful or not. If it was successful, it will provide detailed information (store name, address, reservation time, etc.), and if it was unsuccessful, it will provide the reason for the failure.

[1403] Input: Reservation success / failure

[1404] Output: A notification message to the user

[1405] Specific operation: The server will send the reservation result to the user via email or SMS.

[1406] Step 10:

[1407] The server collects the user's emotional feedback and uses it to improve the accuracy of future suggestions.

[1408] Input: User feedback information

[1409] Output: Feedback analysis results

[1410] What it does: The server receives user ratings and comments from the feedback form, stores them in a database, and analyzes them.

[1411] (Application example 2)

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

[1413] In recent years, automated restaurant recommendation and reservation services have become increasingly common, but most systems only refer to the user's past preference data, and few systems consider the user's emotional state in real time. While a wide variety of systems already provide restaurant recommendations, there are currently no systems for food delivery that analyze the user's emotional state and make recommendations based on their preferences. Therefore, there is a need for a system that analyzes the user's current emotional state and makes optimal food delivery recommendations based on that information.

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

[1415] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting restaurant-related data from multiple sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation for the suggested restaurants via web reservation or voice call, means for analyzing the user's emotional state in real time and adjusting the suggestions, and means for suggesting and automatically ordering the optimal dishes for food delivery based on past preference data and emotional data. This makes it possible to take the user's current emotional state into consideration, suggest the best dish for their mood at that time, and even automate the ordering process.

[1416] "User Preferences" means an individual's dining preferences and tendencies determined based on past search and reservation data.

[1417] "Database" means a structured collection of information that stores data about restaurants collected from multiple sources on the Internet.

[1418] "User requirements" refers to the specific conditions and wishes such as area, date and time, number of people, purpose, preferences, etc. that the user provides to the system.

[1419] "Emotional state" refers to the specific emotional state or psychological tendency obtained by analyzing the user's real-time emotions.

[1420] "Food delivery" refers to a service in which food ordered by a user is delivered from a restaurant to a specified location.

[1421] "Suggesting" refers to the act of presenting the user with the most suitable restaurants and dishes based on the user's preferences and current emotions.

[1422] "Ordering" means the act of actually purchasing and arranging delivery of the suggested food through a food delivery service.

[1423] "Automatically attempt" means that the system will carry out the reservation process using web booking or voice call without user intervention.

[1424] "Web reservation" is a method of making a restaurant reservation using an online reservation form.

[1425] "Voice telephone" is a method of making a reservation by communicating with a restaurant via voice over a telephone line.

[1426] "Best Restaurant Suggestions" refers to a list of recommended restaurants selected based on the user's preference data and current requirements.

[1427] "Dishes" means individual meal menu items offered by a restaurant.

[1428] This invention relates to a system that proposes personalized food delivery services based on the user's past preferences and behavior, and automatically places the order. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, this invention achieves more accurate proposals.

[1429] System Overview

[1430] The system includes the following elements:

[1431] 1. Preference Learning Module

[1432] 2. Information Collection Module

[1433] 3. Proposal Module

[1434] 4. Emotion Engine

[1435] 5. Order Module

[1436] Preference Learning Module

[1437] The server collects the user's past search and order data and analyzes their preferences. This allows the system to identify personal preferences, such as the type of cuisine, price range, and area they prefer. The hardware used is a standard server, and the software is a data analysis library.

[1438] Specific examples

[1439] Based on the user's orders over the past year, the server knows that the user has frequently ordered Thai food, and therefore determines that the user likes Thai food.

[1440] Information Collection Module

[1441] It collects restaurant-related data (ratings, menus, prices, etc.) from the internet and stores it in a database. This allows it to provide the latest restaurant and menu information that matches the conditions specified by the user. The software used is an information collection module that utilizes an external API.

[1442] Specific examples

[1443] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "menu," and "price range" is saved.

[1444] Suggestion Module

[1445] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant and cuisine candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module to create a list of the most suitable restaurants and cuisines.

[1446] Specific examples

[1447] If a user is looking for Thai food for a date for two in Shinjuku on a specific date and time, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1448] Emotion Engine

[1449] The emotion engine analyzes users' emotions in real time and adjusts its recommendations based on their emotions. The hardware used is the smartphone's camera and microphone, and the software is an emotion recognition algorithm. This allows it to recommend food delivery options that best suit your emotional state.

[1450] Specific examples

[1451] If the emotion engine detects that the user is feeling stressed, the server will prioritize suggesting dishes that have a relaxing effect. It also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[1452] Order Module

[1453] The server automatically orders the suggested dishes selected by the user through a food delivery service. First, it checks whether online ordering is available, and if so, the user completes the order by entering the required information in the order form. If online ordering is not available, the server attempts to place the order using an automated voice call.

[1454] Specific examples

[1455] If the user selects green curry from "Thai Restaurant A," the server will first attempt to place the order online. If online ordering is not possible, the server will call the restaurant using an automated voice call to place the order. Once the order is complete, the server will notify the user of the result.

[1456] Overall system flow

[1457] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[1458] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[1459] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[1460] 4. The server suggests the best restaurants and dishes for the user.

[1461] 5. The user selects one of the suggested options and attempts to place an order.

[1462] 6. The server will automatically place the order via online ordering or voice call.

[1463] 7. Notify the user of the success or failure of the order.

[1464] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[1465] Example prompt sentence:

[1466] "Based on past ordering history, we identify the user's preferred dishes and suggest restaurant recommendations taking into account their emotional state. Please suggest an effective algorithm to adjust the suggestions based on current data."

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

[1468] Step 1:

[1469] A user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc.

[1470] The input request information is sent to the server, which then executes the next processing step based on the information.

[1471] Step 2:

[1472] The server collects the user's past search data and order data and analyzes the user's preferences using a preference learning module.

[1473] The input data includes the type of food, price range, frequency of orders, etc. Based on this, the server generates a user preference model.

[1474] As an output, preference data indicating the user's preferred food genres and price ranges is obtained.

[1475] Step 3:

[1476] The server collects data about restaurants from multiple sources on the Internet and stores it in a database through an information collection module.

[1477] The input data includes latitude and longitude information such as ratings, menus, prices, etc. obtained from external APIs. The server analyzes this data and processes it to store in the database.

[1478] As an output, the restaurant information table is updated.

[1479] Step 4:

[1480] The server uses a suggestion module to generate optimal restaurant and food options based on the user's request (area, date and time, number of people, purpose, preferences, etc.) and preference data.

[1481] The input data includes the preference data obtained in step 2 and the restaurant information collected in step 3. These are collated to create a list of candidates.

[1482] As an output, a list of restaurants and dishes suggested to the user is generated.

[1483] Step 5:

[1484] The server uses an emotion engine to analyze the user's emotional state in real time and adjusts the suggestions based on the emotional state.

[1485] Input data includes the user's facial expressions, voice, and past emotional feedback, which the server analyzes with emotion recognition algorithms to determine their current emotional state.

[1486] The output is a tailored list of suggestions.

[1487] Step 6:

[1488] The server will suggest the best restaurant and food options to the user, from which the user can select one.

[1489] The entered selection information is sent to the server, which then executes the next processing step based on the information.

[1490] As an output, the user's selected dish and store information are obtained.

[1491] Step 7:

[1492] The server uses the ordering module to automatically order the suggested dishes selected by the user through a food delivery service.

[1493] The entered store and food information is sent to the server to attempt a reservation using an online ordering system or automated voice call. The server then carries out the reservation procedure based on this information.

[1494] The output is notification information about the success or failure of the order.

[1495] Step 8:

[1496] The server notifies the user whether the order was successful or not, and also collects the user's emotional feedback and stores it in a database to improve the accuracy of future suggestions.

[1497] The input data includes the order results and the user's emotional feedback, which the server stores in a database and uses to improve the accuracy of the next recommendation.

[1498] As an output, the user's feedback data is saved and a notification message is sent to the user.

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

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

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

[1502] [Fourth embodiment]

[1503] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1516] The present invention relates to a system that suggests restaurants based on the user's past preferences and behavior, and automatically handles reservations. This system learns the user's preferences, suggests restaurants that meet the user's specified criteria, and ultimately automatically makes reservations via the web or by voice call.

[1517] System Overview

[1518] The system includes the following elements:

[1519] 1. Preference Learning Module

[1520] 2. Information Collection Module

[1521] 3. Proposal Module

[1522] 4. Booking Module

[1523] Preference Learning Module

[1524] The server collects the user's past search and reservation data and analyzes the user's preferences. Specifically, it uses an AI algorithm to learn the user's preferences based on the type of cuisine the user has searched for and the restaurants they have booked.

[1525] Specific examples

[1526] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[1527] Information Collection Module

[1528] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[1529] Specific examples

[1530] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[1531] Suggestion Module

[1532] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[1533] Specific examples

[1534] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1535] Booking Module

[1536] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[1537] Specific examples

[1538] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[1539] Overall system flow

[1540] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[1541] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[1542] 3. The server will suggest the best restaurant options to the user.

[1543] 4. The user selects one of the suggested options and attempts to make a reservation.

[1544] 5. The server automatically makes the reservation using web booking or voice call.

[1545] 6. Notify the user whether the reservation is successful or not.

[1546] In this way, the system efficiently searches for restaurants that meet the user's preferences and specified conditions, enabling the user to smoothly make reservations.

[1547] The processing flow will be explained below.

[1548] Program processing flow

[1549] Preference Learning Module

[1550] Step 1:

[1551] The server collects users' past search and reservation data.

[1552] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[1553] Step 2:

[1554] The server analyzes the collected data to identify user preferences.

[1555] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[1556] Information Collection Module

[1557] Step 1:

[1558] The server collects restaurant data from multiple sources on the Internet.

[1559] Operation: Calls an external API (e.g., Google Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[1560] Step 2:

[1561] The server stores the collected restaurant data in a database.

[1562] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[1563] Suggestion Module

[1564] Step 1:

[1565] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[1566] Action: A user fills out a form in a smartphone app or web application and submits it.

[1567] Step 2:

[1568] The user terminal sends the input information to the server.

[1569] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[1570] Step 3:

[1571] The server generates optimal restaurant candidates based on the user's requests and preference data.

[1572] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a list of candidates by comparing it with the user's preference data.

[1573] Step 4:

[1574] The server will suggest the best restaurant options to the user.

[1575] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[1576] Booking Module

[1577] Step 1:

[1578] The user device accepts a selection from the proposed candidate list.

[1579] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[1580] Step 2:

[1581] The user terminal transmits the selection information to the server.

[1582] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[1583] Step 3:

[1584] The server attempts to make a reservation at the selected restaurant.

[1585] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[1586] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[1587] Step 4:

[1588] The server checks whether the reservation was successful and notifies the user of the result.

[1589] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[1590] Example 1

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

[1592] Conventional restaurant reservation systems have the problem that they do not provide sufficient personalized suggestions based on the user's preferences and past behavior, and it takes a long time for the user to find a suitable restaurant. In addition, the reservation methods are limited, so reservations are often not possible. The purpose of this invention is to provide a system that automatically suggests the most suitable restaurant based on the user's preferences and efficiently handles the reservation process.

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

[1594] In this invention, the server includes means for acquiring information about the user's past searches and reservations and analyzing the user's preferences, means for acquiring information from the Internet and saving it in a database, means for generating optimal location candidates based on the user's specified conditions and presenting them to the user, means for automatically attempting to make a reservation at the presented locations via online reservation or voice call, and means for confirming whether the reservation was successful and notifying the user of the result. This makes it possible to suggest optimal restaurants based on the user's preferences and past behavior and to smoothly complete the reservation process.

[1595] "User" refers to a person who uses the System to receive offers and reservations.

[1596] "Search and Booking Information" refers to data about your past searches and bookings.

[1597] "Means for analyzing preferences" refers to means for analyzing a user's past search and booking data using AI algorithms to identify a user's preferences and interests.

[1598] "Means of obtaining information from the Internet and storing it in a database" refers to the function of using an external API to collect the latest information about restaurants and store it in an internal database.

[1599] "Specified conditions" refers to the requested information such as area, date and time, number of people, purpose, and preferences that a user enters when using the system.

[1600] "Means for generating optimal location candidates and presenting them to the user" refers to the function of comparing the user's preference data with collected restaurant information, and generating and presenting a list of restaurants that are most suitable for the user.

[1601] "Means of automatically attempting to make a reservation online or by voice call" refers to a function that automatically makes a reservation for the selected restaurant using a web reservation form or an automated voice call system.

[1602] "Means for checking whether a reservation has been made successfully and notifying the user of the result" refers to a function for checking whether a reservation has been made successfully and notifying the user of the result.

[1603] "Database" refers to a management system for storing information about restaurants and user preference data.

[1604] The present invention relates to a system that makes personalized restaurant recommendations and automatically reserves reservations based on a user's past preferences and behavior. The system includes a server, a terminal, and multiple software modules. Specific embodiments for implementing the system are described below.

[1605] Hardware and software used

[1606] 1. Server: This is the central computer in this system, which collects user data, analyzes preferences, collects and stores restaurant information, and attempts to make reservations.

[1607] 2. Terminal: A device (e.g., smartphone, PC) through which a user accesses the system through an interface and enters and receives requests.

[1608] 3. Software Module:

[1609] Preference learning module: Analyzes user preferences using AI algorithms (e.g., scikit-learn and TensorFlow).

[1610] Information collection module: Collects restaurant information from the Internet and stores it in a database (e.g., using Google Places API or Yelp API).

[1611] Suggestion module: Generates optimal restaurant suggestions based on user requests and preference data.

[1612] Reservation module: Attempts to make reservations for suggested restaurants using a web reservation form or an automated voice call system (e.g., Twilio API).

[1613] Specific operation explanation

[1614] Users access the system interface using a device (smartphone or PC) and input request information such as area, date and time, number of people, purpose, and preferences. The server receives the user's request information and analyzes past search and reservation data using a preference learning module.

[1615] The server uses AI algorithms to learn and identify user preferences, for example, determining that a user likes Thai food based on data showing that the user has frequently searched for Thai food in the past year.

[1616] Next, the server uses an information collection module to collect restaurant data in the specified area from external APIs (such as Google Places API or Yelp API). The collected data is stored in a database. For example, information on Thai restaurants in the "Shinjuku" area is obtained, and information such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is stored in the database.

[1617] The server then uses the suggestion module to generate optimal restaurant candidates based on the user's request criteria and preference data. The generated candidates are displayed on the device interface and presented to the user. Once the user selects their preferred restaurant from the presented list of restaurants, the server first attempts to make a web reservation using the reservation module. If a web reservation is not possible, the server attempts to make a reservation via automated voice call using the Twilio API.

[1618] Finally, the server confirms whether the reservation was successful and notifies the user of the result. Through this series of processes, users can easily and quickly find and reserve restaurants that suit their tastes and requirements.

[1619] Prompt Sentence Examples

[1620] If I'm looking for a Thai restaurant for a date night for two in the Shinjuku area at 7pm on July 10th, please suggest some. Users have searched for Thai food a lot in the past.

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

[1622] Processing Steps

[1623] Step 1:

[1624] A user accesses the system interface using a terminal and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input request information is sent to the server.

[1625] Input: User request information such as area, date and time, number of people, purpose, preferences, etc.

[1626] Output: Data containing user request information

[1627] Step 2:

[1628] The server processes the received request information and retrieves information about the user's past searches and reservations. The preference learning module is used to analyze the user's preferences using AI algorithms (e.g., scikit-learn and TensorFlow).

[1629] Input: User request information, past search and reservation data

[1630] Output: User preference patterns (e.g., whether they like Thai food)

[1631] Specific behavior:

[1632] Based on the search history and reservation data from the past year, the server detects that the user has searched for and used "Thai food" multiple times and determines that the user likes "Thai food."

[1633] Step 3:

[1634] The server uses an information collection module to collect restaurant data in the specified area from external APIs (Google Places API or Yelp API) and store it in a database.

[1635] Input: Information about the specified area (e.g. Shinjuku)

[1636] Output: Restaurant information stored in the database (e.g., restaurant ID, restaurant name, rating, number of seats, menu, price range, etc.)

[1637] Specific behavior:

[1638] The server retrieves restaurant information for the "Shinjuku" area from an external API and stores restaurant data filtered by the area name "Shinjuku" in a database.

[1639] Step 4:

[1640] The server uses the suggestion module to generate optimal restaurant candidates based on the user's request conditions and preference data, and the generated candidate list is presented to the user.

[1641] Input: User request information, user preference data, restaurant database

[1642] Output: A list of the best restaurants

[1643] Specific behavior:

[1644] The server searches the database based on the request criteria, "Thai restaurant for a date night for two in the Shinjuku area on July 10th at 7pm," and lists restaurants that match the request criteria (e.g., "Thai restaurant A," "Thai restaurant B," and "Thai restaurant C"). The restaurant information listed is then displayed on the device's interface.

[1645] Step 5:

[1646] The user selects a restaurant from the list of restaurants presented, and the server first attempts to make a reservation for the selected restaurant via web booking.

[1647] Input: The restaurant selected by the user

[1648] Output: Web booking success or failure status

[1649] Specific behavior:

[1650] When the user selects "Thai Restaurant A," the server accesses the restaurant's web reservation page, automatically fills in the necessary information, and attempts to make a reservation.

[1651] Step 6:

[1652] If the server is unable to accept web reservations, it will instead attempt to make a reservation by phone using an automated voice call system (e.g., Twilio API) to the store.

[1653] Input: Web reservation failure status, user reservation information

[1654] Output: Success or failure status of the voice call booking

[1655] Specific behavior:

[1656] If the server is unable to make a web reservation for "Thai Restaurant A," it will use the Twilio API to make an automated voice call, enter the necessary reservation information, and attempt to make a reservation over the phone.

[1657] Step 7:

[1658] The server checks whether the reservation was successful and notifies the user of the result.

[1659] Input: Booking success or failure status

[1660] Output: Notification of reservation result to user

[1661] Specific behavior:

[1662] If the server successfully makes a reservation for "Thai Restaurant A," it notifies the user's device that "Reservation completed." If the reservation fails, it notifies the user that "Reservation failed. Please choose another restaurant."

[1663] (Application example 1)

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

[1665] In modern life, users are busy and have limited time to find the best restaurant or delivery service. In particular, there is a demand for technology that can provide personalized suggestions and automate reservations and ordering, but current systems are insufficient. The challenge is to simplify the complicated procedures for users and provide suggestions that match individual preferences, as well as automated reservations and ordering.

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

[1667] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting data on restaurants from multiple sources on the Internet and saving it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation at the suggested restaurants via web reservation or voice call, means for learning preferences from the user's past ordering history and suggesting optimal restaurant candidates that offer delivery, and means for automatically placing an order at the suggested restaurants. This makes it possible to suggest restaurants and delivery services that meet the user's preferences and needs, and to automate reservations and ordering.

[1668] "User preferences" refers to a user's tendency to prefer certain food genres or restaurants based on past search and reservation data and order history.

[1669] "Information source" refers to a source that provides data about restaurants obtained from databases publicly available on the Internet or external APIs.

[1670] A "database" refers to a collection of data that systematically stores collected restaurant information and can be searched and updated as needed.

[1671] "User requirements" refers to the specific conditions and needs, such as area, date and time, number of people, purpose, preferences, etc., that the user inputs into the system.

[1672] A "reservation" refers to the process of applying to a restaurant in advance to use the restaurant on a specified date and time, and reserving a seat and service.

[1673] "Order" means a request made by a User to purchase a particular food item using the Delivery Service.

[1674] "Online reservations" refers to the method of completing a reservation by entering the necessary information into a restaurant reservation form via the Internet.

[1675] "Voice telephone" refers to a method of contacting a restaurant by telephone and making a reservation through voice conversation.

[1676] "Means for learning preferences" refers to technical means for collecting and analyzing a user's past behavioral data and identifying the user's preferences based on the results.

[1677] "Means of suggestion" refers to the technological means of matching the user's requests with collected data and presenting restaurants and menus that are suitable for the user.

[1678] "Means for automatically placing orders" refers to technological means that allow the system to automatically process orders to suggested restaurants, thereby saving the user time and effort.

[1679] The present invention relates to a system that suggests optimal restaurants and delivery services based on a user's preferences and automatically makes reservations or orders. The system includes the following main components:

[1680] 1. Preference Learning Module

[1681] The server collects and analyzes the user's past search and reservation data and order history. Specifically, it uses data such as frequently ordered food genres and price ranges to learn the user's preferences. This process uses AI algorithms (e.g., machine learning models). This allows the server to accurately identify each user's preferences.

[1682] 2. Information Collection Module

[1683] The server collects restaurant-related data from multiple sources on the Internet and stores it in a database, including restaurant ratings, seating information, menus, price ranges, etc. It also includes a function to periodically update the latest information using external APIs.

[1684] 3. Proposal Module

[1685] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and compares it with the preference data and data obtained from the information collection module. This generates optimal restaurant and delivery service candidates and suggests them to the user. The suggested candidates are in line with the user's preferences and conditions.

[1686] 4. Booking and Ordering Module

[1687] The server attempts to make a reservation at a restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are possible, and if so, the user completes the reservation by entering the necessary information into a reservation form. If online reservations are not possible, the server attempts to make the reservation using an automated voice call. In addition, in the case of delivery services, the server automatically places an order with the suggested restaurant. After the order is confirmed, the server sends the user a notification that the order has been completed.

[1688] Hardware and Software

[1689] The system utilizes the following hardware and software:

[1690] Server: We use cloud servers for data processing and storage.

[1691] AI Algorithm: Uses machine learning models for preference learning.

[1692] External API: Use multiple external data sources to gather information.

[1693] Automated telephone system: We use an IVR (Interactive Voice Response) system to automate reservations.

[1694] Specific examples

[1695] Suppose a user enters the criteria "Shinjuku area, budget 2000 yen, Japanese food." The server references the user's past data based on these criteria and analyzes their preferences. At the same time, it collects information about Japanese restaurants in the Shinjuku area and stores it in a database. It compares the preference data with the collected data and suggests "Japanese Restaurant A," "Japanese Restaurant B," and "Japanese Restaurant C" to the user. If the user selects "Japanese Restaurant A," the server attempts to make a web reservation, completes the order, and notifies the user of the results.

[1696] Prompt Sentence Examples

[1697] "Please tell me Japanese restaurants in the Shinjuku area that offer delivery for under 2,000 yen."

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

[1699] Step 1:

[1700] The user accesses the system using a terminal and inputs their requirements (e.g., area, date and time, number of people, purpose, preferences, etc.). The input conditions are sent to the server.

[1701] Step 2:

[1702] The server extracts and collects the user's past search and reservation data and order history from a database and analyzes them. Here, machine learning algorithms are applied to identify the user's preferences from past data. In this process, the user's preferred cuisine genre and price range are derived.

[1703] Step 3:

[1704] The server collects data about restaurants from multiple sources on the Internet and stores it in a database. Specifically, it uses external APIs to obtain the latest information on restaurant ratings, seating information, menus, price ranges, etc. The collected data is updated regularly.

[1705] Step 4:

[1706] The server compares restaurant information in the database based on the user's request (e.g., area, date, time, number of people, purpose, preferences, etc.) and preference data, and generates optimal restaurant candidates. In this process, it uses an AI algorithm to list restaurants that match the user's preferences.

[1707] Step 5:

[1708] The server then proposes the generated optimal restaurant candidates to the user, and the proposal list is sent to the terminal, where the user can check it.

[1709] Step 6:

[1710] The user selects a particular restaurant from the list of suggestions, and the selection is sent to the server.

[1711] Step 7:

[1712] The server attempts to make a reservation for the selected restaurant. First, it checks whether online reservations are available, and if so, it completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, it attempts to make a reservation using an automated voice call.

[1713] Step 8:

[1714] If the user requests delivery service, the server automatically places an order with the suggested restaurant, which is then sent to the restaurant via an external API.

[1715] Step 9:

[1716] The server checks whether the reservation or order has been successful and notifies the user of the result. The notification is sent to the terminal so that the user can check it.

[1717] Step 10:

[1718] The server updates the database with the reservation or order history, which improves the accuracy of future suggestions.

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

[1720] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[1721] System Overview

[1722] The system includes the following elements:

[1723] 1. Preference Learning Module

[1724] 2. Information Collection Module

[1725] 3. Proposal Module

[1726] 4. Emotion Engine

[1727] 5. Booking Module

[1728] Preference Learning Module

[1729] The server collects the user's past search and reservation data and analyzes the user's preferences, thereby identifying the user's personal preferences, such as the type of cuisine, price range, and area.

[1730] Specific examples

[1731] Based on the data of restaurant searches the user has done over the past year, it is found that there are many searches for Thai restaurants, and the server determines that the user likes Thai food.

[1732] Information Collection Module

[1733] It collects restaurant-related data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in a database, allowing it to provide the latest restaurant information that meets the user's specified criteria.

[1734] Specific examples

[1735] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" is saved.

[1736] Suggestion Module

[1737] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module and creates a list of the most suitable restaurants.

[1738] Specific examples

[1739] If a user is looking for a Thai restaurant for a date for two in Shinjuku at 7 p.m. on July 10, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1740] Emotion Engine

[1741] The emotion engine analyzes the user's emotions in real time and adjusts suggestions based on those emotions, allowing it to suggest restaurants that best suit the user's emotional state.

[1742] Specific examples

[1743] If the emotion engine detects that the user is feeling stressed, the server will prioritize restaurants with a relaxing atmosphere. The server also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[1744] Booking Module

[1745] The server attempts to make a reservation at the restaurant selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[1746] Specific examples

[1747] If the user selects "Thai Restaurant A," the server will first attempt to make a reservation online. If online reservation is not possible, the server will call the restaurant using an automated voice call to make the reservation. Once the reservation is complete, the server will notify the user of the result.

[1748] Overall system flow

[1749] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[1750] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[1751] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[1752] 4. The server will suggest the best restaurant options to the user.

[1753] 5. The user selects one of the suggested options and attempts to make a reservation.

[1754] 6. The server automatically makes the reservation using web booking or voice call.

[1755] 7. Notify the user whether the reservation is successful or not.

[1756] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[1757] In this way, the system efficiently and accurately provides restaurants that match the user's preferences, feelings, and specified conditions, enabling a smooth reservation process.

[1758] The processing flow will be explained below.

[1759] Program processing flow

[1760] A system incorporating an emotion engine

[1761] Step 1:

[1762] The server collects users' past search and reservation data.

[1763] Operation: Retrieves data from the "Search History Table" and "Reservation History Table" related to the user ID from the database.

[1764] Step 2:

[1765] The server analyzes the collected data to identify user preferences.

[1766] How it works: It uses machine learning algorithms to extract information like your preferred cuisine, price range, and favorite neighborhoods.

[1767] Step 3:

[1768] The server collects restaurant data from multiple sources on the Internet.

[1769] Operation: Calls an external API (e.g., Google Maps API, Yelp API) to obtain restaurant information in the Shinjuku area.

[1770] Step 4:

[1771] The server stores the collected restaurant data in a database.

[1772] Operation: Insert or update data corresponding to fields such as restaurant ID, restaurant name, rating, number of seats, menu, and price range into the "restaurant information table."

[1773] Step 5:

[1774] The user terminal receives the user's request (area, date and time, number of people, purpose, preferences, etc.).

[1775] Action: A user fills out a form in a smartphone app or web application and submits it.

[1776] Step 6:

[1777] The user terminal sends the input information to the server.

[1778] How it works: An HTTP POST request is made to the server's API endpoint, sending information about the area, date, time, number of people, purpose, and preferences.

[1779] Step 7:

[1780] The emotion engine recognizes the user's current emotions and analyzes them in real time.

[1781] How it works: A user inputs emotional feedback to an application, or emotional data is acquired from a sensor device.

[1782] Step 8:

[1783] The server generates optimal restaurant candidates based on the user's requests, preference data, and emotion data obtained from the emotion engine.

[1784] Operation: The system retrieves restaurant data from the database that matches the area, date, time, and number of people, and creates a candidate list by comparing it with the user's preference and emotion data.

[1785] Step 9:

[1786] The server will suggest the best restaurant options to the user.

[1787] Operation: The generated list of restaurant candidates is returned to the user's device as a response.

[1788] Step 10:

[1789] The user device accepts a selection from the proposed candidate list.

[1790] How it works: The user selects the desired restaurant from the displayed list of restaurants and presses the reservation button.

[1791] Step 11:

[1792] The user terminal transmits the selection information to the server.

[1793] What it does: Sends the user's restaurant selection information to the server using an HTTP POST request.

[1794] Step 12:

[1795] The server attempts to make a reservation at the selected restaurant.

[1796] Action a: Check whether online reservations are possible, and if so, enter the necessary information (date and time, number of people, name, contact information) into the reservation form and make the reservation.

[1797] Action b: If online reservations are not possible, use the automated voice telephone service to call the store and make a reservation using the automated voice.

[1798] Step 13:

[1799] The server checks whether the reservation was successful and notifies the user of the result.

[1800] Operation: If the reservation is successful, a reservation confirmation message is sent to the user's terminal. If the reservation is unsuccessful, a message is sent to the user's terminal informing them of the reason for the failure and suggesting that they try other candidates again.

[1801] Step 14:

[1802] The emotion engine collects user emotional feedback and uses that feedback to improve the accuracy of the next suggestion.

[1803] How it works: The user enters emotional feedback about the suggestions, and the data is analyzed and reflected in preference data.

[1804] In this way, the accuracy of restaurant suggestions based on the user's emotions and preferences can be improved, making it possible to make reservations smoothly.

[1805] Example 2

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

[1807] Conventional restaurant recommendation systems do not adequately base their recommendations on users' past preferences and behavior, making it difficult to select restaurants with high accuracy and personalized accuracy. They also cannot make appropriate recommendations based on changes in emotions, making it difficult to improve user satisfaction. Furthermore, the reservation process is often performed manually, which is time-consuming for users.

[1808] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the user's past search data and reservation data and analyzing the user's preferences, means for collecting data about restaurants from multiple information sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for attempting to make a reservation for the suggested restaurant via web reservation or automated voice call, and means for analyzing the user's emotions in real time and adjusting the suggestion content based on the emotions. This makes it possible to suggest restaurants that match the user's individual preferences and emotional state and to perform automatic reservation procedures.

[1809] "User" refers to an individual who wishes to use the system to suggest or make reservations for restaurants.

[1810] "Search data" refers to the history of internet searches a user has conducted in the past regarding restaurants.

[1811] "Reservation Data" refers to historical information regarding restaurant reservations made by a user in the past.

[1812] "Preferences" refers to a user's personal preferences, such as the type of cuisine they prefer, price range, and area.

[1813] "Multiple sources" refers to the wide variety of data providers and APIs on the Internet.

[1814] "Restaurant data" refers to detailed information about a restaurant, such as its ratings, seating information, menu, and prices.

[1815] "Database" refers to an information management system that stores, manages, and makes searchable collected data in an organized manner.

[1816] "Request" refers to specific conditions entered by the user, such as the area of ​​the restaurant, date and time, number of people, purpose, preferences, etc.

[1817] "Generating candidates" refers to creating a list of the most suitable restaurants based on the user's requests.

[1818] "Suggestion" refers to the act of showing the generated optimal restaurant candidates to the user.

[1819] "Reservation" refers to the process of reserving the date, time, and number of people to visit a restaurant of a user's choosing in advance.

[1820] "Online reservation" refers to the method of completing a reservation by entering information into a restaurant reservation form via the Internet.

[1821] "Automated voice call" refers to a method of attempting to make a reservation at a restaurant over the phone using an automated voice.

[1822] "Emotion" refers to the user's feelings and psychological state.

[1823] "Real-time analysis" refers to instantly analyzing the user's current emotions.

[1824] "Adjusting the suggestions" refers to changing the restaurant suggestions based on the analyzed emotional data.

[1825] "Feedback" refers to any ratings or comments you make on a suggestion or booking.

[1826] The present invention relates to a system that suggests restaurants personalized based on a user's past preferences and behavior, and automatically handles reservations. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, the present invention achieves more accurate restaurant suggestions.

[1827] System configuration

[1828] The system includes the following elements:

[1829] 1. Preference Learning Module

[1830] 2. Information Collection Module

[1831] 3. Proposal Module

[1832] 4. Emotion Engine

[1833] 5. Booking Module

[1834] Preference Learning Module

[1835] The server collects the user's past search and reservation data and uses this data to analyze the user's preferences. Specifically, it uses machine learning algorithms (e.g., Scikit-learn or TensorFlow) to extract information such as the user's preferred cuisine genre, price range, and area.

[1836] Example: Based on the restaurant search data of the user over the past year, it is known that the user has searched for Thai restaurants in particular. Based on this, the server determines that the user likes Thai food.

[1837] Information Collection Module

[1838] The server uses external APIs (e.g., Google Places API, Yelp API) to obtain the latest restaurant data (ratings, seating information, menus, prices, etc.) from the Internet and stores it in its own database, allowing it to provide the latest information that matches the conditions specified by the user.

[1839] Example: The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data such as "restaurant ID," "restaurant name," "rating," "number of seats," "menu," and "price range" are saved.

[1840] Suggestion Module

[1841] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant candidates. This is done using an algorithm that compares the user's preference data with the database stored in the information collection module.

[1842] Example: If a user is looking for a Thai restaurant in Shinjuku for two people at 7 p.m. on July 10th, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1843] Emotion Engine

[1844] The emotion engine analyzes the user's real-time emotional state and adjusts the recommendations based on the results. Image and audio analysis technologies are used for the analysis. This allows the system to suggest the most suitable restaurant based on the user's emotional state.

[1845] Example: If a user is feeling stressed, the emotion engine will detect this and prioritize suggestions for restaurants with a relaxing atmosphere for the server.

[1846] Booking Module

[1847] The server automatically processes reservations for restaurants selected by the user from the suggested restaurants. First, it checks whether online reservations are available, and if so, the user completes the reservation by entering the necessary information in the reservation form. If online reservations are not available, the server attempts to make a reservation using an automated voice call.

[1848] Example: If the user selects "Thai Restaurant A," the server will first try to make a reservation online. If online reservation is not possible, the server will call the restaurant via automated voice call to make the reservation.

[1849] Prompt Sentence Examples

[1850] "A user has a penchant for Thai food and is searching for restaurants in Shinjuku for a date for two. The date and time is July 10th at 7 PM. Please suggest a relaxing Thai restaurant based on past emotional feedback."

[1851] In this way, this system can efficiently and accurately provide restaurants that match the user's preferences, feelings, and specified conditions, and can automatically process reservations.

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

[1853] Step 1:

[1854] The user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc. The input information is sent from the terminal to the server.

[1855] Input: Request information such as area, date and time, number of people, purpose, preferences, etc.

[1856] Output: Request information sent to the server

[1857] What happens: A user fills in various fields on a web form and clicks the submit button.

[1858] Step 2:

[1859] The server collects users' past search and reservation data from a database and analyzes their preferences using machine learning algorithms (e.g., Scikit-learn or TensorFlow).

[1860] Input: User's past search and reservation data

[1861] Output: Analysis results showing user preferences

[1862] How it works: The server retrieves data from the database using the user ID as a key and uses a machine learning algorithm to extract preference patterns.

[1863] Step 3:

[1864] The server uses an external API (e.g., Google Places API, Yelp API) to obtain the latest restaurant information and save it in a database.

[1865] Input: Area information

[1866] Output: Latest restaurant information stored in the database

[1867] Specific operation: The server sends an HTTP request to an external API, parses the JSON response, and stores it in the database.

[1868] Step 4:

[1869] The server generates optimal restaurant candidates based on the collected preference data and request information, which includes database search and filtering.

[1870] Input: User preference data, request information, restaurant information stored in the database

[1871] Output: A list of the best restaurants

[1872] What happens: The server runs an SQL query to generate a list of restaurants that match the criteria.

[1873] Step 5:

[1874] The emotion engine analyzes the user's real-time emotional state and notifies the server of the results. The analysis uses image analysis and audio analysis using the camera and microphone.

[1875] Input: Real-time emotion data (images and audio)

[1876] Output: Emotion analysis results

[1877] Specific operation: The user provides emotion data through the device's camera or microphone, and the emotion engine analyzes it and returns the results to the server.

[1878] Step 6:

[1879] The server uses the results of the sentiment analysis to adjust the priority of the list of restaurants to suggest to the user.

[1880] Input: Sentiment analysis results, list of best restaurants

[1881] Output: A tailored list of restaurant suggestions

[1882] Specific operation: The server adjusts the filtering conditions based on the emotion data and generates a list to display to the user.

[1883] Step 7:

[1884] The user selects from a list of suggested restaurants and attempts to make a reservation, and this information is sent to the server.

[1885] Input: User selection information (store, date and time, number of people, etc.)

[1886] Output: Reservation request information

[1887] Specific behavior: The user selects a store from the displayed list and clicks the reservation button.

[1888] Step 8:

[1889] The server attempts to make a reservation at the selected restaurant. First, it checks whether online reservations are available and automatically fills in the necessary information. If online reservations are not available, the reservation is made using an automated voice call.

[1890] Input: Reservation Request Information

[1891] Output: Reservation success or failure (reservation confirmation or error message)

[1892] What happens: The server attempts to make a reservation by using web scraping or Twilio's API to fill out a reservation form or make a phone call.

[1893] Step 9:

[1894] The server notifies the user whether the reservation was successful or not. If it was successful, it will provide detailed information (store name, address, reservation time, etc.), and if it was unsuccessful, it will provide the reason for the failure.

[1895] Input: Reservation success / failure

[1896] Output: A notification message to the user

[1897] Specific operation: The server will send the reservation result to the user via email or SMS.

[1898] Step 10:

[1899] The server collects the user's emotional feedback and uses it to improve the accuracy of future suggestions.

[1900] Input: User feedback information

[1901] Output: Feedback analysis results

[1902] What it does: The server receives user ratings and comments from the feedback form, stores them in a database, and analyzes them.

[1903] (Application example 2)

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

[1905] In recent years, automated restaurant recommendation and reservation services have become increasingly common, but most systems only refer to the user's past preference data, and few systems consider the user's emotional state in real time. While a wide variety of systems already provide restaurant recommendations, there are currently no systems for food delivery that analyze the user's emotional state and make recommendations based on their preferences. Therefore, there is a need for a system that analyzes the user's current emotional state and makes optimal food delivery recommendations based on that information.

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

[1907] In this invention, the server includes means for collecting a user's past search and reservation data and analyzing the user's preferences, means for collecting restaurant-related data from multiple sources on the Internet and storing it in a database, means for generating optimal restaurant candidates based on the user's requirements (area, date and time, number of people, purpose, preferences, etc.) and suggesting them to the user, means for automatically attempting to make a reservation for the suggested restaurants via web reservation or voice call, means for analyzing the user's emotional state in real time and adjusting the suggestions, and means for suggesting and automatically ordering the optimal dishes for food delivery based on past preference data and emotional data. This makes it possible to take the user's current emotional state into consideration, suggest the best dish for their mood at that time, and even automate the ordering process.

[1908] "User Preferences" means an individual's dining preferences and tendencies determined based on past search and reservation data.

[1909] "Database" means a structured collection of information that stores data about restaurants collected from multiple sources on the Internet.

[1910] "User requirements" refers to the specific conditions and wishes such as area, date and time, number of people, purpose, preferences, etc. that the user provides to the system.

[1911] "Emotional state" refers to the specific emotional state or psychological tendency obtained by analyzing the user's real-time emotions.

[1912] "Food delivery" refers to a service in which food ordered by a user is delivered from a restaurant to a specified location.

[1913] "Suggesting" refers to the act of presenting the user with the most suitable restaurants and dishes based on the user's preferences and current emotions.

[1914] "Ordering" means the act of actually purchasing and arranging delivery of the suggested food through a food delivery service.

[1915] "Automatically attempt" means that the system will carry out the reservation process using web booking or voice call without user intervention.

[1916] "Web reservation" is a method of making a restaurant reservation using an online reservation form.

[1917] "Voice telephone" is a method of making a reservation by communicating with a restaurant via voice over a telephone line.

[1918] "Best Restaurant Suggestions" refers to a list of recommended restaurants selected based on the user's preference data and current requirements.

[1919] "Dishes" means individual meal menu items offered by a restaurant.

[1920] This invention relates to a system that proposes personalized food delivery services based on the user's past preferences and behavior, and automatically places the order. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, this invention achieves more accurate proposals.

[1921] System Overview

[1922] The system includes the following elements:

[1923] 1. Preference Learning Module

[1924] 2. Information Collection Module

[1925] 3. Proposal Module

[1926] 4. Emotion Engine

[1927] 5. Order Module

[1928] Preference Learning Module

[1929] The server collects the user's past search and order data and analyzes their preferences. This allows the system to identify personal preferences, such as the type of cuisine, price range, and area they prefer. The hardware used is a standard server, and the software is a data analysis library.

[1930] Specific examples

[1931] Based on the user's orders over the past year, the server knows that the user has frequently ordered Thai food, and therefore determines that the user likes Thai food.

[1932] Information Collection Module

[1933] It collects restaurant-related data (ratings, menus, prices, etc.) from the internet and stores it in a database. This allows it to provide the latest restaurant and menu information that matches the conditions specified by the user. The software used is an information collection module that utilizes an external API.

[1934] Specific examples

[1935] The server retrieves restaurant information for a specific area (e.g., Shinjuku) from an external API and saves it in a "restaurant information table." For example, data corresponding to fields such as "restaurant ID," "restaurant name," "rating," "menu," and "price range" is saved.

[1936] Suggestion Module

[1937] The server receives the user's request (area, date and time, number of people, purpose, preferences, etc.) and generates the most suitable restaurant and cuisine candidates. The suggestion module compares the user's preference data with the database obtained from the information collection module to create a list of the most suitable restaurants and cuisines.

[1938] Specific examples

[1939] If a user is looking for Thai food for a date for two in Shinjuku on a specific date and time, the server will suggest "Thai Restaurant A," "Thai Restaurant B," and "Thai Restaurant C" based on the user's preference data and request conditions.

[1940] Emotion Engine

[1941] The emotion engine analyzes users' emotions in real time and adjusts its recommendations based on their emotions. The hardware used is the smartphone's camera and microphone, and the software is an emotion recognition algorithm. This allows it to recommend food delivery options that best suit your emotional state.

[1942] Specific examples

[1943] If the emotion engine detects that the user is feeling stressed, the server will prioritize suggesting dishes that have a relaxing effect. It also collects the emotional feedback the user has given to past suggestions and reflects this in the next suggestion.

[1944] Order Module

[1945] The server automatically orders the suggested dishes selected by the user through a food delivery service. First, it checks whether online ordering is available, and if so, the user completes the order by entering the required information in the order form. If online ordering is not available, the server attempts to place the order using an automated voice call.

[1946] Specific examples

[1947] If the user selects green curry from "Thai Restaurant A," the server will first attempt to place the order online. If online ordering is not possible, the server will call the restaurant using an automated voice call to place the order. Once the order is complete, the server will notify the user of the result.

[1948] Overall system flow

[1949] 1. The user accesses the system and enters request information such as area, date and time, number of people, purpose, preferences, etc.

[1950] 2. The server compares the user's preference data with the restaurant information stored by the information collection module.

[1951] 3. The emotion engine analyzes the user's current emotions and adjusts the suggestions based on the results.

[1952] 4. The server suggests the best restaurants and dishes for the user.

[1953] 5. The user selects one of the suggested options and attempts to place an order.

[1954] 6. The server will automatically place the order via online ordering or voice call.

[1955] 7. Notify the user of the success or failure of the order.

[1956] 8. Collect user emotional feedback to improve the accuracy of future suggestions.

[1957] Example prompt sentence:

[1958] "Based on past ordering history, we identify the user's preferred dishes and suggest restaurant recommendations taking into account their emotional state. Please suggest an effective algorithm to adjust the suggestions based on current data."

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

[1960] Step 1:

[1961] A user accesses the system and inputs request information such as area, date and time, number of people, purpose, preferences, etc.

[1962] The input request information is sent to the server, which then executes the next processing step based on the information.

[1963] Step 2:

[1964] The server collects the user's past search data and order data and analyzes the user's preferences using a preference learning module.

[1965] The input data includes the type of food, price range, frequency of orders, etc. Based on this, the server generates a user preference model.

[1966] As an output, preference data indicating the user's preferred food genres and price ranges is obtained.

[1967] Step 3:

[1968] The server collects data about restaurants from multiple sources on the Internet and stores it in a database through an information collection module.

[1969] The input data includes latitude and longitude information such as ratings, menus, prices, etc. obtained from external APIs. The server analyzes this data and processes it to store in the database.

[1970] As an output, the restaurant information table is updated.

[1971] Step 4:

[1972] The server uses a suggestion module to generate optimal restaurant and food options based on the user's request (area, date and time, number of people, purpose, preferences, etc.) and preference data.

[1973] The input data includes the preference data obtained in step 2 and the restaurant information collected in step 3. These are collated to create a list of candidates.

[1974] As an output, a list of restaurants and dishes suggested to the user is generated.

[1975] Step 5:

[1976] The server uses an emotion engine to analyze the user's emotional state in real time and adjusts the suggestions based on the emotional state.

[1977] Input data includes the user's facial expressions, voice, and past emotional feedback, which the server analyzes with emotion recognition algorithms to determine their current emotional state.

[1978] The output is a tailored list of suggestions.

[1979] Step 6:

[1980] The server will suggest the best restaurant and food options to the user, from which the user can select one.

[1981] The entered selection information is sent to the server, which then executes the next processing step based on the information.

[1982] As an output, the user's selected dish and store information are obtained.

[1983] Step 7:

[1984] The server uses the ordering module to automatically order the suggested dishes selected by the user through a food delivery service.

[1985] The entered store and food information is sent to the server to attempt a reservation using an online ordering system or automated voice call. The server then carries out the reservation procedure based on this information.

[1986] The output is notification information about the success or failure of the order.

[1987] Step 8:

[1988] The server notifies the user whether the order was successful or not, and also collects the user's emotional feedback and stores it in a database to improve the accuracy of future suggestions.

[1989] The input data includes the order results and the user's emotional feedback, which the server stores in a database and uses to improve the accuracy of the next recommendation.

[1990] As an output, the user's feedback data is saved and a notification message is sent to the user.

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

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

[1993] 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 robot 414.

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

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

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

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

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

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

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

[2001] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[2002] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[2003] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[2004] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[2005] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[2006] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[2007] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[2008] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[2009] Furthermore, the hardware structure of these various pro...

Claims

1. A means of collecting users' past search and reservation data and analyzing their preferences; A means for collecting data about restaurants from multiple sources on the Internet and storing the data in a database; A means for generating optimal restaurant candidates based on user requests and suggesting them to the user; means for automatically attempting to make a reservation for the suggested restaurant using web reservations or voice calls; A system including:

2. The system of claim 1 further comprising means for storing the collected restaurant-related data in a database and periodically updating the database with the latest information.

3. The system according to claim 1 , further comprising means for confirming a reservation for a restaurant selected by the user from the plurality of suggested restaurants, and notifying the user whether the reservation has been made or not.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A