system
The system automates travel plan creation and customization by integrating user terminals, servers, and external APIs, addressing the inefficiencies of manual planning and lack of flexibility in conventional systems, providing a convenient and efficient travel planning experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
AI Technical Summary
Conventional travel plan creation and reservation systems require users to manually arrange tourist information, accommodations, and transportation, which is time-consuming and laborious, and lack flexibility in customization and integration of data from multiple sources, making it difficult to provide a highly convenient service.
A system that includes a user terminal for inputting travel information, a server for data collection and plan generation, an algorithm for optimizing travel plans, and a means for making reservations, allowing for automatic creation and flexible customization of travel plans through integration with external APIs.
Enables efficient and convenient travel planning by automating the process from information input to reservation arrangements, allowing users to easily create and customize travel plans in one place.
Smart Images

Figure 2026063856000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Conventional travel plan creation and reservation systems require users to individually arrange tourist information, reserve accommodation facilities, and arrange transportation means, which is time-consuming and laborious. Also, it is difficult to flexibly customize according to user wishes and difficult to quickly propose an optimal travel plan. Furthermore, there is no means to integrate data from multiple information sources and automatically generate a consistent travel plan, so there is a problem that it is difficult to provide a highly convenient service for users.
Means for Solving the Problems
[0005] This invention solves the aforementioned problems by providing a system that includes a user terminal for inputting information on travel duration, number of travelers, mode of transport, final destination, and purpose of travel; a server for receiving the input information and collecting data on relevant tourist destinations, accommodations, and modes of transport; an algorithm for generating an optimal travel plan based on the collected data; a user terminal for presenting the generated travel plan to the user and accepting user customization requests; a server for recalculating the travel plan based on the customization requests and presenting it again; and a means for making reservations for accommodations and modes of transport based on the user's finalized travel plan. Primarily, by acquiring data on tourist destinations, accommodations, and modes of transport through communication with an external API and using an algorithm that calculates the optimal order of visiting tourist destinations based on the information input by the user, a travel plan can be automatically created and flexibly customized to the user's wishes. As a result, users can efficiently create a consistent travel plan, and convenience is improved by completing all reservation arrangements in a one-stop manner.
[0006] "Travel period" refers to the entire duration from the start date to the end date of the trip.
[0007] "Number of travelers" refers to the total number of people participating in the trip.
[0008] "Means of travel" refers to the means of transportation used during a trip (e.g., public transport, car, bicycle, walking, etc.).
[0009] The "final destination" refers to the place or city that is the main purpose of the trip.
[0010] "Purpose of travel" refers to the main purpose or theme of the trip (e.g., sightseeing, business, relaxation, etc.).
[0011] A "user terminal" refers to a device (e.g., smartphone, tablet, personal computer) that a user operates to input information or check results.
[0012] A "server system" refers to a system that processes information received from users and collects and integrates data from external APIs to generate travel plans.
[0013] "Algorithmic methods" refer to computational techniques and programs used to calculate and generate optimal travel plans based on collected data.
[0014] An "external API" refers to an interface that allows integration with other services and systems to obtain data such as tourist destination information, accommodation information, and transportation information.
[0015] A "customization request" refers to a user's request to change or add to a presented travel plan.
[0016] "Recalculation" refers to the process of recalculating the travel plan to reflect the user's customization requests.
[0017] "Methods for making reservations" refers to systems that automatically handle the reservation process for accommodations and transportation based on travel plans. [Brief explanation of the drawing]
[0018] [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]It 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] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It 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] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It 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 the data processing system in Application Example 2 when an emotion engine is combined.
Embodiments for Carrying Out the Invention
[0019] 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.
[0020] First, the terms used in the following description will be explained.
[0021] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), and APU (Accelerated Processing Unit).
[0022] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0023] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0024] 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).
[0025] 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."
[0026] [First Embodiment]
[0027] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0028] 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.
[0029] 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).
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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".
[0039] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[0040] User input
[0041] The user first enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. This information is then sent to the server and forms the basis for creating the travel plan. For example, suppose the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[0042] Server-based data collection and plan generation
[0043] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal travel plan. This algorithm generates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[0044] For example, the server generates a travel plan like this:
[0045] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[0046] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[0047] Day 3: Gion area and accommodation C
[0048] Plan presentation and customization
[0049] The generated plan is sent back to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed. If the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[0050] Recalculation and update
[0051] The server receives a customization request from the user, accesses the external API again to retrieve the necessary data, recalculates the plan, and sends the updated plan to the user's terminal. For example, the server recalculates and presents a plan that reflects the user's request for a "day trip to a hot spring on the second day."
[0052] Final plan confirmation and arrangements
[0053] The user confirms their final satisfactory plan and presses the "Confirm" button. The user's device sends this information to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[0054] summary
[0055] This system eliminates the need for users to manually create and adjust travel plans and make individual reservations, allowing them to easily complete their travel planning in one place. This significantly improves user convenience.
[0056] The following describes the processing flow.
[0057] Step 1:
[0058] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[0059] Step 2:
[0060] The server parses the JSON data received from the user's terminal. It extracts travel details from the parsed information and prepares to send a request to an external API.
[0061] Step 3:
[0062] The server sends requests to tourist destination information APIs, accommodation information APIs, and transportation information APIs. It efficiently collects data by calling multiple APIs in parallel.
[0063] Step 4:
[0064] The server receives JSON data returned from an external API. This includes a list of tourist attractions, accommodations, and transportation options.
[0065] Step 5:
[0066] The server integrates the received data using algorithmic methods to generate a travel plan that best suits the user's conditions. The generated plan includes the order of visits for each day, accommodations, and transportation.
[0067] Step 6:
[0068] The server sends the generated travel plan to the user's terminal. The user's terminal displays the received plan to the user in a visually easy-to-understand format.
[0069] Step 7:
[0070] The user reviews the displayed travel plan and enters any customization requests as needed. The user's device then sends the customization request to the server.
[0071] Step 8:
[0072] The server processes the customization request received from the user. If necessary, it accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and generates an updated plan.
[0073] Step 9:
[0074] The server resends the updated travel plan to the user's device. The user's device displays the updated plan to the user.
[0075] Step 10:
[0076] The user reviews the final plan and presses the "Confirm" button. The user's device sends a confirmation request to the server.
[0077] Step 11:
[0078] The server receives the user's confirmation request and makes reservations for accommodation and transportation via an external API. It retrieves reservation confirmation information and sends it to the user's terminal.
[0079] Step 12:
[0080] The user terminal displays the reservation confirmation information to the user, and the travel plan is finally finalized. This completes all steps of the travel planning process.
[0081] (Example 1)
[0082] 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."
[0083] Traditional travel planning processes were extremely time-consuming, requiring users to manually gather and compare a large amount of information. Individual booking arrangements were also cumbersome, placing a significant burden on users. Furthermore, these plans were fixed, making it difficult to flexibly accommodate user change requests. There is a need to solve these problems and provide a system that allows users to easily and efficiently create, customize, and book travel plans.
[0084] 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.
[0085] In this invention, the server includes an information processing device that receives input information and collects data on relevant tourist destinations, accommodations, and transportation methods; a calculation means that generates an optimal travel plan based on the collected data; and an information processing device that recalculates the optimal travel plan based on the collected data and presents it again. This allows the user to consistently perform everything from automatic generation and customization of travel plans to booking arrangements.
[0086] An "information terminal" is a device used by users to input basic travel information (travel period, number of travelers, mode of transport, final destination, and purpose of travel).
[0087] An "information processing device" is a device that receives input information, retrieves data on relevant tourist destinations, accommodations, and transportation methods from external web services, and generates and recalculates the optimal travel plan.
[0088] The "computational means" refers to the process of executing an algorithm to generate the optimal travel plan based on the collected data.
[0089] "Reservation method" refers to the process of making reservations for accommodations and transportation based on the user's confirmed travel plan.
[0090] "External web services" refer to third-party web-based services that provide data on tourist destinations, accommodations, and transportation options.
[0091] An "algorithmic method" refers to mathematical techniques or procedures used to calculate the optimal order of visiting tourist destinations and the daily schedule based on information entered by the user.
[0092] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of a user terminal, a server, and external web services.
[0093] 1. User input
[0094] The user first enters basic travel information using their own information terminal. This includes information such as the duration of the trip, the number of travelers, the mode of transportation, the final destination, and the purpose of the trip. The entered information is then sent to the server. For example, the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[0095] 2. Data collection and plan generation by the server
[0096] The server communicates with external web services based on information received from the user's terminal and collects relevant data. Specifically, this includes tourist destination information, accommodation information, and transportation information. This data is integrated by an information processing device, and a calculation device generates an optimal travel plan. This calculation device creates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[0097] For example, the following travel plan will be generated:
[0098] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[0099] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[0100] Day 3: Gion area and accommodation C
[0101] 3. Plan presentation and customization
[0102] The generated plan is sent back to the user's device and presented to the user. The user can review this plan and enter customization requests as needed. For example, if the user enters a request to "add a day trip to a hot spring on the second day," that information is sent from the device to the server.
[0103] 4. Recalculation and Update
[0104] The server receives a customization request from the user, accesses the external web service again, and retrieves the necessary data. Based on the newly retrieved data, a recalculation is performed, and an updated plan is generated. This recalculated plan is sent to the user's terminal and presented to the user again.
[0105] For example, the updated plan is as follows:
[0106] Day 2: Visit Kinkaku-ji Temple, afternoon day trip to a hot spring, accommodation B
[0107] 5. Finalization and arrangement of the plan
[0108] Once the user confirms their final satisfactory plan and presses the "Confirm" button, their device sends this information to the server. The server then makes reservations for accommodation and transportation through an external web service. Specifically, it retrieves accommodation and transportation reservation information and confirms all reservations. The reservation confirmation information is finally sent to the user's device.
[0109] Example of a prompt
[0110] Example of user input: "5 days, 3 people, car, Kyoto, sightseeing"
[0111] Example prompt:
[0112] Travel Plan Generation: "Please generate a 5-day travel plan for a group of 3 people focused on sightseeing in Kyoto. We will be using a car."
[0113] Customization request: "Please add a day trip to a hot spring on the second day."
[0114] This allows users to handle everything from automatically generating and customizing travel plans to making reservations, significantly improving convenience.
[0115] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0116] Step 1:
[0117] The user uses their own information terminal to enter basic travel information (travel period, number of travelers, mode of transport, final destination, purpose of trip). The entered information is then sent from the information terminal to the server.
[0118] Input: Travel period, number of travelers, mode of transport, final destination, purpose of trip
[0119] Output: User information is sent to the server.
[0120] Specific operation: The user uses a smartphone or computer to access a travel planning app or website and enters information such as "5 days, 3 people, car, Kyoto, sightseeing" into the displayed input form. Once the input is complete, the device automatically sends this information to the server.
[0121] Step 2:
[0122] The server communicates with external web services based on information received from the user's terminal to collect relevant tourist destination information, accommodation information, and transportation information. This collected data is then passed to a travel plan generation algorithm.
[0123] Input: Travel information submitted by the user
[0124] Output: Tourist information, accommodation information, and transportation information are obtained.
[0125] Specific operation: The server accesses the tourist information API to collect information on tourist spots and related information in Kyoto. Next, it uses the accommodation information API to check the availability and prices of accommodations, and uses the transportation information API to collect data on transportation options to each tourist spot.
[0126] Step 3:
[0127] The server integrates the collected data and generates the optimal travel plan using a computational method (travel plan generation algorithm). This plan includes the order of visits for each day, suitable accommodations, and optimal modes of transportation.
[0128] Input: Tourist information, accommodation information, transportation information
[0129] Output: Optimal travel plan
[0130] Specific operation: Based on the information received, the server generates a 5-day travel plan for Kyoto. For example, it will plan to visit Kiyomizu-dera Temple on day 1, Kinkaku-ji Temple on day 2, and the Gion district on day 3, and assign appropriate accommodations for each day.
[0131] Step 4:
[0132] The generated travel plan is sent from the server to the user's terminal and presented to the user. The user reviews the plan and enters customization requests if necessary. The entered customization requests are then sent back to the server.
[0133] Input: Generated travel plan
[0134] Output: Customization requests from users
[0135] Specific operation: The user checks the travel plan displayed on their device. If necessary, they enter a customization request, such as "Add a day trip to a hot spring on the second day," and the device sends that request to the server.
[0136] Step 5:
[0137] The server receives a customization request from the user, accesses the external web service again to retrieve the necessary data, recalculates based on the new data, generates an updated plan, and sends it to the user's terminal.
[0138] Input: Customization request from the user
[0139] Output: Updated travel plan
[0140] Specific operation: When the server receives a request to "add a day trip to a hot spring on day 2," it retrieves information about the day trip hot spring facility and recalculates the travel plan. As a result, the recalculated plan is updated to "Visit Kinkaku-ji Temple on day 2, day trip to a hot spring in the afternoon, accommodation B."
[0141] Step 6:
[0142] Once the user reviews the final plan and presses the "Confirm" button, the user's device sends the confirmation information to the server. The server then makes reservations for accommodation and transportation through an external web service and sends the reservation confirmation information to the user's device.
[0143] Input: User verification information
[0144] Output: Reservation confirmation information
[0145] Specific operation: Once the user confirms their final plan, the server uses the accommodation booking API and transportation booking API to make reservations for accommodation and transportation. Once the reservations are confirmed, the information is sent to the user's terminal, and all reservations are finalized.
[0146] (Application Example 1)
[0147] 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."
[0148] Traditional food delivery services have faced challenges in finding the optimal combination of meals, delivery times, and special requests that users desire, as well as the cumbersome customization process. This often resulted in reduced user convenience and low satisfaction.
[0149] 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.
[0150] In this invention, the server includes an input terminal for inputting information regarding the type of meal, desired delivery time, number of people, and special requests; a communication means for receiving the input information and collecting data on relevant restaurants, menus, and delivery methods; an algorithm means for generating an optimal delivery plan based on the collected data; an input terminal for presenting the generated delivery plan to the user and accepting the user's customization requests; a communication means for recalculating the delivery plan based on the customization requests and presenting it again; and a means for making reservations for food, beverages, and delivery methods based on the user's confirmed delivery plan. As a result, the user can easily obtain an optimal delivery plan and use a highly satisfying delivery service while making necessary customizations.
[0151] An "input terminal" is a device used by users to input information, such as a smartphone or tablet.
[0152] "Communication means" refers to technical means for transmitting information from an input terminal to a server and from a server to an input terminal. Specifically, this includes internet connectivity and API communication.
[0153] An "algorithmic means" refers to a set of computational means for calculating and generating the optimal plan based on collected data. This calculation is performed by a program or model.
[0154] "Food and beverages" refers to everything listed on a restaurant menu, including meals and drinks that the user desires.
[0155] A "delivery plan" refers to the overall schedule and procedures from order to delivery, generated based on the user's input information.
[0156] A "customization request" refers to any additional requests or changes that a user may make after the initial plan has been presented.
[0157] "Means of making reservations" refers to the means by which users reserve facilities and services based on their confirmed delivery plans. Specifically, it refers to a system that sends orders to restaurants and delivery companies via an API.
[0158] An "external API" is an application programming interface provided by a third party, and it is a means for a system to access external data and services.
[0159] "Eateries" refers to establishments that serve food and drinks, and encompasses a wide range of businesses, including restaurants and cafes.
[0160] "Delivery method" refers to the method used to deliver food and beverages ordered by a user to a location specified by the user, and includes methods such as human power, automobiles, and drones.
[0161] A "prompt" refers to an instruction or question that a user uses to request a specific action from the system.
[0162] This invention relates to a system that optimizes and improves the convenience of food delivery services desired by users. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[0163] User input
[0164] First, the user enters information about the type of meal (e.g., Japanese food, Italian food), desired delivery time, number of people, special requests (e.g., vegetarian, gluten-free), and delivery location into an input device such as a smartphone. This information is then sent to the server and becomes the basic data for creating the delivery plan. For example, suppose the user enters "Japanese food, 12:30 PM, 3 people, vegetarian, Minato-ku, Tokyo."
[0165] Server-based data collection and plan generation
[0166] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of restaurant information APIs, menu information APIs, and delivery service provider information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal delivery plan. This algorithm selects and combines appropriate restaurants, menus, and delivery methods based on specified conditions.
[0167] Plan presentation and customization
[0168] The generated delivery plan is sent back to the user's device and presented to the user. The user reviews this plan and enters any customization requests as needed. For example, if the user requests to "add an extra dish," that information is sent to the server.
[0169] Recalculation and update
[0170] The server receives a customization request from the user, accesses the external API again to collect the necessary data, recalculates and generates an updated plan, and sends it back to the user's terminal. For example, it recalculates and presents a plan that reflects the user's request to "add one more dish."
[0171] Final plan confirmation and arrangements
[0172] Once the user confirms their final satisfactory delivery plan and presses the "Confirm" button, the user's device sends this information to the server, which then makes reservations for food, beverages, and delivery methods via external APIs. For example, it sends a reservation request to a restaurant reservation API and also to a delivery service's reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[0173] Program Processing Description
[0174] The system program uses the following hardware and software:
[0175] Hardware: Smartphones (user terminals), servers, network equipment
[0176] Software: External APIs (restaurant information API, menu information API, delivery service information API), algorithms (optimization models), database management system
[0177] The specific processing flow is as follows: User input information is sent to the server, and the server collects the necessary data from an external API. Based on the collected data, the AI model generates the optimal delivery plan and presents it to the user's terminal. A customization request from the user is sent back to the server, which recollects the necessary data and recalculates, then presents an updated plan. Finally, the server confirms the reservation via the external API and sends confirmation information to the user.
[0178] Example of a prompt
[0179] The following are specific examples of user prompt messages:
[0180] User: Please create the best delivery plan for Japanese food, 12:30 PM, 3 people, vegetarian, in Minato Ward, Tokyo.
[0181] App: Retrieving restaurant list... Please wait.
[0182] This system allows users to easily create complex delivery plans, significantly improving convenience and satisfaction.
[0183] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0184] Step 1:
[0185] Users enter information such as the type of meal, desired delivery time, number of people, special requests, and delivery location into an input device such as a smartphone.
[0186] input:
[0187] Type of meal (e.g., Japanese food)
[0188] Preferred delivery time (e.g., 12:30 PM)
[0189] Number of people (e.g., 3 people)
[0190] Special requests (e.g., vegetarian)
[0191] Delivery location (Example: Minato-ku, Tokyo)
[0192] output:
[0193] The entered information is sent to the server.
[0194] Specific actions:
[0195] The process begins when the user enters information into the form on their terminal and presses the "Submit" button.
[0196] Step 2:
[0197] Based on the information received from the user's terminal, the server accesses external APIs such as restaurant information APIs, menu information APIs, and delivery service provider information APIs to collect relevant information.
[0198] input:
[0199] The user entered the type of meal, desired delivery time, number of people, special requests, and delivery location.
[0200] output:
[0201] List of restaurants
[0202] List of corresponding menus
[0203] List of available delivery methods
[0204] Specific actions:
[0205] The server program generates API requests, accesses each API, and retrieves the necessary data.
[0206] Step 3:
[0207] The server uses an AI model based on the collected data to generate the optimal delivery plan.
[0208] input:
[0209] List of restaurants
[0210] List of corresponding menus
[0211] List of available delivery methods
[0212] output:
[0213] Optimal delivery plan
[0214] Specific actions:
[0215] The server feeds each dataset into an algorithm to calculate the optimal plan. For example, it selects the highest-rated restaurants and menus based on user preferences and schedules delivery times accordingly.
[0216] Step 4:
[0217] The generated delivery plan is sent to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed.
[0218] input:
[0219] Optimal delivery plan
[0220] output:
[0221] User customization requests (e.g., want to add more single-serving dishes, no preservatives, etc.)
[0222] Specific actions:
[0223] A notification is sent to the user's device, and the delivery plan is displayed on the screen. The user enters the parts they want to customize and submits it again.
[0224] Step 5:
[0225] The server receives the customization request, accesses the external API again to collect and recalculate the necessary data, and generates an updated delivery plan.
[0226] input:
[0227] User customization request
[0228] output:
[0229] Updated optimal delivery plan
[0230] Specific actions:
[0231] The server program generates another API request and recalculates the plan, taking the changes into account.
[0232] Step 6:
[0233] Once the user finalizes their delivery plan, the server makes reservations for food, beverages, and delivery methods via an external API.
[0234] input:
[0235] Confirmed delivery plan
[0236] output:
[0237] Verified reservation information
[0238] Specific actions:
[0239] The server program sends a request to the reservation API and then sends the confirmed reservation information to the user's terminal.
[0240] Step 7:
[0241] The user will ultimately receive reservation confirmation information on their device and track the progress until delivery is complete.
[0242] input:
[0243] Verified reservation information
[0244] output:
[0245] Delivery progress notification
[0246] Specific actions:
[0247] The user's terminal receives real-time notifications of the delivery progress, allowing them to check the status until the delivery is completed.
[0248] 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.
[0249] This invention relates to a travel plan generation system that incorporates an emotion engine that recognizes user emotions. This system is designed to operate efficiently through the cooperation of a user terminal, a server, an emotion engine, and an external API.
[0250] User input and emotion recognition
[0251] The user inputs information about the trip duration, number of travelers, mode of transport, final destination, and purpose of the trip into the user terminal. The emotion engine operates based on this input information to recognize and analyze the user's emotional state. For example, if the user inputs "5 days, 3 people, car, Kyoto, sightseeing," the emotion engine estimates the emotion based on text analysis and the user's facial expressions at the time of input.
[0252] Server-based data collection and plan generation
[0253] The server sends requests to external APIs to collect relevant information based on the information received from the user terminal and the sentiment data supplied by the sentiment engine. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and runs an algorithm to generate the optimal travel plan based on the sentiment data.
[0254] For example, if the emotion engine analyzes that the user is seeking relaxation, the server will generate a travel plan that includes a calm schedule with fewer hot springs and tourist attractions. On the other hand, if it analyzes that the user desires an adventurous experience, it will generate a plan that includes active tourist spots and activities.
[0255] Plan presentation and customization
[0256] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, if the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[0257] Recalculation and update
[0258] The server receives a customization request from the user and, taking into account the analysis results from the sentiment engine, accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and sentiment information and generates an updated plan.
[0259] Final plan confirmation and arrangements
[0260] After the user reviews the final plan, they press the "Confirm" button. The user's device sends a confirmation request to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. Finally, the server sends the reservation confirmation information to the user's device and displays it to the user.
[0261] Specific example
[0262] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the server will generate a travel plan like this:
[0263] Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[0264] Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[0265] Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[0266] On the other hand, if the user desires an adventurous experience, the plan would be as follows:
[0267] Day 1: Rafting experience and accommodation A (with activity)
[0268] Day 2: Trekking and Accommodation B (Mountain Hut Style)
[0269] Day 3: Bicycle tour and accommodation C (outdoor facility)
[0270] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[0271] The following describes the processing flow.
[0272] Step 1:
[0273] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[0274] Step 2:
[0275] The user terminal activates an emotion engine based on the input information and analyzes the user's emotional state. The emotion engine estimates the user's emotions using text analysis, voice analysis, and facial recognition during input.
[0276] Step 3:
[0277] The emotion engine generates emotional data, such as whether the user desires relaxation or an adventurous experience. This emotional data is then sent to the server.
[0278] Step 4:
[0279] The server analyzes travel information and sentiment data received from the user's terminal. Based on the analyzed information, it prepares to request relevant information from an external API.
[0280] Step 5:
[0281] The server sends requests to the tourist destination information API, accommodation information API, and transportation information API. The server calls multiple APIs in parallel to collect relevant data.
[0282] Step 6:
[0283] The server receives data on tourist destinations, accommodation facilities, and transportation means returned from an external API. The received data is stored in an internal database.
[0284] Step 7:
[0285] Based on the sentiment data, the server executes an algorithm to generate an optimal travel plan. If relaxation is desired, a tourism plan including hot springs or spas is generated. If an adventurous experience is desired, a plan including active activities is generated.
[0286] Step 8:
[0287] The generated travel plan is sent from the server to the user terminal. The user terminal displays the received plan to the user in a visually easy-to-view format.
[0288] Step 9:
[0289] The user checks the displayed travel plan and enters a customization request if necessary. For example, enter a request such as "Add a day trip hot spring on the second day". The user terminal sends the customization request to the server.
[0290] Step 10:
[0291] The server analyzes the customization request received from the user and retrieves the necessary data from the external API again. Again, requests are sent to the tourist destination information API, accommodation facility information API, and transportation means information API.
[0292] Step 11:
[0293] The server combines the newly acquired data and the sentiment data and recalculates the plan. The recalculated travel plan is resent from the server to the user terminal.
[0294] Step 12:
[0295] The user reviews the updated plan and, if they are satisfied with the plan, presses the "Confirm" button. The user's device then sends a confirmation request to the server.
[0296] Step 13:
[0297] The server makes reservations for accommodations and transportation through external APIs. For example, it sends a reservation request to an accommodation reservation API and also sends a request to a transportation reservation API.
[0298] Step 14:
[0299] The server receives the booking confirmation information and sends it to the user's terminal. The user's terminal displays the booking confirmation information to the user. All steps of the travel planning are now complete.
[0300] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[0301] (Example 2)
[0302] 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".
[0303] Traditional travel plan generation systems failed to consider the user's emotional state when generating travel plans, making it difficult to provide travel plans that truly met the user's needs. Furthermore, the process of recalculating and re-presenting plans when users customized them was cumbersome, resulting in a poor user experience. Additionally, there was a lack of efficient methods for booking accommodations and transportation after the travel plan was finalized.
[0304] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Embodiment 2 is realized by the following means.
[0305] In this invention, the server includes an emotion recognition means, a data collection means, and an algorithm means. This enables the generation of an optimal travel plan considering the user's emotional state. Also, it becomes possible to efficiently recalculate and re-present the generated travel plan based on a customization request. Furthermore, reservations for accommodation facilities and transportation means can be made quickly and reliably based on the user's confirmed travel plan.
[0306] "Information device" is a general term for devices through which a user inputs information regarding the travel period, number of travelers, travel means, final destination, and purpose of the trip and transmits this information to the server.
[0307] "Emotion recognition means" is a technical means for analyzing information input by the user through an information device, the user's expression, voice, etc., and recognizing and analyzing the user's emotional state.
[0308] "Data collection means" is a means for collecting information regarding tourist destinations, accommodation facilities, and transportation using external APIs based on the input information and recognized emotion data.
[0309] "Algorithm means" is a computational means for generating an optimal travel plan based on the collected data and recognized emotion data.
[0310] "Recalculation means" is a technical means for recalculating a travel plan based on new conditions and constructing an updated plan when the user inputs a customization request.
[0311] "Reservation means" is a means for making reservations for accommodation facilities and transportation based on the travel plan confirmed by the user.
[0312] This invention relates to a travel plan generation system that combines a user emotion recognition means with a travel plan generation means that aims to provide the user with the most suitable travel plan. This system is designed to operate efficiently through the cooperation of information devices, a server, an emotion recognition means, and an external API.
[0313] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their information device. This information is then transmitted to the server via a device such as a smartphone or personal computer. An example of the entered information might be "5 days, 3 people, car, Kyoto, sightseeing."
[0314] Next, the emotion recognition system analyzes the input information, the user's facial expressions, and voice to recognize and analyze the user's emotional state. This process utilizes Natural Language Processing (NLP) modules, facial recognition technology, and voice analysis technology. For example, text analysis analyzes the user's word choices, frequency, and context to infer their emotional state.
[0315] The server uses information received from information devices and sentiment data from sentiment recognition devices to send requests to external APIs to collect relevant data such as tourist destinations, accommodations, and transportation methods. Specifically, it uses tourist destination information APIs, accommodation information APIs, and transportation information APIs to obtain data in JSON format via HTTP requests.
[0316] Based on collected data and sentiment data, the server runs an algorithm to generate the optimal travel plan. Machine learning models, such as K-means clustering and decision tree algorithms, are used. As a result, users who want to relax will receive plans that include hot springs, spas, and quiet tourist destinations, while users who want an active experience will receive plans that include rafting, trekking, and outdoor facilities.
[0317] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, a request might be to "add a day trip to a hot spring on the second day." When this request is sent to the server through the device, the server accesses an external API again, retrieves the necessary data, and recalculates the plan.
[0318] Once the final plan is confirmed, the user presses the "Confirm" button, and the information device sends a confirmation request to the server. The server makes reservations for accommodation and transportation via the accommodation and transportation reservation APIs and sends confirmation information to the user's terminal. Finally, the completed reservation information is visually displayed to the user.
[0319] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and the analysis indicates they desire relaxation, the following travel plan will be generated:
[0320] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[0321] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[0322] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[0323] An example of a prompt message might be: "If the user enters '5 days, 3 people, car, Kyoto, sightseeing' and also requests relaxation, please generate the best travel plan for that trip."
[0324] This invention enables the automatic generation of travel plans that take into account the user's emotional state, allowing for flexible customization and rapid completion of the travel plan. This significantly improves user convenience.
[0325] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0326] Step 1: Receiving user input
[0327] The user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into the information device.
[0328] Input: User input (Example: "5 days, 3 people, car, Kyoto, sightseeing")
[0329] Data processing: Information devices format this information and generate request data to send to the server.
[0330] Output: Formatted user input data
[0331] Step 2: Emotion Recognition
[0332] The terminal transmits user input information to the emotion recognition system.
[0333] Input: User input data
[0334] Data processing: The emotion recognition method uses a Natural Language Processing (NLP) module to perform text analysis, and analyzes the user's emotional state using facial recognition and speech analysis technologies.
[0335] Output: Emotional data (e.g., desire to relax)
[0336] Step 3: Data Collection
[0337] The server receives user input data and sentiment data, sends requests to external APIs, and collects the necessary information.
[0338] Input: User input data, sentiment data
[0339] Data processing: The server sends HTTP requests to the tourist destination information API, accommodation information API, and transportation information API to retrieve data in JSON format.
[0340] Output: Data on tourist destinations, accommodations, and transportation methods obtained from the API.
[0341] Step 4: Plan Generation
[0342] The server executes an algorithm that generates the optimal travel plan based on the collected data and sentiment data.
[0343] Input: API data, sentiment data
[0344] Data processing: Use machine learning models (e.g., K-means clustering or decision tree algorithms) to generate travel plans that meet the user's preferences.
[0345] Output: Travel plan data (e.g., itinerary for day 1, accommodation, etc.)
[0346] Step 5: Present your plan
[0347] The server sends the generated travel plan to the user's terminal.
[0348] Input: Travel plan data
[0349] Data processing: Convert travel plan data into a format that can be visually displayed to the user.
[0350] Output: Travel plan data for display
[0351] Step 6: Receiving the customization request
[0352] Users review their travel plans and enter customization requests as needed.
[0353] Input: User customization request (e.g., "Add a day trip to a hot spring on the second day")
[0354] Data calculation: The terminal analyzes the customizations and generates a request for recalculation.
[0355] Output: Customization request data
[0356] Step 7: Recalculate and update
[0357] The server receives the customization request data, accesses the external API again to retrieve the new data, and recalculates the travel plan.
[0358] Input: Customization request data, existing travel plan data
[0359] Data processing: Execute algorithms to search for tourist destinations and activities based on new conditions, and to recalculate the plan.
[0360] Output: Updated travel plan data
[0361] Step 8: Representation
[0362] The server resends the updated travel plan to the user's terminal and presents it to the user.
[0363] Input: Updated travel plan data
[0364] Data processing: Convert updated travel plan data into a format that can be visually displayed to the user.
[0365] Output: Updated travel plan data for display
[0366] Step 9: Finalizing the plan
[0367] The user reviews the final plan and presses the "Confirm" button.
[0368] Input: Confirmation Request
[0369] Data processing: The terminal sends a confirmed request to the server.
[0370] Output: Confirmed request data
[0371] Step 10: Arrange
[0372] The server makes reservations for accommodations and transportation based on the confirmed travel plan.
[0373] Input: Confirmed request data, final travel plan data
[0374] Data processing: Access the accommodation booking API and the transportation booking API, and submit booking requests.
[0375] Output: Reservation confirmation information (e.g., accommodation confirmation email, reservation number)
[0376] Step 11: Present your booking confirmation information.
[0377] The server sends reservation confirmation information to the user's terminal and displays it to the user.
[0378] Input: Reservation confirmation information
[0379] Data processing: Convert reservation confirmation information into a format that can be visually displayed to the user.
[0380] Output: Reservation confirmation information for display
[0381] (Application Example 2)
[0382] 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".
[0383] Conventional travel plan generation systems struggled to create travel plans that took into account the user's emotional state, making it difficult to provide the optimal user experience. Furthermore, they lacked the ability to perform optimal simulations and presentations of travel plans, resulting in low user satisfaction. Additionally, customizing and adjusting travel plans was cumbersome, and there was a lack of means to improve user convenience.
[0384] 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 an emotion engine that recognizes and analyzes the user's emotional state, an audiovisual output means that provides a travel experience in a virtual environment, and a means that generates an optimal virtual travel plan based on the emotional state. This makes it possible to generate a travel plan that matches the user's emotional state and to simulate a realistic experience in a virtual environment.
[0385] An "information terminal" is an electronic device that a user operates and uses to input information.
[0386] A "processing device" is a device that receives input information, collects related data, and performs calculations.
[0387] "Mathematical tools" refer to the means used to execute algorithms that generate optimal travel plans based on collected data.
[0388] A "user" is a person who uses this system to plan their trip.
[0389] An "emotion engine" is software or hardware used to recognize and analyze a user's emotional state.
[0390] "Audiovisual output means" refers to a device that outputs video and audio in order to provide a travel experience in a virtual environment.
[0391] An "external API" is an application program interface used to communicate with external services and retrieve necessary data.
[0392] A "customization request" is a request from a user to change or add to a presented travel plan.
[0393] "Reservation methods" refer to the means of making reservations for accommodations and transportation based on a confirmed travel plan.
[0394] This invention relates to a system that recognizes a user's emotional state and generates an optimal travel plan accordingly. Embodiments of this invention will be described in detail below.
[0395] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into an information terminal. This information terminal typically includes a smartphone, tablet, or computer. The information entered by the user is then transmitted from the information terminal to the processing unit.
[0396] The processing unit receives information transmitted from the user and further analyzes the user's emotional state using an emotion engine. This emotion engine recognizes the user's emotions through text analysis, facial recognition, and speech analysis, and uses the latest AI models (e.g., natural language processing models and computer vision models).
[0397] Next, the processing unit uses external APIs to collect data on tourist destinations, accommodations, and transportation. This data is retrieved from external databases and services and used to generate travel plans. The collected data is compiled into an optimal travel plan by an algorithm designed to take emotional states into account. If the user desires relaxation, this algorithm prioritizes calm and relaxing places and activities. If the user desires adventure, it generates a plan rich in activities.
[0398] The generated travel plan is transmitted to an information terminal and presented to the user via an audiovisual output device. This audiovisual output device is typically a VR device such as a head-mounted display or smart glasses, allowing the user to simulate the travel experience in a virtual environment. If the user requests customization of the presented plan, that information is also transmitted from the information terminal to the processing unit.
[0399] The processing unit recalculates the travel plan based on the user's customization requests and presents the updated plan again. Finally, reservations for accommodation and transportation are made based on the travel plan confirmed by the user. This allows users to easily finalize an emotionally optimized travel plan without cumbersome procedures.
[0400] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the following travel plan will be generated:
[0401] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[0402] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[0403] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[0404] In this example, the generative AI model will be input with the following prompt:
[0405] "Based on the user's input of '5 days, 3 people, car, Kyoto, sightseeing,' please generate the optimal travel plan if the user desires relaxation."
[0406] As described above, the system of the present invention provides travel plans that reflect the user's emotional state and improves user satisfaction through a realistic experience in a virtual environment.
[0407] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0408] Step 1:
[0409] The user uses an information terminal to enter information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip. The entered information is sent to the server by the information terminal for use in the next step. The entered data includes things like "5 days, 3 people, car, Kyoto, sightseeing".
[0410] Step 2:
[0411] The server receives travel information transmitted from the information terminal. Based on the received data, it uses an emotion engine to analyze the user's emotional state. This emotion engine uses the latest AI models to perform text analysis, facial recognition, and voice analysis. As a result of the analysis, emotional data is obtained, such as whether the user is seeking relaxation or desires adventure.
[0412] Step 3:
[0413] The server sends requests to an external API based on travel information and sentiment data to collect data on tourist attractions, accommodations, and transportation. This provides up-to-date information on local attractions, available accommodations, and transportation options. The collected data is used in the next step.
[0414] Step 4:
[0415] The server runs an algorithm that generates the optimal travel plan based on collected data and emotional data. This algorithm incorporates a calm schedule for users who want to relax and an activity-rich schedule for users who want to be adventurous. As a result, a specific travel plan is generated.
[0416] Step 5:
[0417] The generated travel plan is transmitted from the server to the information terminal and presented to the user using audiovisual output devices. The user can then experience and simulate this travel plan in a virtual environment, allowing them to review the plan with a more realistic feel.
[0418] Step 6:
[0419] The user enters customization requests for the presented travel plan. For example, they might enter a request such as "Add a day trip to a hot spring on the second day" on an information terminal and send it to the server.
[0420] Step 7:
[0421] The server receives the user's customization request and recalculates the travel plan. Based on the new data and sentiment information, it re-accesses the external API to gather necessary information and update the travel plan. The updated travel plan is then presented to the user again.
[0422] Step 8:
[0423] The user presses the "Confirm" button based on their finalized travel plan. A confirmation request is sent from the information terminal to the server. The server makes reservations for accommodation and transportation via an external API and sends the final reservation confirmation information to the user. With this step, all travel preparations are complete.
[0424] 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.
[0425] 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.
[0426] 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.
[0427] [Second Embodiment]
[0428] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0429] 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.
[0430] 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).
[0431] 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.
[0432] 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.
[0433] 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).
[0434] 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.
[0435] 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.
[0436] 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.
[0437] 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.
[0438] 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.
[0439] 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".
[0440] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[0441] User input
[0442] The user first enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. This information is then sent to the server and forms the basis for creating the travel plan. For example, suppose the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[0443] Server-based data collection and plan generation
[0444] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal travel plan. This algorithm generates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[0445] For example, the server generates a travel plan like this:
[0446] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[0447] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[0448] Day 3: Gion area and accommodation C
[0449] Plan presentation and customization
[0450] The generated plan is sent back to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed. If the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[0451] Recalculation and update
[0452] The server receives a customization request from the user, accesses the external API again to retrieve the necessary data, recalculates the plan, and sends the updated plan to the user's terminal. For example, the server recalculates and presents a plan that reflects the user's request for a "day trip to a hot spring on the second day."
[0453] Final plan confirmation and arrangements
[0454] The user confirms their final satisfactory plan and presses the "Confirm" button. The user's device sends this information to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[0455] summary
[0456] This system eliminates the need for users to manually create and adjust travel plans and make individual reservations, allowing them to easily complete their travel planning in one place. This significantly improves user convenience.
[0457] The following describes the processing flow.
[0458] Step 1:
[0459] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[0460] Step 2:
[0461] The server parses the JSON data received from the user's terminal. It extracts travel details from the parsed information and prepares to send a request to an external API.
[0462] Step 3:
[0463] The server sends requests to tourist destination information APIs, accommodation information APIs, and transportation information APIs. It efficiently collects data by calling multiple APIs in parallel.
[0464] Step 4:
[0465] The server receives JSON data returned from an external API. This includes a list of tourist attractions, accommodations, and transportation options.
[0466] Step 5:
[0467] The server integrates the received data using algorithmic methods to generate a travel plan that best suits the user's conditions. The generated plan includes the order of visits for each day, accommodations, and transportation.
[0468] Step 6:
[0469] The server sends the generated travel plan to the user's terminal. The user's terminal displays the received plan to the user in a visually easy-to-understand format.
[0470] Step 7:
[0471] The user reviews the displayed travel plan and enters any customization requests as needed. The user's device then sends the customization request to the server.
[0472] Step 8:
[0473] The server processes the customization request received from the user. If necessary, it accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and generates an updated plan.
[0474] Step 9:
[0475] The server resends the updated travel plan to the user's device. The user's device displays the updated plan to the user.
[0476] Step 10:
[0477] The user reviews the final plan and presses the "Confirm" button. The user's device sends a confirmation request to the server.
[0478] Step 11:
[0479] The server receives the user's confirmation request and makes reservations for accommodation and transportation via an external API. It retrieves reservation confirmation information and sends it to the user's terminal.
[0480] Step 12:
[0481] The user terminal displays the reservation confirmation information to the user, and the travel plan is finally finalized. This completes all steps of the travel planning process.
[0482] (Example 1)
[0483] 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."
[0484] Traditional travel planning processes were extremely time-consuming, requiring users to manually gather and compare a large amount of information. Individual booking arrangements were also cumbersome, placing a significant burden on users. Furthermore, these plans were fixed, making it difficult to flexibly accommodate user change requests. There is a need to solve these problems and provide a system that allows users to easily and efficiently create, customize, and book travel plans.
[0485] 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.
[0486] In this invention, the server includes an information processing device that receives input information and collects data on relevant tourist destinations, accommodations, and transportation methods; a calculation means that generates an optimal travel plan based on the collected data; and an information processing device that recalculates the optimal travel plan based on the collected data and presents it again. This allows the user to consistently perform everything from automatic generation and customization of travel plans to booking arrangements.
[0487] An "information terminal" is a device used by users to input basic travel information (travel period, number of travelers, mode of transport, final destination, and purpose of travel).
[0488] An "information processing device" is a device that receives input information, retrieves data on relevant tourist destinations, accommodations, and transportation methods from external web services, and generates and recalculates the optimal travel plan.
[0489] The "computational means" refers to the process of executing an algorithm to generate the optimal travel plan based on the collected data.
[0490] "Reservation method" refers to the process of making reservations for accommodations and transportation based on the user's confirmed travel plan.
[0491] "External web services" refer to third-party web-based services that provide data on tourist destinations, accommodations, and transportation options.
[0492] An "algorithmic method" refers to mathematical techniques or procedures used to calculate the optimal order of visiting tourist destinations and the daily schedule based on information entered by the user.
[0493] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of a user terminal, a server, and external web services.
[0494] 1. User input
[0495] The user first enters basic travel information using their own information terminal. This includes information such as the duration of the trip, the number of travelers, the mode of transportation, the final destination, and the purpose of the trip. The entered information is then sent to the server. For example, the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[0496] 2. Data collection and plan generation by the server
[0497] The server communicates with external web services based on information received from the user's terminal and collects relevant data. Specifically, this includes tourist destination information, accommodation information, and transportation information. This data is integrated by an information processing device, and a calculation device generates an optimal travel plan. This calculation device creates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[0498] For example, the following travel plan will be generated:
[0499] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[0500] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[0501] Day 3: Gion area and accommodation C
[0502] 3. Plan presentation and customization
[0503] The generated plan is sent back to the user's device and presented to the user. The user can review this plan and enter customization requests as needed. For example, if the user enters a request to "add a day trip to a hot spring on the second day," that information is sent from the device to the server.
[0504] 4. Recalculation and Update
[0505] The server receives a customization request from the user, accesses the external web service again, and retrieves the necessary data. Based on the newly retrieved data, a recalculation is performed, and an updated plan is generated. This recalculated plan is sent to the user's terminal and presented to the user again.
[0506] For example, the updated plan is as follows:
[0507] Day 2: Visit Kinkaku-ji Temple, afternoon day trip to a hot spring, accommodation B
[0508] 5. Finalization and arrangement of the plan
[0509] Once the user confirms their final satisfactory plan and presses the "Confirm" button, their device sends this information to the server. The server then makes reservations for accommodation and transportation through an external web service. Specifically, it retrieves accommodation and transportation reservation information and confirms all reservations. The reservation confirmation information is finally sent to the user's device.
[0510] Example of a prompt
[0511] Example of user input: "5 days, 3 people, car, Kyoto, sightseeing"
[0512] Example prompt:
[0513] Travel Plan Generation: "Please generate a 5-day travel plan for a group of 3 people focused on sightseeing in Kyoto. We will be using a car."
[0514] Customization request: "Please add a day trip to a hot spring on the second day."
[0515] This allows users to handle everything from automatically generating and customizing travel plans to making reservations, significantly improving convenience.
[0516] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0517] Step 1:
[0518] The user uses their own information terminal to enter basic travel information (travel period, number of travelers, mode of transport, final destination, purpose of trip). The entered information is then sent from the information terminal to the server.
[0519] Input: Travel period, number of travelers, mode of transport, final destination, purpose of trip
[0520] Output: User information is sent to the server.
[0521] Specific operation: The user uses a smartphone or computer to access a travel planning app or website and enters information such as "5 days, 3 people, car, Kyoto, sightseeing" into the displayed input form. Once the input is complete, the device automatically sends this information to the server.
[0522] Step 2:
[0523] The server communicates with external web services based on information received from the user's terminal to collect relevant tourist destination information, accommodation information, and transportation information. This collected data is then passed to a travel plan generation algorithm.
[0524] Input: Travel information submitted by the user
[0525] Output: Tourist information, accommodation information, and transportation information are obtained.
[0526] Specific operation: The server accesses the tourist information API to collect information on tourist spots and related information in Kyoto. Next, it uses the accommodation information API to check the availability and prices of accommodations, and uses the transportation information API to collect data on transportation options to each tourist spot.
[0527] Step 3:
[0528] The server integrates the collected data and generates the optimal travel plan using a computational method (travel plan generation algorithm). This plan includes the order of visits for each day, suitable accommodations, and optimal modes of transportation.
[0529] Input: Tourist information, accommodation information, transportation information
[0530] Output: Optimal travel plan
[0531] Specific operation: Based on the information received, the server generates a 5-day travel plan for Kyoto. For example, it will plan to visit Kiyomizu-dera Temple on day 1, Kinkaku-ji Temple on day 2, and the Gion district on day 3, and assign appropriate accommodations for each day.
[0532] Step 4:
[0533] The generated travel plan is sent from the server to the user's terminal and presented to the user. The user reviews the plan and enters customization requests if necessary. The entered customization requests are then sent back to the server.
[0534] Input: Generated travel plan
[0535] Output: Customization requests from users
[0536] Specific operation: The user checks the travel plan displayed on their device. If necessary, they enter a customization request, such as "Add a day trip to a hot spring on the second day," and the device sends that request to the server.
[0537] Step 5:
[0538] The server receives a customization request from the user, accesses the external web service again to retrieve the necessary data, recalculates based on the new data, generates an updated plan, and sends it to the user's terminal.
[0539] Input: Customization request from the user
[0540] Output: Updated travel plan
[0541] Specific operation: When the server receives a request to "add a day trip to a hot spring on day 2," it retrieves information about the day trip hot spring facility and recalculates the travel plan. As a result, the recalculated plan is updated to "Visit Kinkaku-ji Temple on day 2, day trip to a hot spring in the afternoon, accommodation B."
[0542] Step 6:
[0543] Once the user reviews the final plan and presses the "Confirm" button, the user's device sends the confirmation information to the server. The server then makes reservations for accommodation and transportation through an external web service and sends the reservation confirmation information to the user's device.
[0544] Input: User verification information
[0545] Output: Reservation confirmation information
[0546] Specific operation: Once the user confirms their final plan, the server uses the accommodation booking API and transportation booking API to make reservations for accommodation and transportation. Once the reservations are confirmed, the information is sent to the user's terminal, and all reservations are finalized.
[0547] (Application Example 1)
[0548] 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."
[0549] Traditional food delivery services have faced challenges in finding the optimal combination of meals, delivery times, and special requests that users desire, as well as the cumbersome customization process. This often resulted in reduced user convenience and low satisfaction.
[0550] 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.
[0551] In this invention, the server includes an input terminal for inputting information regarding the type of meal, desired delivery time, number of people, and special requests; a communication means for receiving the input information and collecting data on relevant restaurants, menus, and delivery methods; an algorithm means for generating an optimal delivery plan based on the collected data; an input terminal for presenting the generated delivery plan to the user and accepting the user's customization requests; a communication means for recalculating the delivery plan based on the customization requests and presenting it again; and a means for making reservations for food, beverages, and delivery methods based on the user's confirmed delivery plan. As a result, the user can easily obtain an optimal delivery plan and use a highly satisfying delivery service while making necessary customizations.
[0552] An "input terminal" is a device used by users to input information, such as a smartphone or tablet.
[0553] "Communication means" refers to technical means for transmitting information from an input terminal to a server and from a server to an input terminal. Specifically, this includes internet connectivity and API communication.
[0554] An "algorithmic means" refers to a set of computational means for calculating and generating the optimal plan based on collected data. This calculation is performed by a program or model.
[0555] "Food and beverages" refers to everything listed on a restaurant menu, including meals and drinks that the user desires.
[0556] A "delivery plan" refers to the overall schedule and procedures from order to delivery, generated based on the user's input information.
[0557] A "customization request" refers to any additional requests or changes that a user may make after the initial plan has been presented.
[0558] "Means of making reservations" refers to the means by which users reserve facilities and services based on their confirmed delivery plans. Specifically, it refers to a system that sends orders to restaurants and delivery companies via an API.
[0559] An "external API" is an application programming interface provided by a third party, and it is a means for a system to access external data and services.
[0560] "Eateries" refers to establishments that serve food and drinks, and encompasses a wide range of businesses, including restaurants and cafes.
[0561] "Delivery method" refers to the method used to deliver food and beverages ordered by a user to a location specified by the user, and includes methods such as human power, automobiles, and drones.
[0562] A "prompt" refers to an instruction or question that a user uses to request a specific action from the system.
[0563] This invention relates to a system that optimizes and improves the convenience of food delivery services desired by users. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[0564] User input
[0565] First, the user enters information about the type of meal (e.g., Japanese food, Italian food), desired delivery time, number of people, special requests (e.g., vegetarian, gluten-free), and delivery location into an input device such as a smartphone. This information is then sent to the server and becomes the basic data for creating the delivery plan. For example, suppose the user enters "Japanese food, 12:30 PM, 3 people, vegetarian, Minato-ku, Tokyo."
[0566] Server-based data collection and plan generation
[0567] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of restaurant information APIs, menu information APIs, and delivery service provider information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal delivery plan. This algorithm selects and combines appropriate restaurants, menus, and delivery methods based on specified conditions.
[0568] Plan presentation and customization
[0569] The generated delivery plan is sent back to the user's device and presented to the user. The user reviews this plan and enters any customization requests as needed. For example, if the user requests to "add an extra dish," that information is sent to the server.
[0570] Recalculation and update
[0571] The server receives a customization request from the user, accesses the external API again to collect the necessary data, recalculates and generates an updated plan, and sends it back to the user's terminal. For example, it recalculates and presents a plan that reflects the user's request to "add one more dish."
[0572] Final plan confirmation and arrangements
[0573] Once the user confirms their final satisfactory delivery plan and presses the "Confirm" button, the user's device sends this information to the server, which then makes reservations for food, beverages, and delivery methods via external APIs. For example, it sends a reservation request to a restaurant reservation API and also to a delivery service's reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[0574] Program Processing Description
[0575] The system program uses the following hardware and software:
[0576] Hardware: Smartphones (user terminals), servers, network equipment
[0577] Software: External APIs (restaurant information API, menu information API, delivery service information API), algorithms (optimization models), database management system
[0578] The specific processing flow is as follows: User input information is sent to the server, and the server collects the necessary data from an external API. Based on the collected data, the AI model generates the optimal delivery plan and presents it to the user's terminal. A customization request from the user is sent back to the server, which recollects the necessary data and recalculates, then presents an updated plan. Finally, the server confirms the reservation via the external API and sends confirmation information to the user.
[0579] Example of a prompt
[0580] The following are specific examples of user prompt messages:
[0581] User: Please create the best delivery plan for Japanese food, 12:30 PM, 3 people, vegetarian, in Minato Ward, Tokyo.
[0582] App: Retrieving restaurant list... Please wait.
[0583] This system allows users to easily create complex delivery plans, significantly improving convenience and satisfaction.
[0584] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0585] Step 1:
[0586] Users enter information such as the type of meal, desired delivery time, number of people, special requests, and delivery location into an input device such as a smartphone.
[0587] input:
[0588] Type of meal (e.g., Japanese food)
[0589] Preferred delivery time (e.g., 12:30 PM)
[0590] Number of people (e.g., 3 people)
[0591] Special requests (e.g., vegetarian)
[0592] Delivery location (Example: Minato-ku, Tokyo)
[0593] output:
[0594] The entered information is sent to the server.
[0595] Specific actions:
[0596] The process begins when the user enters information into the form on their terminal and presses the "Submit" button.
[0597] Step 2:
[0598] Based on the information received from the user's terminal, the server accesses external APIs such as restaurant information APIs, menu information APIs, and delivery service provider information APIs to collect relevant information.
[0599] input:
[0600] The user entered the type of meal, desired delivery time, number of people, special requests, and delivery location.
[0601] output:
[0602] List of restaurants
[0603] List of corresponding menus
[0604] List of available delivery methods
[0605] Specific actions:
[0606] The server program generates API requests, accesses each API, and retrieves the necessary data.
[0607] Step 3:
[0608] The server uses an AI model based on the collected data to generate the optimal delivery plan.
[0609] input:
[0610] List of restaurants
[0611] List of corresponding menus
[0612] List of available delivery methods
[0613] output:
[0614] Optimal delivery plan
[0615] Specific actions:
[0616] The server feeds each dataset into an algorithm to calculate the optimal plan. For example, it selects the highest-rated restaurants and menus based on user preferences and schedules delivery times accordingly.
[0617] Step 4:
[0618] The generated delivery plan is sent to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed.
[0619] input:
[0620] Optimal delivery plan
[0621] output:
[0622] User customization requests (e.g., want to add more single-serving dishes, no preservatives, etc.)
[0623] Specific actions:
[0624] A notification is sent to the user's device, and the delivery plan is displayed on the screen. The user enters the parts they want to customize and submits it again.
[0625] Step 5:
[0626] The server receives the customization request, accesses the external API again to collect and recalculate the necessary data, and generates an updated delivery plan.
[0627] input:
[0628] User customization request
[0629] output:
[0630] Updated optimal delivery plan
[0631] Specific actions:
[0632] The server program generates another API request and recalculates the plan, taking the changes into account.
[0633] Step 6:
[0634] Once the user finalizes their delivery plan, the server makes reservations for food, beverages, and delivery methods via an external API.
[0635] input:
[0636] Confirmed delivery plan
[0637] output:
[0638] Verified reservation information
[0639] Specific actions:
[0640] The server program sends a request to the reservation API and then sends the confirmed reservation information to the user's terminal.
[0641] Step 7:
[0642] The user will ultimately receive reservation confirmation information on their device and track the progress until delivery is complete.
[0643] input:
[0644] Verified reservation information
[0645] output:
[0646] Delivery progress notification
[0647] Specific actions:
[0648] The user's terminal receives real-time notifications of the delivery progress, allowing them to check the status until the delivery is completed.
[0649] 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.
[0650] This invention relates to a travel plan generation system that incorporates an emotion engine that recognizes user emotions. This system is designed to operate efficiently through the cooperation of a user terminal, a server, an emotion engine, and an external API.
[0651] User input and emotion recognition
[0652] The user inputs information about the trip duration, number of travelers, mode of transport, final destination, and purpose of the trip into the user terminal. The emotion engine operates based on this input information to recognize and analyze the user's emotional state. For example, if the user inputs "5 days, 3 people, car, Kyoto, sightseeing," the emotion engine estimates the emotion based on text analysis and the user's facial expressions at the time of input.
[0653] Server-based data collection and plan generation
[0654] The server sends requests to external APIs to collect relevant information based on the information received from the user terminal and the sentiment data supplied by the sentiment engine. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and runs an algorithm to generate the optimal travel plan based on the sentiment data.
[0655] For example, if the emotion engine analyzes that the user is seeking relaxation, the server will generate a travel plan that includes a calm schedule with fewer hot springs and tourist attractions. On the other hand, if it analyzes that the user desires an adventurous experience, it will generate a plan that includes active tourist spots and activities.
[0656] Plan presentation and customization
[0657] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, if the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[0658] Recalculation and update
[0659] The server receives a customization request from the user and, taking into account the analysis results from the sentiment engine, accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and sentiment information and generates an updated plan.
[0660] Final plan confirmation and arrangements
[0661] After the user reviews the final plan, they press the "Confirm" button. The user's device sends a confirmation request to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. Finally, the server sends the reservation confirmation information to the user's device and displays it to the user.
[0662] Specific example
[0663] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the server will generate a travel plan like this:
[0664] Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[0665] Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[0666] Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[0667] On the other hand, if the user desires an adventurous experience, the plan would be as follows:
[0668] Day 1: Rafting experience and accommodation A (with activity)
[0669] Day 2: Trekking and Accommodation B (Mountain Hut Style)
[0670] Day 3: Bicycle tour and accommodation C (outdoor facility)
[0671] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[0672] The following describes the processing flow.
[0673] Step 1:
[0674] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[0675] Step 2:
[0676] The user terminal activates an emotion engine based on the input information and analyzes the user's emotional state. The emotion engine estimates the user's emotions using text analysis, voice analysis, and facial recognition during input.
[0677] Step 3:
[0678] The emotion engine generates emotional data, such as whether the user desires relaxation or an adventurous experience. This emotional data is then sent to the server.
[0679] Step 4:
[0680] The server analyzes travel information and sentiment data received from the user's terminal. Based on the analyzed information, it prepares to request relevant information from an external API.
[0681] Step 5:
[0682] The server sends requests to the tourist destination information API, accommodation information API, and transportation information API. The server calls multiple APIs in parallel to collect relevant data.
[0683] Step 6:
[0684] The server receives data on tourist destinations, accommodations, and transportation from external APIs. The received data is stored in an internal database.
[0685] Step 7:
[0686] The server runs an algorithm that generates the optimal travel plan based on emotional data. If you want to relax, it will generate a sightseeing plan that includes hot springs and spas; if you want an adventurous experience, it will generate a plan that includes active activities.
[0687] Step 8:
[0688] The generated travel plan is sent from the server to the user's terminal. The user's terminal displays the received plan to the user in a visually easy-to-understand format.
[0689] Step 9:
[0690] The user reviews the displayed travel plan and enters customization requests as needed. For example, they might enter a request such as "Add a day trip to a hot spring on the second day." The user's device then sends the customization request to the server.
[0691] Step 10:
[0692] The server analyzes the customization request received from the user and retrieves the necessary data again from the external API. It then sends requests again to the tourist destination information API, accommodation information API, and transportation information API.
[0693] Step 11:
[0694] The server combines the newly acquired data with sentiment data and recalculates the plan. The recalculated travel plan is then sent back from the server to the user's terminal.
[0695] Step 12:
[0696] The user reviews the updated plan and, if they are satisfied with the plan, presses the "Confirm" button. The user's device then sends a confirmation request to the server.
[0697] Step 13:
[0698] The server makes reservations for accommodations and transportation through external APIs. For example, it sends a reservation request to an accommodation reservation API and also sends a request to a transportation reservation API.
[0699] Step 14:
[0700] The server receives the booking confirmation information and sends it to the user's terminal. The user's terminal displays the booking confirmation information to the user. All steps of the travel planning are now complete.
[0701] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[0702] (Example 2)
[0703] 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".
[0704] Traditional travel plan generation systems failed to consider the user's emotional state when generating travel plans, making it difficult to provide travel plans that truly met the user's needs. Furthermore, the process of recalculating and re-presenting plans when users customized them was cumbersome, resulting in a poor user experience. Additionally, there was a lack of efficient methods for booking accommodations and transportation after the travel plan was finalized.
[0705] 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.
[0706] In this invention, the server includes emotion recognition means, data collection means, and algorithm means. This enables the generation of an optimal travel plan that takes into account the user's emotional state. Furthermore, it becomes possible to efficiently recalculate and re-present the generated travel plan based on customization requests. In addition, it becomes possible to quickly and reliably make reservations for accommodations and transportation based on the user's confirmed travel plan.
[0707] "Information equipment" is a general term for devices that allow users to input information about their travel period, number of travelers, mode of transport, final destination, and purpose of travel, and then transmit that information to a server.
[0708] "Emotion recognition means" refers to technical means for recognizing and analyzing a user's emotional state by analyzing information input by the user through an information device, as well as the user's facial expressions and voice.
[0709] "Data collection methods" refer to means of collecting information about tourist destinations, accommodations, and transportation services using external APIs based on input information and recognized sentiment data.
[0710] An "algorithmic means" is a computational means for generating an optimal travel plan based on collected data and recognized emotion data.
[0711] A "recalculation mechanism" is a technical means for recalculating a travel plan based on new conditions when a user enters a customization request, and for constructing an updated plan.
[0712] A "reservation method" refers to a means by which users can make reservations for accommodations and transportation based on their confirmed travel plans.
[0713] This invention relates to a travel plan generation system that combines a user emotion recognition means with a travel plan generation means that aims to provide the user with the most suitable travel plan. This system is designed to operate efficiently through the cooperation of information devices, a server, an emotion recognition means, and an external API.
[0714] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their information device. This information is then transmitted to the server via a device such as a smartphone or personal computer. An example of the entered information might be "5 days, 3 people, car, Kyoto, sightseeing."
[0715] Next, the emotion recognition system analyzes the input information, the user's facial expressions, and voice to recognize and analyze the user's emotional state. This process utilizes Natural Language Processing (NLP) modules, facial recognition technology, and voice analysis technology. For example, text analysis analyzes the user's word choices, frequency, and context to infer their emotional state.
[0716] The server uses information received from information devices and sentiment data from sentiment recognition devices to send requests to external APIs to collect relevant data such as tourist destinations, accommodations, and transportation methods. Specifically, it uses tourist destination information APIs, accommodation information APIs, and transportation information APIs to obtain data in JSON format via HTTP requests.
[0717] Based on collected data and sentiment data, the server runs an algorithm to generate the optimal travel plan. Machine learning models, such as K-means clustering and decision tree algorithms, are used. As a result, users who want to relax will receive plans that include hot springs, spas, and quiet tourist destinations, while users who want an active experience will receive plans that include rafting, trekking, and outdoor facilities.
[0718] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, a request might be to "add a day trip to a hot spring on the second day." When this request is sent to the server through the device, the server accesses an external API again, retrieves the necessary data, and recalculates the plan.
[0719] Once the final plan is confirmed, the user presses the "Confirm" button, and the information device sends a confirmation request to the server. The server makes reservations for accommodation and transportation via the accommodation and transportation reservation APIs and sends confirmation information to the user's terminal. Finally, the completed reservation information is visually displayed to the user.
[0720] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and the analysis indicates they desire relaxation, the following travel plan will be generated:
[0721] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[0722] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[0723] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[0724] An example of a prompt message might be: "If the user enters '5 days, 3 people, car, Kyoto, sightseeing' and also requests relaxation, please generate the best travel plan for that trip."
[0725] This invention enables the automatic generation of travel plans that take into account the user's emotional state, allowing for flexible customization and rapid completion of the travel plan. This significantly improves user convenience.
[0726] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0727] Step 1: Receiving user input
[0728] The user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into the information device.
[0729] Input: User input (Example: "5 days, 3 people, car, Kyoto, sightseeing")
[0730] Data processing: Information devices format this information and generate request data to send to the server.
[0731] Output: Formatted user input data
[0732] Step 2: Emotion Recognition
[0733] The terminal transmits user input information to the emotion recognition system.
[0734] Input: User input data
[0735] Data processing: The emotion recognition method uses a Natural Language Processing (NLP) module to perform text analysis, and analyzes the user's emotional state using facial recognition and speech analysis technologies.
[0736] Output: Emotional data (e.g., desire to relax)
[0737] Step 3: Data Collection
[0738] The server receives user input data and sentiment data, sends requests to external APIs, and collects the necessary information.
[0739] Input: User input data, sentiment data
[0740] Data processing: The server sends HTTP requests to the tourist destination information API, accommodation information API, and transportation information API to retrieve data in JSON format.
[0741] Output: Data on tourist destinations, accommodations, and transportation methods obtained from the API.
[0742] Step 4: Plan Generation
[0743] The server executes an algorithm that generates the optimal travel plan based on the collected data and sentiment data.
[0744] Input: API data, sentiment data
[0745] Data processing: Use machine learning models (e.g., K-means clustering or decision tree algorithms) to generate travel plans that meet the user's preferences.
[0746] Output: Travel plan data (e.g., itinerary for day 1, accommodation, etc.)
[0747] Step 5: Present your plan
[0748] The server sends the generated travel plan to the user's terminal.
[0749] Input: Travel plan data
[0750] Data processing: Convert travel plan data into a format that can be visually displayed to the user.
[0751] Output: Travel plan data for display
[0752] Step 6: Receiving the customization request
[0753] Users review their travel plans and enter customization requests as needed.
[0754] Input: User customization request (e.g., "Add a day trip to a hot spring on the second day")
[0755] Data calculation: The terminal analyzes the customizations and generates a request for recalculation.
[0756] Output: Customization request data
[0757] Step 7: Recalculate and update
[0758] The server receives the customization request data, accesses the external API again to retrieve the new data, and recalculates the travel plan.
[0759] Input: Customization request data, existing travel plan data
[0760] Data processing: Execute algorithms to search for tourist destinations and activities based on new conditions, and to recalculate the plan.
[0761] Output: Updated travel plan data
[0762] Step 8: Representation
[0763] The server resends the updated travel plan to the user's terminal and presents it to the user.
[0764] Input: Updated travel plan data
[0765] Data processing: Convert updated travel plan data into a format that can be visually displayed to the user.
[0766] Output: Updated travel plan data for display
[0767] Step 9: Finalizing the plan
[0768] The user reviews the final plan and presses the "Confirm" button.
[0769] Input: Confirmation Request
[0770] Data processing: The terminal sends a confirmed request to the server.
[0771] Output: Confirmed request data
[0772] Step 10: Arrange
[0773] The server makes reservations for accommodations and transportation based on the confirmed travel plan.
[0774] Input: Confirmed request data, final travel plan data
[0775] Data processing: Access the accommodation booking API and the transportation booking API, and submit booking requests.
[0776] Output: Reservation confirmation information (e.g., accommodation confirmation email, reservation number)
[0777] Step 11: Present your booking confirmation information.
[0778] The server sends reservation confirmation information to the user's terminal and displays it to the user.
[0779] Input: Reservation confirmation information
[0780] Data processing: Convert reservation confirmation information into a format that can be visually displayed to the user.
[0781] Output: Reservation confirmation information for display
[0782] (Application Example 2)
[0783] 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."
[0784] Conventional travel plan generation systems struggled to create travel plans that took into account the user's emotional state, making it difficult to provide the optimal user experience. Furthermore, they lacked the ability to perform optimal simulations and presentations of travel plans, resulting in low user satisfaction. Additionally, customizing and adjusting travel plans was cumbersome, and there was a lack of means to improve user convenience.
[0785] 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 an emotion engine that recognizes and analyzes the user's emotional state, an audiovisual output means that provides a travel experience in a virtual environment, and a means that generates an optimal virtual travel plan based on the emotional state. This makes it possible to generate a travel plan that matches the user's emotional state and to simulate a realistic experience in a virtual environment.
[0786] An "information terminal" is an electronic device that a user operates and uses to input information.
[0787] A "processing device" is a device that receives input information, collects related data, and performs calculations.
[0788] "Mathematical tools" refer to the means used to execute algorithms that generate optimal travel plans based on collected data.
[0789] A "user" is a person who uses this system to plan their trip.
[0790] An "emotion engine" is software or hardware used to recognize and analyze a user's emotional state.
[0791] "Audiovisual output means" refers to a device that outputs video and audio in order to provide a travel experience in a virtual environment.
[0792] An "external API" is an application program interface used to communicate with external services and retrieve necessary data.
[0793] A "customization request" is a request from a user to change or add to a presented travel plan.
[0794] "Reservation methods" refer to the means of making reservations for accommodations and transportation based on a confirmed travel plan.
[0795] This invention relates to a system that recognizes a user's emotional state and generates an optimal travel plan accordingly. Embodiments of this invention will be described in detail below.
[0796] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into an information terminal. This information terminal typically includes a smartphone, tablet, or computer. The information entered by the user is then transmitted from the information terminal to the processing unit.
[0797] The processing unit receives information transmitted from the user and further analyzes the user's emotional state using an emotion engine. This emotion engine recognizes the user's emotions through text analysis, facial recognition, and speech analysis, and uses the latest AI models (e.g., natural language processing models and computer vision models).
[0798] Next, the processing unit uses external APIs to collect data on tourist destinations, accommodations, and transportation. This data is retrieved from external databases and services and used to generate travel plans. The collected data is compiled into an optimal travel plan by an algorithm designed to take emotional states into account. If the user desires relaxation, this algorithm prioritizes calm and relaxing places and activities. If the user desires adventure, it generates a plan rich in activities.
[0799] The generated travel plan is transmitted to an information terminal and presented to the user via an audiovisual output device. This audiovisual output device is typically a VR device such as a head-mounted display or smart glasses, allowing the user to simulate the travel experience in a virtual environment. If the user requests customization of the presented plan, that information is also transmitted from the information terminal to the processing unit.
[0800] The processing unit recalculates the travel plan based on the user's customization requests and presents the updated plan again. Finally, reservations for accommodation and transportation are made based on the travel plan confirmed by the user. This allows users to easily finalize an emotionally optimized travel plan without cumbersome procedures.
[0801] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the following travel plan will be generated:
[0802] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[0803] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[0804] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[0805] In this example, the generative AI model will be input with the following prompt:
[0806] "Based on the user's input of '5 days, 3 people, car, Kyoto, sightseeing,' please generate the optimal travel plan if the user desires relaxation."
[0807] As described above, the system of the present invention provides travel plans that reflect the user's emotional state and improves user satisfaction through a realistic experience in a virtual environment.
[0808] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0809] Step 1:
[0810] The user uses an information terminal to enter information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip. The entered information is sent to the server by the information terminal for use in the next step. The entered data includes things like "5 days, 3 people, car, Kyoto, sightseeing".
[0811] Step 2:
[0812] The server receives travel information transmitted from the information terminal. Based on the received data, it uses an emotion engine to analyze the user's emotional state. This emotion engine uses the latest AI models to perform text analysis, facial recognition, and voice analysis. As a result of the analysis, emotional data is obtained, such as whether the user is seeking relaxation or desires adventure.
[0813] Step 3:
[0814] The server sends requests to an external API based on travel information and sentiment data to collect data on tourist attractions, accommodations, and transportation. This provides up-to-date information on local attractions, available accommodations, and transportation options. The collected data is used in the next step.
[0815] Step 4:
[0816] The server runs an algorithm that generates the optimal travel plan based on collected data and emotional data. This algorithm incorporates a calm schedule for users who want to relax and an activity-rich schedule for users who want to be adventurous. As a result, a specific travel plan is generated.
[0817] Step 5:
[0818] The generated travel plan is transmitted from the server to the information terminal and presented to the user using audiovisual output devices. The user can then experience and simulate this travel plan in a virtual environment, allowing them to review the plan with a more realistic feel.
[0819] Step 6:
[0820] The user enters customization requests for the presented travel plan. For example, they might enter a request such as "Add a day trip to a hot spring on the second day" on an information terminal and send it to the server.
[0821] Step 7:
[0822] The server receives the user's customization request and recalculates the travel plan. Based on the new data and sentiment information, it re-accesses the external API to gather necessary information and update the travel plan. The updated travel plan is then presented to the user again.
[0823] Step 8:
[0824] The user presses the "Confirm" button based on their finalized travel plan. A confirmation request is sent from the information terminal to the server. The server makes reservations for accommodation and transportation via an external API and sends the final reservation confirmation information to the user. With this step, all travel preparations are complete.
[0825] 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.
[0826] The data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of the data generation model 58 is ChatGPT (Internet Search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">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.
[0827] 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.
[0828] [Third Embodiment]
[0829] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0830] 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.
[0831] 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).
[0832] 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.
[0833] 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.
[0834] 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).
[0835] 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.
[0836] 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.
[0837] 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.
[0838] 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.
[0839] 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.
[0840] 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".
[0841] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[0842] User input
[0843] The user first enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. This information is then sent to the server and forms the basis for creating the travel plan. For example, suppose the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[0844] Server-based data collection and plan generation
[0845] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal travel plan. This algorithm generates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[0846] For example, the server generates a travel plan like this:
[0847] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[0848] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[0849] Day 3: Gion area and accommodation C
[0850] Plan presentation and customization
[0851] The generated plan is sent back to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed. If the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[0852] Recalculation and update
[0853] The server receives a customization request from the user, accesses the external API again to retrieve the necessary data, recalculates the plan, and sends the updated plan to the user's terminal. For example, the server recalculates and presents a plan that reflects the user's request for a "day trip to a hot spring on the second day."
[0854] Final plan confirmation and arrangements
[0855] The user confirms their final satisfactory plan and presses the "Confirm" button. The user's device sends this information to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[0856] summary
[0857] This system eliminates the need for users to manually create and adjust travel plans and make individual reservations, allowing them to easily complete their travel planning in one place. This significantly improves user convenience.
[0858] The following describes the processing flow.
[0859] Step 1:
[0860] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[0861] Step 2:
[0862] The server parses the JSON data received from the user's terminal. It extracts travel details from the parsed information and prepares to send a request to an external API.
[0863] Step 3:
[0864] The server sends requests to tourist destination information APIs, accommodation information APIs, and transportation information APIs. It efficiently collects data by calling multiple APIs in parallel.
[0865] Step 4:
[0866] The server receives JSON data returned from an external API. This includes a list of tourist attractions, accommodations, and transportation options.
[0867] Step 5:
[0868] The server integrates the received data using algorithmic methods to generate a travel plan that best suits the user's conditions. The generated plan includes the order of visits for each day, accommodations, and transportation.
[0869] Step 6:
[0870] The server sends the generated travel plan to the user's terminal. The user's terminal displays the received plan to the user in a visually easy-to-understand format.
[0871] Step 7:
[0872] The user reviews the displayed travel plan and enters any customization requests as needed. The user's device then sends the customization request to the server.
[0873] Step 8:
[0874] The server processes the customization request received from the user. If necessary, it accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and generates an updated plan.
[0875] Step 9:
[0876] The server resends the updated travel plan to the user's device. The user's device displays the updated plan to the user.
[0877] Step 10:
[0878] The user reviews the final plan and presses the "Confirm" button. The user's device sends a confirmation request to the server.
[0879] Step 11:
[0880] The server receives the user's confirmation request and makes reservations for accommodation and transportation via an external API. It retrieves reservation confirmation information and sends it to the user's terminal.
[0881] Step 12:
[0882] The user terminal displays the reservation confirmation information to the user, and the travel plan is finally finalized. This completes all steps of the travel planning process.
[0883] (Example 1)
[0884] 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."
[0885] Traditional travel planning processes were extremely time-consuming, requiring users to manually gather and compare a large amount of information. Individual booking arrangements were also cumbersome, placing a significant burden on users. Furthermore, these plans were fixed, making it difficult to flexibly accommodate user change requests. There is a need to solve these problems and provide a system that allows users to easily and efficiently create, customize, and book travel plans.
[0886] 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.
[0887] In this invention, the server includes an information processing device that receives input information and collects data on relevant tourist destinations, accommodations, and transportation methods; a calculation means that generates an optimal travel plan based on the collected data; and an information processing device that recalculates the optimal travel plan based on the collected data and presents it again. This allows the user to consistently perform everything from automatic generation and customization of travel plans to booking arrangements.
[0888] An "information terminal" is a device used by users to input basic travel information (travel period, number of travelers, mode of transport, final destination, and purpose of travel).
[0889] An "information processing device" is a device that receives input information, retrieves data on relevant tourist destinations, accommodations, and transportation methods from external web services, and generates and recalculates the optimal travel plan.
[0890] The "computational means" refers to the process of executing an algorithm to generate the optimal travel plan based on the collected data.
[0891] "Reservation method" refers to the process of making reservations for accommodations and transportation based on the user's confirmed travel plan.
[0892] "External web services" refer to third-party web-based services that provide data on tourist destinations, accommodations, and transportation options.
[0893] An "algorithmic method" refers to mathematical techniques or procedures used to calculate the optimal order of visiting tourist destinations and the daily schedule based on information entered by the user.
[0894] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of a user terminal, a server, and external web services.
[0895] 1. User input
[0896] The user first enters basic travel information using their own information terminal. This includes information such as the duration of the trip, the number of travelers, the mode of transportation, the final destination, and the purpose of the trip. The entered information is then sent to the server. For example, the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[0897] 2. Data collection and plan generation by the server
[0898] The server communicates with external web services based on information received from the user's terminal and collects relevant data. Specifically, this includes tourist destination information, accommodation information, and transportation information. This data is integrated by an information processing device, and a calculation device generates an optimal travel plan. This calculation device creates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[0899] For example, the following travel plan will be generated:
[0900] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[0901] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[0902] Day 3: Gion area and accommodation C
[0903] 3. Plan presentation and customization
[0904] The generated plan is sent back to the user's device and presented to the user. The user can review this plan and enter customization requests as needed. For example, if the user enters a request to "add a day trip to a hot spring on the second day," that information is sent from the device to the server.
[0905] 4. Recalculation and Update
[0906] The server receives a customization request from the user, accesses the external web service again, and retrieves the necessary data. Based on the newly retrieved data, a recalculation is performed, and an updated plan is generated. This recalculated plan is sent to the user's terminal and presented to the user again.
[0907] For example, the updated plan is as follows:
[0908] Day 2: Visit Kinkaku-ji Temple, afternoon day trip to a hot spring, accommodation B
[0909] 5. Finalization and arrangement of the plan
[0910] Once the user confirms their final satisfactory plan and presses the "Confirm" button, their device sends this information to the server. The server then makes reservations for accommodation and transportation through an external web service. Specifically, it retrieves accommodation and transportation reservation information and confirms all reservations. The reservation confirmation information is finally sent to the user's device.
[0911] Example of a prompt
[0912] Example of user input: "5 days, 3 people, car, Kyoto, sightseeing"
[0913] Example prompt:
[0914] Travel Plan Generation: "Please generate a 5-day travel plan for a group of 3 people focused on sightseeing in Kyoto. We will be using a car."
[0915] Customization request: "Please add a day trip to a hot spring on the second day."
[0916] This allows users to handle everything from automatically generating and customizing travel plans to making reservations, significantly improving convenience.
[0917] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0918] Step 1:
[0919] The user uses their own information terminal to enter basic travel information (travel period, number of travelers, mode of transport, final destination, purpose of trip). The entered information is then sent from the information terminal to the server.
[0920] Input: Travel period, number of travelers, mode of transport, final destination, purpose of trip
[0921] Output: User information is sent to the server.
[0922] Specific operation: The user uses a smartphone or computer to access a travel planning app or website and enters information such as "5 days, 3 people, car, Kyoto, sightseeing" into the displayed input form. Once the input is complete, the device automatically sends this information to the server.
[0923] Step 2:
[0924] The server communicates with external web services based on information received from the user's terminal to collect relevant tourist destination information, accommodation information, and transportation information. This collected data is then passed to a travel plan generation algorithm.
[0925] Input: Travel information submitted by the user
[0926] Output: Tourist information, accommodation information, and transportation information are obtained.
[0927] Specific operation: The server accesses the tourist information API to collect information on tourist spots and related information in Kyoto. Next, it uses the accommodation information API to check the availability and prices of accommodations, and uses the transportation information API to collect data on transportation options to each tourist spot.
[0928] Step 3:
[0929] The server integrates the collected data and generates the optimal travel plan using a computational method (travel plan generation algorithm). This plan includes the order of visits for each day, suitable accommodations, and optimal modes of transportation.
[0930] Input: Tourist information, accommodation information, transportation information
[0931] Output: Optimal travel plan
[0932] Specific operation: Based on the information received, the server generates a 5-day travel plan for Kyoto. For example, it will plan to visit Kiyomizu-dera Temple on day 1, Kinkaku-ji Temple on day 2, and the Gion district on day 3, and assign appropriate accommodations for each day.
[0933] Step 4:
[0934] The generated travel plan is sent from the server to the user's terminal and presented to the user. The user reviews the plan and enters customization requests if necessary. The entered customization requests are then sent back to the server.
[0935] Input: Generated travel plan
[0936] Output: Customization requests from users
[0937] Specific operation: The user checks the travel plan displayed on their device. If necessary, they enter a customization request, such as "Add a day trip to a hot spring on the second day," and the device sends that request to the server.
[0938] Step 5:
[0939] The server receives a customization request from the user, accesses the external web service again to retrieve the necessary data, recalculates based on the new data, generates an updated plan, and sends it to the user's terminal.
[0940] Input: Customization request from the user
[0941] Output: Updated travel plan
[0942] Specific operation: When the server receives a request to "add a day trip to a hot spring on day 2," it retrieves information about the day trip hot spring facility and recalculates the travel plan. As a result, the recalculated plan is updated to "Visit Kinkaku-ji Temple on day 2, day trip to a hot spring in the afternoon, accommodation B."
[0943] Step 6:
[0944] Once the user reviews the final plan and presses the "Confirm" button, the user's device sends the confirmation information to the server. The server then makes reservations for accommodation and transportation through an external web service and sends the reservation confirmation information to the user's device.
[0945] Input: User verification information
[0946] Output: Reservation confirmation information
[0947] Specific operation: Once the user confirms their final plan, the server uses the accommodation booking API and transportation booking API to make reservations for accommodation and transportation. Once the reservations are confirmed, the information is sent to the user's terminal, and all reservations are finalized.
[0948] (Application Example 1)
[0949] 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."
[0950] Traditional food delivery services have faced challenges in finding the optimal combination of meals, delivery times, and special requests that users desire, as well as the cumbersome customization process. This often resulted in reduced user convenience and low satisfaction.
[0951] 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.
[0952] In this invention, the server includes an input terminal for inputting information regarding the type of meal, desired delivery time, number of people, and special requests; a communication means for receiving the input information and collecting data on relevant restaurants, menus, and delivery methods; an algorithm means for generating an optimal delivery plan based on the collected data; an input terminal for presenting the generated delivery plan to the user and accepting the user's customization requests; a communication means for recalculating the delivery plan based on the customization requests and presenting it again; and a means for making reservations for food, beverages, and delivery methods based on the user's confirmed delivery plan. As a result, the user can easily obtain an optimal delivery plan and use a highly satisfying delivery service while making necessary customizations.
[0953] An "input terminal" is a device used by users to input information, such as a smartphone or tablet.
[0954] "Communication means" refers to technical means for transmitting information from an input terminal to a server and from a server to an input terminal. Specifically, this includes internet connectivity and API communication.
[0955] An "algorithmic means" refers to a set of computational means for calculating and generating the optimal plan based on collected data. This calculation is performed by a program or model.
[0956] "Food and beverages" refers to everything listed on a restaurant menu, including meals and drinks that the user desires.
[0957] A "delivery plan" refers to the overall schedule and procedures from order to delivery, generated based on the user's input information.
[0958] A "customization request" refers to any additional requests or changes that a user may make after the initial plan has been presented.
[0959] "Means of making reservations" refers to the means by which users reserve facilities and services based on their confirmed delivery plans. Specifically, it refers to a system that sends orders to restaurants and delivery companies via an API.
[0960] An "external API" is an application programming interface provided by a third party, and it is a means for a system to access external data and services.
[0961] "Eateries" refers to establishments that serve food and drinks, and encompasses a wide range of businesses, including restaurants and cafes.
[0962] "Delivery method" refers to the method used to deliver food and beverages ordered by a user to a location specified by the user, and includes methods such as human power, automobiles, and drones.
[0963] A "prompt" refers to an instruction or question that a user uses to request a specific action from the system.
[0964] This invention relates to a system that optimizes and improves the convenience of food delivery services desired by users. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[0965] User input
[0966] First, the user enters information about the type of meal (e.g., Japanese food, Italian food), desired delivery time, number of people, special requests (e.g., vegetarian, gluten-free), and delivery location into an input device such as a smartphone. This information is then sent to the server and becomes the basic data for creating the delivery plan. For example, suppose the user enters "Japanese food, 12:30 PM, 3 people, vegetarian, Minato-ku, Tokyo."
[0967] Server-based data collection and plan generation
[0968] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of restaurant information APIs, menu information APIs, and delivery service provider information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal delivery plan. This algorithm selects and combines appropriate restaurants, menus, and delivery methods based on specified conditions.
[0969] Plan presentation and customization
[0970] The generated delivery plan is sent back to the user's device and presented to the user. The user reviews this plan and enters any customization requests as needed. For example, if the user requests to "add an extra dish," that information is sent to the server.
[0971] Recalculation and update
[0972] The server receives a customization request from the user, accesses the external API again to collect the necessary data, recalculates and generates an updated plan, and sends it back to the user's terminal. For example, it recalculates and presents a plan that reflects the user's request to "add one more dish."
[0973] Final plan confirmation and arrangements
[0974] Once the user confirms their final satisfactory delivery plan and presses the "Confirm" button, the user's device sends this information to the server, which then makes reservations for food, beverages, and delivery methods via external APIs. For example, it sends a reservation request to a restaurant reservation API and also to a delivery service's reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[0975] Program Processing Description
[0976] The system program uses the following hardware and software:
[0977] Hardware: Smartphones (user terminals), servers, network equipment
[0978] Software: External APIs (restaurant information API, menu information API, delivery service information API), algorithms (optimization models), database management system
[0979] The specific processing flow is as follows: User input information is sent to the server, and the server collects the necessary data from an external API. Based on the collected data, the AI model generates the optimal delivery plan and presents it to the user's terminal. A customization request from the user is sent back to the server, which recollects the necessary data and recalculates, then presents an updated plan. Finally, the server confirms the reservation via the external API and sends confirmation information to the user.
[0980] Example of a prompt
[0981] The following are specific examples of user prompt messages:
[0982] User: Please create the best delivery plan for Japanese food, 12:30 PM, 3 people, vegetarian, in Minato Ward, Tokyo.
[0983] App: Retrieving restaurant list... Please wait.
[0984] This system allows users to easily create complex delivery plans, significantly improving convenience and satisfaction.
[0985] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0986] Step 1:
[0987] Users enter information such as the type of meal, desired delivery time, number of people, special requests, and delivery location into an input device such as a smartphone.
[0988] input:
[0989] Type of meal (e.g., Japanese food)
[0990] Preferred delivery time (e.g., 12:30 PM)
[0991] Number of people (e.g., 3 people)
[0992] Special requests (e.g., vegetarian)
[0993] Delivery location (Example: Minato-ku, Tokyo)
[0994] output:
[0995] The entered information is sent to the server.
[0996] Specific actions:
[0997] The process begins when the user enters information into the form on their terminal and presses the "Submit" button.
[0998] Step 2:
[0999] Based on the information received from the user's terminal, the server accesses external APIs such as restaurant information APIs, menu information APIs, and delivery service provider information APIs to collect relevant information.
[1000] input:
[1001] The user entered the type of meal, desired delivery time, number of people, special requests, and delivery location.
[1002] output:
[1003] List of restaurants
[1004] List of corresponding menus
[1005] List of available delivery methods
[1006] Specific actions:
[1007] The server program generates API requests, accesses each API, and retrieves the necessary data.
[1008] Step 3:
[1009] The server uses an AI model based on the collected data to generate the optimal delivery plan.
[1010] input:
[1011] List of restaurants
[1012] List of corresponding menus
[1013] List of available delivery methods
[1014] output:
[1015] Optimal delivery plan
[1016] Specific actions:
[1017] The server feeds each dataset into an algorithm to calculate the optimal plan. For example, it selects the highest-rated restaurants and menus based on user preferences and schedules delivery times accordingly.
[1018] Step 4:
[1019] The generated delivery plan is sent to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed.
[1020] input:
[1021] Optimal delivery plan
[1022] output:
[1023] User customization requests (e.g., want to add more single-serving dishes, no preservatives, etc.)
[1024] Specific actions:
[1025] A notification is sent to the user's device, and the delivery plan is displayed on the screen. The user enters the parts they want to customize and submits it again.
[1026] Step 5:
[1027] The server receives the customization request, accesses the external API again to collect and recalculate the necessary data, and generates an updated delivery plan.
[1028] input:
[1029] User customization request
[1030] output:
[1031] Updated optimal delivery plan
[1032] Specific actions:
[1033] The server program generates another API request and recalculates the plan, taking the changes into account.
[1034] Step 6:
[1035] Once the user finalizes their delivery plan, the server makes reservations for food, beverages, and delivery methods via an external API.
[1036] input:
[1037] Confirmed delivery plan
[1038] output:
[1039] Verified reservation information
[1040] Specific actions:
[1041] The server program sends a request to the reservation API and then sends the confirmed reservation information to the user's terminal.
[1042] Step 7:
[1043] The user will ultimately receive reservation confirmation information on their device and track the progress until delivery is complete.
[1044] input:
[1045] Verified reservation information
[1046] output:
[1047] Delivery progress notification
[1048] Specific actions:
[1049] The user's terminal receives real-time notifications of the delivery progress, allowing them to check the status until the delivery is completed.
[1050] 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.
[1051] This invention relates to a travel plan generation system that incorporates an emotion engine that recognizes user emotions. This system is designed to operate efficiently through the cooperation of a user terminal, a server, an emotion engine, and an external API.
[1052] User input and emotion recognition
[1053] The user inputs information about the trip duration, number of travelers, mode of transport, final destination, and purpose of the trip into the user terminal. The emotion engine operates based on this input information to recognize and analyze the user's emotional state. For example, if the user inputs "5 days, 3 people, car, Kyoto, sightseeing," the emotion engine estimates the emotion based on text analysis and the user's facial expressions at the time of input.
[1054] Server-based data collection and plan generation
[1055] The server sends requests to external APIs to collect relevant information based on the information received from the user terminal and the sentiment data supplied by the sentiment engine. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and runs an algorithm to generate the optimal travel plan based on the sentiment data.
[1056] For example, if the emotion engine analyzes that the user is seeking relaxation, the server will generate a travel plan that includes a calm schedule with fewer hot springs and tourist attractions. On the other hand, if it analyzes that the user desires an adventurous experience, it will generate a plan that includes active tourist spots and activities.
[1057] Plan presentation and customization
[1058] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, if the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[1059] Recalculation and update
[1060] The server receives a customization request from the user and, taking into account the analysis results from the sentiment engine, accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and sentiment information and generates an updated plan.
[1061] Final plan confirmation and arrangements
[1062] After the user reviews the final plan, they press the "Confirm" button. The user's device sends a confirmation request to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. Finally, the server sends the reservation confirmation information to the user's device and displays it to the user.
[1063] Specific example
[1064] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the server will generate a travel plan like this:
[1065] Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[1066] Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[1067] Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[1068] On the other hand, if the user desires an adventurous experience, the plan would be as follows:
[1069] Day 1: Rafting experience and accommodation A (with activity)
[1070] Day 2: Trekking and Accommodation B (Mountain Hut Style)
[1071] Day 3: Bicycle tour and accommodation C (outdoor facility)
[1072] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[1073] The following describes the processing flow.
[1074] Step 1:
[1075] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[1076] Step 2:
[1077] The user terminal activates an emotion engine based on the input information and analyzes the user's emotional state. The emotion engine estimates the user's emotions using text analysis, voice analysis, and facial recognition during input.
[1078] Step 3:
[1079] The emotion engine generates emotional data, such as whether the user desires relaxation or an adventurous experience. This emotional data is then sent to the server.
[1080] Step 4:
[1081] The server analyzes travel information and sentiment data received from the user's terminal. Based on the analyzed information, it prepares to request relevant information from an external API.
[1082] Step 5:
[1083] The server sends requests to the tourist destination information API, accommodation information API, and transportation information API. The server calls multiple APIs in parallel to collect relevant data.
[1084] Step 6:
[1085] The server receives data on tourist destinations, accommodations, and transportation from external APIs. The received data is stored in an internal database.
[1086] Step 7:
[1087] The server runs an algorithm that generates the optimal travel plan based on emotional data. If you want to relax, it will generate a sightseeing plan that includes hot springs and spas; if you want an adventurous experience, it will generate a plan that includes active activities.
[1088] Step 8:
[1089] The generated travel plan is sent from the server to the user's terminal. The user's terminal displays the received plan to the user in a visually easy-to-understand format.
[1090] Step 9:
[1091] The user reviews the displayed travel plan and enters customization requests as needed. For example, they might enter a request such as "Add a day trip to a hot spring on the second day." The user's device then sends the customization request to the server.
[1092] Step 10:
[1093] The server analyzes the customization request received from the user and retrieves the necessary data again from the external API. It then sends requests again to the tourist destination information API, accommodation information API, and transportation information API.
[1094] Step 11:
[1095] The server combines the newly acquired data with sentiment data and recalculates the plan. The recalculated travel plan is then sent back from the server to the user's terminal.
[1096] Step 12:
[1097] The user reviews the updated plan and, if they are satisfied with the plan, presses the "Confirm" button. The user's device then sends a confirmation request to the server.
[1098] Step 13:
[1099] The server makes reservations for accommodations and transportation through external APIs. For example, it sends a reservation request to an accommodation reservation API and also sends a request to a transportation reservation API.
[1100] Step 14:
[1101] The server receives the booking confirmation information and sends it to the user's terminal. The user's terminal displays the booking confirmation information to the user. All steps of the travel planning are now complete.
[1102] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[1103] (Example 2)
[1104] 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."
[1105] Traditional travel plan generation systems failed to consider the user's emotional state when generating travel plans, making it difficult to provide travel plans that truly met the user's needs. Furthermore, the process of recalculating and re-presenting plans when users customized them was cumbersome, resulting in a poor user experience. Additionally, there was a lack of efficient methods for booking accommodations and transportation after the travel plan was finalized.
[1106] 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.
[1107] In this invention, the server includes emotion recognition means, data collection means, and algorithm means. This enables the generation of an optimal travel plan that takes into account the user's emotional state. Furthermore, it becomes possible to efficiently recalculate and re-present the generated travel plan based on customization requests. In addition, it becomes possible to quickly and reliably make reservations for accommodations and transportation based on the user's confirmed travel plan.
[1108] "Information equipment" is a general term for devices that allow users to input information about their travel period, number of travelers, mode of transport, final destination, and purpose of travel, and then transmit that information to a server.
[1109] "Emotion recognition means" refers to technical means for recognizing and analyzing a user's emotional state by analyzing information input by the user through an information device, as well as the user's facial expressions and voice.
[1110] "Data collection methods" refer to means of collecting information about tourist destinations, accommodations, and transportation services using external APIs based on input information and recognized sentiment data.
[1111] An "algorithmic means" is a computational means for generating an optimal travel plan based on collected data and recognized emotion data.
[1112] A "recalculation mechanism" is a technical means for recalculating a travel plan based on new conditions when a user enters a customization request, and for constructing an updated plan.
[1113] A "reservation method" refers to a means by which users can make reservations for accommodations and transportation based on their confirmed travel plans.
[1114] This invention relates to a travel plan generation system that combines a user emotion recognition means with a travel plan generation means that aims to provide the user with the most suitable travel plan. This system is designed to operate efficiently through the cooperation of information devices, a server, an emotion recognition means, and an external API.
[1115] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their information device. This information is then transmitted to the server via a device such as a smartphone or personal computer. An example of the entered information might be "5 days, 3 people, car, Kyoto, sightseeing."
[1116] Next, the emotion recognition system analyzes the input information, the user's facial expressions, and voice to recognize and analyze the user's emotional state. This process utilizes Natural Language Processing (NLP) modules, facial recognition technology, and voice analysis technology. For example, text analysis analyzes the user's word choices, frequency, and context to infer their emotional state.
[1117] The server uses information received from information devices and sentiment data from sentiment recognition devices to send requests to external APIs to collect relevant data such as tourist destinations, accommodations, and transportation methods. Specifically, it uses tourist destination information APIs, accommodation information APIs, and transportation information APIs to obtain data in JSON format via HTTP requests.
[1118] Based on collected data and sentiment data, the server runs an algorithm to generate the optimal travel plan. Machine learning models, such as K-means clustering and decision tree algorithms, are used. As a result, users who want to relax will receive plans that include hot springs, spas, and quiet tourist destinations, while users who want an active experience will receive plans that include rafting, trekking, and outdoor facilities.
[1119] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, a request might be to "add a day trip to a hot spring on the second day." When this request is sent to the server through the device, the server accesses an external API again, retrieves the necessary data, and recalculates the plan.
[1120] Once the final plan is confirmed, the user presses the "Confirm" button, and the information device sends a confirmation request to the server. The server makes reservations for accommodation and transportation via the accommodation and transportation reservation APIs and sends confirmation information to the user's terminal. Finally, the completed reservation information is visually displayed to the user.
[1121] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and the analysis indicates they desire relaxation, the following travel plan will be generated:
[1122] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[1123] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[1124] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[1125] An example of a prompt message might be: "If the user enters '5 days, 3 people, car, Kyoto, sightseeing' and also requests relaxation, please generate the best travel plan for that trip."
[1126] This invention enables the automatic generation of travel plans that take into account the user's emotional state, allowing for flexible customization and rapid completion of the travel plan. This significantly improves user convenience.
[1127] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1128] Step 1: Receiving user input
[1129] The user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into the information device.
[1130] Input: User input (Example: "5 days, 3 people, car, Kyoto, sightseeing")
[1131] Data processing: Information devices format this information and generate request data to send to the server.
[1132] Output: Formatted user input data
[1133] Step 2: Emotion Recognition
[1134] The terminal transmits user input information to the emotion recognition system.
[1135] Input: User input data
[1136] Data processing: The emotion recognition method uses a Natural Language Processing (NLP) module to perform text analysis, and analyzes the user's emotional state using facial recognition and speech analysis technologies.
[1137] Output: Emotional data (e.g., desire to relax)
[1138] Step 3: Data Collection
[1139] The server receives user input data and sentiment data, sends requests to external APIs, and collects the necessary information.
[1140] Input: User input data, sentiment data
[1141] Data processing: The server sends HTTP requests to the tourist destination information API, accommodation information API, and transportation information API to retrieve data in JSON format.
[1142] Output: Data on tourist destinations, accommodations, and transportation methods obtained from the API.
[1143] Step 4: Plan Generation
[1144] The server executes an algorithm that generates the optimal travel plan based on the collected data and sentiment data.
[1145] Input: API data, sentiment data
[1146] Data processing: Use machine learning models (e.g., K-means clustering or decision tree algorithms) to generate travel plans that meet the user's preferences.
[1147] Output: Travel plan data (e.g., itinerary for day 1, accommodation, etc.)
[1148] Step 5: Present your plan
[1149] The server sends the generated travel plan to the user's terminal.
[1150] Input: Travel plan data
[1151] Data processing: Convert travel plan data into a format that can be visually displayed to the user.
[1152] Output: Travel plan data for display
[1153] Step 6: Receiving the customization request
[1154] Users review their travel plans and enter customization requests as needed.
[1155] Input: User customization request (e.g., "Add a day trip to a hot spring on the second day")
[1156] Data calculation: The terminal analyzes the customizations and generates a request for recalculation.
[1157] Output: Customization request data
[1158] Step 7: Recalculate and update
[1159] The server receives the customization request data, accesses the external API again to retrieve the new data, and recalculates the travel plan.
[1160] Input: Customization request data, existing travel plan data
[1161] Data processing: Execute algorithms to search for tourist destinations and activities based on new conditions, and to recalculate the plan.
[1162] Output: Updated travel plan data
[1163] Step 8: Representation
[1164] The server resends the updated travel plan to the user's terminal and presents it to the user.
[1165] Input: Updated travel plan data
[1166] Data processing: Convert updated travel plan data into a format that can be visually displayed to the user.
[1167] Output: Updated travel plan data for display
[1168] Step 9: Finalizing the plan
[1169] The user reviews the final plan and presses the "Confirm" button.
[1170] Input: Confirmation Request
[1171] Data processing: The terminal sends a confirmed request to the server.
[1172] Output: Confirmed request data
[1173] Step 10: Arrange
[1174] The server makes reservations for accommodations and transportation based on the confirmed travel plan.
[1175] Input: Confirmed request data, final travel plan data
[1176] Data processing: Access the accommodation booking API and the transportation booking API, and submit booking requests.
[1177] Output: Reservation confirmation information (e.g., accommodation confirmation email, reservation number)
[1178] Step 11: Present your booking confirmation information.
[1179] The server sends reservation confirmation information to the user's terminal and displays it to the user.
[1180] Input: Reservation confirmation information
[1181] Data processing: Convert reservation confirmation information into a format that can be visually displayed to the user.
[1182] Output: Reservation confirmation information for display
[1183] (Application Example 2)
[1184] 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."
[1185] Conventional travel plan generation systems struggled to create travel plans that took into account the user's emotional state, making it difficult to provide the optimal user experience. Furthermore, they lacked the ability to perform optimal simulations and presentations of travel plans, resulting in low user satisfaction. Additionally, customizing and adjusting travel plans was cumbersome, and there was a lack of means to improve user convenience.
[1186] 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 an emotion engine that recognizes and analyzes the user's emotional state, an audiovisual output means that provides a travel experience in a virtual environment, and a means that generates an optimal virtual travel plan based on the emotional state. This makes it possible to generate a travel plan that matches the user's emotional state and to simulate a realistic experience in a virtual environment.
[1187] An "information terminal" is an electronic device that a user operates and uses to input information.
[1188] A "processing device" is a device that receives input information, collects related data, and performs calculations.
[1189] "Mathematical tools" refer to the means used to execute algorithms that generate optimal travel plans based on collected data.
[1190] A "user" is a person who uses this system to plan their trip.
[1191] An "emotion engine" is software or hardware used to recognize and analyze a user's emotional state.
[1192] "Audiovisual output means" refers to a device that outputs video and audio in order to provide a travel experience in a virtual environment.
[1193] An "external API" is an application program interface used to communicate with external services and retrieve necessary data.
[1194] A "customization request" is a request from a user to change or add to a presented travel plan.
[1195] "Reservation methods" refer to the means of making reservations for accommodations and transportation based on a confirmed travel plan.
[1196] This invention relates to a system that recognizes a user's emotional state and generates an optimal travel plan accordingly. Embodiments of this invention will be described in detail below.
[1197] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into an information terminal. This information terminal typically includes a smartphone, tablet, or computer. The information entered by the user is then transmitted from the information terminal to the processing unit.
[1198] The processing unit receives information transmitted from the user and further analyzes the user's emotional state using an emotion engine. This emotion engine recognizes the user's emotions through text analysis, facial recognition, and speech analysis, and uses the latest AI models (e.g., natural language processing models and computer vision models).
[1199] Next, the processing unit uses external APIs to collect data on tourist destinations, accommodations, and transportation. This data is retrieved from external databases and services and used to generate travel plans. The collected data is compiled into an optimal travel plan by an algorithm designed to take emotional states into account. If the user desires relaxation, this algorithm prioritizes calm and relaxing places and activities. If the user desires adventure, it generates a plan rich in activities.
[1200] The generated travel plan is transmitted to an information terminal and presented to the user via an audiovisual output device. This audiovisual output device is typically a VR device such as a head-mounted display or smart glasses, allowing the user to simulate the travel experience in a virtual environment. If the user requests customization of the presented plan, that information is also transmitted from the information terminal to the processing unit.
[1201] The processing unit recalculates the travel plan based on the user's customization requests and presents the updated plan again. Finally, reservations for accommodation and transportation are made based on the travel plan confirmed by the user. This allows users to easily finalize an emotionally optimized travel plan without cumbersome procedures.
[1202] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the following travel plan will be generated:
[1203] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[1204] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[1205] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[1206] In this example, the generative AI model will be input with the following prompt:
[1207] "Based on the user's input of '5 days, 3 people, car, Kyoto, sightseeing,' please generate the optimal travel plan if the user desires relaxation."
[1208] As described above, the system of the present invention provides travel plans that reflect the user's emotional state and improves user satisfaction through a realistic experience in a virtual environment.
[1209] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1210] Step 1:
[1211] The user uses an information terminal to enter information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip. The entered information is sent to the server by the information terminal for use in the next step. The entered data includes things like "5 days, 3 people, car, Kyoto, sightseeing".
[1212] Step 2:
[1213] The server receives travel information transmitted from the information terminal. Based on the received data, it uses an emotion engine to analyze the user's emotional state. This emotion engine uses the latest AI models to perform text analysis, facial recognition, and voice analysis. As a result of the analysis, emotional data is obtained, such as whether the user is seeking relaxation or desires adventure.
[1214] Step 3:
[1215] The server sends requests to an external API based on travel information and sentiment data to collect data on tourist attractions, accommodations, and transportation. This provides up-to-date information on local attractions, available accommodations, and transportation options. The collected data is used in the next step.
[1216] Step 4:
[1217] The server runs an algorithm that generates the optimal travel plan based on collected data and emotional data. This algorithm incorporates a calm schedule for users who want to relax and an activity-rich schedule for users who want to be adventurous. As a result, a specific travel plan is generated.
[1218] Step 5:
[1219] The generated travel plan is transmitted from the server to the information terminal and presented to the user using audiovisual output devices. The user can then experience and simulate this travel plan in a virtual environment, allowing them to review the plan with a more realistic feel.
[1220] Step 6:
[1221] The user enters customization requests for the presented travel plan. For example, they might enter a request such as "Add a day trip to a hot spring on the second day" on an information terminal and send it to the server.
[1222] Step 7:
[1223] The server receives the user's customization request and recalculates the travel plan. Based on the new data and sentiment information, it re-accesses the external API to gather necessary information and update the travel plan. The updated travel plan is then presented to the user again.
[1224] Step 8:
[1225] The user presses the "Confirm" button based on their finalized travel plan. A confirmation request is sent from the information terminal to the server. The server makes reservations for accommodation and transportation via an external API and sends the final reservation confirmation information to the user. With this step, all travel preparations are complete.
[1226] 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.
[1227] The data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of the data generation model 58 is ChatGPT (Internet Search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">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.
[1228] 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.
[1229] [Fourth Embodiment]
[1230] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1231] 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.
[1232] 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).
[1233] 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.
[1234] 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.
[1235] 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).
[1236] 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.
[1237] 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.
[1238] 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.
[1239] 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.
[1240] 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.
[1241] 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.
[1242] 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".
[1243] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[1244] User input
[1245] The user first enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. This information is then sent to the server and forms the basis for creating the travel plan. For example, suppose the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[1246] Server-based data collection and plan generation
[1247] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal travel plan. This algorithm generates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[1248] For example, the server generates a travel plan like this:
[1249] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[1250] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[1251] Day 3: Gion area and accommodation C
[1252] Plan presentation and customization
[1253] The generated plan is sent back to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed. If the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[1254] Recalculation and update
[1255] The server receives a customization request from the user, accesses the external API again to retrieve the necessary data, recalculates the plan, and sends the updated plan to the user's terminal. For example, the server recalculates and presents a plan that reflects the user's request for a "day trip to a hot spring on the second day."
[1256] Final plan confirmation and arrangements
[1257] The user confirms their final satisfactory plan and presses the "Confirm" button. The user's device sends this information to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[1258] summary
[1259] This system eliminates the need for users to manually create and adjust travel plans and make individual reservations, allowing them to easily complete their travel planning in one place. This significantly improves user convenience.
[1260] The following describes the processing flow.
[1261] Step 1:
[1262] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[1263] Step 2:
[1264] The server parses the JSON data received from the user's terminal. It extracts travel details from the parsed information and prepares to send a request to an external API.
[1265] Step 3:
[1266] The server sends requests to tourist destination information APIs, accommodation information APIs, and transportation information APIs. It efficiently collects data by calling multiple APIs in parallel.
[1267] Step 4:
[1268] The server receives JSON data returned from an external API. This includes a list of tourist attractions, accommodations, and transportation options.
[1269] Step 5:
[1270] The server integrates the received data using algorithmic methods to generate a travel plan that best suits the user's conditions. The generated plan includes the order of visits for each day, accommodations, and transportation.
[1271] Step 6:
[1272] The server sends the generated travel plan to the user's terminal. The user's terminal displays the received plan to the user in a visually easy-to-understand format.
[1273] Step 7:
[1274] The user reviews the displayed travel plan and enters any customization requests as needed. The user's device then sends the customization request to the server.
[1275] Step 8:
[1276] The server processes the customization request received from the user. If necessary, it accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and generates an updated plan.
[1277] Step 9:
[1278] The server resends the updated travel plan to the user's device. The user's device displays the updated plan to the user.
[1279] Step 10:
[1280] The user reviews the final plan and presses the "Confirm" button. The user's device sends a confirmation request to the server.
[1281] Step 11:
[1282] The server receives the user's confirmation request and makes reservations for accommodation and transportation via an external API. It retrieves reservation confirmation information and sends it to the user's terminal.
[1283] Step 12:
[1284] The user terminal displays the reservation confirmation information to the user, and the travel plan is finally finalized. This completes all steps of the travel planning process.
[1285] (Example 1)
[1286] 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".
[1287] Traditional travel planning processes were extremely time-consuming, requiring users to manually gather and compare a large amount of information. Individual booking arrangements were also cumbersome, placing a significant burden on users. Furthermore, these plans were fixed, making it difficult to flexibly accommodate user change requests. There is a need to solve these problems and provide a system that allows users to easily and efficiently create, customize, and book travel plans.
[1288] 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.
[1289] In this invention, the server includes an information processing device that receives input information and collects data on relevant tourist destinations, accommodations, and transportation methods; a calculation means that generates an optimal travel plan based on the collected data; and an information processing device that recalculates the optimal travel plan based on the collected data and presents it again. This allows the user to consistently perform everything from automatic generation and customization of travel plans to booking arrangements.
[1290] An "information terminal" is a device used by users to input basic travel information (travel period, number of travelers, mode of transport, final destination, and purpose of travel).
[1291] An "information processing device" is a device that receives input information, retrieves data on relevant tourist destinations, accommodations, and transportation methods from external web services, and generates and recalculates the optimal travel plan.
[1292] The "computational means" refers to the process of executing an algorithm to generate the optimal travel plan based on the collected data.
[1293] "Reservation method" refers to the process of making reservations for accommodations and transportation based on the user's confirmed travel plan.
[1294] "External web services" refer to third-party web-based services that provide data on tourist destinations, accommodations, and transportation options.
[1295] An "algorithmic method" refers to mathematical techniques or procedures used to calculate the optimal order of visiting tourist destinations and the daily schedule based on information entered by the user.
[1296] This invention relates to the realization of a system that automatically generates travel plans and can be flexibly customized according to the user's wishes. This system is designed to operate efficiently through the cooperation of a user terminal, a server, and external web services.
[1297] 1. User input
[1298] The user first enters basic travel information using their own information terminal. This includes information such as the duration of the trip, the number of travelers, the mode of transportation, the final destination, and the purpose of the trip. The entered information is then sent to the server. For example, the user enters "5 days, 3 people, car, Kyoto, sightseeing."
[1299] 2. Data collection and plan generation by the server
[1300] The server communicates with external web services based on information received from the user's terminal and collects relevant data. Specifically, this includes tourist destination information, accommodation information, and transportation information. This data is integrated by an information processing device, and a calculation device generates an optimal travel plan. This calculation device creates the plan considering the order of visits each day, appropriate accommodations, and optimal modes of transportation.
[1301] For example, the following travel plan will be generated:
[1302] Day 1: Visit to Kiyomizu-dera Temple and Accommodation A
[1303] Day 2: Visit to Kinkaku-ji Temple and accommodation B
[1304] Day 3: Gion area and accommodation C
[1305] 3. Plan presentation and customization
[1306] The generated plan is sent back to the user's device and presented to the user. The user can review this plan and enter customization requests as needed. For example, if the user enters a request to "add a day trip to a hot spring on the second day," that information is sent from the device to the server.
[1307] 4. Recalculation and Update
[1308] The server receives a customization request from the user, accesses the external web service again, and retrieves the necessary data. Based on the newly retrieved data, a recalculation is performed, and an updated plan is generated. This recalculated plan is sent to the user's terminal and presented to the user again.
[1309] For example, the updated plan is as follows:
[1310] Day 2: Visit Kinkaku-ji Temple, afternoon day trip to a hot spring, accommodation B
[1311] 5. Finalization and arrangement of the plan
[1312] Once the user confirms their final satisfactory plan and presses the "Confirm" button, their device sends this information to the server. The server then makes reservations for accommodation and transportation through an external web service. Specifically, it retrieves accommodation and transportation reservation information and confirms all reservations. The reservation confirmation information is finally sent to the user's device.
[1313] Example of a prompt
[1314] Example of user input: "5 days, 3 people, car, Kyoto, sightseeing"
[1315] Example prompt:
[1316] Travel Plan Generation: "Please generate a 5-day travel plan for a group of 3 people focused on sightseeing in Kyoto. We will be using a car."
[1317] Customization request: "Please add a day trip to a hot spring on the second day."
[1318] This allows users to handle everything from automatically generating and customizing travel plans to making reservations, significantly improving convenience.
[1319] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1320] Step 1:
[1321] The user uses their own information terminal to enter basic travel information (travel period, number of travelers, mode of transport, final destination, purpose of trip). The entered information is then sent from the information terminal to the server.
[1322] Input: Travel period, number of travelers, mode of transport, final destination, purpose of trip
[1323] Output: User information is sent to the server.
[1324] Specific operation: The user uses a smartphone or computer to access a travel planning app or website and enters information such as "5 days, 3 people, car, Kyoto, sightseeing" into the displayed input form. Once the input is complete, the device automatically sends this information to the server.
[1325] Step 2:
[1326] The server communicates with external web services based on information received from the user's terminal to collect relevant tourist destination information, accommodation information, and transportation information. This collected data is then passed to a travel plan generation algorithm.
[1327] Input: Travel information submitted by the user
[1328] Output: Tourist information, accommodation information, and transportation information are obtained.
[1329] Specific operation: The server accesses the tourist information API to collect information on tourist spots and related information in Kyoto. Next, it uses the accommodation information API to check the availability and prices of accommodations, and uses the transportation information API to collect data on transportation options to each tourist spot.
[1330] Step 3:
[1331] The server integrates the collected data and generates the optimal travel plan using a computational method (travel plan generation algorithm). This plan includes the order of visits for each day, suitable accommodations, and optimal modes of transportation.
[1332] Input: Tourist information, accommodation information, transportation information
[1333] Output: Optimal travel plan
[1334] Specific operation: Based on the information received, the server generates a 5-day travel plan for Kyoto. For example, it will plan to visit Kiyomizu-dera Temple on day 1, Kinkaku-ji Temple on day 2, and the Gion district on day 3, and assign appropriate accommodations for each day.
[1335] Step 4:
[1336] The generated travel plan is sent from the server to the user's terminal and presented to the user. The user reviews the plan and enters customization requests if necessary. The entered customization requests are then sent back to the server.
[1337] Input: Generated travel plan
[1338] Output: Customization requests from users
[1339] Specific operation: The user checks the travel plan displayed on their device. If necessary, they enter a customization request, such as "Add a day trip to a hot spring on the second day," and the device sends that request to the server.
[1340] Step 5:
[1341] The server receives a customization request from the user, accesses the external web service again to retrieve the necessary data, recalculates based on the new data, generates an updated plan, and sends it to the user's terminal.
[1342] Input: Customization request from the user
[1343] Output: Updated travel plan
[1344] Specific operation: When the server receives a request to "add a day trip to a hot spring on day 2," it retrieves information about the day trip hot spring facility and recalculates the travel plan. As a result, the recalculated plan is updated to "Visit Kinkaku-ji Temple on day 2, day trip to a hot spring in the afternoon, accommodation B."
[1345] Step 6:
[1346] Once the user reviews the final plan and presses the "Confirm" button, the user's device sends the confirmation information to the server. The server then makes reservations for accommodation and transportation through an external web service and sends the reservation confirmation information to the user's device.
[1347] Input: User verification information
[1348] Output: Reservation confirmation information
[1349] Specific operation: Once the user confirms their final plan, the server uses the accommodation booking API and transportation booking API to make reservations for accommodation and transportation. Once the reservations are confirmed, the information is sent to the user's terminal, and all reservations are finalized.
[1350] (Application Example 1)
[1351] 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".
[1352] Traditional food delivery services have faced challenges in finding the optimal combination of meals, delivery times, and special requests that users desire, as well as the cumbersome customization process. This often resulted in reduced user convenience and low satisfaction.
[1353] 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.
[1354] In this invention, the server includes an input terminal for inputting information regarding the type of meal, desired delivery time, number of people, and special requests; a communication means for receiving the input information and collecting data on relevant restaurants, menus, and delivery methods; an algorithm means for generating an optimal delivery plan based on the collected data; an input terminal for presenting the generated delivery plan to the user and accepting the user's customization requests; a communication means for recalculating the delivery plan based on the customization requests and presenting it again; and a means for making reservations for food, beverages, and delivery methods based on the user's confirmed delivery plan. As a result, the user can easily obtain an optimal delivery plan and use a highly satisfying delivery service while making necessary customizations.
[1355] An "input terminal" is a device used by users to input information, such as a smartphone or tablet.
[1356] "Communication means" refers to technical means for transmitting information from an input terminal to a server and from a server to an input terminal. Specifically, this includes internet connectivity and API communication.
[1357] An "algorithmic means" refers to a set of computational means for calculating and generating the optimal plan based on collected data. This calculation is performed by a program or model.
[1358] "Food and beverages" refers to everything listed on a restaurant menu, including meals and drinks that the user desires.
[1359] A "delivery plan" refers to the overall schedule and procedures from order to delivery, generated based on the user's input information.
[1360] A "customization request" refers to any additional requests or changes that a user may make after the initial plan has been presented.
[1361] "Means of making reservations" refers to the means by which users reserve facilities and services based on their confirmed delivery plans. Specifically, it refers to a system that sends orders to restaurants and delivery companies via an API.
[1362] An "external API" is an application programming interface provided by a third party, and it is a means for a system to access external data and services.
[1363] "Eateries" refers to establishments that serve food and drinks, and encompasses a wide range of businesses, including restaurants and cafes.
[1364] "Delivery method" refers to the method used to deliver food and beverages ordered by a user to a location specified by the user, and includes methods such as human power, automobiles, and drones.
[1365] A "prompt" refers to an instruction or question that a user uses to request a specific action from the system.
[1366] This invention relates to a system that optimizes and improves the convenience of food delivery services desired by users. This system is designed to operate efficiently through the cooperation of user terminals, servers, and external APIs.
[1367] User input
[1368] First, the user enters information about the type of meal (e.g., Japanese food, Italian food), desired delivery time, number of people, special requests (e.g., vegetarian, gluten-free), and delivery location into an input device such as a smartphone. This information is then sent to the server and becomes the basic data for creating the delivery plan. For example, suppose the user enters "Japanese food, 12:30 PM, 3 people, vegetarian, Minato-ku, Tokyo."
[1369] Server-based data collection and plan generation
[1370] The server communicates with external APIs to collect relevant information based on the information received from the user's terminal. This includes the use of restaurant information APIs, menu information APIs, and delivery service provider information APIs. The server integrates the data returned from these APIs and executes an algorithm to generate the optimal delivery plan. This algorithm selects and combines appropriate restaurants, menus, and delivery methods based on specified conditions.
[1371] Plan presentation and customization
[1372] The generated delivery plan is sent back to the user's device and presented to the user. The user reviews this plan and enters any customization requests as needed. For example, if the user requests to "add an extra dish," that information is sent to the server.
[1373] Recalculation and update
[1374] The server receives a customization request from the user, accesses the external API again to collect the necessary data, recalculates and generates an updated plan, and sends it back to the user's terminal. For example, it recalculates and presents a plan that reflects the user's request to "add one more dish."
[1375] Final plan confirmation and arrangements
[1376] Once the user confirms their final satisfactory delivery plan and presses the "Confirm" button, the user's device sends this information to the server, which then makes reservations for food, beverages, and delivery methods via external APIs. For example, it sends a reservation request to a restaurant reservation API and also to a delivery service's reservation API. The server then sends reservation confirmation information to the user's device, thus confirming all reservations.
[1377] Program Processing Description
[1378] The system program uses the following hardware and software:
[1379] Hardware: Smartphones (user terminals), servers, network equipment
[1380] Software: External APIs (restaurant information API, menu information API, delivery service information API), algorithms (optimization models), database management system
[1381] The specific processing flow is as follows: User input information is sent to the server, and the server collects the necessary data from an external API. Based on the collected data, the AI model generates the optimal delivery plan and presents it to the user's terminal. A customization request from the user is sent back to the server, which recollects the necessary data and recalculates, then presents an updated plan. Finally, the server confirms the reservation via the external API and sends confirmation information to the user.
[1382] Example of a prompt
[1383] The following are specific examples of user prompt messages:
[1384] User: Please create the best delivery plan for Japanese food, 12:30 PM, 3 people, vegetarian, in Minato Ward, Tokyo.
[1385] App: Retrieving restaurant list... Please wait.
[1386] This system allows users to easily create complex delivery plans, significantly improving convenience and satisfaction.
[1387] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1388] Step 1:
[1389] Users enter information such as the type of meal, desired delivery time, number of people, special requests, and delivery location into an input device such as a smartphone.
[1390] input:
[1391] Type of meal (e.g., Japanese food)
[1392] Preferred delivery time (e.g., 12:30 PM)
[1393] Number of people (e.g., 3 people)
[1394] Special requests (e.g., vegetarian)
[1395] Delivery location (Example: Minato-ku, Tokyo)
[1396] output:
[1397] The entered information is sent to the server.
[1398] Specific actions:
[1399] The process begins when the user enters information into the form on their terminal and presses the "Submit" button.
[1400] Step 2:
[1401] Based on the information received from the user's terminal, the server accesses external APIs such as restaurant information APIs, menu information APIs, and delivery service provider information APIs to collect relevant information.
[1402] input:
[1403] The user entered the type of meal, desired delivery time, number of people, special requests, and delivery location.
[1404] output:
[1405] List of restaurants
[1406] List of corresponding menus
[1407] List of available delivery methods
[1408] Specific actions:
[1409] The server program generates API requests, accesses each API, and retrieves the necessary data.
[1410] Step 3:
[1411] The server uses an AI model based on the collected data to generate the optimal delivery plan.
[1412] input:
[1413] List of restaurants
[1414] List of corresponding menus
[1415] List of available delivery methods
[1416] output:
[1417] Optimal delivery plan
[1418] Specific actions:
[1419] The server feeds each dataset into an algorithm to calculate the optimal plan. For example, it selects the highest-rated restaurants and menus based on user preferences and schedules delivery times accordingly.
[1420] Step 4:
[1421] The generated delivery plan is sent to the user's device and presented to the user. The user reviews the plan and enters any customization requests as needed.
[1422] input:
[1423] Optimal delivery plan
[1424] output:
[1425] User customization requests (e.g., want to add more single-serving dishes, no preservatives, etc.)
[1426] Specific actions:
[1427] A notification is sent to the user's device, and the delivery plan is displayed on the screen. The user enters the parts they want to customize and submits it again.
[1428] Step 5:
[1429] The server receives the customization request, accesses the external API again to collect and recalculate the necessary data, and generates an updated delivery plan.
[1430] input:
[1431] User customization request
[1432] output:
[1433] Updated optimal delivery plan
[1434] Specific actions:
[1435] The server program generates another API request and recalculates the plan, taking the changes into account.
[1436] Step 6:
[1437] Once the user finalizes their delivery plan, the server makes reservations for food, beverages, and delivery methods via an external API.
[1438] input:
[1439] Confirmed delivery plan
[1440] output:
[1441] Verified reservation information
[1442] Specific actions:
[1443] The server program sends a request to the reservation API and then sends the confirmed reservation information to the user's terminal.
[1444] Step 7:
[1445] The user will ultimately receive reservation confirmation information on their device and track the progress until delivery is complete.
[1446] input:
[1447] Verified reservation information
[1448] output:
[1449] Delivery progress notification
[1450] Specific actions:
[1451] The user's terminal receives real-time notifications of the delivery progress, allowing them to check the status until the delivery is completed.
[1452] 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.
[1453] This invention relates to a travel plan generation system that incorporates an emotion engine that recognizes user emotions. This system is designed to operate efficiently through the cooperation of a user terminal, a server, an emotion engine, and an external API.
[1454] User input and emotion recognition
[1455] The user inputs information about the trip duration, number of travelers, mode of transport, final destination, and purpose of the trip into the user terminal. The emotion engine operates based on this input information to recognize and analyze the user's emotional state. For example, if the user inputs "5 days, 3 people, car, Kyoto, sightseeing," the emotion engine estimates the emotion based on text analysis and the user's facial expressions at the time of input.
[1456] Server-based data collection and plan generation
[1457] The server sends requests to external APIs to collect relevant information based on the information received from the user terminal and the sentiment data supplied by the sentiment engine. This includes the use of tourist destination information APIs, accommodation information APIs, and transportation information APIs. The server integrates the data returned from these APIs and runs an algorithm to generate the optimal travel plan based on the sentiment data.
[1458] For example, if the emotion engine analyzes that the user is seeking relaxation, the server will generate a travel plan that includes a calm schedule with fewer hot springs and tourist attractions. On the other hand, if it analyzes that the user desires an adventurous experience, it will generate a plan that includes active tourist spots and activities.
[1459] Plan presentation and customization
[1460] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, if the user requests to "add a day trip to a hot spring on the second day," that information is sent to the server.
[1461] Recalculation and update
[1462] The server receives a customization request from the user and, taking into account the analysis results from the sentiment engine, accesses the external API again to retrieve additional data. The server recalculates the plan based on the new data and sentiment information and generates an updated plan.
[1463] Final plan confirmation and arrangements
[1464] After the user reviews the final plan, they press the "Confirm" button. The user's device sends a confirmation request to the server, which then makes reservations for accommodation and transportation via external APIs. For example, it might send a reservation request to an accommodation reservation API and a request to a transportation reservation API. Finally, the server sends the reservation confirmation information to the user's device and displays it to the user.
[1465] Specific example
[1466] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the server will generate a travel plan like this:
[1467] Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[1468] Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[1469] Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[1470] On the other hand, if the user desires an adventurous experience, the plan would be as follows:
[1471] Day 1: Rafting experience and accommodation A (with activity)
[1472] Day 2: Trekking and Accommodation B (Mountain Hut Style)
[1473] Day 3: Bicycle tour and accommodation C (outdoor facility)
[1474] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[1475] The following describes the processing flow.
[1476] Step 1:
[1477] The user enters the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their device. The user device then sends the entered information to the server in JSON format.
[1478] Step 2:
[1479] The user terminal activates an emotion engine based on the input information and analyzes the user's emotional state. The emotion engine estimates the user's emotions using text analysis, voice analysis, and facial recognition during input.
[1480] Step 3:
[1481] The emotion engine generates emotional data, such as whether the user desires relaxation or an adventurous experience. This emotional data is then sent to the server.
[1482] Step 4:
[1483] The server analyzes travel information and sentiment data received from the user's terminal. Based on the analyzed information, it prepares to request relevant information from an external API.
[1484] Step 5:
[1485] The server sends requests to the tourist destination information API, accommodation information API, and transportation information API. The server calls multiple APIs in parallel to collect relevant data.
[1486] Step 6:
[1487] The server receives data on tourist destinations, accommodations, and transportation from external APIs. The received data is stored in an internal database.
[1488] Step 7:
[1489] The server runs an algorithm that generates the optimal travel plan based on emotional data. If you want to relax, it will generate a sightseeing plan that includes hot springs and spas; if you want an adventurous experience, it will generate a plan that includes active activities.
[1490] Step 8:
[1491] The generated travel plan is sent from the server to the user's terminal. The user's terminal displays the received plan to the user in a visually easy-to-understand format.
[1492] Step 9:
[1493] The user reviews the displayed travel plan and enters customization requests as needed. For example, they might enter a request such as "Add a day trip to a hot spring on the second day." The user's device then sends the customization request to the server.
[1494] Step 10:
[1495] The server analyzes the customization request received from the user and retrieves the necessary data again from the external API. It then sends requests again to the tourist destination information API, accommodation information API, and transportation information API.
[1496] Step 11:
[1497] The server combines the newly acquired data with sentiment data and recalculates the plan. The recalculated travel plan is then sent back from the server to the user's terminal.
[1498] Step 12:
[1499] The user reviews the updated plan and, if they are satisfied with the plan, presses the "Confirm" button. The user's device then sends a confirmation request to the server.
[1500] Step 13:
[1501] The server makes reservations for accommodations and transportation through external APIs. For example, it sends a reservation request to an accommodation reservation API and also sends a request to a transportation reservation API.
[1502] Step 14:
[1503] The server receives the booking confirmation information and sends it to the user's terminal. The user's terminal displays the booking confirmation information to the user. All steps of the travel planning are now complete.
[1504] This allows the system to automatically generate flexible and customizable travel plans that take into account the user's emotional state, enabling users to complete their travel planning in one place. This significantly improves user convenience.
[1505] (Example 2)
[1506] 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".
[1507] Traditional travel plan generation systems failed to consider the user's emotional state when generating travel plans, making it difficult to provide travel plans that truly met the user's needs. Furthermore, the process of recalculating and re-presenting plans when users customized them was cumbersome, resulting in a poor user experience. Additionally, there was a lack of efficient methods for booking accommodations and transportation after the travel plan was finalized.
[1508] 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.
[1509] In this invention, the server includes emotion recognition means, data collection means, and algorithm means. This enables the generation of an optimal travel plan that takes into account the user's emotional state. Furthermore, it becomes possible to efficiently recalculate and re-present the generated travel plan based on customization requests. In addition, it becomes possible to quickly and reliably make reservations for accommodations and transportation based on the user's confirmed travel plan.
[1510] "Information equipment" is a general term for devices that allow users to input information about their travel period, number of travelers, mode of transport, final destination, and purpose of travel, and then transmit that information to a server.
[1511] "Emotion recognition means" refers to technical means for recognizing and analyzing a user's emotional state by analyzing information input by the user through an information device, as well as the user's facial expressions and voice.
[1512] "Data collection methods" refer to means of collecting information about tourist destinations, accommodations, and transportation services using external APIs based on input information and recognized sentiment data.
[1513] An "algorithmic means" is a computational means for generating an optimal travel plan based on collected data and recognized emotion data.
[1514] A "recalculation mechanism" is a technical means for recalculating a travel plan based on new conditions when a user enters a customization request, and for constructing an updated plan.
[1515] A "reservation method" refers to a means by which users can make reservations for accommodations and transportation based on their confirmed travel plans.
[1516] This invention relates to a travel plan generation system that combines a user emotion recognition means with a travel plan generation means that aims to provide the user with the most suitable travel plan. This system is designed to operate efficiently through the cooperation of information devices, a server, an emotion recognition means, and an external API.
[1517] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into their information device. This information is then transmitted to the server via a device such as a smartphone or personal computer. An example of the entered information might be "5 days, 3 people, car, Kyoto, sightseeing."
[1518] Next, the emotion recognition system analyzes the input information, the user's facial expressions, and voice to recognize and analyze the user's emotional state. This process utilizes Natural Language Processing (NLP) modules, facial recognition technology, and voice analysis technology. For example, text analysis analyzes the user's word choices, frequency, and context to infer their emotional state.
[1519] The server uses information received from information devices and sentiment data from sentiment recognition devices to send requests to external APIs to collect relevant data such as tourist destinations, accommodations, and transportation methods. Specifically, it uses tourist destination information APIs, accommodation information APIs, and transportation information APIs to obtain data in JSON format via HTTP requests.
[1520] Based on collected data and sentiment data, the server runs an algorithm to generate the optimal travel plan. Machine learning models, such as K-means clustering and decision tree algorithms, are used. As a result, users who want to relax will receive plans that include hot springs, spas, and quiet tourist destinations, while users who want an active experience will receive plans that include rafting, trekking, and outdoor facilities.
[1521] The generated travel plan is sent to the user's device and displayed visually. The user can review this plan and enter customization requests as needed. For example, a request might be to "add a day trip to a hot spring on the second day." When this request is sent to the server through the device, the server accesses an external API again, retrieves the necessary data, and recalculates the plan.
[1522] Once the final plan is confirmed, the user presses the "Confirm" button, and the information device sends a confirmation request to the server. The server makes reservations for accommodation and transportation via the accommodation and transportation reservation APIs and sends confirmation information to the user's terminal. Finally, the completed reservation information is visually displayed to the user.
[1523] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and the analysis indicates they desire relaxation, the following travel plan will be generated:
[1524] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[1525] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[1526] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[1527] An example of a prompt message might be: "If the user enters '5 days, 3 people, car, Kyoto, sightseeing' and also requests relaxation, please generate the best travel plan for that trip."
[1528] This invention enables the automatic generation of travel plans that take into account the user's emotional state, allowing for flexible customization and rapid completion of the travel plan. This significantly improves user convenience.
[1529] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1530] Step 1: Receiving user input
[1531] The user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into the information device.
[1532] Input: User input (Example: "5 days, 3 people, car, Kyoto, sightseeing")
[1533] Data processing: Information devices format this information and generate request data to send to the server.
[1534] Output: Formatted user input data
[1535] Step 2: Emotion Recognition
[1536] The terminal transmits user input information to the emotion recognition system.
[1537] Input: User input data
[1538] Data processing: The emotion recognition method uses a Natural Language Processing (NLP) module to perform text analysis, and analyzes the user's emotional state using facial recognition and speech analysis technologies.
[1539] Output: Emotional data (e.g., desire to relax)
[1540] Step 3: Data Collection
[1541] The server receives user input data and sentiment data, sends requests to external APIs, and collects the necessary information.
[1542] Input: User input data, sentiment data
[1543] Data processing: The server sends HTTP requests to the tourist destination information API, accommodation information API, and transportation information API to retrieve data in JSON format.
[1544] Output: Data on tourist destinations, accommodations, and transportation methods obtained from the API.
[1545] Step 4: Plan Generation
[1546] The server executes an algorithm that generates the optimal travel plan based on the collected data and sentiment data.
[1547] Input: API data, sentiment data
[1548] Data processing: Use machine learning models (e.g., K-means clustering or decision tree algorithms) to generate travel plans that meet the user's preferences.
[1549] Output: Travel plan data (e.g., itinerary for day 1, accommodation, etc.)
[1550] Step 5: Present your plan
[1551] The server sends the generated travel plan to the user's terminal.
[1552] Input: Travel plan data
[1553] Data processing: Convert travel plan data into a format that can be visually displayed to the user.
[1554] Output: Travel plan data for display
[1555] Step 6: Receiving the customization request
[1556] Users review their travel plans and enter customization requests as needed.
[1557] Input: User customization request (e.g., "Add a day trip to a hot spring on the second day")
[1558] Data calculation: The terminal analyzes the customizations and generates a request for recalculation.
[1559] Output: Customization request data
[1560] Step 7: Recalculate and update
[1561] The server receives the customization request data, accesses the external API again to retrieve the new data, and recalculates the travel plan.
[1562] Input: Customization request data, existing travel plan data
[1563] Data processing: Execute algorithms to search for tourist destinations and activities based on new conditions, and to recalculate the plan.
[1564] Output: Updated travel plan data
[1565] Step 8: Representation
[1566] The server resends the updated travel plan to the user's terminal and presents it to the user.
[1567] Input: Updated travel plan data
[1568] Data processing: Convert updated travel plan data into a format that can be visually displayed to the user.
[1569] Output: Updated travel plan data for display
[1570] Step 9: Finalizing the plan
[1571] The user reviews the final plan and presses the "Confirm" button.
[1572] Input: Confirmation Request
[1573] Data processing: The terminal sends a confirmed request to the server.
[1574] Output: Confirmed request data
[1575] Step 10: Arrange
[1576] The server makes reservations for accommodations and transportation based on the confirmed travel plan.
[1577] Input: Confirmed request data, final travel plan data
[1578] Data processing: Access the accommodation booking API and the transportation booking API, and submit booking requests.
[1579] Output: Reservation confirmation information (e.g., accommodation confirmation email, reservation number)
[1580] Step 11: Present your booking confirmation information.
[1581] The server sends reservation confirmation information to the user's terminal and displays it to the user.
[1582] Input: Reservation confirmation information
[1583] Data processing: Convert reservation confirmation information into a format that can be visually displayed to the user.
[1584] Output: Reservation confirmation information for display
[1585] (Application Example 2)
[1586] 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".
[1587] Conventional travel plan generation systems struggled to create travel plans that took into account the user's emotional state, making it difficult to provide the optimal user experience. Furthermore, they lacked the ability to perform optimal simulations and presentations of travel plans, resulting in low user satisfaction. Additionally, customizing and adjusting travel plans was cumbersome, and there was a lack of means to improve user convenience.
[1588] 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 an emotion engine that recognizes and analyzes the user's emotional state, an audiovisual output means that provides a travel experience in a virtual environment, and a means that generates an optimal virtual travel plan based on the emotional state. This makes it possible to generate a travel plan that matches the user's emotional state and to simulate a realistic experience in a virtual environment.
[1589] An "information terminal" is an electronic device that a user operates and uses to input information.
[1590] A "processing device" is a device that receives input information, collects related data, and performs calculations.
[1591] "Mathematical tools" refer to the means used to execute algorithms that generate optimal travel plans based on collected data.
[1592] A "user" is a person who uses this system to plan their trip.
[1593] An "emotion engine" is software or hardware used to recognize and analyze a user's emotional state.
[1594] "Audiovisual output means" refers to a device that outputs video and audio in order to provide a travel experience in a virtual environment.
[1595] An "external API" is an application program interface used to communicate with external services and retrieve necessary data.
[1596] A "customization request" is a request from a user to change or add to a presented travel plan.
[1597] "Reservation methods" refer to the means of making reservations for accommodations and transportation based on a confirmed travel plan.
[1598] This invention relates to a system that recognizes a user's emotional state and generates an optimal travel plan accordingly. Embodiments of this invention will be described in detail below.
[1599] First, the user enters information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip into an information terminal. This information terminal typically includes a smartphone, tablet, or computer. The information entered by the user is then transmitted from the information terminal to the processing unit.
[1600] The processing unit receives information transmitted from the user and further analyzes the user's emotional state using an emotion engine. This emotion engine recognizes the user's emotions through text analysis, facial recognition, and speech analysis, and uses the latest AI models (e.g., natural language processing models and computer vision models).
[1601] Next, the processing unit uses external APIs to collect data on tourist destinations, accommodations, and transportation. This data is retrieved from external databases and services and used to generate travel plans. The collected data is compiled into an optimal travel plan by an algorithm designed to take emotional states into account. If the user desires relaxation, this algorithm prioritizes calm and relaxing places and activities. If the user desires adventure, it generates a plan rich in activities.
[1602] The generated travel plan is transmitted to an information terminal and presented to the user via an audiovisual output device. This audiovisual output device is typically a VR device such as a head-mounted display or smart glasses, allowing the user to simulate the travel experience in a virtual environment. If the user requests customization of the presented plan, that information is also transmitted from the information terminal to the processing unit.
[1603] The processing unit recalculates the travel plan based on the user's customization requests and presents the updated plan again. Finally, reservations for accommodation and transportation are made based on the travel plan confirmed by the user. This allows users to easily finalize an emotionally optimized travel plan without cumbersome procedures.
[1604] For example, if a user enters "5 days, 3 people, car, Kyoto, sightseeing" and expresses a desire for relaxation, the following travel plan will be generated:
[1605] 1. Day 1: Visit to Kiyomizu-dera Temple and accommodation A (with hot springs)
[1606] 2. Day 2: Visit to Kinkaku-ji Temple and accommodation B (with spa)
[1607] 3. Day 3: Stroll around the Gion district and stay at accommodation C (quiet environment).
[1608] In this example, the generative AI model will be input with the following prompt:
[1609] "Based on the user's input of '5 days, 3 people, car, Kyoto, sightseeing,' please generate the optimal travel plan if the user desires relaxation."
[1610] As described above, the system of the present invention provides travel plans that reflect the user's emotional state and improves user satisfaction through a realistic experience in a virtual environment.
[1611] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1612] Step 1:
[1613] The user uses an information terminal to enter information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip. The entered information is sent to the server by the information terminal for use in the next step. The entered data includes things like "5 days, 3 people, car, Kyoto, sightseeing".
[1614] Step 2:
[1615] The server receives travel information transmitted from the information terminal. Based on the received data, it uses an emotion engine to analyze the user's emotional state. This emotion engine uses the latest AI models to perform text analysis, facial recognition, and voice analysis. As a result of the analysis, emotional data is obtained, such as whether the user is seeking relaxation or desires adventure.
[1616] Step 3:
[1617] The server sends requests to an external API based on travel information and sentiment data to collect data on tourist attractions, accommodations, and transportation. This provides up-to-date information on local attractions, available accommodations, and transportation options. The collected data is used in the next step.
[1618] Step 4:
[1619] The server runs an algorithm that generates the optimal travel plan based on collected data and emotional data. This algorithm incorporates a calm schedule for users who want to relax and an activity-rich schedule for users who want to be adventurous. As a result, a specific travel plan is generated.
[1620] Step 5:
[1621] The generated travel plan is transmitted from the server to the information terminal and presented to the user using audiovisual output devices. The user can then experience and simulate this travel plan in a virtual environment, allowing them to review the plan with a more realistic feel.
[1622] Step 6:
[1623] The user enters customization requests for the presented travel plan. For example, they might enter a request such as "Add a day trip to a hot spring on the second day" on an information terminal and send it to the server.
[1624] Step 7:
[1625] The server receives the user's customization request and recalculates the travel plan. Based on the new data and sentiment information, it re-accesses the external API to gather necessary information and update the travel plan. The updated travel plan is then presented to the user again.
[1626] Step 8:
[1627] The user presses the "Confirm" button based on their finalized travel plan. A confirmation request is sent from the information terminal to the server. The server makes reservations for accommodation and transportation via an external API and sends the final reservation confirmation information to the user. With this step, all travel preparations are complete.
[1628] 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.
[1629] The data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of the data generation model 58 is ChatGPT (Internet Search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">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.
[1630] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1631] 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.
[1632] 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.
[1633] 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.
[1634] 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.
[1635] 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.
[1636] 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."
[1637] 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.
[1638] 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.
[1639] 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.
[1640] 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.
[1641] 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.
[1642] 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.
[1643] 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.
[1644] 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.
[1645] 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.
[1646] 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.
[1647] 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.
[1648] 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 to be incorporated by reference.
[1649] The following is further disclosed regarding the embodiments described above.
[1650] (Claim 1)
[1651] A user terminal for entering information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip,
[1652] A server that receives input information and collects data on related tourist destinations, accommodations, and transportation methods.
[1653] An algorithm that generates the optimal travel plan based on collected data,
[1654] A user terminal that presents the generated travel plan to the user and accepts user customization requests,
[1655] A server mechanism that recalculates and re-presents the travel plan based on the customization request,
[1656] A means of making reservations for accommodations and transportation based on the user's confirmed travel plan,
[1657] A system that includes this.
[1658] (Claim 2)
[1659] The system according to claim 1, which includes a server means that communicates with an external API to obtain data on tourist destinations, accommodations, and transportation methods for generating travel plans.
[1660] (Claim 3)
[1661] The system according to claim 1, comprising an algorithm means for calculating the optimal order of visiting tourist destinations based on the travel period, number of travelers, mode of transport, final destination, and purpose of travel entered by the user.
[1662] "Example 1"
[1663] (Claim 1)
[1664] An information terminal for entering information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip,
[1665] An information processing device that receives input information and collects data on related tourist destinations, accommodations, and transportation methods,
[1666] A calculation method for generating the optimal travel plan based on collected data,
[1667] An information terminal that presents a generated travel plan to the user and accepts user customization requests,
[1668] An information processing device that recalculates and re-presents a travel plan based on a customization request,
[1669] A booking method that allows users to make reservations for accommodations and transportation based on their confirmed travel plans,
[1670] A system that includes this.
[1671] (Claim 2)
[1672] The system according to claim 1, which includes an information processing device that communicates with an external web service to obtain data on tourist destinations, accommodations, and means of transportation for the purpose of generating travel plans.
[1673] (Claim 3)
[1674] The system according to claim 1, comprising an algorithm means for calculating the optimal order of visiting tourist destinations based on the travel period, number of travelers, mode of transport, final destination, and purpose of travel entered by the user.
[1675] "Application Example 1"
[1676] (Claim 1)
[1677] An input terminal for entering information such as the type of meal, desired delivery time, number of people, and special requests.
[1678] A communication device that receives input information and collects data on related restaurants, menus, and delivery methods.
[1679] An algorithmic means for generating the optimal delivery plan based on the collected data,
[1680] An input terminal that presents the generated delivery plan to the user and accepts user customization requests,
[1681] Based on the customization request, we will recalculate the delivery plan and present it again, along with the following communication methods:
[1682] A means of making reservations for food and beverages and delivery methods based on the user's confirmed delivery plan,
[1683] A system that includes this.
[1684] (Claim 2)
[1685] The system according to claim 1, which includes a communication means for communicating with an external API to obtain data relating to restaurants, menus, and delivery methods in order to generate a delivery plan.
[1686] (Claim 3)
[1687] The system according to claim 1, comprising an algorithm means for calculating the optimal menu selection based on the type of meal, desired delivery time, and special requests entered by the user.
[1688] "Example 2 of combining an emotion engine"
[1689] (Claim 1)
[1690] An information device for inputting information about the travel period, number of travelers, mode of transport, final destination, and purpose of travel,
[1691] An emotion recognition means that receives input information and recognizes and analyzes the user's emotional state,
[1692] A data collection method for collecting data on related tourist destinations, accommodations, and transportation methods,
[1693] An algorithmic means for generating the optimal travel plan based on collected data and emotional data,
[1694] An information device that presents a generated travel plan to the user and accepts user customization requests,
[1695] A recalculation method that recalculates and re-presents the travel plan based on the customization request,
[1696] A booking method that allows users to make reservations for accommodations and transportation based on their confirmed travel plans,
[1697] A system that includes this.
[1698] (Claim 2)
[1699] The system according to claim 1, comprising data collection means for communicating with an external API and obtaining data relating to tourist destinations, accommodations, and transportation methods.
[1700] (Claim 3)
[1701] The system according to claim 1, comprising an algorithm means for calculating the optimal order of visiting tourist destinations based on the travel period, number of travelers, mode of transport, final destination, and purpose of travel entered by the user.
[1702] "Application example 2 when combining with an emotional engine"
[1703] (Claim 1)
[1704] An information terminal for entering information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip,
[1705] A processing unit that receives input information and collects data on related tourist destinations, accommodations, and transportation methods.
[1706] A mathematical method for generating an optimal travel plan based on collected data,
[1707] An information terminal that presents the generated travel plan to the user and accepts the user's customization requests,
[1708] A processing unit that recalculates and re-presents the travel plan based on the customization request,
[1709] A means of making reservations for accommodations and transportation based on the user's confirmed travel plan,
[1710] An emotion engine that recognizes and analyzes the user's emotional state,
[1711] Audiovisual output means that provide a travel experience in a virtual environment,
[1712] A means for generating an optimal virtual travel plan based on emotional state,
[1713] A system that includes this.
[1714] (Claim 2)
[1715] The system according to claim 1, comprising a processing device that communicates with an external API and obtains data relating to tourist destinations, accommodations, and means of transportation for the purpose of generating a travel plan.
[1716] (Claim 3)
[1717] The system according to claim 1, comprising mathematical means for calculating the optimal order of visiting tourist destinations based on the travel period, number of travelers, mode of transport, final destination, and purpose of travel entered by the user. [Explanation of symbols]
[1718] 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 user terminal for entering information about the travel period, number of travelers, mode of transport, final destination, and purpose of the trip, A server that receives input information and collects data on related tourist destinations, accommodations, and transportation methods. An algorithm that generates the optimal travel plan based on collected data, A user terminal that presents the generated travel plan to the user and accepts user customization requests, A server mechanism that recalculates and re-presents the travel plan based on the customization request, A means of making reservations for accommodations and transportation based on the user's confirmed travel plan, A system that includes this.
2. The system according to claim 1, which includes a server means that communicates with an external API to obtain data on tourist destinations, accommodations, and transportation methods for generating travel plans.
3. The system according to claim 1, comprising an algorithm means for calculating the optimal order of visiting tourist destinations based on the travel period, number of travelers, mode of transport, final destination, and purpose of travel entered by the user.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A