system

The system efficiently finds and presents the cheapest travel options by analyzing user input and comparing prices across multiple service providers, addressing the challenge of cumbersome travel planning processes.

JP2026064677APending Publication Date: 2026-04-14SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-10-02
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Users face difficulty in finding the cheapest travel options across multiple service providers, leading to unnecessary expenses due to the cumbersome process of individually researching and comparing prices on various websites.

Method used

A system that receives destination and date data from users, analyzes this information, sends data requests to multiple travel service providers, compares travel options, and selects the cheapest option, providing it to users in an easy-to-understand format.

Benefits of technology

Streamlines travel planning by allowing users to efficiently find the cheapest options with a single input, reducing time and effort in comparing prices across different service providers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064677000001_ABST
    Figure 2026064677000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for receiving destination data and date data from the user, A means for analyzing the aforementioned destination data and date data and sending data requests to multiple travel service providers, A means of comparing multiple travel options obtained from the aforementioned travel service provider and selecting the cheapest option from each, A means of providing the user with information on the least expensive option selected, A system that includes this.
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 Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, the method including: receiving a user utterance; adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot; encoding the prompt; and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] When modern users plan a trip, they spend a great deal of time and effort arranging multiple services such as air tickets, accommodation facilities, rental cars, etc. at the lowest possible price. Since there are many websites and platforms that provide these services, it is very difficult for users to find the cheapest option, and as a result, there may be unnecessary expenses in the travel plan. Therefore, there is a need for a system that reduces the burden on users and efficiently provides the cheapest travel options.

Means for Solving the Problems

[0005] The present invention solves the above problem by providing a system that includes means for receiving destination data and date data from a user, means for analyzing the destination data and date data and sending data requests to multiple travel service providers, means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option, and means for providing the user with information on the selected cheapest option. By simply entering a destination and dates, the cheapest options for flights, accommodations, and rental cars are provided as a list, making travel planning efficient and economical.

[0006] "Destination data" refers to the information that users enter as their travel destination.

[0007] "Date data" refers to the information that users enter as the start and end dates of their trip.

[0008] A "user" is an individual or group that intends to use the system to make travel arrangements.

[0009] A "travel service provider" is a company or platform that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0010] A "data request" is a request sent to obtain information from a travel service provider based on destination and date data.

[0011] "Travel options" refer to multiple choices offered by travel service providers, including options such as airline tickets, accommodations, and rental cars.

[0012] The "cheapest option" refers to the lowest-priced option among the travel options being compared.

[0013] An "API request" is a data request sent using an application programming interface to retrieve specific information.

[0014] A "response" is the information that a travel service provider sends back in response to a data request. [Brief explanation of the drawing]

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

Embodiments for Carrying Out the Invention

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

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

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

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

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

[0021] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0023] [First Embodiment]

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

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

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

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

[0028] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0030] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

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

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

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

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

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

[0036] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[0037] Explain the program's processing in natural language.

[0038] 1. The user enters the destination and dates.

[0039] The user enters their planned travel destination, as well as the start and end dates of their trip, into the interface on their device.

[0040] 2. The device sends this data to the server.

[0041] The terminal sends the destination and date data entered by the user to the server in JSON format.

[0042] 3. The server analyzes the destination and date data it receives.

[0043] The server analyzes the received data and stores the destination and date in individual variables.

[0044] 4. The server sends data requests to the APIs of each travel service provider.

[0045] The server sends data requests to the APIs of each travel service provider (e.g., airline ticket providers, accommodation providers, car rental providers) based on the destination and itinerary.

[0046] 5. The server receives a response from the travel service provider.

[0047] Each travel service provider will send a response containing multiple travel options based on the specified destination and dates.

[0048] 6. The server selects the cheapest travel option.

[0049] The server analyzes the multiple travel options received, compares prices, and selects the cheapest flights, accommodations, and rental cars.

[0050] 7. The server generates information on the cheapest option and sends it back to the terminal.

[0051] The server compiles detailed information about the cheapest travel option in JSON format and sends it back to the terminal.

[0052] 8. The device displays the lowest price information to the user.

[0053] The device analyzes the information on the cheapest option received and displays it to the user in a visually easy-to-understand format.

[0054] Specific example

[0055] When a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[0056] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[0057] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0058] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0059] 4. The server compares those prices and selects the cheapest option.

[0060] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[0061] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[0062] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[0063] The following describes the processing flow.

[0064] Step 1:

[0065] The user enters the destination and dates.

[0066] The user enters the destination for which they want to plan a trip (e.g., Tokyo), and the start and end dates of the trip (e.g., 2023-12-01 to 2023-12-07) into the terminal's interface.

[0067] Step 2:

[0068] The terminal sends destination and date data received from the user to the server.

[0069] The terminal packages the data entered by the user in JSON format and sends it to the server.

[0070] Step 3:

[0071] The server analyzes the data it receives.

[0072] The server parses the JSON data received from the terminal and extracts destination and date information individually.

[0073] Step 4:

[0074] The server prepares to send a request to the travel service provider's API.

[0075] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[0076] Convert destination and date information into a format suitable for API requests.

[0077] Step 5:

[0078] The server sends API requests to each travel service provider.

[0079] The server sends requests to each API endpoint based on the destination and date.

[0080] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[0081] Step 6:

[0082] The server analyzes the response received from the travel service provider.

[0083] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to obtain a list of travel options.

[0084] Each travel option includes price, details, provider information, and more.

[0085] Step 7:

[0086] The server selects the cheapest travel option.

[0087] Compare the prices of each travel option and select the cheapest airfare, cheapest accommodation, and cheapest rental car.

[0088] The server stores not only the cheapest option, but also its details (e.g., flight schedule, hotel location, rental car model).

[0089] Step 8:

[0090] The server sends information about the cheapest option it has selected back to the terminal.

[0091] The server compiles detailed information about the selected cheapest option in JSON format and sends it back to the terminal.

[0092] Step 9:

[0093] The device displays the lowest price information to the user.

[0094] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[0095] Users can view specific prices and detailed information (e.g., airfare ¥30,000, hotel ¥15,000, rental car ¥5,000).

[0096] The above is the specific processing flow of the program.

[0097] (Example 1)

[0098] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0099] Currently, many users spend considerable time and effort individually researching the websites of multiple travel service providers to find the best travel plan based on their destination and dates. Therefore, there is a need to streamline and optimize travel planning. However, current systems require users to manually collect information and compare prices, a process that is extremely cumbersome. The present invention aims to solve this problem and provide a system that enables users to find the best travel plan in the shortest possible time.

[0100] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0101] In this invention, the server includes means for receiving destination data and date data from a user, means for analyzing the destination data and date data and sending data requests to multiple travel service providers, and means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option from each. This allows the user to easily obtain the cheapest option from multiple travel service providers with a single input, thereby streamlining travel planning.

[0102] "Destination data" refers to information about the destinations that users wish to travel to.

[0103] "Date data" refers to information about the start and end dates of the user's planned trip.

[0104] A "user" is an individual or group that uses the system to search for travel plans and find the best travel options.

[0105] A "terminal" is a device used to send destination and date data entered by the user to a server, and includes computers, smartphones, and other similar devices.

[0106] A "server" is a computer system that analyzes data received from users, sends data requests to multiple travel service providers, and selects the cheapest travel option.

[0107] A "travel service provider" is a company or organization that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0108] A "data request" is a request to inquire about travel options from a travel service provider based on destination and date data.

[0109] "Travel options" refer to choices of travel-related products and services offered by travel service providers under specific conditions.

[0110] The "cheapest option" is the lowest-priced choice among several travel options offered under specified conditions.

[0111] A "prompt message" is text data that is input into a generative AI model and expresses a specific request or instruction.

[0112] A "generative AI model" is an artificial intelligence model that generates responses and recommendations in response to input prompts.

[0113] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[0114] Specifically, the system works as follows:

[0115] The user enters their planned travel destination, start date, and end date into the interface on their device. This data is converted to JSON format and sent to the server via the HTTPS protocol. The server parses the received JSON data and stores the destination and dates in separate variables.

[0116] Next, the server sends data requests to multiple travel service providers using the configured variables. The data requests are sent using each travel service provider's API. An HTTP GET request is generated and accesses each API endpoint.

[0117] Upon receiving responses from each travel service provider, the server analyzes these responses and extracts pricing information. The server then analyzes the retrieved travel options, compares prices, and selects the cheapest airfare, accommodation, and rental car. Finally, it compiles detailed information of the cheapest option in JSON format and sends it back to the terminal.

[0118] The device analyzes the information on the cheapest options it receives and displays it to the user in a visually easy-to-understand format. For example, it displays a list of flight prices, providers, accommodation rates, and rental car costs, making it easier for the user to make a choice.

[0119] To give a concrete example, if a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[0120] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[0121] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0122] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0123] 4. The server compares those prices and selects the cheapest option.

[0124] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[0125] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[0126] Furthermore, here is an example of a prompt using a generative AI model:

[0127] "You have entered 'Tokyo' as the destination, '2023-12-01' as the start date, and '2023-12-07' as the end date. Please search for the cheapest travel option under these conditions."

[0128] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[0129] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0130] Step 1:

[0131] The user enters the destination and dates.

[0132] Input: The user enters the destination of their planned trip (e.g., "Tokyo") and the dates of the trip (e.g., from "2023-12-01" to "2023-12-07") into the terminal interface.

[0133] Specific action: The user enters the destination and date into the input form on the device and presses the search button.

[0134] Output: Destination and date data are entered into the terminal.

[0135] Step 2:

[0136] The device sends this data to the server.

[0137] Input: Destination and date data entered by the user in Step 1.

[0138] Specific operation: The terminal converts destination data and date data into JSON format and sends it to the server using the HTTPS protocol.

[0139] Output: Data in JSON format is sent to the server.

[0140] Step 3:

[0141] The server analyzes the destination and date data it receives.

[0142] Input: Destination and date data in JSON format sent from the terminal.

[0143] Specific operation: The server parses the received JSON data and uses a JSON parser to store destination and schedule information in individual variables.

[0144] Output: Variables for the analyzed destination ("Tokyo") and dates ("2023-12-01" to "2023-12-07").

[0145] Step 4:

[0146] The server sends data requests to the APIs of each travel service provider.

[0147] Input: Destination data and date data held as variables within the server.

[0148] Specific operation: The server creates a GET request and sends the request to API endpoints such as airline ticket providers, accommodation providers, and car rental providers.

[0149] Output: API requests to multiple travel service providers.

[0150] Step 5:

[0151] The server receives a response from the travel service provider.

[0152] Input: Responses from each travel service provider to whom an API request was sent.

[0153] Specific operation: The server receives responses from each API and parses their contents in JSON format.

[0154] Output: Data on multiple travel options (flights, accommodations, rental cars, etc.) obtained.

[0155] Step 6:

[0156] The server selects the cheapest travel option.

[0157] Input: Data on multiple travel options obtained from each travel service provider.

[0158] Specific operation: The server compares the price information of the received travel options and selects the cheapest flights, accommodations, and rental cars.

[0159] Output: Data on the cheapest option (e.g., airfare ¥30,000, accommodation ¥15,000, rental car ¥5,000).

[0160] Step 7:

[0161] The server generates information on the cheapest option and sends it back to the terminal.

[0162] Input: Data for the cheapest option selected by the server.

[0163] Specific operation: The server compiles detailed information about the cheapest option in JSON format and sends it back to the terminal as an HTTP response.

[0164] Output: Information in JSON format on the cheapest option.

[0165] Step 8:

[0166] The device displays the lowest price information to the user.

[0167] Input: JSON format information of the cheapest option returned from the server.

[0168] Specific operation: The terminal analyzes the received information and displays it to the user in a visually easy-to-understand format. For example, it displays a list of airline ticket prices and providers, accommodation fees, and rental car costs.

[0169] Output: Displays detailed information of the cheapest option available to the user.

[0170] (Application Example 1)

[0171] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0172] Traditional travel planning systems required users to input their destination and dates, then review information from multiple travel service providers and compare their options, which was a very cumbersome process. Furthermore, there was a need for a system with high user interactivity and intuitive operation. Additionally, the lack of real-time interaction with the user in presenting travel options necessitated a more user-friendly travel planning system.

[0173] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0174] In this invention, the server includes means for receiving destination data and date data from a user; means for analyzing the destination data and date data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option; means for providing the user with information on the selected cheapest option; means for the user to input destination data and date data via voice or touch panel; and means for a robot terminal to transmit the input data and display the returned data via voice and touch panel. This enables the user to efficiently search for and confirm the optimal travel option using an intuitive interface, and enables real-time interactive travel planning support.

[0175] 1. "Destination data" refers to geographical location information that a user designates as their travel destination.

[0176] 2. "Date data" refers to the specific date and time information where the user plans to start and end their trip.

[0177] 3. "Travel service provider" refers to a business that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0178] 4. A "data request" refers to a request sent from a server to an external API or database in order to retrieve specific information.

[0179] 5. "Travel options" refer to multiple choices offered by a travel service provider, which may include different prices and conditions.

[0180] 6. A "robot terminal" is an autonomous electronic device that enables interactive dialogue with the user and has voice input and touch panel functions.

[0181] 7. A "touch panel" refers to a display device that allows users to input information by directly touching it.

[0182] 8. "Voice input" refers to a method in which the system recognizes what the user says through a microphone and processes it as input data.

[0183] 9. "Comparison" refers to the process of evaluating the characteristics and prices of multiple travel options and selecting the best one.

[0184] 10. An "API request" is a request format used to access the functions or data of an external service through an application programming interface.

[0185] This invention relates to a system that searches for and provides optimal travel options simply by the user entering destination and date data. This system is implemented by combining a robotic terminal, a server, and APIs from multiple travel service providers.

[0186] Hardware and software configuration

[0187] 1. User input method

[0188] The user inputs destination and date data into the robot terminal using voice input or a touch panel. The robot terminal uses a microphone device and voice recognition software for voice input, and a touchscreen device for touch panel input.

[0189] 2. Data transmission and reception

[0190] The robot terminal transmits destination and date data received from the user to the server via Wi-Fi communication. The transmitted data is in JSON format.

[0191] 3. Server processing

[0192] The server analyzes the received destination and date data and sends data requests to multiple travel service providers' APIs based on this information. The data requests are in API request format.

[0193] 4. Server response analysis

[0194] The server receives responses from each travel service provider and analyzes multiple travel options. The analysis compares factors such as price and conditions to select the cheapest option.

[0195] 5. Provision of selection results

[0196] The server compiles information on the selected, least expensive option in JSON format and sends it back to the robot terminal. The robot terminal receives this information and provides it to the user visually and audibly.

[0197] Data processing and calculation

[0198] The server stores the received destination and date data in individual variables and generates API requests based on them. The response data is compared based on price and conditions to extract the best travel options.

[0199] Specific example

[0200] 1. The user enters the destination "Tokyo" and the dates "2023-12-01~2023-12-07" into the robot terminal by voice.

[0201] 2. The robot terminal sends this input data to the server in JSON format.

[0202] 3. The server analyzes the destination and itinerary and sends an API request to the travel service provider.

[0203] 4. The server receives and analyzes responses from multiple providers (e.g., airline tickets, accommodations, rental cars). For example, it might return data such as ¥30,000 for airline tickets, ¥15,000 for hotels, and ¥5,000 for rental cars.

[0204] 5. The server compares prices and selects the cheapest option.

[0205] 6. The server returns the selection results to the robot terminal in JSON format.

[0206] 7. The robot terminal displays the information it receives via voice and touch panel, providing the user with detailed information.

[0207] Example of a prompt

[0208] An example of a prompt message when using a generative AI model is as follows:

[0209] "We are developing a travel planning system. Please generate a program for an application that, upon inputting a destination and dates, searches for the cheapest travel options in real time and presents them to the user. The system will obtain the destination and dates via voice input and touch panel, collect data from multiple travel service providers using API requests, and select and display the cheapest option."

[0210] As described above, the present invention enables users to create intuitive and efficient travel plans, and real-time support makes travel planning even smoother.

[0211] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0212] Step 1:

[0213] The user inputs destination and date data into the robot terminal. Input can be done via voice or touch panel. The entered destination and date data is temporarily stored in the robot terminal's memory. The input for this step is destination and date data, and the output is the data stored in the robot terminal.

[0214] Step 2:

[0215] The robot terminal converts the input data into JSON format and sends it to the server. In this step, the robot terminal uses Wi-Fi communication to send data to the server. The input is destination data and date data entered by the user, and the output is the JSON format data sent to the server.

[0216] Step 3:

[0217] The server parses the destination and date data it receives. The server parses the data and stores each in individual variables (e.g., destination, start_date, end_date). The input for this step is data in JSON format, and the output is the parsed variables.

[0218] Step 4:

[0219] The server sends data requests to the APIs of multiple travel service providers. Based on the parsed destination and date data, the server sends HTTP requests to the API endpoints of each travel service provider. The input to this step is the parsed data, and the output is the API requests.

[0220] Step 5:

[0221] The server receives and analyzes responses from travel service providers. Each provider's response data includes pricing and terms of travel options. The input for this step is API response data, and the output is the analyzed travel option data.

[0222] Step 6:

[0223] The server compares multiple travel options and selects the cheapest one. The server performs a comparison calculation based on price data to select the lowest-priced option. The input for this step is the analyzed travel options data, and the output is the data for the selected cheapest option.

[0224] Step 7:

[0225] The server compiles information on the cheapest selected option in JSON format and sends it back to the robot terminal. In this step, the selected information is converted back to JSON format and sent to the robot terminal via Wi-Fi communication. The input is the data for the cheapest option, and the output is the JSON format data sent to the robot terminal.

[0226] Step 8:

[0227] The robot terminal analyzes the information it receives and provides it to the user visually and audibly. The robot terminal analyzes JSON data, displays visual information on a touch panel, and provides voice guidance to the user. The input for this step is JSON data received from the server, and the output is the display of information and voice guidance for the user.

[0228] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0229] This invention relates to a system that searches for and provides optimal travel options to a user simply by inputting a destination and dates, and further includes an emotion engine for recognizing the user's emotions and suggesting appropriate options. Based on user input, this system acquires information from multiple travel service providers and not only presents the optimal travel plan, but also provides a more satisfying travel plan by customizing it according to the user's emotions.

[0230] Explain the program's processing in natural language.

[0231] 1. The user enters the destination and dates.

[0232] The user enters their planned travel destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[0233] When a user interacts with the interface, the emotion engine acquires emotional data from the user's facial expressions, voice analysis, input speed, and other factors.

[0234] 2. The device sends destination data, date data, and sentiment data received from the user to the server.

[0235] The device packages the data entered by the user and the sentiment data obtained from the sentiment engine in JSON format and sends it to the server.

[0236] 3. The server analyzes the data it receives.

[0237] The server analyzes the JSON data received from the terminal, extracts destination and date information individually, and then analyzes sentiment data.

[0238] 4. The server prepares to send a request to the travel service provider's API.

[0239] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[0240] Convert destination and date information into a format suitable for API requests.

[0241] 5. The server sends API requests to each travel service provider.

[0242] The server sends requests to each API endpoint based on the destination and date.

[0243] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[0244] 6. The server analyzes the response received from the travel service provider.

[0245] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to retrieve multiple travel options.

[0246] Each travel option includes price, details, provider information, and more.

[0247] 7. The server selects the cheapest travel option, taking sentiment data into consideration.

[0248] The server selects the cheapest flights, accommodations, and rental cars based on price, and also optimizes the recommendations by taking into account the user's sentiment data.

[0249] For example, if a user is experiencing stress, options that prioritize comfort will be selected as the primary choice.

[0250] 8. The server sends information about the cheapest option it has selected back to the terminal.

[0251] The server compiles the selected lowest-priced option and the optimization details based on sentiment into JSON format and sends it back to the terminal.

[0252] 9. The device displays the lowest price information and sentiment-based suggestions to the user.

[0253] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[0254] Users can view specific prices and detailed information, as well as receive emotion-based optimization suggestions (e.g., relaxing hotels, convenient flight times, etc.).

[0255] Specific example

[0256] If a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[0257] 1. The device sends data to the server indicating its location as "Tokyo," the date range as "2023-12-01~2023-12-07," and the user's emotional state, indicating they are experiencing stress.

[0258] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0259] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0260] 4. The server compares those prices and selects the cheapest option. It also takes into account the user's stress level and prioritizes relaxing accommodations and convenient flight times.

[0261] 5. The server sends information about the selected options back to the terminal.

[0262] 6. The device displays the user the cheapest option and sentiment-based optimization suggestions, allowing the user to view details and pricing for each option.

[0263] This system allows users to easily find the cheapest options from multiple travel service providers simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences, resulting in a more satisfying travel planning experience.

[0264] The following describes the processing flow.

[0265] Step 1:

[0266] The user enters the destination and dates.

[0267] To plan their trip, the user enters their destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[0268] At the same time, the device activates an emotion engine to recognize the user's facial expressions and voice, and acquires the user's emotional data.

[0269] Step 2:

[0270] The device sends destination data, date data, and sentiment data received from the user to the server.

[0271] The terminal combines the destination and date data entered by the user, along with the emotion data generated by the emotion engine (e.g., stressed state, relaxed state), into a JSON format and sends it to the server.

[0272] Step 3:

[0273] The server analyzes the data it receives.

[0274] The server analyzes the JSON data received from the terminal and extracts the destination, schedule information, and emotional state entered by the user.

[0275] Step 4:

[0276] The server prepares to send a request to the travel service provider's API.

[0277] The server configures API endpoints for the necessary flight, accommodation, and rental car service providers and converts destination and itinerary information into a request format.

[0278] At the same time, additional parameters are set based on emotional data (for example, prioritizing relaxation or cost).

[0279] Step 5:

[0280] The server sends API requests to each travel service provider.

[0281] The server sends asynchronous requests to the API endpoints of each travel service provider.

[0282] This request includes data based on the destination and schedule, and parameters according to the sentiment data.

[0283] Step 6:

[0284] The server analyzes the response received from the travel service provider.

[0285] The server analyzes the response data of multiple travel options received from the provider and extracts prices and detailed information.

[0286] Step 7:

[0287] The server selects the cheapest travel option and optimizes it based on the sentiment data.

[0288] The server compares the prices of the extracted travel options and selects the cheapest option for each of the air ticket, accommodation, and rental car.

[0289] Taking into account the sentiment data (e.g., stress level), optimize the selected cheapest option to meet the user's needs (e.g., choose a relaxing accommodation or a flight time that reduces stress).

[0290] Step 8:

[0291] The server returns the information of the selected cheapest option to the terminal.

[0292] The server summarizes the optimized proposal based on the cheapest option and sentiment data in JSON format and returns it to the terminal.

[0293] Step 9:

[0294] The terminal displays the cheapest information and the proposal based on sentiment to the user.

[0295] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[0296] Users can see optimized suggestions based on sentiment data, along with specific pricing and detailed information (for example, relaxing accommodations or convenient flight times).

[0297] (Example 2)

[0298] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0299] Traditional travel planning systems offer multiple travel options based on the user's input of destination and dates, but they fail to provide suggestions that take into account the user's emotional state. Therefore, they are unable to provide optimal travel plans tailored to the user's psychological state, making it difficult to create highly satisfying travel plans.

[0300] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0301] In this invention, the server includes means for receiving destination data, date data, and sentiment data from a user; means for analyzing the destination data, date data, and sentiment data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers, selecting the cheapest option, and optimizing the suggested content based on the sentiment data; and means for providing the user with the selected cheapest option and the suggested content optimized based on the sentiment data. This makes it possible to propose an optimal travel plan that is tailored to the user's emotional state. Furthermore, by providing the cheapest option, the user's financial burden can be reduced and their satisfaction with the travel plan can be improved.

[0302] "Destination data" refers to geographical information input by the user as the destination of the trip.

[0303] "Date data" refers to information indicating the start date and end date of the trip entered by the user.

[0304] "Emotion data" refers to information indicating the user's psychological state obtained from the user's facial expression recognition, voice analysis, input speed, etc.

[0305] "Travel service provider" refers to a company or organization that provides travel-related services such as air tickets, accommodation facilities, rental cars, etc.

[0306] "Data request" refers to a communication for the server to request specific information from the system of the travel service provider.

[0307] "Travel option" includes a plurality of travel-related choices, specifically including options for air tickets, accommodation facilities, and rental cars.

[0308] "The cheapest option" refers to the one with the lowest price among the travel options.

[0309] "Optimization of the proposed content" means making the most suitable choice for the user's psychological state from the travel options in consideration of the user's emotion data.

[0310] Mode for Carrying Out the Invention

[0311] The present invention is a system that searches for the optimal travel option only by the user entering the destination and schedule and provides it to the user, and further includes an emotion engine for recognizing the user's emotion and presenting an appropriate option. This system obtains information from multiple travel service providers based on the input from the user, not only presents the optimal travel plan, but also performs customization according to the user's emotion to provide a more satisfactory travel plan.

[0312] System Configuration

[0313] This system includes the following main components:

[0314] User Interface (Terminal): Through this interface, the user inputs destination data, date data, and sentiment data.

[0315] Emotion engine: This is software that generates emotion data from the user's facial expressions, voice, and input speed. For example, an emotion recognition API can be used.

[0316] Server: Analyzes data and sends requests to travel service provider APIs. The server includes data management and analysis modules.

[0317] Travel service provider APIs: Utilize APIs from external services that offer travel options such as flights, accommodations, and rental cars.

[0318] Process Overview

[0319] 1. Processing user input

[0320] The user enters their travel destination (e.g., "Tokyo") and travel dates (e.g., "2023-12-01~2023-12-07") from their home device. Simultaneously, the emotion engine acquires and analyzes emotional data from the user's facial expressions and voice.

[0321] 2. Data transmission and analysis

[0322] The device compiles the collected destination data, date data, and sentiment data into JSON format and sends it to the server. The server analyzes the received data, extracts the destination and date, and further analyzes the sentiment data.

[0323] 3. Generating and sending API requests

[0324] The server generates the appropriate requests to each travel service provider's API endpoint and sends data requests based on destination and itinerary information. API requests are sent asynchronously, and other requests are processed while waiting for each response.

[0325] 4. Aggregation and comparison of responses

[0326] The server receives and analyzes responses from each travel service provider. It compares the acquired travel options (flights, accommodations, rental cars) and selects the cheapest option. At the same time, it considers the user's sentiment data to generate optimal recommendations.

[0327] 5. Data return and display

[0328] The server returns the selected lowest-priced option and optimized suggestions based on sentiment data to the terminal in JSON format. The terminal parses this and displays it to the user. The user reviews the specific price and details and receives optimized suggestions based on sentiment.

[0329] Specific example

[0330] For example, if a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[0331] 1. The device sends destination data ("Tokyo"), dates ("2023-12-01~2023-12-07"), and emotional data ("feeling stressed") to the server.

[0332] 2. The server analyzes destination and itinerary data and sends data requests to the APIs of each travel service provider.

[0333] 3. The server receives responses from multiple providers (¥30,000 for airfare, ¥15,000 for hotel, and ¥5,000 for rental car).

[0334] 4. The server compares the received data and selects the cheapest option. At the same time, since the user is stressed, it chooses accommodation that promotes relaxation.

[0335] 5. The server sends information about the selected options back to the terminal.

[0336] 6. The device displays the user the cheapest option and optimized suggestions based on sentiment data, allowing the user to view details and pricing for each option.

[0337] Example of a prompt

[0338] "My destination is Tokyo, and my travel dates are from December 1st to December 7th, 2023. I'm feeling stressed right now. Please help me find the best travel options."

[0339] This allows users to easily find the best travel options simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences.

[0340] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0341] Step 1:

[0342] The user enters the destination and dates.

[0343] Input: The user enters the travel destination (e.g., "Tokyo") and dates (e.g., "2023-12-01~2023-12-07").

[0344] Specific operation: When a user inputs data into the device interface, the emotion engine analyzes the user's facial expressions, voice, and input speed to generate emotion data.

[0345] Output: Destination data, date data, and sentiment data have been entered.

[0346] Step 2:

[0347] The device sends destination data, date data, and sentiment data received from the user to the server.

[0348] Input: Destination data, date data, and sentiment data received from the user.

[0349] Specific operation: The terminal packages this data in JSON format and sends it to the server via an HTTP POST request.

[0350] Output: Data in JSON format is sent to the server.

[0351] Step 3:

[0352] The server analyzes the data it receives.

[0353] Input: JSON data sent from the terminal.

[0354] Specific operation: The server uses a JSON parser to extract destination data, date data, and sentiment data separately.

[0355] Output: Extracted destination, date, and sentiment data are available.

[0356] Step 4:

[0357] The server configures the API endpoint for the travel service provider.

[0358] Input: Extracted destination data, date data.

[0359] Specific operation: The server configures API endpoints for each service provider, including airline tickets, accommodations, and car rentals. It converts destination and itinerary information into a format suitable for each API.

[0360] Output: Data for API requests is prepared.

[0361] Step 5:

[0362] The server sends API requests to each travel service provider.

[0363] Input: Prepared data for API requests.

[0364] Specific operation: The server sends requests asynchronously to each API endpoint. For example, it sends a query like "destination=Tokyo&start_date=2023-12-01&end_date=2023-12-07" to the flight search API.

[0365] Output: API requests are sent to each provider.

[0366] Step 6:

[0367] The server analyzes the response received from the travel service provider.

[0368] Input: JSON response returned from each travel service provider.

[0369] Specific operation: The server analyzes the response data and extracts each travel option (price, details, provider information).

[0370] Output: Multiple travel options are analyzed and compiled.

[0371] Step 7:

[0372] The server selects the cheapest travel option, taking sentiment data into consideration.

[0373] Input: Analyzed data on multiple travel options and sentiment.

[0374] Specific operation: The server sorts options by price and selects the cheapest one. At the same time, it optimizes the recommendations based on the user's emotional data. For example, if the user is feeling stressed, it will select relaxing accommodations.

[0375] Output: The selected lowest-priced option and optimized proposal content will be compiled.

[0376] Step 8:

[0377] The server sends information about the selected options back to the terminal.

[0378] Input: A curated selection of the lowest-priced options and optimized proposals.

[0379] Specific operation: The server compiles this information into JSON format and sends it to the terminal as an HTTP response.

[0380] Output: A response data in JSON format is sent back to the terminal.

[0381] Step 9:

[0382] The device displays the lowest price information and sentiment-based suggestions to the user.

[0383] Input: JSON response received from the server.

[0384] Specific operation: The device analyzes response data and displays detailed information on the cheapest flights, accommodations, and rental cars to the user. Optimized suggestions based on sentiment data are also displayed.

[0385] Output: Detailed information and optimization suggestions are visually presented to the user.

[0386] (Application Example 2)

[0387] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".

[0388] Traditional shopping plan systems provide optimal plans simply by having users input their desired locations and dates, but they have a problem in that they do not take into account the user's emotional state, resulting in insufficient optimization of the experience. In particular, when users are feeling stressed or fatigued, they cannot receive suggestions that are appropriate to their state, making it difficult to provide a comfortable shopping experience.

[0389] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving destination data and date data from the user, means for analyzing the destination data and date data and sending data requests to multiple facility service providers, means for comparing multiple options obtained from the facility service providers and selecting the cheapest option, means for acquiring and analyzing the user's emotional data, and means for customizing and providing information on the selected cheapest option based on the user's emotional data. This makes it possible to provide an optimal shopping plan that is tailored to the user's emotional state.

[0390] "Destination data" refers to information about places or destinations that a user wants to visit.

[0391] "Date data" refers to information about the date the user plans to visit.

[0392] "Facility service providers" refer to stores or companies that provide goods or services.

[0393] A "data request" is a request that a server sends to a facility service provider in order to obtain necessary information.

[0394] An "option" refers to a set of choices presented to a user.

[0395] "Emotional data" refers to information about a user's emotions, obtained from their facial expressions, voice, input speed, etc.

[0396] "Customization" refers to individually adjusting standard options based on the user's specific needs and preferences.

[0397] This invention relates to a system that acquires user destination and date data and proposes an optimal shopping plan based on that data. Furthermore, this system has the function of acquiring and analyzing user emotional data and providing customized suggestions according to the user's emotional state.

[0398] System Configuration

[0399] This system is broadly composed of the following elements:

[0400] 1. User Terminal: Provides an interface for the user to input destination and date data and to acquire sentiment data. Sentiment data is obtained from facial recognition, voice analysis, input speed, etc.

[0401] 2. Server: Analyzes destination data, date data, and sentiment data received from the user terminal and sends data requests to multiple facility service providers. Furthermore, it compares the acquired options and selects the least expensive option. Based on the user's sentiment data, it customizes the selected option and presents it to the user.

[0402] Hardware and software to be used

[0403] User device: A device such as a smartphone or tablet. It uses a camera and microphone to acquire emotional data.

[0404] Emotion Engine: Uses emotion recognition libraries such as EmotionEngine to analyze emotions from the user's facial expressions, voice, and input speed.

[0405] Server: Performs API communication to make data requests. It uses programming languages ​​such as Python or Node.js, and the communication protocol is HTTP or HTTPS.

[0406] System processing

[0407] This system begins with the user entering destination and date data on a user terminal. Next, it analyzes the user's sentiment. The acquired data is sent to a server, which processes it and sends appropriate data requests to facility service providers. After multiple options are returned, the system selects the least expensive option and customizes it based on the user's sentiment data.

[0408] Specific example

[0409] For example, suppose a user plans to visit a "store in Ginza" on "2023-11-20". In this case, the user enters the destination and date using their smartphone. Simultaneously, emotion recognition software analyzes the user's facial expressions and voice to detect if they are stressed. This data is sent to a server, which then sends data requests to multiple facility service providers. The server analyzes the returned options and selects the cheapest plan. At the same time, taking into account the user's stress levels, it suggests relaxing stores or rest areas.

[0410] Example of a prompt

[0411] "For a user visiting stores in Ginza on November 20, 2023, please suggest the optimal shopping plan if their emotions are perceived as stressful. Please also recommend stores with relaxing rest areas and pleasant fragrances."

[0412] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0413] Step 1:

[0414] The user enters a destination and date. The entered data is acquired as destination data (e.g., "Ginza store") and date data (e.g., "2023-11-20"). Simultaneously, the device uses the camera and microphone to acquire emotional data from the user's facial expressions and voice. Specifically, it uses an emotion recognition library such as EmotionEngine to analyze whether the user is experiencing stress. The user device receives destination data, date data, and emotional data as input and packages this data.

[0415] Step 2:

[0416] The terminal sends packaged data to the server. The data is in JSON format and includes destination data, date data, and sentiment data. The terminal's role is to accurately send the data to the server. It receives packaged data as input and sends it to the server as output.

[0417] Step 3:

[0418] The server parses the received data. First, it extracts destination and date data, and then parses sentiment data. Specifically, once the data is formatted appropriately, it stores destination and date information, and sentiment status, into specific variables. The server's input is JSON data from the terminal, and its output is the parsed destination, date, and sentiment information.

[0419] Step 4:

[0420] The server sends data requests to multiple facility service providers. The server uses the retrieved destination and date data to send requests to multiple API endpoints. While waiting for responses from each facility service provider, it processes other requests asynchronously. The input is the parsed destination and date data, and the output is the response data from each facility service provider.

[0421] Step 5:

[0422] The server analyzes responses received from facility service providers and compares multiple options. In particular, it selects the cheapest option based on price and service content. For example, it evaluates product and service lists from multiple stores based on price and features to determine the optimal choice. The input is response data from facility service providers, and the output is the selected cheapest option.

[0423] Step 6:

[0424] The server customizes selected options based on the user's emotional data. If the user is feeling stressed, it adds suggestions for relaxing stores or rest areas. Specifically, it uses an algorithm based on emotional data to optimize standard suggestions for the user's specific state. The inputs are the selected options and emotional data, and the output is the customized options.

[0425] Step 7:

[0426] The server ultimately sends the customized information to the user's terminal. The data is then packaged again in JSON format and sent to the user along with appropriate suggestions. The input is the customized options, and the output is the transmission of the final data to the user's terminal.

[0427] Step 8:

[0428] The terminal displays data received from the server to the user. The user can review the information displayed on the screen and select the optimal shopping plan or suggestion. The terminal visually presents the user with details about destinations, recommended stores, and specific products. Input is data from the server, and output is what is displayed to the user.

[0429] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0430] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0431] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.

[0432] [Second Embodiment]

[0433] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0434] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0435] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0436] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.

[0437] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0438] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0439] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0440] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0441] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0443] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0444] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0445] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[0446] Explain the program's processing in natural language.

[0447] 1. The user enters the destination and dates.

[0448] The user enters their planned travel destination, as well as the start and end dates of their trip, into the interface on their device.

[0449] 2. The device sends this data to the server.

[0450] The terminal sends the destination and date data entered by the user to the server in JSON format.

[0451] 3. The server analyzes the destination and date data it receives.

[0452] The server analyzes the received data and stores the destination and date in individual variables.

[0453] 4. The server sends data requests to the APIs of each travel service provider.

[0454] The server sends data requests to the APIs of each travel service provider (e.g., airline ticket providers, accommodation providers, car rental providers) based on the destination and itinerary.

[0455] 5. The server receives a response from the travel service provider.

[0456] Each travel service provider will send a response containing multiple travel options based on the specified destination and dates.

[0457] 6. The server selects the cheapest travel option.

[0458] The server analyzes the multiple travel options received, compares prices, and selects the cheapest flights, accommodations, and rental cars.

[0459] 7. The server generates information on the cheapest option and sends it back to the terminal.

[0460] The server compiles detailed information about the cheapest travel option in JSON format and sends it back to the terminal.

[0461] 8. The device displays the lowest price information to the user.

[0462] The device analyzes the information on the cheapest option received and displays it to the user in a visually easy-to-understand format.

[0463] Specific example

[0464] When a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[0465] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[0466] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0467] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0468] 4. The server compares those prices and selects the cheapest option.

[0469] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[0470] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[0471] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[0472] The following describes the processing flow.

[0473] Step 1:

[0474] The user enters the destination and dates.

[0475] The user enters the destination for which they want to plan a trip (e.g., Tokyo), and the start and end dates of the trip (e.g., 2023-12-01 to 2023-12-07) into the terminal's interface.

[0476] Step 2:

[0477] The terminal sends destination and date data received from the user to the server.

[0478] The terminal packages the data entered by the user in JSON format and sends it to the server.

[0479] Step 3:

[0480] The server analyzes the data it receives.

[0481] The server parses the JSON data received from the terminal and extracts destination and date information individually.

[0482] Step 4:

[0483] The server prepares to send a request to the travel service provider's API.

[0484] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[0485] Convert destination and date information into a format suitable for API requests.

[0486] Step 5:

[0487] The server sends API requests to each travel service provider.

[0488] The server sends requests to each API endpoint based on the destination and date.

[0489] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[0490] Step 6:

[0491] The server analyzes the response received from the travel service provider.

[0492] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to obtain a list of travel options.

[0493] Each travel option includes price, details, provider information, and more.

[0494] Step 7:

[0495] The server selects the cheapest travel option.

[0496] Compare the prices of each travel option and select the cheapest airfare, cheapest accommodation, and cheapest rental car.

[0497] The server stores not only the cheapest option, but also its details (e.g., flight schedule, hotel location, rental car model).

[0498] Step 8:

[0499] The server sends information about the cheapest option it has selected back to the terminal.

[0500] The server compiles detailed information about the selected cheapest option in JSON format and sends it back to the terminal.

[0501] Step 9:

[0502] The device displays the lowest price information to the user.

[0503] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[0504] Users can view specific prices and detailed information (e.g., airfare ¥30,000, hotel ¥15,000, rental car ¥5,000).

[0505] The above is the specific processing flow of the program.

[0506] (Example 1)

[0507] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0508] Currently, many users spend considerable time and effort individually researching the websites of multiple travel service providers to find the best travel plan based on their destination and dates. Therefore, there is a need to streamline and optimize travel planning. However, current systems require users to manually collect information and compare prices, a process that is extremely cumbersome. The present invention aims to solve this problem and provide a system that enables users to find the best travel plan in the shortest possible time.

[0509] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0510] In this invention, the server includes means for receiving destination data and date data from a user, means for analyzing the destination data and date data and sending data requests to multiple travel service providers, and means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option from each. This allows the user to easily obtain the cheapest option from multiple travel service providers with a single input, thereby streamlining travel planning.

[0511] "Destination data" refers to information about the destinations that users wish to travel to.

[0512] "Date data" refers to information about the start and end dates of the user's planned trip.

[0513] A "user" is an individual or group that uses the system to search for travel plans and find the best travel options.

[0514] A "terminal" is a device used to send destination and date data entered by the user to a server, and includes computers, smartphones, and other similar devices.

[0515] A "server" is a computer system that analyzes data received from users, sends data requests to multiple travel service providers, and selects the cheapest travel option.

[0516] A "travel service provider" is a company or organization that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0517] A "data request" is a request to inquire about travel options from a travel service provider based on destination and date data.

[0518] "Travel options" refer to choices of travel-related products and services offered by travel service providers under specific conditions.

[0519] The "cheapest option" is the lowest-priced choice among several travel options offered under specified conditions.

[0520] A "prompt message" is text data that is input into a generative AI model and expresses a specific request or instruction.

[0521] A "generative AI model" is an artificial intelligence model that generates responses and recommendations in response to input prompts.

[0522] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[0523] Specifically, the system works as follows:

[0524] The user enters their planned travel destination, start date, and end date into the interface on their device. This data is converted to JSON format and sent to the server via the HTTPS protocol. The server parses the received JSON data and stores the destination and dates in separate variables.

[0525] Next, the server sends data requests to multiple travel service providers using the configured variables. The data requests are sent using each travel service provider's API. An HTTP GET request is generated and accesses each API endpoint.

[0526] Upon receiving responses from each travel service provider, the server analyzes these responses and extracts pricing information. The server then analyzes the retrieved travel options, compares prices, and selects the cheapest airfare, accommodation, and rental car. Finally, it compiles detailed information of the cheapest option in JSON format and sends it back to the terminal.

[0527] The device analyzes the information on the cheapest options it receives and displays it to the user in a visually easy-to-understand format. For example, it displays a list of flight prices, providers, accommodation rates, and rental car costs, making it easier for the user to make a choice.

[0528] To give a concrete example, if a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[0529] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[0530] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0531] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0532] 4. The server compares those prices and selects the cheapest option.

[0533] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[0534] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[0535] Furthermore, here is an example of a prompt using a generative AI model:

[0536] "You have entered 'Tokyo' as the destination, '2023-12-01' as the start date, and '2023-12-07' as the end date. Please search for the cheapest travel option under these conditions."

[0537] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[0538] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0539] Step 1:

[0540] The user enters the destination and dates.

[0541] Input: The user enters the destination of their planned trip (e.g., "Tokyo") and the dates of the trip (e.g., from "2023-12-01" to "2023-12-07") into the terminal interface.

[0542] Specific action: The user enters the destination and date into the input form on the device and presses the search button.

[0543] Output: Destination and date data are entered into the terminal.

[0544] Step 2:

[0545] The device sends this data to the server.

[0546] Input: Destination and date data entered by the user in Step 1.

[0547] Specific operation: The terminal converts destination data and date data into JSON format and sends it to the server using the HTTPS protocol.

[0548] Output: Data in JSON format is sent to the server.

[0549] Step 3:

[0550] The server analyzes the destination and date data it receives.

[0551] Input: Destination and date data in JSON format sent from the terminal.

[0552] Specific operation: The server parses the received JSON data and uses a JSON parser to store destination and schedule information in individual variables.

[0553] Output: Variables for the analyzed destination ("Tokyo") and dates ("2023-12-01" to "2023-12-07").

[0554] Step 4:

[0555] The server sends data requests to the APIs of each travel service provider.

[0556] Input: Destination data and date data held as variables within the server.

[0557] Specific operation: The server creates a GET request and sends the request to API endpoints such as airline ticket providers, accommodation providers, and car rental providers.

[0558] Output: API requests to multiple travel service providers.

[0559] Step 5:

[0560] The server receives a response from the travel service provider.

[0561] Input: Responses from each travel service provider to whom an API request was sent.

[0562] Specific operation: The server receives responses from each API and parses their contents in JSON format.

[0563] Output: Data on multiple travel options (flights, accommodations, rental cars, etc.) obtained.

[0564] Step 6:

[0565] The server selects the cheapest travel option.

[0566] Input: Data on multiple travel options obtained from each travel service provider.

[0567] Specific operation: The server compares the price information of the received travel options and selects the cheapest flights, accommodations, and rental cars.

[0568] Output: Data on the cheapest option (e.g., airfare ¥30,000, accommodation ¥15,000, rental car ¥5,000).

[0569] Step 7:

[0570] The server generates information on the cheapest option and sends it back to the terminal.

[0571] Input: Data for the cheapest option selected by the server.

[0572] Specific operation: The server compiles detailed information about the cheapest option in JSON format and sends it back to the terminal as an HTTP response.

[0573] Output: Information in JSON format on the cheapest option.

[0574] Step 8:

[0575] The device displays the lowest price information to the user.

[0576] Input: JSON format information of the cheapest option returned from the server.

[0577] Specific operation: The terminal analyzes the received information and displays it to the user in a visually easy-to-understand format. For example, it displays a list of airline ticket prices and providers, accommodation fees, and rental car costs.

[0578] Output: Displays detailed information of the cheapest option available to the user.

[0579] (Application Example 1)

[0580] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0581] Traditional travel planning systems required users to input their destination and dates, then review information from multiple travel service providers and compare their options, which was a very cumbersome process. Furthermore, there was a need for a system with high user interactivity and intuitive operation. Additionally, the lack of real-time interaction with the user in presenting travel options necessitated a more user-friendly travel planning system.

[0582] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0583] In this invention, the server includes means for receiving destination data and date data from a user; means for analyzing the destination data and date data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option; means for providing the user with information on the selected cheapest option; means for the user to input destination data and date data via voice or touch panel; and means for a robot terminal to transmit the input data and display the returned data via voice and touch panel. This enables the user to efficiently search for and confirm the optimal travel option using an intuitive interface, and enables real-time interactive travel planning support.

[0584] 1. "Destination data" refers to geographical location information that a user designates as their travel destination.

[0585] 2. "Date data" refers to the specific date and time information where the user plans to start and end their trip.

[0586] 3. "Travel service provider" refers to a business that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0587] 4. A "data request" refers to a request sent from a server to an external API or database in order to retrieve specific information.

[0588] 5. "Travel options" refer to multiple choices offered by a travel service provider, which may include different prices and conditions.

[0589] 6. A "robot terminal" is an autonomous electronic device that enables interactive dialogue with the user and has voice input and touch panel functions.

[0590] 7. A "touch panel" refers to a display device that allows users to input information by directly touching it.

[0591] 8. "Voice input" refers to a method in which the system recognizes what the user says through a microphone and processes it as input data.

[0592] 9. "Comparison" refers to the process of evaluating the characteristics and prices of multiple travel options and selecting the best one.

[0593] 10. An "API request" is a request format used to access the functions or data of an external service through an application programming interface.

[0594] This invention relates to a system that searches for and provides optimal travel options simply by the user entering destination and date data. This system is implemented by combining a robotic terminal, a server, and APIs from multiple travel service providers.

[0595] Hardware and software configuration

[0596] 1. User input method

[0597] The user inputs destination and date data into the robot terminal using voice input or a touch panel. The robot terminal uses a microphone device and voice recognition software for voice input, and a touchscreen device for touch panel input.

[0598] 2. Data transmission and reception

[0599] The robot terminal transmits destination and date data received from the user to the server via Wi-Fi communication. The transmitted data is in JSON format.

[0600] 3. Server processing

[0601] The server analyzes the received destination and date data and sends data requests to multiple travel service providers' APIs based on this information. The data requests are in API request format.

[0602] 4. Server response analysis

[0603] The server receives responses from each travel service provider and analyzes multiple travel options. The analysis compares factors such as price and conditions to select the cheapest option.

[0604] 5. Provision of selection results

[0605] The server compiles information on the selected, least expensive option in JSON format and sends it back to the robot terminal. The robot terminal receives this information and provides it to the user visually and audibly.

[0606] Data processing and calculation

[0607] The server stores the received destination and date data in individual variables and generates API requests based on them. The response data is compared based on price and conditions to extract the best travel options.

[0608] Specific example

[0609] 1. The user enters the destination "Tokyo" and the dates "2023-12-01~2023-12-07" into the robot terminal by voice.

[0610] 2. The robot terminal sends this input data to the server in JSON format.

[0611] 3. The server analyzes the destination and itinerary and sends an API request to the travel service provider.

[0612] 4. The server receives and analyzes responses from multiple providers (e.g., airline tickets, accommodations, rental cars). For example, it might return data such as ¥30,000 for airline tickets, ¥15,000 for hotels, and ¥5,000 for rental cars.

[0613] 5. The server compares prices and selects the cheapest option.

[0614] 6. The server returns the selection results to the robot terminal in JSON format.

[0615] 7. The robot terminal displays the information it receives via voice and touch panel, providing the user with detailed information.

[0616] Example of a prompt

[0617] An example of a prompt message when using a generative AI model is as follows:

[0618] "We are developing a travel planning system. Please generate a program for an application that, upon inputting a destination and dates, searches for the cheapest travel options in real time and presents them to the user. The system will obtain the destination and dates via voice input and touch panel, collect data from multiple travel service providers using API requests, and select and display the cheapest option."

[0619] As described above, the present invention enables users to create intuitive and efficient travel plans, and real-time support makes travel planning even smoother.

[0620] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0621] Step 1:

[0622] The user inputs destination and date data into the robot terminal. Input can be done via voice or touch panel. The entered destination and date data is temporarily stored in the robot terminal's memory. The input for this step is destination and date data, and the output is the data stored in the robot terminal.

[0623] Step 2:

[0624] The robot terminal converts the input data into JSON format and sends it to the server. In this step, the robot terminal uses Wi-Fi communication to send data to the server. The input is destination data and date data entered by the user, and the output is the JSON format data sent to the server.

[0625] Step 3:

[0626] The server parses the destination and date data it receives. The server parses the data and stores each in individual variables (e.g., destination, start_date, end_date). The input for this step is data in JSON format, and the output is the parsed variables.

[0627] Step 4:

[0628] The server sends data requests to the APIs of multiple travel service providers. Based on the parsed destination and date data, the server sends HTTP requests to the API endpoints of each travel service provider. The input to this step is the parsed data, and the output is the API requests.

[0629] Step 5:

[0630] The server receives and analyzes responses from travel service providers. Each provider's response data includes pricing and terms of travel options. The input for this step is API response data, and the output is the analyzed travel option data.

[0631] Step 6:

[0632] The server compares multiple travel options and selects the cheapest one. The server performs a comparison calculation based on price data to select the lowest-priced option. The input for this step is the analyzed travel options data, and the output is the data for the selected cheapest option.

[0633] Step 7:

[0634] The server compiles information on the cheapest selected option in JSON format and sends it back to the robot terminal. In this step, the selected information is converted back to JSON format and sent to the robot terminal via Wi-Fi communication. The input is the data for the cheapest option, and the output is the JSON format data sent to the robot terminal.

[0635] Step 8:

[0636] The robot terminal analyzes the information it receives and provides it to the user visually and audibly. The robot terminal analyzes JSON data, displays visual information on a touch panel, and provides voice guidance to the user. The input for this step is JSON data received from the server, and the output is the display of information and voice guidance for the user.

[0637] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0638] This invention relates to a system that searches for and provides optimal travel options to a user simply by inputting a destination and dates, and further includes an emotion engine for recognizing the user's emotions and suggesting appropriate options. Based on user input, this system acquires information from multiple travel service providers and not only presents the optimal travel plan, but also provides a more satisfying travel plan by customizing it according to the user's emotions.

[0639] Explain the program's processing in natural language.

[0640] 1. The user enters the destination and dates.

[0641] The user enters their planned travel destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[0642] When a user interacts with the interface, the emotion engine acquires emotional data from the user's facial expressions, voice analysis, input speed, and other factors.

[0643] 2. The device sends destination data, date data, and sentiment data received from the user to the server.

[0644] The device packages the data entered by the user and the sentiment data obtained from the sentiment engine in JSON format and sends it to the server.

[0645] 3. The server analyzes the data it receives.

[0646] The server analyzes the JSON data received from the terminal, extracts destination and date information individually, and then analyzes sentiment data.

[0647] 4. The server prepares to send a request to the travel service provider's API.

[0648] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[0649] Convert destination and date information into a format suitable for API requests.

[0650] 5. The server sends API requests to each travel service provider.

[0651] The server sends requests to each API endpoint based on the destination and date.

[0652] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[0653] 6. The server analyzes the response received from the travel service provider.

[0654] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to retrieve multiple travel options.

[0655] Each travel option includes price, details, provider information, and more.

[0656] 7. The server selects the cheapest travel option, taking sentiment data into consideration.

[0657] The server selects the cheapest flights, accommodations, and rental cars based on price, and also optimizes the recommendations by taking into account the user's sentiment data.

[0658] For example, if a user is experiencing stress, options that prioritize comfort will be selected as the primary choice.

[0659] 8. The server sends information about the cheapest option it has selected back to the terminal.

[0660] The server compiles the selected lowest-priced option and the optimization details based on sentiment into JSON format and sends it back to the terminal.

[0661] 9. The device displays the lowest price information and sentiment-based suggestions to the user.

[0662] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[0663] Users can view specific prices and detailed information, as well as receive emotion-based optimization suggestions (e.g., relaxing hotels, convenient flight times, etc.).

[0664] Specific example

[0665] If a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[0666] 1. The device sends data to the server indicating its location as "Tokyo," the date range as "2023-12-01~2023-12-07," and the user's emotional state, indicating they are experiencing stress.

[0667] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0668] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0669] 4. The server compares those prices and selects the cheapest option. It also takes into account the user's stress level and prioritizes relaxing accommodations and convenient flight times.

[0670] 5. The server sends information about the selected options back to the terminal.

[0671] 6. The device displays the user the cheapest option and sentiment-based optimization suggestions, allowing the user to view details and pricing for each option.

[0672] This system allows users to easily find the cheapest options from multiple travel service providers simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences, resulting in a more satisfying travel planning experience.

[0673] The following describes the processing flow.

[0674] Step 1:

[0675] The user enters the destination and dates.

[0676] To plan their trip, the user enters their destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[0677] At the same time, the device activates an emotion engine to recognize the user's facial expressions and voice, and acquires the user's emotional data.

[0678] Step 2:

[0679] The device sends destination data, date data, and sentiment data received from the user to the server.

[0680] The terminal combines the destination and date data entered by the user, along with the emotion data generated by the emotion engine (e.g., stressed state, relaxed state), into a JSON format and sends it to the server.

[0681] Step 3:

[0682] The server analyzes the data it receives.

[0683] The server analyzes the JSON data received from the terminal and extracts the destination, schedule information, and emotional state entered by the user.

[0684] Step 4:

[0685] The server prepares to send a request to the travel service provider's API.

[0686] The server configures API endpoints for the necessary flight, accommodation, and rental car service providers and converts destination and itinerary information into a request format.

[0687] At the same time, additional parameters are set based on emotional data (for example, prioritizing relaxation or cost).

[0688] Step 5:

[0689] The server sends API requests to each travel service provider.

[0690] The server sends asynchronous requests to the API endpoints of each travel service provider.

[0691] This request includes data based on destination and dates, as well as parameters corresponding to sentiment data.

[0692] Step 6:

[0693] The server analyzes the response received from the travel service provider.

[0694] The server analyzes the response data of multiple travel options received from the provider and extracts prices and detailed information.

[0695] Step 7:

[0696] The server selects the cheapest travel option and optimizes it based on sentiment data.

[0697] The server compares the prices of the extracted travel options and selects the cheapest option for each: airfare, accommodation, and rental car.

[0698] By considering emotional data (e.g., stress levels), the cheapest selected option is optimized to meet the user's needs (e.g., choosing relaxing accommodations or flight times that reduce stress).

[0699] Step 8:

[0700] The server sends information about the cheapest option it has selected back to the terminal.

[0701] The server compiles the cheapest option and optimized suggestions based on sentiment data into JSON format and sends them back to the terminal.

[0702] Step 9:

[0703] The device displays the lowest price information and sentiment-based suggestions to the user.

[0704] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[0705] Users can see optimized suggestions based on sentiment data, along with specific pricing and detailed information (for example, relaxing accommodations or convenient flight times).

[0706] (Example 2)

[0707] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0708] Traditional travel planning systems offer multiple travel options based on the user's input of destination and dates, but they fail to provide suggestions that take into account the user's emotional state. Therefore, they are unable to provide optimal travel plans tailored to the user's psychological state, making it difficult to create highly satisfying travel plans.

[0709] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0710] In this invention, the server includes means for receiving destination data, date data, and sentiment data from a user; means for analyzing the destination data, date data, and sentiment data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers, selecting the cheapest option, and optimizing the suggested content based on the sentiment data; and means for providing the user with the selected cheapest option and the suggested content optimized based on the sentiment data. This makes it possible to propose an optimal travel plan that is tailored to the user's emotional state. Furthermore, by providing the cheapest option, the user's financial burden can be reduced and their satisfaction with the travel plan can be improved.

[0711] "Destination data" refers to geographical information that users enter as their travel destination.

[0712] "Date data" refers to information that indicates the user's travel start and end dates.

[0713] "Emotional data" refers to information that indicates the user's psychological state, obtained from factors such as facial expression recognition, voice analysis, and input speed.

[0714] A "travel service provider" is a company or organization that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0715] A "data request" is a communication made by a server to a travel service provider's system to request specific information.

[0716] "Travel options" include multiple travel-related choices, specifically including options for flights, accommodations, and car rentals.

[0717] "The cheapest option" refers to the travel option with the lowest price.

[0718] "Optimizing the suggested content" means taking user emotional data into consideration and selecting the travel option that best suits the user's psychological state.

[0719] Modes for carrying out the invention

[0720] This invention provides a system that searches for and presents optimal travel options to a user simply by having them input their destination and dates. Furthermore, it includes an emotion engine that recognizes the user's emotions and suggests appropriate options. Based on the user's input, this system acquires information from multiple travel service providers and not only presents the optimal travel plan, but also provides a more satisfying travel plan by customizing it according to the user's emotions.

[0721] System Configuration

[0722] This system includes the following main components:

[0723] User Interface (Terminal): Through this interface, the user inputs destination data, date data, and sentiment data.

[0724] Emotion engine: This is software that generates emotion data from the user's facial expressions, voice, and input speed. For example, an emotion recognition API can be used.

[0725] Server: Analyzes data and sends requests to travel service provider APIs. The server includes data management and analysis modules.

[0726] Travel service provider APIs: Utilize APIs from external services that offer travel options such as flights, accommodations, and rental cars.

[0727] Process Overview

[0728] 1. Processing user input

[0729] The user enters their travel destination (e.g., "Tokyo") and travel dates (e.g., "2023-12-01~2023-12-07") from their home device. Simultaneously, the emotion engine acquires and analyzes emotional data from the user's facial expressions and voice.

[0730] 2. Data transmission and analysis

[0731] The device compiles the collected destination data, date data, and sentiment data into JSON format and sends it to the server. The server analyzes the received data, extracts the destination and date, and further analyzes the sentiment data.

[0732] 3. Generating and sending API requests

[0733] The server generates the appropriate requests to each travel service provider's API endpoint and sends data requests based on destination and itinerary information. API requests are sent asynchronously, and other requests are processed while waiting for each response.

[0734] 4. Aggregation and comparison of responses

[0735] The server receives and analyzes responses from each travel service provider. It compares the acquired travel options (flights, accommodations, rental cars) and selects the cheapest option. At the same time, it considers the user's sentiment data to generate optimal recommendations.

[0736] 5. Data return and display

[0737] The server returns the selected lowest-priced option and optimized suggestions based on sentiment data to the terminal in JSON format. The terminal parses this and displays it to the user. The user reviews the specific price and details and receives optimized suggestions based on sentiment.

[0738] Specific example

[0739] For example, if a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[0740] 1. The device sends destination data ("Tokyo"), dates ("2023-12-01~2023-12-07"), and emotional data ("feeling stressed") to the server.

[0741] 2. The server analyzes destination and itinerary data and sends data requests to the APIs of each travel service provider.

[0742] 3. The server receives responses from multiple providers (¥30,000 for airfare, ¥15,000 for hotel, and ¥5,000 for rental car).

[0743] 4. The server compares the received data and selects the cheapest option. At the same time, since the user is stressed, it chooses accommodation that promotes relaxation.

[0744] 5. The server sends information about the selected options back to the terminal.

[0745] 6. The device displays the user the cheapest option and optimized suggestions based on sentiment data, allowing the user to view details and pricing for each option.

[0746] Example of a prompt

[0747] "My destination is Tokyo, and my travel dates are from December 1st to December 7th, 2023. I'm feeling stressed right now. Please help me find the best travel options."

[0748] This allows users to easily find the best travel options simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences.

[0749] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0750] Step 1:

[0751] The user enters the destination and dates.

[0752] Input: The user enters the travel destination (e.g., "Tokyo") and dates (e.g., "2023-12-01~2023-12-07").

[0753] Specific operation: When a user inputs data into the device interface, the emotion engine analyzes the user's facial expressions, voice, and input speed to generate emotion data.

[0754] Output: Destination data, date data, and sentiment data have been entered.

[0755] Step 2:

[0756] The device sends destination data, date data, and sentiment data received from the user to the server.

[0757] Input: Destination data, date data, and sentiment data received from the user.

[0758] Specific operation: The terminal packages this data in JSON format and sends it to the server via an HTTP POST request.

[0759] Output: Data in JSON format is sent to the server.

[0760] Step 3:

[0761] The server analyzes the data it receives.

[0762] Input: JSON data sent from the terminal.

[0763] Specific operation: The server uses a JSON parser to extract destination data, date data, and sentiment data separately.

[0764] Output: Extracted destination, date, and sentiment data are available.

[0765] Step 4:

[0766] The server configures the API endpoint for the travel service provider.

[0767] Input: Extracted destination data, date data.

[0768] Specific operation: The server configures API endpoints for each service provider, including airline tickets, accommodations, and car rentals. It converts destination and itinerary information into a format suitable for each API.

[0769] Output: Data for API requests is prepared.

[0770] Step 5:

[0771] The server sends API requests to each travel service provider.

[0772] Input: Prepared data for API requests.

[0773] Specific operation: The server sends requests asynchronously to each API endpoint. For example, it sends a query like "destination=Tokyo&start_date=2023-12-01&end_date=2023-12-07" to the flight search API.

[0774] Output: API requests are sent to each provider.

[0775] Step 6:

[0776] The server analyzes the response received from the travel service provider.

[0777] Input: JSON response returned from each travel service provider.

[0778] Specific operation: The server analyzes the response data and extracts each travel option (price, details, provider information).

[0779] Output: Multiple travel options are analyzed and compiled.

[0780] Step 7:

[0781] The server selects the cheapest travel option, taking sentiment data into consideration.

[0782] Input: Analyzed data on multiple travel options and sentiment.

[0783] Specific operation: The server sorts options by price and selects the cheapest one. At the same time, it optimizes the recommendations based on the user's emotional data. For example, if the user is feeling stressed, it will select relaxing accommodations.

[0784] Output: The selected lowest-priced option and optimized proposal content will be compiled.

[0785] Step 8:

[0786] The server sends information about the selected options back to the terminal.

[0787] Input: A curated selection of the lowest-priced options and optimized proposals.

[0788] Specific operation: The server compiles this information into JSON format and sends it to the terminal as an HTTP response.

[0789] Output: A response data in JSON format is sent back to the terminal.

[0790] Step 9:

[0791] The device displays the lowest price information and sentiment-based suggestions to the user.

[0792] Input: JSON response received from the server.

[0793] Specific operation: The device analyzes response data and displays detailed information on the cheapest flights, accommodations, and rental cars to the user. Optimized suggestions based on sentiment data are also displayed.

[0794] Output: Detailed information and optimization suggestions are visually presented to the user.

[0795] (Application Example 2)

[0796] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0797] Traditional shopping plan systems provide optimal plans simply by having users input their desired locations and dates, but they have a problem in that they do not take into account the user's emotional state, resulting in insufficient optimization of the experience. In particular, when users are feeling stressed or fatigued, they cannot receive suggestions that are appropriate to their state, making it difficult to provide a comfortable shopping experience.

[0798] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving destination data and date data from the user, means for analyzing the destination data and date data and sending data requests to multiple facility service providers, means for comparing multiple options obtained from the facility service providers and selecting the cheapest option, means for acquiring and analyzing the user's emotional data, and means for customizing and providing information on the selected cheapest option based on the user's emotional data. This makes it possible to provide an optimal shopping plan that is tailored to the user's emotional state.

[0799] "Destination data" refers to information about places or destinations that a user wants to visit.

[0800] "Date data" refers to information about the date the user plans to visit.

[0801] "Facility service providers" refer to stores or companies that provide goods or services.

[0802] A "data request" is a request that a server sends to a facility service provider in order to obtain necessary information.

[0803] An "option" refers to a set of choices presented to a user.

[0804] "Emotional data" refers to information about a user's emotions, obtained from their facial expressions, voice, input speed, etc.

[0805] "Customization" refers to individually adjusting standard options based on the user's specific needs and preferences.

[0806] This invention relates to a system that acquires user destination and date data and proposes an optimal shopping plan based on that data. Furthermore, this system has the function of acquiring and analyzing user emotional data and providing customized suggestions according to the user's emotional state.

[0807] System Configuration

[0808] This system is broadly composed of the following elements:

[0809] 1. User Terminal: Provides an interface for the user to input destination and date data and to acquire sentiment data. Sentiment data is obtained from facial recognition, voice analysis, input speed, etc.

[0810] 2. Server: Analyzes destination data, date data, and sentiment data received from the user terminal and sends data requests to multiple facility service providers. Furthermore, it compares the acquired options and selects the least expensive option. Based on the user's sentiment data, it customizes the selected option and presents it to the user.

[0811] Hardware and software to be used

[0812] User device: A device such as a smartphone or tablet. It uses a camera and microphone to acquire emotional data.

[0813] Emotion Engine: Uses emotion recognition libraries such as EmotionEngine to analyze emotions from the user's facial expressions, voice, and input speed.

[0814] Server: Performs API communication to make data requests. It uses programming languages ​​such as Python or Node.js, and the communication protocol is HTTP or HTTPS.

[0815] System processing

[0816] This system begins with the user entering destination and date data on a user terminal. Next, it analyzes the user's sentiment. The acquired data is sent to a server, which processes it and sends appropriate data requests to facility service providers. After multiple options are returned, the system selects the least expensive option and customizes it based on the user's sentiment data.

[0817] Specific example

[0818] For example, suppose a user plans to visit a "store in Ginza" on "2023-11-20". In this case, the user enters the destination and date using their smartphone. Simultaneously, emotion recognition software analyzes the user's facial expressions and voice to detect if they are stressed. This data is sent to a server, which then sends data requests to multiple facility service providers. The server analyzes the returned options and selects the cheapest plan. At the same time, taking into account the user's stress levels, it suggests relaxing stores or rest areas.

[0819] Example of a prompt

[0820] "For a user visiting stores in Ginza on November 20, 2023, please suggest the optimal shopping plan if their emotions are perceived as stressful. Please also recommend stores with relaxing rest areas and pleasant fragrances."

[0821] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0822] Step 1:

[0823] The user enters a destination and date. The entered data is acquired as destination data (e.g., "Ginza store") and date data (e.g., "2023-11-20"). Simultaneously, the device uses the camera and microphone to acquire emotional data from the user's facial expressions and voice. Specifically, it uses an emotion recognition library such as EmotionEngine to analyze whether the user is experiencing stress. The user device receives destination data, date data, and emotional data as input and packages this data.

[0824] Step 2:

[0825] The terminal sends packaged data to the server. The data is in JSON format and includes destination data, date data, and sentiment data. The terminal's role is to accurately send the data to the server. It receives packaged data as input and sends it to the server as output.

[0826] Step 3:

[0827] The server parses the received data. First, it extracts destination and date data, and then parses sentiment data. Specifically, once the data is formatted appropriately, it stores destination and date information, and sentiment status, into specific variables. The server's input is JSON data from the terminal, and its output is the parsed destination, date, and sentiment information.

[0828] Step 4:

[0829] The server sends data requests to multiple facility service providers. The server uses the retrieved destination and date data to send requests to multiple API endpoints. While waiting for responses from each facility service provider, it processes other requests asynchronously. The input is the parsed destination and date data, and the output is the response data from each facility service provider.

[0830] Step 5:

[0831] The server analyzes responses received from facility service providers and compares multiple options. In particular, it selects the cheapest option based on price and service content. For example, it evaluates product and service lists from multiple stores based on price and features to determine the optimal choice. The input is response data from facility service providers, and the output is the selected cheapest option.

[0832] Step 6:

[0833] The server customizes selected options based on the user's emotional data. If the user is feeling stressed, it adds suggestions for relaxing stores or rest areas. Specifically, it uses an algorithm based on emotional data to optimize standard suggestions for the user's specific state. The inputs are the selected options and emotional data, and the output is the customized options.

[0834] Step 7:

[0835] The server ultimately sends the customized information to the user's terminal. The data is then packaged again in JSON format and sent to the user along with appropriate suggestions. The input is the customized options, and the output is the transmission of the final data to the user's terminal.

[0836] Step 8:

[0837] The terminal displays data received from the server to the user. The user can review the information displayed on the screen and select the optimal shopping plan or suggestion. The terminal visually presents the user with details about destinations, recommended stores, and specific products. Input is data from the server, and output is what is displayed to the user.

[0838] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0839] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0840] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.

[0841] [Third Embodiment]

[0842] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0843] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0844] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0845] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.

[0846] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0847] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0848] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0849] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0850] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0852] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0853] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0854] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[0855] Explain the program's processing in natural language.

[0856] 1. The user enters the destination and dates.

[0857] The user enters their planned travel destination, as well as the start and end dates of their trip, into the interface on their device.

[0858] 2. The device sends this data to the server.

[0859] The terminal sends the destination and date data entered by the user to the server in JSON format.

[0860] 3. The server analyzes the destination and date data it receives.

[0861] The server analyzes the received data and stores the destination and date in individual variables.

[0862] 4. The server sends data requests to the APIs of each travel service provider.

[0863] The server sends data requests to the APIs of each travel service provider (e.g., airline ticket providers, accommodation providers, car rental providers) based on the destination and itinerary.

[0864] 5. The server receives a response from the travel service provider.

[0865] Each travel service provider will send a response containing multiple travel options based on the specified destination and dates.

[0866] 6. The server selects the cheapest travel option.

[0867] The server analyzes the multiple travel options received, compares prices, and selects the cheapest flights, accommodations, and rental cars.

[0868] 7. The server generates information on the cheapest option and sends it back to the terminal.

[0869] The server compiles detailed information about the cheapest travel option in JSON format and sends it back to the terminal.

[0870] 8. The device displays the lowest price information to the user.

[0871] The device analyzes the information on the cheapest option received and displays it to the user in a visually easy-to-understand format.

[0872] Specific example

[0873] When a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[0874] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[0875] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0876] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0877] 4. The server compares those prices and selects the cheapest option.

[0878] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[0879] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[0880] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[0881] The following describes the processing flow.

[0882] Step 1:

[0883] The user enters the destination and dates.

[0884] The user enters the destination for which they want to plan a trip (e.g., Tokyo), and the start and end dates of the trip (e.g., 2023-12-01 to 2023-12-07) into the terminal's interface.

[0885] Step 2:

[0886] The terminal sends destination and date data received from the user to the server.

[0887] The terminal packages the data entered by the user in JSON format and sends it to the server.

[0888] Step 3:

[0889] The server analyzes the data it receives.

[0890] The server parses the JSON data received from the terminal and extracts destination and date information individually.

[0891] Step 4:

[0892] The server prepares to send a request to the travel service provider's API.

[0893] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[0894] Convert destination and date information into a format suitable for API requests.

[0895] Step 5:

[0896] The server sends API requests to each travel service provider.

[0897] The server sends requests to each API endpoint based on the destination and date.

[0898] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[0899] Step 6:

[0900] The server analyzes the response received from the travel service provider.

[0901] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to obtain a list of travel options.

[0902] Each travel option includes price, details, provider information, and more.

[0903] Step 7:

[0904] The server selects the cheapest travel option.

[0905] Compare the prices of each travel option and select the cheapest airfare, cheapest accommodation, and cheapest rental car.

[0906] The server stores not only the cheapest option, but also its details (e.g., flight schedule, hotel location, rental car model).

[0907] Step 8:

[0908] The server sends information about the cheapest option it has selected back to the terminal.

[0909] The server compiles detailed information about the selected cheapest option in JSON format and sends it back to the terminal.

[0910] Step 9:

[0911] The device displays the lowest price information to the user.

[0912] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[0913] Users can view specific prices and detailed information (e.g., airfare ¥30,000, hotel ¥15,000, rental car ¥5,000).

[0914] The above is the specific processing flow of the program.

[0915] (Example 1)

[0916] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0917] Currently, many users spend considerable time and effort individually researching the websites of multiple travel service providers to find the best travel plan based on their destination and dates. Therefore, there is a need to streamline and optimize travel planning. However, current systems require users to manually collect information and compare prices, a process that is extremely cumbersome. The present invention aims to solve this problem and provide a system that enables users to find the best travel plan in the shortest possible time.

[0918] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0919] In this invention, the server includes means for receiving destination data and date data from a user, means for analyzing the destination data and date data and sending data requests to multiple travel service providers, and means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option from each. This allows the user to easily obtain the cheapest option from multiple travel service providers with a single input, thereby streamlining travel planning.

[0920] "Destination data" refers to information about the destinations that users wish to travel to.

[0921] "Date data" refers to information about the start and end dates of the user's planned trip.

[0922] A "user" is an individual or group that uses the system to search for travel plans and find the best travel options.

[0923] A "terminal" is a device used to send destination and date data entered by the user to a server, and includes computers, smartphones, and other similar devices.

[0924] A "server" is a computer system that analyzes data received from users, sends data requests to multiple travel service providers, and selects the cheapest travel option.

[0925] A "travel service provider" is a company or organization that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0926] A "data request" is a request to inquire about travel options from a travel service provider based on destination and date data.

[0927] "Travel options" refer to choices of travel-related products and services offered by travel service providers under specific conditions.

[0928] The "cheapest option" is the lowest-priced choice among several travel options offered under specified conditions.

[0929] A "prompt message" is text data that is input into a generative AI model and expresses a specific request or instruction.

[0930] A "generative AI model" is an artificial intelligence model that generates responses and recommendations in response to input prompts.

[0931] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[0932] Specifically, the system works as follows:

[0933] The user enters their planned travel destination, start date, and end date into the interface on their device. This data is converted to JSON format and sent to the server via the HTTPS protocol. The server parses the received JSON data and stores the destination and dates in separate variables.

[0934] Next, the server sends data requests to multiple travel service providers using the configured variables. The data requests are sent using each travel service provider's API. An HTTP GET request is generated and accesses each API endpoint.

[0935] Upon receiving responses from each travel service provider, the server analyzes these responses and extracts pricing information. The server then analyzes the retrieved travel options, compares prices, and selects the cheapest airfare, accommodation, and rental car. Finally, it compiles detailed information of the cheapest option in JSON format and sends it back to the terminal.

[0936] The device analyzes the information on the cheapest options it receives and displays it to the user in a visually easy-to-understand format. For example, it displays a list of flight prices, providers, accommodation rates, and rental car costs, making it easier for the user to make a choice.

[0937] To give a concrete example, if a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[0938] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[0939] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[0940] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[0941] 4. The server compares those prices and selects the cheapest option.

[0942] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[0943] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[0944] Furthermore, here is an example of a prompt using a generative AI model:

[0945] "You have entered 'Tokyo' as the destination, '2023-12-01' as the start date, and '2023-12-07' as the end date. Please search for the cheapest travel option under these conditions."

[0946] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[0947] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0948] Step 1:

[0949] The user enters the destination and dates.

[0950] Input: The user enters the destination of their planned trip (e.g., "Tokyo") and the dates of the trip (e.g., from "2023-12-01" to "2023-12-07") into the terminal interface.

[0951] Specific action: The user enters the destination and date into the input form on the device and presses the search button.

[0952] Output: Destination and date data are entered into the terminal.

[0953] Step 2:

[0954] The device sends this data to the server.

[0955] Input: Destination and date data entered by the user in Step 1.

[0956] Specific operation: The terminal converts destination data and date data into JSON format and sends it to the server using the HTTPS protocol.

[0957] Output: Data in JSON format is sent to the server.

[0958] Step 3:

[0959] The server analyzes the destination and date data it receives.

[0960] Input: Destination and date data in JSON format sent from the terminal.

[0961] Specific operation: The server parses the received JSON data and uses a JSON parser to store destination and schedule information in individual variables.

[0962] Output: Variables for the analyzed destination ("Tokyo") and dates ("2023-12-01" to "2023-12-07").

[0963] Step 4:

[0964] The server sends data requests to the APIs of each travel service provider.

[0965] Input: Destination data and date data held as variables within the server.

[0966] Specific operation: The server creates a GET request and sends the request to API endpoints such as airline ticket providers, accommodation providers, and car rental providers.

[0967] Output: API requests to multiple travel service providers.

[0968] Step 5:

[0969] The server receives a response from the travel service provider.

[0970] Input: Responses from each travel service provider to whom an API request was sent.

[0971] Specific operation: The server receives responses from each API and parses their contents in JSON format.

[0972] Output: Data on multiple travel options (flights, accommodations, rental cars, etc.) obtained.

[0973] Step 6:

[0974] The server selects the cheapest travel option.

[0975] Input: Data on multiple travel options obtained from each travel service provider.

[0976] Specific operation: The server compares the price information of the received travel options and selects the cheapest flights, accommodations, and rental cars.

[0977] Output: Data on the cheapest option (e.g., airfare ¥30,000, accommodation ¥15,000, rental car ¥5,000).

[0978] Step 7:

[0979] The server generates information on the cheapest option and sends it back to the terminal.

[0980] Input: Data for the cheapest option selected by the server.

[0981] Specific operation: The server compiles detailed information about the cheapest option in JSON format and sends it back to the terminal as an HTTP response.

[0982] Output: Information in JSON format on the cheapest option.

[0983] Step 8:

[0984] The device displays the lowest price information to the user.

[0985] Input: JSON format information of the cheapest option returned from the server.

[0986] Specific operation: The terminal analyzes the received information and displays it to the user in a visually easy-to-understand format. For example, it displays a list of airline ticket prices and providers, accommodation fees, and rental car costs.

[0987] Output: Displays detailed information of the cheapest option available to the user.

[0988] (Application Example 1)

[0989] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0990] Traditional travel planning systems required users to input their destination and dates, then review information from multiple travel service providers and compare their options, which was a very cumbersome process. Furthermore, there was a need for a system with high user interactivity and intuitive operation. Additionally, the lack of real-time interaction with the user in presenting travel options necessitated a more user-friendly travel planning system.

[0991] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0992] In this invention, the server includes means for receiving destination data and date data from a user; means for analyzing the destination data and date data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option; means for providing the user with information on the selected cheapest option; means for the user to input destination data and date data via voice or touch panel; and means for a robot terminal to transmit the input data and display the returned data via voice and touch panel. This enables the user to efficiently search for and confirm the optimal travel option using an intuitive interface, and enables real-time interactive travel planning support.

[0993] 1. "Destination data" refers to geographical location information that a user designates as their travel destination.

[0994] 2. "Date data" refers to the specific date and time information where the user plans to start and end their trip.

[0995] 3. "Travel service provider" refers to a business that provides travel-related services such as airline tickets, accommodations, and car rentals.

[0996] 4. A "data request" refers to a request sent from a server to an external API or database in order to retrieve specific information.

[0997] 5. "Travel options" refer to multiple choices offered by a travel service provider, which may include different prices and conditions.

[0998] 6. A "robot terminal" is an autonomous electronic device that enables interactive dialogue with the user and has voice input and touch panel functions.

[0999] 7. A "touch panel" refers to a display device that allows users to input information by directly touching it.

[1000] 8. "Voice input" refers to a method in which the system recognizes what the user says through a microphone and processes it as input data.

[1001] 9. "Comparison" refers to the process of evaluating the characteristics and prices of multiple travel options and selecting the best one.

[1002] 10. An "API request" is a request format used to access the functions or data of an external service through an application programming interface.

[1003] This invention relates to a system that searches for and provides optimal travel options simply by the user entering destination and date data. This system is implemented by combining a robotic terminal, a server, and APIs from multiple travel service providers.

[1004] Hardware and software configuration

[1005] 1. User input method

[1006] The user inputs destination and date data into the robot terminal using voice input or a touch panel. The robot terminal uses a microphone device and voice recognition software for voice input, and a touchscreen device for touch panel input.

[1007] 2. Data transmission and reception

[1008] The robot terminal transmits destination and date data received from the user to the server via Wi-Fi communication. The transmitted data is in JSON format.

[1009] 3. Server processing

[1010] The server analyzes the received destination and date data and sends data requests to multiple travel service providers' APIs based on this information. The data requests are in API request format.

[1011] 4. Server response analysis

[1012] The server receives responses from each travel service provider and analyzes multiple travel options. The analysis compares factors such as price and conditions to select the cheapest option.

[1013] 5. Provision of selection results

[1014] The server compiles information on the selected, least expensive option in JSON format and sends it back to the robot terminal. The robot terminal receives this information and provides it to the user visually and audibly.

[1015] Data processing and calculation

[1016] The server stores the received destination and date data in individual variables and generates API requests based on them. The response data is compared based on price and conditions to extract the best travel options.

[1017] Specific example

[1018] 1. The user enters the destination "Tokyo" and the dates "2023-12-01~2023-12-07" into the robot terminal by voice.

[1019] 2. The robot terminal sends this input data to the server in JSON format.

[1020] 3. The server analyzes the destination and itinerary and sends an API request to the travel service provider.

[1021] 4. The server receives and analyzes responses from multiple providers (e.g., airline tickets, accommodations, rental cars). For example, it might return data such as ¥30,000 for airline tickets, ¥15,000 for hotels, and ¥5,000 for rental cars.

[1022] 5. The server compares prices and selects the cheapest option.

[1023] 6. The server returns the selection results to the robot terminal in JSON format.

[1024] 7. The robot terminal displays the information it receives via voice and touch panel, providing the user with detailed information.

[1025] Example of a prompt

[1026] An example of a prompt message when using a generative AI model is as follows:

[1027] "We are developing a travel planning system. Please generate a program for an application that, upon inputting a destination and dates, searches for the cheapest travel options in real time and presents them to the user. The system will obtain the destination and dates via voice input and touch panel, collect data from multiple travel service providers using API requests, and select and display the cheapest option."

[1028] As described above, the present invention enables users to create intuitive and efficient travel plans, and real-time support makes travel planning even smoother.

[1029] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1030] Step 1:

[1031] The user inputs destination and date data into the robot terminal. Input can be done via voice or touch panel. The entered destination and date data is temporarily stored in the robot terminal's memory. The input for this step is destination and date data, and the output is the data stored in the robot terminal.

[1032] Step 2:

[1033] The robot terminal converts the input data into JSON format and sends it to the server. In this step, the robot terminal uses Wi-Fi communication to send data to the server. The input is destination data and date data entered by the user, and the output is the JSON format data sent to the server.

[1034] Step 3:

[1035] The server parses the destination and date data it receives. The server parses the data and stores each in individual variables (e.g., destination, start_date, end_date). The input for this step is data in JSON format, and the output is the parsed variables.

[1036] Step 4:

[1037] The server sends data requests to the APIs of multiple travel service providers. Based on the parsed destination and date data, the server sends HTTP requests to the API endpoints of each travel service provider. The input to this step is the parsed data, and the output is the API requests.

[1038] Step 5:

[1039] The server receives and analyzes responses from travel service providers. Each provider's response data includes pricing and terms of travel options. The input for this step is API response data, and the output is the analyzed travel option data.

[1040] Step 6:

[1041] The server compares multiple travel options and selects the cheapest one. The server performs a comparison calculation based on price data to select the lowest-priced option. The input for this step is the analyzed travel options data, and the output is the data for the selected cheapest option.

[1042] Step 7:

[1043] The server compiles information on the cheapest selected option in JSON format and sends it back to the robot terminal. In this step, the selected information is converted back to JSON format and sent to the robot terminal via Wi-Fi communication. The input is the data for the cheapest option, and the output is the JSON format data sent to the robot terminal.

[1044] Step 8:

[1045] The robot terminal analyzes the information it receives and provides it to the user visually and audibly. The robot terminal analyzes JSON data, displays visual information on a touch panel, and provides voice guidance to the user. The input for this step is JSON data received from the server, and the output is the display of information and voice guidance for the user.

[1046] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[1047] This invention relates to a system that searches for and provides optimal travel options to a user simply by inputting a destination and dates, and further includes an emotion engine for recognizing the user's emotions and suggesting appropriate options. Based on user input, this system acquires information from multiple travel service providers and not only presents the optimal travel plan, but also provides a more satisfying travel plan by customizing it according to the user's emotions.

[1048] Explain the program's processing in natural language.

[1049] 1. The user enters the destination and dates.

[1050] The user enters their planned travel destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[1051] When a user interacts with the interface, the emotion engine acquires emotional data from the user's facial expressions, voice analysis, input speed, and other factors.

[1052] 2. The device sends destination data, date data, and sentiment data received from the user to the server.

[1053] The device packages the data entered by the user and the sentiment data obtained from the sentiment engine in JSON format and sends it to the server.

[1054] 3. The server analyzes the data it receives.

[1055] The server analyzes the JSON data received from the terminal, extracts destination and date information individually, and then analyzes sentiment data.

[1056] 4. The server prepares to send a request to the travel service provider's API.

[1057] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[1058] Convert destination and date information into a format suitable for API requests.

[1059] 5. The server sends API requests to each travel service provider.

[1060] The server sends requests to each API endpoint based on the destination and date.

[1061] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[1062] 6. The server analyzes the response received from the travel service provider.

[1063] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to retrieve multiple travel options.

[1064] Each travel option includes price, details, provider information, and more.

[1065] 7. The server selects the cheapest travel option, taking sentiment data into consideration.

[1066] The server selects the cheapest flights, accommodations, and rental cars based on price, and also optimizes the recommendations by taking into account the user's sentiment data.

[1067] For example, if a user is experiencing stress, options that prioritize comfort will be selected as the primary choice.

[1068] 8. The server sends information about the cheapest option it has selected back to the terminal.

[1069] The server compiles the selected lowest-priced option and the optimization details based on sentiment into JSON format and sends it back to the terminal.

[1070] 9. The device displays the lowest price information and sentiment-based suggestions to the user.

[1071] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[1072] Users can view specific prices and detailed information, as well as receive emotion-based optimization suggestions (e.g., relaxing hotels, convenient flight times, etc.).

[1073] Specific example

[1074] If a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[1075] 1. The device sends data to the server indicating its location as "Tokyo," the date range as "2023-12-01~2023-12-07," and the user's emotional state, indicating they are experiencing stress.

[1076] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[1077] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[1078] 4. The server compares those prices and selects the cheapest option. It also takes into account the user's stress level and prioritizes relaxing accommodations and convenient flight times.

[1079] 5. The server sends information about the selected options back to the terminal.

[1080] 6. The device displays the user the cheapest option and sentiment-based optimization suggestions, allowing the user to view details and pricing for each option.

[1081] This system allows users to easily find the cheapest options from multiple travel service providers simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences, resulting in a more satisfying travel planning experience.

[1082] The following describes the processing flow.

[1083] Step 1:

[1084] The user enters the destination and dates.

[1085] To plan their trip, the user enters their destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[1086] At the same time, the device activates an emotion engine to recognize the user's facial expressions and voice, and acquires the user's emotional data.

[1087] Step 2:

[1088] The device sends destination data, date data, and sentiment data received from the user to the server.

[1089] The terminal combines the destination and date data entered by the user, along with the emotion data generated by the emotion engine (e.g., stressed state, relaxed state), into a JSON format and sends it to the server.

[1090] Step 3:

[1091] The server analyzes the data it receives.

[1092] The server analyzes the JSON data received from the terminal and extracts the destination, schedule information, and emotional state entered by the user.

[1093] Step 4:

[1094] The server prepares to send a request to the travel service provider's API.

[1095] The server configures API endpoints for the necessary flight, accommodation, and rental car service providers and converts destination and itinerary information into a request format.

[1096] At the same time, additional parameters are set based on emotional data (for example, prioritizing relaxation or cost).

[1097] Step 5:

[1098] The server sends API requests to each travel service provider.

[1099] The server sends asynchronous requests to the API endpoints of each travel service provider.

[1100] This request includes data based on destination and dates, as well as parameters corresponding to sentiment data.

[1101] Step 6:

[1102] The server analyzes the response received from the travel service provider.

[1103] The server analyzes the response data of multiple travel options received from the provider and extracts prices and detailed information.

[1104] Step 7:

[1105] The server selects the cheapest travel option and optimizes it based on sentiment data.

[1106] The server compares the prices of the extracted travel options and selects the cheapest option for each: airfare, accommodation, and rental car.

[1107] By considering emotional data (e.g., stress levels), the cheapest selected option is optimized to meet the user's needs (e.g., choosing relaxing accommodations or flight times that reduce stress).

[1108] Step 8:

[1109] The server sends information about the cheapest option it has selected back to the terminal.

[1110] The server compiles the cheapest option and optimized suggestions based on sentiment data into JSON format and sends them back to the terminal.

[1111] Step 9:

[1112] The device displays the lowest price information and sentiment-based suggestions to the user.

[1113] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[1114] Users can see optimized suggestions based on sentiment data, along with specific pricing and detailed information (for example, relaxing accommodations or convenient flight times).

[1115] (Example 2)

[1116] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1117] Traditional travel planning systems offer multiple travel options based on the user's input of destination and dates, but they fail to provide suggestions that take into account the user's emotional state. Therefore, they are unable to provide optimal travel plans tailored to the user's psychological state, making it difficult to create highly satisfying travel plans.

[1118] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[1119] In this invention, the server includes means for receiving destination data, date data, and sentiment data from a user; means for analyzing the destination data, date data, and sentiment data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers, selecting the cheapest option, and optimizing the suggested content based on the sentiment data; and means for providing the user with the selected cheapest option and the suggested content optimized based on the sentiment data. This makes it possible to propose an optimal travel plan that is tailored to the user's emotional state. Furthermore, by providing the cheapest option, the user's financial burden can be reduced and their satisfaction with the travel plan can be improved.

[1120] "Destination data" refers to geographical information that users enter as their travel destination.

[1121] "Date data" refers to information that indicates the user's travel start and end dates.

[1122] "Emotional data" refers to information that indicates the user's psychological state, obtained from factors such as facial expression recognition, voice analysis, and input speed.

[1123] A "travel service provider" is a company or organization that provides travel-related services such as airline tickets, accommodations, and car rentals.

[1124] A "data request" is a communication made by a server to a travel service provider's system to request specific information.

[1125] "Travel options" include multiple travel-related choices, specifically including options for flights, accommodations, and car rentals.

[1126] "The cheapest option" refers to the travel option with the lowest price.

[1127] "Optimizing the suggested content" means taking user emotional data into consideration and selecting the travel option that best suits the user's psychological state.

[1128] Modes for carrying out the invention

[1129] This invention provides a system that searches for and presents optimal travel options to a user simply by having them input their destination and dates. Furthermore, it includes an emotion engine that recognizes the user's emotions and suggests appropriate options. Based on the user's input, this system acquires information from multiple travel service providers and not only presents the optimal travel plan, but also provides a more satisfying travel plan by customizing it according to the user's emotions.

[1130] System Configuration

[1131] This system includes the following main components:

[1132] User Interface (Terminal): Through this interface, the user inputs destination data, date data, and sentiment data.

[1133] Emotion engine: This is software that generates emotion data from the user's facial expressions, voice, and input speed. For example, an emotion recognition API can be used.

[1134] Server: Analyzes data and sends requests to travel service provider APIs. The server includes data management and analysis modules.

[1135] Travel service provider APIs: Utilize APIs from external services that offer travel options such as flights, accommodations, and rental cars.

[1136] Process Overview

[1137] 1. Processing user input

[1138] The user enters their travel destination (e.g., "Tokyo") and travel dates (e.g., "2023-12-01~2023-12-07") from their home device. Simultaneously, the emotion engine acquires and analyzes emotional data from the user's facial expressions and voice.

[1139] 2. Data transmission and analysis

[1140] The device compiles the collected destination data, date data, and sentiment data into JSON format and sends it to the server. The server analyzes the received data, extracts the destination and date, and further analyzes the sentiment data.

[1141] 3. Generating and sending API requests

[1142] The server generates the appropriate requests to each travel service provider's API endpoint and sends data requests based on destination and itinerary information. API requests are sent asynchronously, and other requests are processed while waiting for each response.

[1143] 4. Aggregation and comparison of responses

[1144] The server receives and analyzes responses from each travel service provider. It compares the acquired travel options (flights, accommodations, rental cars) and selects the cheapest option. At the same time, it considers the user's sentiment data to generate optimal recommendations.

[1145] 5. Data return and display

[1146] The server returns the selected lowest-priced option and optimized suggestions based on sentiment data to the terminal in JSON format. The terminal parses this and displays it to the user. The user reviews the specific price and details and receives optimized suggestions based on sentiment.

[1147] Specific example

[1148] For example, if a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[1149] 1. The device sends destination data ("Tokyo"), dates ("2023-12-01~2023-12-07"), and emotional data ("feeling stressed") to the server.

[1150] 2. The server analyzes destination and itinerary data and sends data requests to the APIs of each travel service provider.

[1151] 3. The server receives responses from multiple providers (¥30,000 for airfare, ¥15,000 for hotel, and ¥5,000 for rental car).

[1152] 4. The server compares the received data and selects the cheapest option. At the same time, since the user is stressed, it chooses accommodation that promotes relaxation.

[1153] 5. The server sends information about the selected options back to the terminal.

[1154] 6. The device displays the user the cheapest option and optimized suggestions based on sentiment data, allowing the user to view details and pricing for each option.

[1155] Example of a prompt

[1156] "My destination is Tokyo, and my travel dates are from December 1st to December 7th, 2023. I'm feeling stressed right now. Please help me find the best travel options."

[1157] This allows users to easily find the best travel options simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences.

[1158] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1159] Step 1:

[1160] The user enters the destination and dates.

[1161] Input: The user enters the travel destination (e.g., "Tokyo") and dates (e.g., "2023-12-01~2023-12-07").

[1162] Specific operation: When a user inputs data into the device interface, the emotion engine analyzes the user's facial expressions, voice, and input speed to generate emotion data.

[1163] Output: Destination data, date data, and sentiment data have been entered.

[1164] Step 2:

[1165] The device sends destination data, date data, and sentiment data received from the user to the server.

[1166] Input: Destination data, date data, and sentiment data received from the user.

[1167] Specific operation: The terminal packages this data in JSON format and sends it to the server via an HTTP POST request.

[1168] Output: Data in JSON format is sent to the server.

[1169] Step 3:

[1170] The server analyzes the data it receives.

[1171] Input: JSON data sent from the terminal.

[1172] Specific operation: The server uses a JSON parser to extract destination data, date data, and sentiment data separately.

[1173] Output: Extracted destination, date, and sentiment data are available.

[1174] Step 4:

[1175] The server configures the API endpoint for the travel service provider.

[1176] Input: Extracted destination data, date data.

[1177] Specific operation: The server configures API endpoints for each service provider, including airline tickets, accommodations, and car rentals. It converts destination and itinerary information into a format suitable for each API.

[1178] Output: Data for API requests is prepared.

[1179] Step 5:

[1180] The server sends API requests to each travel service provider.

[1181] Input: Prepared data for API requests.

[1182] Specific operation: The server sends requests asynchronously to each API endpoint. For example, it sends a query like "destination=Tokyo&start_date=2023-12-01&end_date=2023-12-07" to the flight search API.

[1183] Output: API requests are sent to each provider.

[1184] Step 6:

[1185] The server analyzes the response received from the travel service provider.

[1186] Input: JSON response returned from each travel service provider.

[1187] Specific operation: The server analyzes the response data and extracts each travel option (price, details, provider information).

[1188] Output: Multiple travel options are analyzed and compiled.

[1189] Step 7:

[1190] The server selects the cheapest travel option, taking sentiment data into consideration.

[1191] Input: Analyzed data on multiple travel options and sentiment.

[1192] Specific operation: The server sorts options by price and selects the cheapest one. At the same time, it optimizes the recommendations based on the user's emotional data. For example, if the user is feeling stressed, it will select relaxing accommodations.

[1193] Output: The selected lowest-priced option and optimized proposal content will be compiled.

[1194] Step 8:

[1195] The server sends information about the selected options back to the terminal.

[1196] Input: A curated selection of the lowest-priced options and optimized proposals.

[1197] Specific operation: The server compiles this information into JSON format and sends it to the terminal as an HTTP response.

[1198] Output: A response data in JSON format is sent back to the terminal.

[1199] Step 9:

[1200] The device displays the lowest price information and sentiment-based suggestions to the user.

[1201] Input: JSON response received from the server.

[1202] Specific operation: The device analyzes response data and displays detailed information on the cheapest flights, accommodations, and rental cars to the user. Optimized suggestions based on sentiment data are also displayed.

[1203] Output: Detailed information and optimization suggestions are visually presented to the user.

[1204] (Application Example 2)

[1205] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1206] Traditional shopping plan systems provide optimal plans simply by having users input their desired locations and dates, but they have a problem in that they do not take into account the user's emotional state, resulting in insufficient optimization of the experience. In particular, when users are feeling stressed or fatigued, they cannot receive suggestions that are appropriate to their state, making it difficult to provide a comfortable shopping experience.

[1207] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving destination data and date data from the user, means for analyzing the destination data and date data and sending data requests to multiple facility service providers, means for comparing multiple options obtained from the facility service providers and selecting the cheapest option, means for acquiring and analyzing the user's emotional data, and means for customizing and providing information on the selected cheapest option based on the user's emotional data. This makes it possible to provide an optimal shopping plan that is tailored to the user's emotional state.

[1208] "Destination data" refers to information about places or destinations that a user wants to visit.

[1209] "Date data" refers to information about the date the user plans to visit.

[1210] "Facility service providers" refer to stores or companies that provide goods or services.

[1211] A "data request" is a request that a server sends to a facility service provider in order to obtain necessary information.

[1212] An "option" refers to a set of choices presented to a user.

[1213] "Emotional data" refers to information about a user's emotions, obtained from their facial expressions, voice, input speed, etc.

[1214] "Customization" refers to individually adjusting standard options based on the user's specific needs and preferences.

[1215] This invention relates to a system that acquires user destination and date data and proposes an optimal shopping plan based on that data. Furthermore, this system has the function of acquiring and analyzing user emotional data and providing customized suggestions according to the user's emotional state.

[1216] System Configuration

[1217] This system is broadly composed of the following elements:

[1218] 1. User Terminal: Provides an interface for the user to input destination and date data and to acquire sentiment data. Sentiment data is obtained from facial recognition, voice analysis, input speed, etc.

[1219] 2. Server: Analyzes destination data, date data, and sentiment data received from the user terminal and sends data requests to multiple facility service providers. Furthermore, it compares the acquired options and selects the least expensive option. Based on the user's sentiment data, it customizes the selected option and presents it to the user.

[1220] Hardware and software to be used

[1221] User device: A device such as a smartphone or tablet. It uses a camera and microphone to acquire emotional data.

[1222] Emotion Engine: Uses emotion recognition libraries such as EmotionEngine to analyze emotions from the user's facial expressions, voice, and input speed.

[1223] Server: Performs API communication to make data requests. It uses programming languages ​​such as Python or Node.js, and the communication protocol is HTTP or HTTPS.

[1224] System processing

[1225] This system begins with the user entering destination and date data on a user terminal. Next, it analyzes the user's sentiment. The acquired data is sent to a server, which processes it and sends appropriate data requests to facility service providers. After multiple options are returned, the system selects the least expensive option and customizes it based on the user's sentiment data.

[1226] Specific example

[1227] For example, suppose a user plans to visit a "store in Ginza" on "2023-11-20". In this case, the user enters the destination and date using their smartphone. Simultaneously, emotion recognition software analyzes the user's facial expressions and voice to detect if they are stressed. This data is sent to a server, which then sends data requests to multiple facility service providers. The server analyzes the returned options and selects the cheapest plan. At the same time, taking into account the user's stress levels, it suggests relaxing stores or rest areas.

[1228] Example of a prompt

[1229] "For a user visiting stores in Ginza on November 20, 2023, please suggest the optimal shopping plan if their emotions are perceived as stressful. Please also recommend stores with relaxing rest areas and pleasant fragrances."

[1230] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1231] Step 1:

[1232] The user enters a destination and date. The entered data is acquired as destination data (e.g., "Ginza store") and date data (e.g., "2023-11-20"). Simultaneously, the device uses the camera and microphone to acquire emotional data from the user's facial expressions and voice. Specifically, it uses an emotion recognition library such as EmotionEngine to analyze whether the user is experiencing stress. The user device receives destination data, date data, and emotional data as input and packages this data.

[1233] Step 2:

[1234] The terminal sends packaged data to the server. The data is in JSON format and includes destination data, date data, and sentiment data. The terminal's role is to accurately send the data to the server. It receives packaged data as input and sends it to the server as output.

[1235] Step 3:

[1236] The server parses the received data. First, it extracts destination and date data, and then parses sentiment data. Specifically, once the data is formatted appropriately, it stores destination and date information, and sentiment status, into specific variables. The server's input is JSON data from the terminal, and its output is the parsed destination, date, and sentiment information.

[1237] Step 4:

[1238] The server sends data requests to multiple facility service providers. The server uses the retrieved destination and date data to send requests to multiple API endpoints. While waiting for responses from each facility service provider, it processes other requests asynchronously. The input is the parsed destination and date data, and the output is the response data from each facility service provider.

[1239] Step 5:

[1240] The server analyzes responses received from facility service providers and compares multiple options. In particular, it selects the cheapest option based on price and service content. For example, it evaluates product and service lists from multiple stores based on price and features to determine the optimal choice. The input is response data from facility service providers, and the output is the selected cheapest option.

[1241] Step 6:

[1242] The server customizes selected options based on the user's emotional data. If the user is feeling stressed, it adds suggestions for relaxing stores or rest areas. Specifically, it uses an algorithm based on emotional data to optimize standard suggestions for the user's specific state. The inputs are the selected options and emotional data, and the output is the customized options.

[1243] Step 7:

[1244] The server ultimately sends the customized information to the user's terminal. The data is then packaged again in JSON format and sent to the user along with appropriate suggestions. The input is the customized options, and the output is the transmission of the final data to the user's terminal.

[1245] Step 8:

[1246] The terminal displays data received from the server to the user. The user can review the information displayed on the screen and select the optimal shopping plan or suggestion. The terminal visually presents the user with details about destinations, recommended stores, and specific products. Input is data from the server, and output is what is displayed to the user.

[1247] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1248] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1249] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.

[1250] [Fourth Embodiment]

[1251] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[1252] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1253] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1254] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[1255] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[1256] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[1257] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[1258] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[1259] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[1260] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[1262] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[1263] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1264] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[1265] Explain the program's processing in natural language.

[1266] 1. The user enters the destination and dates.

[1267] The user enters their planned travel destination, as well as the start and end dates of their trip, into the interface on their device.

[1268] 2. The device sends this data to the server.

[1269] The terminal sends the destination and date data entered by the user to the server in JSON format.

[1270] 3. The server analyzes the destination and date data it receives.

[1271] The server analyzes the received data and stores the destination and date in individual variables.

[1272] 4. The server sends data requests to the APIs of each travel service provider.

[1273] The server sends data requests to the APIs of each travel service provider (e.g., airline ticket providers, accommodation providers, car rental providers) based on the destination and itinerary.

[1274] 5. The server receives a response from the travel service provider.

[1275] Each travel service provider will send a response containing multiple travel options based on the specified destination and dates.

[1276] 6. The server selects the cheapest travel option.

[1277] The server analyzes the multiple travel options received, compares prices, and selects the cheapest flights, accommodations, and rental cars.

[1278] 7. The server generates information on the cheapest option and sends it back to the terminal.

[1279] The server compiles detailed information about the cheapest travel option in JSON format and sends it back to the terminal.

[1280] 8. The device displays the lowest price information to the user.

[1281] The device analyzes the information on the cheapest option received and displays it to the user in a visually easy-to-understand format.

[1282] Specific example

[1283] When a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[1284] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[1285] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[1286] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[1287] 4. The server compares those prices and selects the cheapest option.

[1288] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[1289] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[1290] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[1291] The following describes the processing flow.

[1292] Step 1:

[1293] The user enters the destination and dates.

[1294] The user enters the destination for which they want to plan a trip (e.g., Tokyo), and the start and end dates of the trip (e.g., 2023-12-01 to 2023-12-07) into the terminal's interface.

[1295] Step 2:

[1296] The terminal sends destination and date data received from the user to the server.

[1297] The terminal packages the data entered by the user in JSON format and sends it to the server.

[1298] Step 3:

[1299] The server analyzes the data it receives.

[1300] The server parses the JSON data received from the terminal and extracts destination and date information individually.

[1301] Step 4:

[1302] The server prepares to send a request to the travel service provider's API.

[1303] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[1304] Convert destination and date information into a format suitable for API requests.

[1305] Step 5:

[1306] The server sends API requests to each travel service provider.

[1307] The server sends requests to each API endpoint based on the destination and date.

[1308] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[1309] Step 6:

[1310] The server analyzes the response received from the travel service provider.

[1311] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to obtain a list of travel options.

[1312] Each travel option includes price, details, provider information, and more.

[1313] Step 7:

[1314] The server selects the cheapest travel option.

[1315] Compare the prices of each travel option and select the cheapest airfare, cheapest accommodation, and cheapest rental car.

[1316] The server stores not only the cheapest option, but also its details (e.g., flight schedule, hotel location, rental car model).

[1317] Step 8:

[1318] The server sends information about the cheapest option it has selected back to the terminal.

[1319] The server compiles detailed information about the selected cheapest option in JSON format and sends it back to the terminal.

[1320] Step 9:

[1321] The device displays the lowest price information to the user.

[1322] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[1323] Users can view specific prices and detailed information (e.g., airfare ¥30,000, hotel ¥15,000, rental car ¥5,000).

[1324] The above is the specific processing flow of the program.

[1325] (Example 1)

[1326] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1327] Currently, many users spend considerable time and effort individually researching the websites of multiple travel service providers to find the best travel plan based on their destination and dates. Therefore, there is a need to streamline and optimize travel planning. However, current systems require users to manually collect information and compare prices, a process that is extremely cumbersome. The present invention aims to solve this problem and provide a system that enables users to find the best travel plan in the shortest possible time.

[1328] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[1329] In this invention, the server includes means for receiving destination data and date data from a user, means for analyzing the destination data and date data and sending data requests to multiple travel service providers, and means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option from each. This allows the user to easily obtain the cheapest option from multiple travel service providers with a single input, thereby streamlining travel planning.

[1330] "Destination data" refers to information about the destinations that users wish to travel to.

[1331] "Date data" refers to information about the start and end dates of the user's planned trip.

[1332] A "user" is an individual or group that uses the system to search for travel plans and find the best travel options.

[1333] A "terminal" is a device used to send destination and date data entered by the user to a server, and includes computers, smartphones, and other similar devices.

[1334] A "server" is a computer system that analyzes data received from users, sends data requests to multiple travel service providers, and selects the cheapest travel option.

[1335] A "travel service provider" is a company or organization that provides travel-related services such as airline tickets, accommodations, and car rentals.

[1336] A "data request" is a request to inquire about travel options from a travel service provider based on destination and date data.

[1337] "Travel options" refer to choices of travel-related products and services offered by travel service providers under specific conditions.

[1338] The "cheapest option" is the lowest-priced choice among several travel options offered under specified conditions.

[1339] A "prompt message" is text data that is input into a generative AI model and expresses a specific request or instruction.

[1340] A "generative AI model" is an artificial intelligence model that generates responses and recommendations in response to input prompts.

[1341] This invention relates to a system that searches for and provides optimal travel options to a user simply by having them enter a destination and dates. The system is designed to retrieve information from multiple travel service providers based on user input and present the most suitable travel plan.

[1342] Specifically, the system works as follows:

[1343] The user enters their planned travel destination, start date, and end date into the interface on their device. This data is converted to JSON format and sent to the server via the HTTPS protocol. The server parses the received JSON data and stores the destination and dates in separate variables.

[1344] Next, the server sends data requests to multiple travel service providers using the configured variables. The data requests are sent using each travel service provider's API. An HTTP GET request is generated and accesses each API endpoint.

[1345] Upon receiving responses from each travel service provider, the server analyzes these responses and extracts pricing information. The server then analyzes the retrieved travel options, compares prices, and selects the cheapest airfare, accommodation, and rental car. Finally, it compiles detailed information of the cheapest option in JSON format and sends it back to the terminal.

[1346] The device analyzes the information on the cheapest options it receives and displays it to the user in a visually easy-to-understand format. For example, it displays a list of flight prices, providers, accommodation rates, and rental car costs, making it easier for the user to make a choice.

[1347] To give a concrete example, if a user enters "Tokyo" as the destination and "2023-12-01~2023-12-07" as the dates, the system will operate as follows:

[1348] 1. The device sends data to the server with the location "Tokyo" and the date range "2023-12-01~2023-12-07".

[1349] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[1350] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[1351] 4. The server compares those prices and selects the cheapest option.

[1352] 5. The server sends back information about the selected options (airfare: ¥30,000, hotel: ¥15,000, rental car: ¥5,000) to the terminal.

[1353] 6. The device displays the lowest price information to the user, allowing the user to check the details and price of each option.

[1354] Furthermore, here is an example of a prompt using a generative AI model:

[1355] "You have entered 'Tokyo' as the destination, '2023-12-01' as the start date, and '2023-12-07' as the end date. Please search for the cheapest travel option under these conditions."

[1356] This system allows users to easily find the cheapest option from multiple travel service providers simply by entering their destination and dates, significantly streamlining travel planning.

[1357] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1358] Step 1:

[1359] The user enters the destination and dates.

[1360] Input: The user enters the destination of their planned trip (e.g., "Tokyo") and the dates of the trip (e.g., from "2023-12-01" to "2023-12-07") into the terminal interface.

[1361] Specific action: The user enters the destination and date into the input form on the device and presses the search button.

[1362] Output: Destination and date data are entered into the terminal.

[1363] Step 2:

[1364] The device sends this data to the server.

[1365] Input: Destination and date data entered by the user in Step 1.

[1366] Specific operation: The terminal converts destination data and date data into JSON format and sends it to the server using the HTTPS protocol.

[1367] Output: Data in JSON format is sent to the server.

[1368] Step 3:

[1369] The server analyzes the destination and date data it receives.

[1370] Input: Destination and date data in JSON format sent from the terminal.

[1371] Specific operation: The server parses the received JSON data and uses a JSON parser to store destination and schedule information in individual variables.

[1372] Output: Variables for the analyzed destination ("Tokyo") and dates ("2023-12-01" to "2023-12-07").

[1373] Step 4:

[1374] The server sends data requests to the APIs of each travel service provider.

[1375] Input: Destination data and date data held as variables within the server.

[1376] Specific operation: The server creates a GET request and sends the request to API endpoints such as airline ticket providers, accommodation providers, and car rental providers.

[1377] Output: API requests to multiple travel service providers.

[1378] Step 5:

[1379] The server receives a response from the travel service provider.

[1380] Input: Responses from each travel service provider to whom an API request was sent.

[1381] Specific operation: The server receives responses from each API and parses their contents in JSON format.

[1382] Output: Data on multiple travel options (flights, accommodations, rental cars, etc.) obtained.

[1383] Step 6:

[1384] The server selects the cheapest travel option.

[1385] Input: Data on multiple travel options obtained from each travel service provider.

[1386] Specific operation: The server compares the price information of the received travel options and selects the cheapest flights, accommodations, and rental cars.

[1387] Output: Data on the cheapest option (e.g., airfare ¥30,000, accommodation ¥15,000, rental car ¥5,000).

[1388] Step 7:

[1389] The server generates information on the cheapest option and sends it back to the terminal.

[1390] Input: Data for the cheapest option selected by the server.

[1391] Specific operation: The server compiles detailed information about the cheapest option in JSON format and sends it back to the terminal as an HTTP response.

[1392] Output: Information in JSON format on the cheapest option.

[1393] Step 8:

[1394] The device displays the lowest price information to the user.

[1395] Input: JSON format information of the cheapest option returned from the server.

[1396] Specific operation: The terminal analyzes the received information and displays it to the user in a visually easy-to-understand format. For example, it displays a list of airline ticket prices and providers, accommodation fees, and rental car costs.

[1397] Output: Displays detailed information of the cheapest option available to the user.

[1398] (Application Example 1)

[1399] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1400] Traditional travel planning systems required users to input their destination and dates, then review information from multiple travel service providers and compare their options, which was a very cumbersome process. Furthermore, there was a need for a system with high user interactivity and intuitive operation. Additionally, the lack of real-time interaction with the user in presenting travel options necessitated a more user-friendly travel planning system.

[1401] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1402] In this invention, the server includes means for receiving destination data and date data from a user; means for analyzing the destination data and date data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers and selecting the cheapest option; means for providing the user with information on the selected cheapest option; means for the user to input destination data and date data via voice or touch panel; and means for a robot terminal to transmit the input data and display the returned data via voice and touch panel. This enables the user to efficiently search for and confirm the optimal travel option using an intuitive interface, and enables real-time interactive travel planning support.

[1403] 1. "Destination data" refers to geographical location information that a user designates as their travel destination.

[1404] 2. "Date data" refers to the specific date and time information where the user plans to start and end their trip.

[1405] 3. "Travel service provider" refers to a business that provides travel-related services such as airline tickets, accommodations, and car rentals.

[1406] 4. A "data request" refers to a request sent from a server to an external API or database in order to retrieve specific information.

[1407] 5. "Travel options" refer to multiple choices offered by a travel service provider, which may include different prices and conditions.

[1408] 6. A "robot terminal" is an autonomous electronic device that enables interactive dialogue with the user and has voice input and touch panel functions.

[1409] 7. A "touch panel" refers to a display device that allows users to input information by directly touching it.

[1410] 8. "Voice input" refers to a method in which the system recognizes what the user says through a microphone and processes it as input data.

[1411] 9. "Comparison" refers to the process of evaluating the characteristics and prices of multiple travel options and selecting the best one.

[1412] 10. An "API request" is a request format used to access the functions or data of an external service through an application programming interface.

[1413] This invention relates to a system that searches for and provides optimal travel options simply by the user entering destination and date data. This system is implemented by combining a robotic terminal, a server, and APIs from multiple travel service providers.

[1414] Hardware and software configuration

[1415] 1. User input method

[1416] The user inputs destination and date data into the robot terminal using voice input or a touch panel. The robot terminal uses a microphone device and voice recognition software for voice input, and a touchscreen device for touch panel input.

[1417] 2. Data transmission and reception

[1418] The robot terminal transmits destination and date data received from the user to the server via Wi-Fi communication. The transmitted data is in JSON format.

[1419] 3. Server processing

[1420] The server analyzes the received destination and date data and sends data requests to multiple travel service providers' APIs based on this information. The data requests are in API request format.

[1421] 4. Server response analysis

[1422] The server receives responses from each travel service provider and analyzes multiple travel options. The analysis compares factors such as price and conditions to select the cheapest option.

[1423] 5. Provision of selection results

[1424] The server compiles information on the selected, least expensive option in JSON format and sends it back to the robot terminal. The robot terminal receives this information and provides it to the user visually and audibly.

[1425] Data processing and calculation

[1426] The server stores the received destination and date data in individual variables and generates API requests based on them. The response data is compared based on price and conditions to extract the best travel options.

[1427] Specific example

[1428] 1. The user enters the destination "Tokyo" and the dates "2023-12-01~2023-12-07" into the robot terminal by voice.

[1429] 2. The robot terminal sends this input data to the server in JSON format.

[1430] 3. The server analyzes the destination and itinerary and sends an API request to the travel service provider.

[1431] 4. The server receives and analyzes responses from multiple providers (e.g., airline tickets, accommodations, rental cars). For example, it might return data such as ¥30,000 for airline tickets, ¥15,000 for hotels, and ¥5,000 for rental cars.

[1432] 5. The server compares prices and selects the cheapest option.

[1433] 6. The server returns the selection results to the robot terminal in JSON format.

[1434] 7. The robot terminal displays the information it receives via voice and touch panel, providing the user with detailed information.

[1435] Example of a prompt

[1436] An example of a prompt message when using a generative AI model is as follows:

[1437] "We are developing a travel planning system. Please generate a program for an application that, upon inputting a destination and dates, searches for the cheapest travel options in real time and presents them to the user. The system will obtain the destination and dates via voice input and touch panel, collect data from multiple travel service providers using API requests, and select and display the cheapest option."

[1438] As described above, the present invention enables users to create intuitive and efficient travel plans, and real-time support makes travel planning even smoother.

[1439] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1440] Step 1:

[1441] The user inputs destination and date data into the robot terminal. Input can be done via voice or touch panel. The entered destination and date data is temporarily stored in the robot terminal's memory. The input for this step is destination and date data, and the output is the data stored in the robot terminal.

[1442] Step 2:

[1443] The robot terminal converts the input data into JSON format and sends it to the server. In this step, the robot terminal uses Wi-Fi communication to send data to the server. The input is destination data and date data entered by the user, and the output is the JSON format data sent to the server.

[1444] Step 3:

[1445] The server parses the destination and date data it receives. The server parses the data and stores each in individual variables (e.g., destination, start_date, end_date). The input for this step is data in JSON format, and the output is the parsed variables.

[1446] Step 4:

[1447] The server sends data requests to the APIs of multiple travel service providers. Based on the parsed destination and date data, the server sends HTTP requests to the API endpoints of each travel service provider. The input to this step is the parsed data, and the output is the API requests.

[1448] Step 5:

[1449] The server receives and analyzes responses from travel service providers. Each provider's response data includes pricing and terms of travel options. The input for this step is API response data, and the output is the analyzed travel option data.

[1450] Step 6:

[1451] The server compares multiple travel options and selects the cheapest one. The server performs a comparison calculation based on price data to select the lowest-priced option. The input for this step is the analyzed travel options data, and the output is the data for the selected cheapest option.

[1452] Step 7:

[1453] The server compiles information on the cheapest selected option in JSON format and sends it back to the robot terminal. In this step, the selected information is converted back to JSON format and sent to the robot terminal via Wi-Fi communication. The input is the data for the cheapest option, and the output is the JSON format data sent to the robot terminal.

[1454] Step 8:

[1455] The robot terminal analyzes the information it receives and provides it to the user visually and audibly. The robot terminal analyzes JSON data, displays visual information on a touch panel, and provides voice guidance to the user. The input for this step is JSON data received from the server, and the output is the display of information and voice guidance for the user.

[1456] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[1457] This invention relates to a system that searches for and provides optimal travel options to a user simply by inputting a destination and dates, and further includes an emotion engine for recognizing the user's emotions and suggesting appropriate options. Based on user input, this system acquires information from multiple travel service providers and not only presents the optimal travel plan, but also provides a more satisfying travel plan by customizing it according to the user's emotions.

[1458] Explain the program's processing in natural language.

[1459] 1. The user enters the destination and dates.

[1460] The user enters their planned travel destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[1461] When a user interacts with the interface, the emotion engine acquires emotional data from the user's facial expressions, voice analysis, input speed, and other factors.

[1462] 2. The device sends destination data, date data, and sentiment data received from the user to the server.

[1463] The device packages the data entered by the user and the sentiment data obtained from the sentiment engine in JSON format and sends it to the server.

[1464] 3. The server analyzes the data it receives.

[1465] The server analyzes the JSON data received from the terminal, extracts destination and date information individually, and then analyzes sentiment data.

[1466] 4. The server prepares to send a request to the travel service provider's API.

[1467] The server configures API endpoints for each service provider: airline tickets, accommodations, and car rentals.

[1468] Convert destination and date information into a format suitable for API requests.

[1469] 5. The server sends API requests to each travel service provider.

[1470] The server sends requests to each API endpoint based on the destination and date.

[1471] Because API requests are sent asynchronously, other requests are processed while waiting for each response.

[1472] 6. The server analyzes the response received from the travel service provider.

[1473] The server analyzes the responses received from airline ticket providers, accommodation providers, and rental car providers to retrieve multiple travel options.

[1474] Each travel option includes price, details, provider information, and more.

[1475] 7. The server selects the cheapest travel option, taking sentiment data into consideration.

[1476] The server selects the cheapest flights, accommodations, and rental cars based on price, and also optimizes the recommendations by taking into account the user's sentiment data.

[1477] For example, if a user is experiencing stress, options that prioritize comfort will be selected as the primary choice.

[1478] 8. The server sends information about the cheapest option it has selected back to the terminal.

[1479] The server compiles the selected lowest-priced option and the optimization details based on sentiment into JSON format and sends it back to the terminal.

[1480] 9. The device displays the lowest price information and sentiment-based suggestions to the user.

[1481] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[1482] Users can view specific prices and detailed information, as well as receive emotion-based optimization suggestions (e.g., relaxing hotels, convenient flight times, etc.).

[1483] Specific example

[1484] If a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[1485] 1. The device sends data to the server indicating its location as "Tokyo," the date range as "2023-12-01~2023-12-07," and the user's emotional state, indicating they are experiencing stress.

[1486] 2. The server analyzes the destination and itinerary and sends data requests to each travel service provider.

[1487] 3. The server receives responses from multiple providers (airline tickets, accommodation, rental cars). For example, the airline tickets cost ¥30,000, the hotel tickets ¥15,000, and the rental cars ¥5,000.

[1488] 4. The server compares those prices and selects the cheapest option. It also takes into account the user's stress level and prioritizes relaxing accommodations and convenient flight times.

[1489] 5. The server sends information about the selected options back to the terminal.

[1490] 6. The device displays the user the cheapest option and sentiment-based optimization suggestions, allowing the user to view details and pricing for each option.

[1491] This system allows users to easily find the cheapest options from multiple travel service providers simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences, resulting in a more satisfying travel planning experience.

[1492] The following describes the processing flow.

[1493] Step 1:

[1494] The user enters the destination and dates.

[1495] To plan their trip, the user enters their destination (e.g., Tokyo) and the start and end dates of their trip (e.g., 2023-12-01 to 2023-12-07) into the device's interface.

[1496] At the same time, the device activates an emotion engine to recognize the user's facial expressions and voice, and acquires the user's emotional data.

[1497] Step 2:

[1498] The device sends destination data, date data, and sentiment data received from the user to the server.

[1499] The terminal combines the destination and date data entered by the user, along with the emotion data generated by the emotion engine (e.g., stressed state, relaxed state), into a JSON format and sends it to the server.

[1500] Step 3:

[1501] The server analyzes the data it receives.

[1502] The server analyzes the JSON data received from the terminal and extracts the destination, schedule information, and emotional state entered by the user.

[1503] Step 4:

[1504] The server prepares to send a request to the travel service provider's API.

[1505] The server configures API endpoints for the necessary flight, accommodation, and rental car service providers and converts destination and itinerary information into a request format.

[1506] At the same time, additional parameters are set based on emotional data (for example, prioritizing relaxation or cost).

[1507] Step 5:

[1508] The server sends API requests to each travel service provider.

[1509] The server sends asynchronous requests to the API endpoints of each travel service provider.

[1510] This request includes data based on destination and dates, as well as parameters corresponding to sentiment data.

[1511] Step 6:

[1512] The server analyzes the response received from the travel service provider.

[1513] The server analyzes the response data of multiple travel options received from the provider and extracts prices and detailed information.

[1514] Step 7:

[1515] The server selects the cheapest travel option and optimizes it based on sentiment data.

[1516] The server compares the prices of the extracted travel options and selects the cheapest option for each: airfare, accommodation, and rental car.

[1517] By considering emotional data (e.g., stress levels), the cheapest selected option is optimized to meet the user's needs (e.g., choosing relaxing accommodations or flight times that reduce stress).

[1518] Step 8:

[1519] The server sends information about the cheapest option it has selected back to the terminal.

[1520] The server compiles the cheapest option and optimized suggestions based on sentiment data into JSON format and sends them back to the terminal.

[1521] Step 9:

[1522] The device displays the lowest price information and sentiment-based suggestions to the user.

[1523] The terminal parses the JSON data received from the server and displays information on the cheapest flights, accommodations, and rental cars.

[1524] Users can see optimized suggestions based on sentiment data, along with specific pricing and detailed information (for example, relaxing accommodations or convenient flight times).

[1525] (Example 2)

[1526] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1527] Traditional travel planning systems offer multiple travel options based on the user's input of destination and dates, but they fail to provide suggestions that take into account the user's emotional state. Therefore, they are unable to provide optimal travel plans tailored to the user's psychological state, making it difficult to create highly satisfying travel plans.

[1528] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[1529] In this invention, the server includes means for receiving destination data, date data, and sentiment data from a user; means for analyzing the destination data, date data, and sentiment data and sending data requests to multiple travel service providers; means for comparing multiple travel options obtained from the travel service providers, selecting the cheapest option, and optimizing the suggested content based on the sentiment data; and means for providing the user with the selected cheapest option and the suggested content optimized based on the sentiment data. This makes it possible to propose an optimal travel plan that is tailored to the user's emotional state. Furthermore, by providing the cheapest option, the user's financial burden can be reduced and their satisfaction with the travel plan can be improved.

[1530] "Destination data" refers to geographical information that users enter as their travel destination.

[1531] "Date data" refers to information that indicates the user's travel start and end dates.

[1532] "Emotional data" refers to information that indicates the user's psychological state, obtained from factors such as facial expression recognition, voice analysis, and input speed.

[1533] A "travel service provider" is a company or organization that provides travel-related services such as airline tickets, accommodations, and car rentals.

[1534] A "data request" is a communication made by a server to a travel service provider's system to request specific information.

[1535] "Travel options" include multiple travel-related choices, specifically including options for flights, accommodations, and car rentals.

[1536] "The cheapest option" refers to the travel option with the lowest price.

[1537] "Optimizing the suggested content" means taking user emotional data into consideration and selecting the travel option that best suits the user's psychological state.

[1538] Modes for carrying out the invention

[1539] This invention provides a system that searches for and presents optimal travel options to a user simply by having them input their destination and dates. Furthermore, it includes an emotion engine that recognizes the user's emotions and suggests appropriate options. Based on the user's input, this system acquires information from multiple travel service providers and not only presents the optimal travel plan, but also provides a more satisfying travel plan by customizing it according to the user's emotions.

[1540] System Configuration

[1541] This system includes the following main components:

[1542] User Interface (Terminal): Through this interface, the user inputs destination data, date data, and sentiment data.

[1543] Emotion engine: This is software that generates emotion data from the user's facial expressions, voice, and input speed. For example, an emotion recognition API can be used.

[1544] Server: Analyzes data and sends requests to travel service provider APIs. The server includes data management and analysis modules.

[1545] Travel service provider APIs: Utilize APIs from external services that offer travel options such as flights, accommodations, and rental cars.

[1546] Process Overview

[1547] 1. Processing user input

[1548] The user enters their travel destination (e.g., "Tokyo") and travel dates (e.g., "2023-12-01~2023-12-07") from their home device. Simultaneously, the emotion engine acquires and analyzes emotional data from the user's facial expressions and voice.

[1549] 2. Data transmission and analysis

[1550] The device compiles the collected destination data, date data, and sentiment data into JSON format and sends it to the server. The server analyzes the received data, extracts the destination and date, and further analyzes the sentiment data.

[1551] 3. Generating and sending API requests

[1552] The server generates the appropriate requests to each travel service provider's API endpoint and sends data requests based on destination and itinerary information. API requests are sent asynchronously, and other requests are processed while waiting for each response.

[1553] 4. Aggregation and comparison of responses

[1554] The server receives and analyzes responses from each travel service provider. It compares the acquired travel options (flights, accommodations, rental cars) and selects the cheapest option. At the same time, it considers the user's sentiment data to generate optimal recommendations.

[1555] 5. Data return and display

[1556] The server returns the selected lowest-priced option and optimized suggestions based on sentiment data to the terminal in JSON format. The terminal parses this and displays it to the user. The user reviews the specific price and details and receives optimized suggestions based on sentiment.

[1557] Specific example

[1558] For example, if a user enters "Tokyo" as their destination and "2023-12-01~2023-12-07" as their dates, and the emotion engine analyzes that they are experiencing stress, the system will operate as follows:

[1559] 1. The device sends destination data ("Tokyo"), dates ("2023-12-01~2023-12-07"), and emotional data ("feeling stressed") to the server.

[1560] 2. The server analyzes destination and itinerary data and sends data requests to the APIs of each travel service provider.

[1561] 3. The server receives responses from multiple providers (¥30,000 for airfare, ¥15,000 for hotel, and ¥5,000 for rental car).

[1562] 4. The server compares the received data and selects the cheapest option. At the same time, since the user is stressed, it chooses accommodation that promotes relaxation.

[1563] 5. The server sends information about the selected options back to the terminal.

[1564] 6. The device displays the user the cheapest option and optimized suggestions based on sentiment data, allowing the user to view details and pricing for each option.

[1565] Example of a prompt

[1566] "My destination is Tokyo, and my travel dates are from December 1st to December 7th, 2023. I'm feeling stressed right now. Please help me find the best travel options."

[1567] This allows users to easily find the best travel options simply by entering their destination and dates, and they can also receive personalized suggestions tailored to their preferences.

[1568] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1569] Step 1:

[1570] The user enters the destination and dates.

[1571] Input: The user enters the travel destination (e.g., "Tokyo") and dates (e.g., "2023-12-01~2023-12-07").

[1572] Specific operation: When a user inputs data into the device interface, the emotion engine analyzes the user's facial expressions, voice, and input speed to generate emotion data.

[1573] Output: Destination data, date data, and sentiment data have been entered.

[1574] Step 2:

[1575] The device sends destination data, date data, and sentiment data received from the user to the server.

[1576] Input: Destination data, date data, and sentiment data received from the user.

[1577] Specific operation: The terminal packages this data in JSON format and sends it to the server via an HTTP POST request.

[1578] Output: Data in JSON format is sent to the server.

[1579] Step 3:

[1580] The server analyzes the data it receives.

[1581] Input: JSON data sent from the terminal.

[1582] Specific operation: The server uses a JSON parser to extract destination data, date data, and sentiment data separately.

[1583] Output: Extracted destination, date, and sentiment data are available.

[1584] Step 4:

[1585] The server configures the API endpoint for the travel service provider.

[1586] Input: Extracted destination data, date data.

[1587] Specific operation: The server configures API endpoints for each service provider, including airline tickets, accommodations, and car rentals. It converts destination and itinerary information into a format suitable for each API.

[1588] Output: Data for API requests is prepared.

[1589] Step 5:

[1590] The server sends API requests to each travel service provider.

[1591] Input: Prepared data for API requests.

[1592] Specific operation: The server sends requests asynchronously to each API endpoint. For example, it sends a query like "destination=Tokyo&start_date=2023-12-01&end_date=2023-12-07" to the flight search API.

[1593] Output: API requests are sent to each provider.

[1594] Step 6:

[1595] The server analyzes the response received from the travel service provider.

[1596] Input: JSON response returned from each travel service provider.

[1597] Specific operation: The server analyzes the response data and extracts each travel option (price, details, provider information).

[1598] Output: Multiple travel options are analyzed and compiled.

[1599] Step 7:

[1600] The server selects the cheapest travel option, taking sentiment data into consideration.

[1601] Input: Analyzed data on multiple travel options and sentiment.

[1602] Specific operation: The server sorts options by price and selects the cheapest one. At the same time, it optimizes the recommendations based on the user's emotional data. For example, if the user is feeling stressed, it will select relaxing accommodations.

[1603] Output: The selected lowest-priced option and optimized proposal content will be compiled.

[1604] Step 8:

[1605] The server sends information about the selected options back to the terminal.

[1606] Input: A curated selection of the lowest-priced options and optimized proposals.

[1607] Specific operation: The server compiles this information into JSON format and sends it to the terminal as an HTTP response.

[1608] Output: A response data in JSON format is sent back to the terminal.

[1609] Step 9:

[1610] The device displays the lowest price information and sentiment-based suggestions to the user.

[1611] Input: JSON response received from the server.

[1612] Specific operation: The device analyzes response data and displays detailed information on the cheapest flights, accommodations, and rental cars to the user. Optimized suggestions based on sentiment data are also displayed.

[1613] Output: Detailed information and optimization suggestions are visually presented to the user.

[1614] (Application Example 2)

[1615] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1616] Traditional shopping plan systems provide optimal plans simply by having users input their desired locations and dates, but they have a problem in that they do not take into account the user's emotional state, resulting in insufficient optimization of the experience. In particular, when users are feeling stressed or fatigued, they cannot receive suggestions that are appropriate to their state, making it difficult to provide a comfortable shopping experience.

[1617] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving destination data and date data from the user, means for analyzing the destination data and date data and sending data requests to multiple facility service providers, means for comparing multiple options obtained from the facility service providers and selecting the cheapest option, means for acquiring and analyzing the user's emotional data, and means for customizing and providing information on the selected cheapest option based on the user's emotional data. This makes it possible to provide an optimal shopping plan that is tailored to the user's emotional state.

[1618] "Destination data" refers to information about places or destinations that a user wants to visit.

[1619] "Date data" refers to information about the date the user plans to visit.

[1620] "Facility service providers" refer to stores or companies that provide goods or services.

[1621] A "data request" is a request that a server sends to a facility service provider in order to obtain necessary information.

[1622] An "option" refers to a set of choices presented to a user.

[1623] "Emotional data" refers to information about a user's emotions, obtained from their facial expressions, voice, input speed, etc.

[1624] "Customization" refers to individually adjusting standard options based on the user's specific needs and preferences.

[1625] This invention relates to a system that acquires user destination and date data and proposes an optimal shopping plan based on that data. Furthermore, this system has the function of acquiring and analyzing user emotional data and providing customized suggestions according to the user's emotional state.

[1626] System Configuration

[1627] This system is broadly composed of the following elements:

[1628] 1. User Terminal: Provides an interface for the user to input destination and date data and to acquire sentiment data. Sentiment data is obtained from facial recognition, voice analysis, input speed, etc.

[1629] 2. Server: Analyzes destination data, date data, and sentiment data received from the user terminal and sends data requests to multiple facility service providers. Furthermore, it compares the acquired options and selects the least expensive option. Based on the user's sentiment data, it customizes the selected option and presents it to the user.

[1630] Hardware and software to be used

[1631] User device: A device such as a smartphone or tablet. It uses a camera and microphone to acquire emotional data.

[1632] Emotion Engine: Uses emotion recognition libraries such as EmotionEngine to analyze emotions from the user's facial expressions, voice, and input speed.

[1633] Server: Performs API communication to make data requests. It uses programming languages ​​such as Python or Node.js, and the communication protocol is HTTP or HTTPS.

[1634] System processing

[1635] This system begins with the user entering destination and date data on a user terminal. Next, it analyzes the user's sentiment. The acquired data is sent to a server, which processes it and sends appropriate data requests to facility service providers. After multiple options are returned, the system selects the least expensive option and customizes it based on the user's sentiment data.

[1636] Specific example

[1637] For example, suppose a user plans to visit a "store in Ginza" on "2023-11-20". In this case, the user enters the destination and date using their smartphone. Simultaneously, emotion recognition software analyzes the user's facial expressions and voice to detect if they are stressed. This data is sent to a server, which then sends data requests to multiple facility service providers. The server analyzes the returned options and selects the cheapest plan. At the same time, taking into account the user's stress levels, it suggests relaxing stores or rest areas.

[1638] Example of a prompt

[1639] "For a user visiting stores in Ginza on November 20, 2023, please suggest the optimal shopping plan if their emotions are perceived as stressful. Please also recommend stores with relaxing rest areas and pleasant fragrances."

[1640] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1641] Step 1:

[1642] The user enters a destination and date. The entered data is acquired as destination data (e.g., "Ginza store") and date data (e.g., "2023-11-20"). Simultaneously, the device uses the camera and microphone to acquire emotional data from the user's facial expressions and voice. Specifically, it uses an emotion recognition library such as EmotionEngine to analyze whether the user is experiencing stress. The user device receives destination data, date data, and emotional data as input and packages this data.

[1643] Step 2:

[1644] The terminal sends packaged data to the server. The data is in JSON format and includes destination data, date data, and sentiment data. The terminal's role is to accurately send the data to the server. It receives packaged data as input and sends it to the server as output.

[1645] Step 3:

[1646] The server parses the received data. First, it extracts destination and date data, and then parses sentiment data. Specifically, once the data is formatted appropriately, it stores destination and date information, and sentiment status, into specific variables. The server's input is JSON data from the terminal, and its output is the parsed destination, date, and sentiment information.

[1647] Step 4:

[1648] The server sends data requests to multiple facility service providers. The server uses the retrieved destination and date data to send requests to multiple API endpoints. While waiting for responses from each facility service provider, it processes other requests asynchronously. The input is the parsed destination and date data, and the output is the response data from each facility service provider.

[1649] Step 5:

[1650] The server analyzes responses received from facility service providers and compares multiple options. In particular, it selects the cheapest option based on price and service content. For example, it evaluates product and service lists from multiple stores based on price and features to determine the optimal choice. The input is response data from facility service providers, and the output is the selected cheapest option.

[1651] Step 6:

[1652] The server customizes selected options based on the user's emotional data. If the user is feeling stressed, it adds suggestions for relaxing stores or rest areas. Specifically, it uses an algorithm based on emotional data to optimize standard suggestions for the user's specific state. The inputs are the selected options and emotional data, and the output is the customized options.

[1653] Step 7:

[1654] The server ultimately sends the customized information to the user's terminal. The data is then packaged again in JSON format and sent to the user along with appropriate suggestions. The input is the customized options, and the output is the transmission of the final data to the user's terminal.

[1655] Step 8:

[1656] The terminal displays data received from the server to the user. The user can review the information displayed on the screen and select the optimal shopping plan or suggestion. The terminal visually presents the user with details about destinations, recommended stores, and specific products. Input is data from the server, and output is what is displayed to the user.

[1657] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1658] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1659] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

[1660] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1661] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[1662] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[1663] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[1664] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[1665] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[1666] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[1667] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[1668] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

[1669] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

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

[1671] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[1672] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[1673] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[1674] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[1675] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[1676] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[1677] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.

[1678] The following is further disclosed regarding the embodiments described above.

[1679] The draft claims are shown below.

[1680] (Claim 1)

[1681] A means for receiving destination data and date data from the user,

[1682] A means for analyzing the aforementioned destination data and date data and sending data requests to multiple travel service providers,

[1683] A means of comparing multiple travel options obtained from the aforementioned travel service provider and selecting the cheapest option from each,

[1684] A means of providing the user with information on the least expensive option selected,

[1685] A system that includes this.

[1686] (Claim 2)

[1687] The system according to claim 1, characterized in that the travel options include options for airfare, accommodation, and rental cars.

[1688] (Claim 3)

[1689] The system according to claim 1, characterized in that the data request for obtaining the aforementioned travel options from a travel service provider is an API request.

[1690] "Example 1"

[1691] (Claim 1)

[1692] A means for receiving destination data and date data from the user,

[1693] A means for analyzing the aforementioned destination data and date data and sending data requests to multiple travel service providers,

[1694] A means of comparing multiple travel options obtained from the aforementioned travel service provider and selecting the cheapest option from each,

[1695] A means of providing the user with information on the least expensive option selected,

[1696] A means of inputting prompt sentences into an AI model to receive recommendations regarding travel plans,

[1697] A system that includes this.

[1698] (Claim 2)

[1699] The system according to claim 1, characterized in that the travel options include options for airfare, accommodation, and rental cars.

[1700] (Claim 3)

[1701] The system according to claim 1, characterized in that the data request for obtaining the aforementioned travel options from a travel service provider is an API request.

[1702] "Application Example 1"

[1703] (Claim 1)

[1704] A means for receiving destination data and date data from the user,

[1705] A means for analyzing the aforementioned destination data and date data and sending data requests to multiple travel service providers,

[1706] A means of comparing multiple travel options obtained from the aforementioned travel service provider and selecting the cheapest option from each,

[1707] A means of providing the user with information on the least expensive option selected,

[1708] A means for the user to input destination data and date data via voice or touch panel,

[1709] A means by which a robot terminal transmits input data and displays the returned data via voice and touch panel,

[1710] A system that includes this.

[1711] (Claim 2)

[1712] The system according to claim 1, characterized in that the travel options include transportation options, accommodation options, and vehicle options.

[1713] (Claim 3)

[1714] The system according to claim 1, characterized in that the data request for obtaining the aforementioned travel options from a travel service provider is a database interface request.

[1715] "Example 2 of combining an emotion engine"

[1716] (Claim 1)

[1717] A means of receiving destination data, date data, and sentiment data from the user,

[1718] A means for analyzing the aforementioned destination data, date data, and sentiment data, and for sending data requests to multiple travel service providers,

[1719] A means for comparing multiple travel options obtained from the aforementioned travel service provider, selecting the cheapest option, and optimizing the suggested content based on the aforementioned sentiment data,

[1720] A means of providing the user with the most inexpensive option selected and optimized suggestions based on sentiment data,

[1721] A system that includes this.

[1722] (Claim 2)

[1723] The system according to claim 1, characterized in that the travel options include options for airfare, accommodation, and rental cars.

[1724] (Claim 3)

[1725] The system according to claim 1, characterized in that the data request for obtaining the aforementioned travel options from a travel service provider is an API request.

[1726] "Application example 2 when combining with an emotional engine"

[1727] (Claim 1)

[1728] A means for receiving destination data and date data from the user,

[1729] A means for analyzing the aforementioned destination data and date data and sending data requests to multiple facility service providers,

[1730] A means for comparing multiple options obtained from the aforementioned facility service provider and selecting the least expensive option,

[1731] A means of acquiring and analyzing user sentiment data,

[1732] A means of providing information on the least expensive option selected above, customized based on the user's sentiment data,

[1733] A system that includes this.

[1734] (Claim 2)

[1735] The system according to claim 1, characterized in that the facility options include options for goods, stores, and services.

[1736] (Claim 3)

[1737] The system according to claim 1, characterized in that the data request for obtaining the aforementioned facility options from the facility service provider is an API request. [Explanation of Symbols]

[1738] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for receiving destination data and date data from the user, A means for analyzing the aforementioned destination data and date data and sending data requests to multiple travel service providers, A means of comparing multiple travel options obtained from the aforementioned travel service provider and selecting the cheapest option from each, A means of providing the user with information on the least expensive option selected, A system that includes this.

2. The system according to claim 1, characterized in that the travel options include options for airfare, accommodation, and rental car.

3. The system according to claim 1, characterized in that the data request for obtaining the aforementioned travel options from a travel service provider is an API request.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A