system
A system that processes native language inputs, uses natural language processing to generate tailored travel suggestions, and facilitates reservations, addresses the challenge of foreign tourists finding suitable travel plans in Japan, enhancing their travel experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-05
AI Technical Summary
Foreign tourists visiting Japan face challenges in finding optimal travel plans that meet their preferences due to language barriers and cultural differences, making it difficult to obtain appropriate information and arrange reservations efficiently.
A system that allows users to input desired information in their native language, analyzes it using natural language processing, generates tailored travel suggestions, and facilitates reservations based on past user data, optimizing proposals and arrangements.
Enables foreign tourists to easily find and reserve travel plans and spots that suit their preferences, overcoming language barriers and cultural differences.
Smart Images

Figure 2026036203000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Since the impact of COVID-19 has eased, the number of foreign tourists visiting Japan has increased. However, it is difficult for them to find the optimal travel plan that suits their preferences and wishes. Language barriers and cultural differences also make it difficult to obtain appropriate information. To solve these problems, a system is needed that can make optimal suggestions and arrangements for foreign tourists that meet their wishes. [Means for solving the problem]
[0005] To solve this problem, the present invention provides the following means: a system that combines a means for users to input and transmit desired information, a means for analyzing the received desired information, a means for generating appropriate proposals based on the analysis results, a means for returning the generated proposals to the user, and a means for making arrangements based on the user's selections. The system also includes a means for optimizing the proposals using past user data and a means for analyzing desired information using natural language processing. This allows foreign tourists to easily find the best travel plans and spots that suit their preferences and smoothly make arrangements.
[0006] "User" refers to a foreign tourist who uses the system to input and submit desired information.
[0007] "Desired information" is information about the user's requests and preferences for the system.
[0008] "Input means" refers to a means by which a user inputs desired information into a terminal, such as a keyboard or a touch screen.
[0009] The "transmission means" is a means for transmitting the input desired information to the server.
[0010] The "receiving means" is a means by which the server receives the user's desired information.
[0011] The "analysis means" is a means for interpreting and understanding the received desired information using natural language processing technology or the like.
[0012] The "proposal means" is a means for generating appropriate proposals based on the analysis results.
[0013] The "response means" is a means for returning the generated proposal to the end user.
[0014] "Arrangement means" is a means for carrying out procedures such as reservations based on the user's selection.
[0015] "Past data" refers to data on the behavior and requests of foreign tourists who have previously used the system.
[0016] "Optimization means" refers to means for improving the quality of suggestions to users by utilizing past data.
[0017] "Natural language processing" is a computer technology for interpreting and analyzing human language. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0019] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0020] First, the terms used in the following description will be explained.
[0021] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0022] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0023] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0024] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0025] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0026] [First embodiment]
[0027] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0028] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0029] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0030] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0031] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[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 of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0033] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0034] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0035] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0036] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0037] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0038] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0039] This invention provides an AI support system that allows foreign tourists in Japan to receive optimal recommendations tailored to their preferences. The specific operation of this system is explained below. The subject specifies either the server, the terminal, or the user, and specific examples are used.
[0040] Specific processing flow
[0041] 1. User request input
[0042] The user inputs desired information, such as "I want to eat delicious sushi," through an application on their device (smartphone, tablet, PC, etc.).
[0043] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[0044] 2. Sending your preferences
[0045] The device sends the user's desired information to the server in the form of an HTTP POST request.
[0046] 3. Analysis of desired information
[0047] The server then analyzes the received request information using a natural language processing (NLP) engine, extracting keywords such as "sushi," "delicious," and "budget under 5,000 yen."
[0048] 4. Comparison with past data
[0049] The server searches the past user database based on the analyzed preference information, checks what suggestions users with similar preference information received in the past were satisfied with, and generates the optimal suggestion candidates as a result of the comparison.
[0050] 5. Proposal Generation
[0051] Based on the results of the comparison, the server generates optimal suggestions that match the user's preferences. A specific suggestion would be a "list of highly rated sushi restaurants within a budget of 5,000 yen." Detailed information such as the rating, menu, and location of each restaurant is also included.
[0052] 6. Submitting and Displaying Proposals
[0053] The server sends the generated proposal to the terminal.
[0054] The device analyzes the suggestions and displays them in a format that is easy for the user to understand. For example, information on sushi restaurants is presented in a list format.
[0055] 7. Select your shipping options
[0056] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[0057] 8. Submitting a Request
[0058] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0059] 9. Execution of Arrangements
[0060] Based on the reservation request received by the server, the server attempts to make a reservation at a sushi restaurant. It connects with the reservation system API and automatically performs the necessary procedures. If the reservation is successful, it generates reservation confirmation information.
[0061] 10. Sending and displaying reservation results
[0062] The server sends the reservation confirmation information to the terminal.
[0063] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[0064] Example: The process of choosing a sushi restaurant
[0065] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the keywords "delicious," "sushi," and "budget." It then compares the results of similar requests from a database and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[0066] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, foreign tourists can easily find and reserve the perfect sushi restaurant that meets their needs.
[0067] This system will enable foreign tourists to smoothly find and arrange the best travel plan that suits their preferences.
[0068] The processing flow will be explained below.
[0069] Step 1:
[0070] The user launches the application on the device, inputs desired information, such as "I want to eat delicious sushi," and presses the send button.
[0071] Step 2:
[0072] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[0073] Step 3:
[0074] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine.
[0075] Step 4:
[0076] The server analyzes the desired information using an NLP engine and extracts key keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[0077] Step 5:
[0078] Based on the analysis results, the server searches the database for similar past requests. For example, it refers to the data of users who previously requested "sushi."
[0079] Step 6:
[0080] The server compares past data and generates optimal suggestions. As suggestions, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0081] Step 7:
[0082] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[0083] Step 8:
[0084] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, and location.
[0085] Step 9:
[0086] The user selects a sushi restaurant from the list, selects the reservation option, enters the desired reservation date and time, and presses the reservation request button.
[0087] Step 10:
[0088] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0089] Step 11:
[0090] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API to attempt a reservation. If the reservation is successful, the server generates reservation confirmation information.
[0091] Step 12:
[0092] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[0093] Step 13:
[0094] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[0095] Example 1
[0096] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0097] Conventional travel support systems lack support for foreign languages, making it difficult for foreign tourists to obtain suggestions that meet their needs. Furthermore, the reservation process is complicated, requiring time and effort for users.
[0098] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0099] In this invention, the server includes means for users to input and send desired information in multiple languages, means for analyzing the received desired information using natural language processing and extracting keywords, means for generating appropriate suggestions based on the analysis results, means for returning the generated suggestions to the user and displaying them in list form, means for making reservations based on the user's selection, and means for notifying the user of reservation confirmation information. This allows foreign tourists to input their desired information in their own language, quickly receive appropriate suggestions, and smoothly complete reservation arrangements.
[0100] "Multilingual" means having the ability to input and display information in multiple languages.
[0101] "Natural language processing" refers to the technology that allows computers to understand, analyze, and generate human language.
[0102] "Keywords" are important words that express the information desired by the user and are extracted by natural language processing.
[0103] "Proposals" are information about specific stores and services that match the user's preferences, generated by the server based on the user's preferences and past data.
[0104] "Reservation arrangement" refers to the process in which the server automatically makes a reservation for the store or service selected by the user using an external system API.
[0105] "Reservation confirmation information" is detailed reservation information that is generated by the server based on the results of reservation arrangements and notified to the user.
[0106] An "external system API" is an interface that allows a server to connect with external services and automatically perform reservation procedures, etc.
[0107] A "user request" is information about a user's wishes or requests that the user inputs into the system.
[0108] "Analysis results" is a general term for keywords and other information extracted through natural language processing.
[0109] The following describes an embodiment of the present invention. This invention is an AI support system that allows foreign tourists in Japan to receive optimal suggestions tailored to their preferences. The system involves a series of processes in which users input desired information in multiple languages, and the server analyzes the information, makes suggestions, and arranges reservations.
[0110] System Configuration
[0111] This system mainly consists of the user's terminal, a server, and an external system API. Specifically, it uses the following hardware and software:
[0112] User device: smartphone, tablet, or PC, which allows the user to enter desired information and view suggestions.
[0113] Server: A powerful computer that uses a natural language processing engine (such as Python's NLTK or spaCy), an SQL database, and an API to connect to external systems (for example, the OpenTable API).
[0114] External system API: Interface for making reservations.
[0115] Explanation of various methods
[0116] 1. A means for users to enter and submit desired information in multiple languages
[0117] The user launches the application on their device and enters their desired information in their native language. The application UI supports multiple languages, and users can enter their desired information in the text box and tap the "Send" button to enter and send the desired information.
[0118] 2. Analyzing the received desired information using natural language processing and extracting keywords
[0119] The user preference information sent from the device is received by the server, which uses a Python NLP library (e.g., NLTK or spaCy) to analyze the information and extract important keywords (e.g., "delicious," "sushi," "budget").
[0120] 3. A means of generating appropriate suggestions based on the analysis results
[0121] The server searches the past user database based on the extracted keywords. It compares past success stories stored in the SQL database and generates suggestions that match the user's preferences. For example, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0122] 4. A means to return the generated suggestions to the user and display them in a list format.
[0123] The generated recommendations are sent from the server to the device, which receives them and displays them in a user-friendly list format, including detailed information such as the restaurant's rating, menu, and location.
[0124] 5. Means of making reservations based on user selections
[0125] The user selects the desired sushi restaurant from the list of suggested restaurants, selects the reservation option, and enters the desired reservation date and time. The terminal then sends this information back to the server.
[0126] 6. Means of notifying users of reservation confirmation information
[0127] The server receives the request and performs the reservation procedure using the external system API. If the reservation is successful, the server generates reservation confirmation information and sends it to the terminal. The terminal receives this information and displays it in a format that is easy for the user to understand.
[0128] Examples of concrete examples and prompts
[0129] For example, if a foreign tourist types in "I want to eat delicious sushi," the server analyzes keywords such as "delicious," "sushi," and "budget under 5,000 yen." It then searches a database for successful cases of similar requests and selects several highly rated sushi restaurants. The final list of selected sushi restaurants is sent to the terminal. The user can then view the list, select a specific sushi restaurant, and proceed with the reservation process. In this way, foreign tourists can easily find and reserve the best sushi restaurant that meets their needs.
[0130] Example prompts for generative AI models:
[0131] Based on the request "I want to eat delicious sushi," please suggest highly rated sushi restaurants within a budget of 5,000 yen. Please also provide detailed information such as ratings, menu, and location.
[0132] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0133] Step 1: Enter user preferences
[0134] Input: The user launches the application on their device (smartphone, tablet, PC, etc.) and enters the desired information.
[0135] Specific actions: Enter desired information, such as "I want to eat delicious sushi," into the text box and tap the "Submit" button. The application is multilingual, so users can enter information in their native language.
[0136] Step 2: Submit your preferences
[0137] Input: The desired information entered by the user.
[0138] Output: The HTTP POST request sent to the server.
[0139] Specific operation: The device parses the user's desired information into JSON format and sends it to the server using an HTTP POST request.
[0140] Step 3: Analyze your preferences
[0141] Input: JSON data of the desired information received by the server.
[0142] Output: Extracted keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[0143] Specific operation: The server uses Python's NLP library (e.g., NLTK or spaCy) to analyze the desired information using natural language processing and extract important keywords.
[0144] Step 4: Check against historical data
[0145] Input: Extracted keywords.
[0146] Output: A list of best suggestions as a result of the SQL query.
[0147] Specific operation: The server searches the SQL database based on the extracted keywords, and generates optimal suggestions by collating past user data with successful cases for similar requests.
[0148] Step 5: Generate proposals
[0149] Input: A list of best suggestions as a result of an SQL query.
[0150] Output: Suggested response to the user (e.g., "List of highly rated sushi restaurants under 5,000 yen").
[0151] Specific operation: Based on the matching results, the server generates specific suggestions and creates a list of the best sushi restaurants for the user.
[0152] Step 6: Submit and view your proposal
[0153] Input: Generated suggestions.
[0154] Output: Suggestions in a list format that is displayed on the user's device.
[0155] Specific operation: The server generates suggestions and sends them to the device as an HTTP response. The device then analyzes the received suggestions and displays them in a list format. Specifically, the suggestions include detailed information such as the restaurant's rating, menu, and location.
[0156] Step 7: Select your delivery options
[0157] Input: A list of suggested sushi restaurants.
[0158] Output: The ID of the selected sushi restaurant and the desired reservation date and time.
[0159] Specific operation: The user selects the desired sushi restaurant from the list, selects the reservation arrangement option, and enters the desired reservation date and time.
[0160] Step 8: Submit a dispatch request
[0161] Input: The ID of the sushi restaurant selected by the user and the desired reservation date and time.
[0162] Output: The dispatch request sent to the server.
[0163] What happens: The device parses the selection into JSON format and sends it to the server using an HTTP POST request.
[0164] Step 9: Execute the arrangement
[0165] Input: Received reservation request (sushi restaurant ID and desired reservation date and time).
[0166] Output: Reservation confirmation information.
[0167] Specific operation: The server automatically completes the reservation procedure using an external system API (e.g., OpenTable API). If the reservation is successful, a reservation confirmation is generated.
[0168] Step 10: Send and view reservation results
[0169] Input: Generated booking confirmation information.
[0170] Output: Booking confirmation information displayed on the user's device.
[0171] Specific operation: The server sends reservation confirmation information to the terminal, which then analyzes and displays the received information. Based on this information, the user visits the sushi restaurant at the specified date and time.
[0172] (Application example 1)
[0173] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0174] With conventional tourist guide systems, it was difficult for foreign tourists to obtain information that matched their preferences, and it was also difficult to make store reservations and arrangements quickly and accurately based on their wishes. This resulted in the problem of foreign tourists being unable to plan their trips efficiently. Furthermore, due to insufficient multilingual support, there were limitations on inputting information and receiving suggestions in their native language.
[0175] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0176] In this invention, the server includes means for allowing a user to input desired information in their native language, means for transmitting the desired information to the server, means for analyzing the received desired information using a natural language processing engine, means for generating optimal proposals based on the analysis results by comparing the information with a past user database, means for returning the generated proposals to the user, and means for making store reservations based on the user's selection. This enables foreign tourists to efficiently search for and reserve stores and services that suit their preferences in their native language.
[0177] "User" refers to an individual or group that uses this system.
[0178] "Desired information" refers to information that describes the conditions and requests that users have for the system.
[0179] "Means for inputting in one's native language" refers to a function that provides a user interface that allows a user to input desired information in their native language.
[0180] "Server" refers to a central processing unit that receives and analyzes desired information from a user, generates and returns suggestions.
[0181] A "natural language processing engine" refers to the technology and software used to analyze input natural language, extract information, and understand it.
[0182] "Means for analyzing" refers to the function of analyzing the received desired information using a natural language processing engine.
[0183] The "past user database" refers to a collection of data that stores the desired information and results of users who have previously used this system.
[0184] "Means for comparing and generating optimal proposals" refers to the function of comparing the analyzed desired information with a past user database and generating the most suitable proposals based on that.
[0185] "Means for replying" refers to the functionality of sending the generated suggestion to the user's device so that the user can review it.
[0186] The "means for making store reservations based on the selection" refers to a function for making reservations at a store selected by the user from the suggestions presented.
[0187] This invention provides an AI support system that enables foreign tourists to obtain optimal recommendations that match their preferences. A specific embodiment of this system is described below.
[0188] In the present invention, a user can input desired information in their native language using a terminal (such as a smartphone or smart glasses) with a multilingual user interface. For example, the user inputs "I want to eat delicious sushi." This desired information is sent from the terminal to a server. The server analyzes the received desired information using a natural language processing (NLP) engine and extracts keywords (e.g., "sushi," "delicious," "budget under 5,000 yen," etc.).
[0189] The server searches a past user database based on the analyzed preference information. For example, it checks what suggestions users with similar preference information received in the past were satisfied with, and generates optimal candidate suggestions. One such candidate is a "list of highly rated sushi restaurants with a budget of 5,000 yen or less." The server sends these suggestions to the terminal and displays them in a format that is easy for the user to understand. A specific example of the display is when sushi restaurant information (restaurant name, rating, budget, location, etc.) is provided in list format.
[0190] If the user selects a specific sushi restaurant from the list provided and wishes to make a reservation, an arrangement request is sent from the terminal to the server again. The server then processes the reservation at the sushi restaurant based on the received arrangement request. It automatically performs the necessary procedures in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful. This reservation confirmation information is sent to the terminal so that the user can check it. The user can refer to the provided information and visit the sushi restaurant at the specified date and time.
[0191] The specific hardware and software used are Flask for the server application, and Huggingface's transformers library and the "dslim / bert-base-NER" model as the natural language processing engine.
[0192] For example, if the user enters the following prompt text:
[0193] "I want to eat delicious sushi. My budget is under 5,000 yen."
[0194] The server parses this prompt and provides the following result:
[0195] Suggested store list:
[0196] Store name: Store A
[0197] Rating: 4.8
[0198] Budget: ¥3000 - ¥5000
[0199] Location: Location X
[0200] Store name: Store B
[0201] Rating: 4.9
[0202] Budget: ¥4000 - ¥7000
[0203] Location: Location Y
[0204] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0205] Step 1:
[0206] The user uses the terminal's multilingual user interface to input desired information in their native language. The input data is a prompt such as "I want to eat delicious sushi." This information is collected by the terminal and prepared for the next step.
[0207] Input: User's desired information entered in their native language (e.g., "I want to eat delicious sushi")
[0208] Output: The desired information is stored in the terminal.
[0209] Step 2:
[0210] The terminal sends the user's desired information to the server in the form of an HTTP POST request, which transmits the information the user desires to the server.
[0211] Input: Desired information stored on the device (e.g., "I want to eat delicious sushi")
[0212] Output: The desired information is sent to the server.
[0213] Step 3:
[0214] The server analyzes the received information using a natural language processing (NLP) engine. For example, it uses Huggingface's transformers library and the "dslim / bert-base-NER" model to extract keywords such as "sushi," "delicious," and "budget under 5,000 yen" from the input information.
[0215] Input: Desired information received by the server (e.g., "I want to eat delicious sushi")
[0216] Output: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[0217] Step 4:
[0218] The server searches the past user database based on the analyzed keywords to see what suggestions users with similar preferences received in the past and were satisfied with. This allows it to generate optimal suggestions. For example, it can generate a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0219] Input: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[0220] Output: Best suggestions (e.g., a list of highly rated sushi restaurants)
[0221] Step 5:
[0222] The server sends the generated suggestions to the device, which provides the user with specific suggestions, including detailed information such as the rating, menu, and location of each sushi restaurant.
[0223] Input: Best suggestions (e.g., a list of highly rated sushi restaurants)
[0224] Output: The proposal is sent to the device.
[0225] Step 6:
[0226] The device displays the received suggestions on the user interface, allowing the user to check information about sushi restaurants in a list format, including the restaurant name, rating, budget, and location.
[0227] Input: Suggestions sent to the device (e.g., a list of highly rated sushi restaurants)
[0228] Output: The suggestions are displayed to the user.
[0229] Step 7:
[0230] The user selects a restaurant from the displayed list and selects the reservation option. The device then sends the user's selection (the specific restaurant and the desired reservation date and time) to the server.
[0231] Input: User selection (e.g., a specific sushi restaurant and desired reservation date and time)
[0232] Output: The selection is sent to the server.
[0233] Step 8:
[0234] The server attempts to process the store reservation based on the received request. It automatically performs the process in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful.
[0235] Input: Your selection (e.g., a specific sushi restaurant and desired reservation date and time)
[0236] Output: Reservation confirmation information (e.g., confirmation of successful reservation)
[0237] Step 9:
[0238] The server then sends the generated reservation confirmation information to the terminal, allowing the user to confirm that the reservation has been confirmed.
[0239] Input: Reservation confirmation information (e.g., confirmation of successful reservation)
[0240] Output: Reservation confirmation information is sent to the terminal.
[0241] Step 10:
[0242] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[0243] Input: Reservation confirmation information sent to the device (e.g., confirmation of successful reservation)
[0244] Output: Booking confirmation information is displayed to the user.
[0245] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0246] This invention provides an AI support system that combines an emotion engine to enable foreign tourists to receive optimal recommendations tailored to their preferences in Japan. The specific operation of this system will be explained below. The subject will be either the server, the terminal, or the user, and specific examples will be used.
[0247] Specific processing flow
[0248] 1. User request input
[0249] The user launches the application on their device (smartphone, tablet, PC, etc.), enters desired information, such as "I want to eat delicious sushi," and presses the send button.
[0250] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[0251] 2. Sending your preferences
[0252] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[0253] 3. Analysis of desired information and emotions
[0254] The server receives the HTTP POST request, extracts the desired information, and passes it to a natural language processing (NLP) engine and an emotion engine.
[0255] The emotion engine analyzes the user's emotions from the desired information and recognizes emotions such as "excitement," "anxiety," and "expectation."
[0256] 4. Comparison with past data
[0257] The server searches the database for similar past requests based on the analyzed preference and emotion information, checks what suggestions users with similar preferences and emotion information received in the past were satisfied with, and generates optimal suggestion candidates as a result of the matching.
[0258] 5. Proposal Generation
[0259] The server then generates optimal suggestions based on the user's preferences and emotions based on the matching results. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and devise ways to include additional information for each restaurant that matches the user's emotions (e.g., a relaxing atmosphere).
[0260] 6. Submitting and Displaying Proposals
[0261] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[0262] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[0263] 7. Select your shipping options
[0264] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[0265] 8. Submitting a Request
[0266] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0267] 9. Execution of Arrangements
[0268] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information.
[0269] 10. Sending and displaying reservation results
[0270] The server sends the reservation confirmation information to the terminal. The confirmation information includes reservation details (date and time, restaurant name, reservation number, etc.).
[0271] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[0272] Example: The process of choosing a sushi restaurant
[0273] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[0274] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes into account the user's feelings can be easily found and reserved.
[0275] This system allows foreign tourists to smoothly find and arrange the best travel plan that suits their tastes and preferences.
[0276] The processing flow will be explained below.
[0277] Step 1:
[0278] The user starts the application on the terminal, inputs the desired information, for example, "I want to eat delicious sushi," and presses the send button.
[0279] Step 2:
[0280] The terminal sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[0281] Step 3:
[0282] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine and an emotion engine.
[0283] Step 4:
[0284] The server uses an NLP engine to analyze the desired information, extracting keywords such as "delicious," "sushi," and "budget under 5,000 yen."
[0285] Step 5:
[0286] The server uses an emotion engine to analyze the user's emotions from the desired information. For example, it can recognize emotions such as "excitement," "expectation," and "desire to calm down" from the text.
[0287] Step 6:
[0288] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions users with similar preference and emotion information received in the past were satisfied with.
[0289] Step 7:
[0290] Based on the matching results, the server generates optimal suggestions tailored to the user's desires and feelings. For example, it could create a list of "highly rated, relaxed sushi restaurants within a budget of 5,000 yen."
[0291] Step 8:
[0292] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[0293] Step 9:
[0294] The device parses the received JSON of the proposed options and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, location, and atmosphere.
[0295] Step 10:
[0296] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, by selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[0297] Step 11:
[0298] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0299] Step 12:
[0300] Based on the request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, the server generates reservation confirmation information.
[0301] Step 13:
[0302] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[0303] Step 14:
[0304] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[0305] In this way, a system that combines an emotion engine allows users to smoothly obtain optimal suggestions based on their own wishes and emotions.
[0306] Example 2
[0307] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0308] With conventional tourist information systems, it is difficult for foreign tourists to receive accurate suggestions based on their preferences and emotions, which leads to a decline in satisfaction.Furthermore, due to insufficient multilingual support, tourists have difficulty inputting and understanding information in their own language.
[0309] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for comparing past similar requests based on preference information and emotion information, a means for displaying proposal contents in multiple languages, and a means for notifying reservation confirmation information. This allows the user to receive optimal proposals that match their preferences and emotions in multiple languages, and easily make reservations.
[0310] "Desired information" refers to the items and requests that a user has regarding travel and sightseeing.
[0311] "Emotion information" refers to the emotional state analyzed from the desired information input by the user, and indicates emotions such as "excitement," "anxiety," and "expectation."
[0312] A "multilingual application" refers to application software that can be operated and input in multiple languages.
[0313] A "natural language processing (NLP) engine" refers to a software engine that uses techniques and algorithms to analyze human language.
[0314] "Historical Data" refers to data previously collected or stored about user behavior or requests.
[0315] "Proposal content" refers to information about optimal travel or sightseeing suggestions generated based on the user's desired information and emotional information.
[0316] "Reservation confirmation information" is information indicating the status of a confirmed reservation for a specific facility or service, and includes the date and time, store name, reservation number, and the like.
[0317] An "HTTP POST request" is one of the request methods for sending data from a client to a server using the Internet communication protocol HTTP.
[0318] MODE FOR CARRYING OUT THE INVENTION
[0319] The present invention provides an AI support system that combines an emotion engine to enable foreign tourists to obtain optimal suggestions that match their preferences in Japan. Specific embodiments of the present invention will be described.
[0320] Hardware and Software Used
[0321] Hardware
[0322] Devices (smartphones, tablets, PCs, etc.)
[0323] server
[0324] software
[0325] Multilingual Applications
[0326] HTTP protocol
[0327] Natural Language Processing (NLP) Engine
[0328] Emotion Engine
[0329] Database software
[0330] Reservation System API
[0331] User request input
[0332] The user launches the smartphone app and inputs the desired information. For example, they might type "I want to eat delicious sushi" and press the send button. This information is multilingual so that it can be input in the user's native language.
[0333] Sending and receiving preferences
[0334] The device sends an HTTP POST request containing the input preference information to the server. This request includes the user ID and preference details. The server receives the HTTP POST request, extracts the preference information, and then passes it to the natural language processing (NLP) engine and emotion engine.
[0335] Emotional information analysis
[0336] The server uses an NLP engine to analyze the desired information and an emotion engine to analyze the user's emotions. For example, emotions such as "excitement," "anxiety," and "expectation" are recognized from the desired information.
[0337] Comparison with past data
[0338] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions were made to users with similar preferences and emotions in the past and whether they were satisfied.
[0339] Proposal generation
[0340] The server generates optimal suggestions based on the user's preference and emotional information. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and configures it to include sushi restaurants with a relaxing atmosphere.
[0341] Submitting and Viewing Proposals
[0342] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response. The terminal parses the received JSON of the proposal candidates and displays them in a format that is easy for the user to understand. For example, it could display a "list of highly rated sushi restaurants" and provide detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[0343] Select and submit your shipping options
[0344] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, the user selects a specific sushi restaurant and enters the desired date and time for the reservation. The terminal then sends the user's selection (the sushi restaurant ID and the desired date and time for the reservation) back to the server.
[0345] Execution and notification of arrangements
[0346] Based on the received reservation request, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. The terminal displays the received reservation confirmation information to the user. The user can then visit the sushi restaurant at the specified date and time based on the confirmation information.
[0347] Example: The process of choosing a sushi restaurant
[0348] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen. The final list of selected sushi restaurants is sent to the user's terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes the user's emotions into consideration can be easily found and reserved.
[0349] Example of input prompt for generative AI model
[0350] I want a system that:
[0351] This AI support system combines an emotion engine to help foreign tourists receive the best suggestions tailored to their preferences in Japan. The system generates the best suggestions based on their preferences and emotion information. The system works as follows:
[0352] 1. User enters desired information
[0353] 2. Send your desired information to the server
[0354] 3. The server analyzes the desired information and emotional information
[0355] 4. Compare with past data
[0356] 5. Generate optimal suggestions
[0357] 6. Present the proposal to the user
[0358] 7. User selects dispatch option
[0359] 8. Send the dispatch request to the server
[0360] 9. The server arranges and executes the order.
[0361] 10. Display the reservation results to the user
[0362] Using these prompts allows the generative AI model to behave appropriately and provide the desired information.
[0363] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0364] Step 1:
[0365] The user launches the smartphone app and inputs their desired information (for example, "I want to eat delicious sushi"). The input desired information is imported into the terminal, and by pressing the send button, the next step of the process can be taken. Specifically, the user can input the information in their native language through a multilingual interface. Input: User's desired information. Output: Desired information saved on the terminal.
[0366] Step 2:
[0367] The device creates an HTTP POST request containing the entered desired information and sends it to the server. This request includes the user ID and desired content. Specifically, the device creates an HTTP request and sends it to the specified endpoint on the server. Input: desired information and user ID. Output: HTTP request sent to the server.
[0368] Step 3:
[0369] The server receives the HTTP POST request and extracts the desired information. Next, the desired information is passed to a natural language processing (NLP) engine and an emotion engine for analysis. Specifically, the server extracts the desired information from the request, inputs it into the NLP engine for text analysis, and then performs emotion analysis in the emotion engine. Input: Received HTTP request. Output: Analyzed desired information and emotion information.
[0370] Step 4:
[0371] The server searches the database for similar past requests based on the analyzed preference information and emotion information. Specifically, it generates an SQL query using the analysis results and executes a search against the past database. As a result, it obtains suggestions made to users with similar requests and emotions in the past. Input: Analyzed preference information and emotion information. Output: Search results from the past database.
[0372] Step 5:
[0373] The server generates optimal suggestions based on the user's wishes and emotions, based on information retrieved from the past database. Specifically, it filters the search results and creates a list of optimal sushi restaurants based on budget and ratings. It also adds additional information based on emotions, such as a relaxing atmosphere. Input: Search results from the past database. Output: Optimal suggestions (list of sushi restaurants).
[0374] Step 6:
[0375] The server converts the generated proposal content into JSON format and sends it to the terminal. Specifically, it encodes the proposal content into a JSON format response and sends it to the terminal as an HTTP response. Input: Generated proposal content. Output: JSON format proposal content sent to the terminal.
[0376] Step 7:
[0377] The device parses the received JSON suggestions and displays them in a format that is easy for the user to understand. Specifically, the device parses the JSON data and displays a list of sushi restaurants and detailed information about each restaurant (ratings, menu, location, atmosphere) on the user interface. Input: Suggestions from the server (JSON format). Output: List of sushi restaurants displayed to the user.
[0378] Step 8:
[0379] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, they select a specific sushi restaurant and enter the desired date and time for the reservation. Input: User's selection and desired reservation date and time. Output: Reservation request.
[0380] Step 9:
[0381] The terminal again sends a reservation request to the server, including the user's selections (sushi restaurant ID and desired reservation date and time). Specifically, the terminal generates a reservation request and sends it to the server as an HTTP POST request. Input: User's selections and desired reservation date and time. Output: Reservation request sent to the server.
[0382] Step 10:
[0383] Based on the received reservation request, the server connects with the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. Specifically, it calls the reservation system API to check whether the reservation was successful, and if successful, it generates reservation details information and sends it to the terminal as a response. Input: Reservation request. Output: Reservation confirmation information.
[0384] Step 11:
[0385] The terminal displays the received reservation confirmation information to the user. Specifically, the reservation details (date and time, restaurant name, reservation number, etc.) are displayed on the screen so that the user can check them. Input: Reservation confirmation information from the server. Output: Reservation details displayed to the user.
[0386] (Application example 2)
[0387] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0388] Conventional food delivery systems make suggestions based on user preferences, but are unable to provide optimal suggestions that take the user's emotions into account. Furthermore, they provide insufficient support for foreign tourists to find meals that suit their tastes in Japan, resulting in a poor user experience.
[0389] The specification process by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input and transmit desired information, means for analyzing the received desired information, means for generating appropriate proposals based on the analysis results, means for returning the generated proposals to the user, means for making arrangements based on the user's selection, means for analyzing the user's emotions, and means for optimizing the proposals based on the analyzed emotions. This enables optimal food delivery proposals that take the user's emotions into consideration.
[0390] "Desired information" is information regarding specific conditions or requests desired by the user.
[0391] "Analysis" is the process of understanding and deciphering meaning from received data.
[0392] "Suggestions" are specific solutions or recommendations generated based on the user's desired information and emotions.
[0393] "Replying" is the process by which the server sends the generated suggestions to the user.
[0394] "Arrangement" is the act of taking a specific action (such as making a reservation) based on a proposal selected by the user.
[0395] "Emotion" refers to the user's state of mind and psychological reaction extracted from desired information.
[0396] "Natural language processing" is a technology that uses computers to process and interpret human language.
[0397] "NLP engine" is a general term for software and algorithms used to execute natural language processing technology.
[0398] A "database" is a system that organizes, stores, and manages various types of data.
[0399] "Optimization" is the process of finding the best results under given conditions.
[0400] "JSON" is an abbreviation for JavaScript (registered trademark) Object Notation, and is a data exchange format.
[0401] "Food delivery" is a service that delivers meals ordered online by users to a specified location.
[0402] MODE FOR CARRYING OUT THE INVENTION
[0403] This invention is an AI support system that makes optimal food delivery suggestions taking into account the user's emotions. The system works by having the user input their desired information using a terminal, and then the server analyzes that information, generates optimal suggestions, and returns them to the user.
[0404] Specific system configuration
[0405] A user launches the smartphone application and inputs the desired dishes and other requirements. This desired information is sent to the server as an HTTP POST request. The server analyzes the received desired information and uses a natural language processing engine (e.g., SpaCy or NLTK) and a sentiment analysis engine (e.g., OpenAI® sentiment analysis model) to extract the user's sentiment.
[0406] Next, the server searches the database for past user data and emotion data, and uses suggestions that satisfied past users with similar preferences and emotions as a reference. This generates optimal food delivery suggestions. The generated suggestions are converted into JSON format and sent to the device as a response.
[0407] The device displays the received suggestions in an easy-to-understand format to the user. The user selects the dishes they like from the suggestions and completes the order process. This order information is sent back to the server, which then coordinates with the food delivery company's system to make the arrangements and returns a confirmation to the user.
[0408] System Hardware and Software
[0409] Hardware:
[0410] Smartphone: User input and result display
[0411] Server: Data analysis and proposal generation
[0412] software:
[0413] Natural language processing engines (e.g. SpaCy, NLTK)
[0414] Sentiment analysis engine (e.g. OpenAI sentiment analysis model)
[0415] Database system (e.g., MySQL (registered trademark), PostgreSQL)
[0416] Specific examples
[0417] For example, suppose a user inputs "I want to eat healthy Japanese food." The server analyzes this preference information along with the user's emotions (e.g., "expectations") and searches its database for suggestions that satisfied users with similar preferences and emotions. This generates suggestions such as "a healthy sushi set from Japanese restaurant A" or "vegetable sushi from Japanese restaurant B."
[0418] Finally, these suggestions are sent to the terminal, where the user can choose from them and place an order.
[0419] Examples of prompt statements
[0420] Here are some examples of prompts:
[0421] "Please tell me what foods are best for me. I'd like to eat healthy Japanese food."
[0422] In this way, the present invention can provide optimal food delivery suggestions that take into account the user's wishes and feelings, significantly improving the user experience.
[0423] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0424] Step 1:
[0425] The user starts the smartphone application and inputs the desired food and conditions (e.g., "healthy Japanese food") as text. This input information becomes the user's desired information. After inputting, the user presses the send button.
[0426] Input: The text entered by the user as their preference
[0427] Output: The desired information is sent to the server as an HTTP POST request
[0428] Step 2:
[0429] The device sends the user's desired information to the server as an HTTP POST request, including the user ID, and all communication is encrypted using HTTPS.
[0430] Input: User preference information and user ID
[0431] Output: HTTP POST request sent to the server
[0432] Step 3:
[0433] The server analyzes the desired information received from the device. The desired information is analyzed using a natural language processing engine (e.g., SpaCy, NLTK) to extract meaning and intent. It also analyzes the user's emotions using a generative AI model (e.g., OpenAI's emotion analysis model).
[0434] Input: Desired information received as an HTTP POST request
[0435] Output: Meaning of desired information and user's emotion data
[0436] Step 4:
[0437] Based on the analyzed preference information and emotion data, the server searches a database of users who have made similar requests in the past and generates optimal suggestions. The database stores a history of users' past requests and their satisfaction levels.
[0438] Input: Meaning of desired information, user sentiment data, and past user data in the database
[0439] Output: Best suggestions
[0440] Step 5:
[0441] The server converts the generated suggestions into JSON format and sends it to the device as a response, which includes details about the recommended dishes and restaurants.
[0442] Input: Best suggestions
[0443] Output: JSON formatted proposal data is sent to the device.
[0444] Step 6:
[0445] The device analyzes the proposed data received from the server and displays it in a format that is easy for the user to understand. The user can then check the details of the proposed dishes and restaurants.
[0446] Input: Proposal data in JSON format
[0447] Output: The suggestions are displayed to the user
[0448] Step 7:
[0449] The user selects the food and restaurant they like from the suggested dishes and places an order by entering the details of their choice (e.g., restaurant ID, food name, order quantity, delivery address, etc.) and clicking Confirm.
[0450] Input: User selection
[0451] Output: Confirmed order information is sent from the terminal to the server
[0452] Step 8:
[0453] The server receives the user's order information and coordinates with the API of the partner food delivery service to actually place the order. Once the order is confirmed, a confirmation is generated.
[0454] Input: User's order information
[0455] Output: The order is sent to the food delivery service and an order confirmation is generated.
[0456] Step 9:
[0457] The server then sends the generated order confirmation to the terminal and displays it to the user, who can then pick up the meal at the specified date and time.
[0458] Input: Order confirmation information
[0459] Output: Confirmation information is sent to the terminal and displayed to the user
[0460] Through these steps, users can receive optimal food delivery suggestions based on their emotions and smoothly order and receive their food.
[0461] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0462] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0463] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0464] [Second embodiment]
[0465] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0466] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0467] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0468] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0469] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0470] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0471] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0472] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0473] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0474] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0475] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0476] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0477] This invention provides an AI support system that allows foreign tourists in Japan to receive optimal recommendations tailored to their preferences. The specific operation of this system is explained below. The subject specifies either the server, the terminal, or the user, and specific examples are used.
[0478] Specific processing flow
[0479] 1. User request input
[0480] The user inputs desired information, such as "I want to eat delicious sushi," through an application on their device (smartphone, tablet, PC, etc.).
[0481] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[0482] 2. Sending your preferences
[0483] The device sends the user's desired information to the server in the form of an HTTP POST request.
[0484] 3. Analysis of desired information
[0485] The server then analyzes the received request information using a natural language processing (NLP) engine, extracting keywords such as "sushi," "delicious," and "budget under 5,000 yen."
[0486] 4. Comparison with past data
[0487] The server searches the past user database based on the analyzed preference information, checks what suggestions users with similar preference information received in the past were satisfied with, and generates the optimal suggestion candidates as a result of the comparison.
[0488] 5. Proposal Generation
[0489] Based on the results of the comparison, the server generates optimal suggestions that match the user's preferences. A specific suggestion would be a "list of highly rated sushi restaurants within a budget of 5,000 yen." Detailed information such as the rating, menu, and location of each restaurant is also included.
[0490] 6. Submitting and Displaying Proposals
[0491] The server sends the generated proposal to the terminal.
[0492] The device analyzes the suggestions and displays them in a format that is easy for the user to understand. For example, information on sushi restaurants is presented in a list format.
[0493] 7. Select your shipping options
[0494] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[0495] 8. Submitting a Request
[0496] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0497] 9. Execution of Arrangements
[0498] Based on the reservation request received by the server, the server attempts to make a reservation at a sushi restaurant. It connects with the reservation system API and automatically performs the necessary procedures. If the reservation is successful, it generates reservation confirmation information.
[0499] 10. Sending and displaying reservation results
[0500] The server sends the reservation confirmation information to the terminal.
[0501] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[0502] Example: The process of choosing a sushi restaurant
[0503] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the keywords "delicious," "sushi," and "budget." It then compares the results of similar requests from a database and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[0504] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, foreign tourists can easily find and reserve the perfect sushi restaurant that meets their needs.
[0505] This system will enable foreign tourists to smoothly find and arrange the best travel plan that suits their preferences.
[0506] The processing flow will be explained below.
[0507] Step 1:
[0508] The user launches the application on the device, inputs desired information, such as "I want to eat delicious sushi," and presses the send button.
[0509] Step 2:
[0510] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[0511] Step 3:
[0512] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine.
[0513] Step 4:
[0514] The server analyzes the desired information using an NLP engine and extracts key keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[0515] Step 5:
[0516] Based on the analysis results, the server searches the database for similar past requests. For example, it refers to the data of users who previously requested "sushi."
[0517] Step 6:
[0518] The server compares past data and generates optimal suggestions. As suggestions, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0519] Step 7:
[0520] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[0521] Step 8:
[0522] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, and location.
[0523] Step 9:
[0524] The user selects a sushi restaurant from the list, selects the reservation option, enters the desired reservation date and time, and presses the reservation request button.
[0525] Step 10:
[0526] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0527] Step 11:
[0528] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API to attempt a reservation. If the reservation is successful, the server generates reservation confirmation information.
[0529] Step 12:
[0530] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[0531] Step 13:
[0532] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[0533] Example 1
[0534] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0535] Conventional travel support systems lack support for foreign languages, making it difficult for foreign tourists to obtain suggestions that meet their needs. Furthermore, the reservation process is complicated, requiring time and effort for users.
[0536] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0537] In this invention, the server includes means for users to input and send desired information in multiple languages, means for analyzing the received desired information using natural language processing and extracting keywords, means for generating appropriate suggestions based on the analysis results, means for returning the generated suggestions to the user and displaying them in list form, means for making reservations based on the user's selection, and means for notifying the user of reservation confirmation information. This allows foreign tourists to input their desired information in their own language, quickly receive appropriate suggestions, and smoothly complete reservation arrangements.
[0538] "Multilingual" means having the ability to input and display information in multiple languages.
[0539] "Natural language processing" refers to the technology that allows computers to understand, analyze, and generate human language.
[0540] "Keywords" are important words that express the information desired by the user and are extracted by natural language processing.
[0541] "Proposals" are information about specific stores and services that match the user's preferences, generated by the server based on the user's preferences and past data.
[0542] "Reservation arrangement" refers to the process in which the server automatically makes a reservation for the store or service selected by the user using an external system API.
[0543] "Reservation confirmation information" is detailed reservation information that is generated by the server based on the results of reservation arrangements and notified to the user.
[0544] An "external system API" is an interface that allows a server to connect with external services and automatically perform reservation procedures, etc.
[0545] A "user request" is information about a user's wishes or requests that the user inputs into the system.
[0546] "Analysis results" is a general term for keywords and other information extracted through natural language processing.
[0547] The following describes an embodiment of the present invention. This invention is an AI support system that allows foreign tourists in Japan to receive optimal suggestions tailored to their preferences. The system involves a series of processes in which users input desired information in multiple languages, and the server analyzes the information, makes suggestions, and arranges reservations.
[0548] System Configuration
[0549] This system mainly consists of the user's terminal, a server, and an external system API. Specifically, it uses the following hardware and software:
[0550] User device: smartphone, tablet, or PC, which allows the user to enter desired information and view suggestions.
[0551] Server: A powerful computer that uses a natural language processing engine (such as Python's NLTK or spaCy), an SQL database, and an API to connect to external systems (for example, the OpenTable API).
[0552] External system API: Interface for making reservations.
[0553] Explanation of various methods
[0554] 1. A means for users to enter and submit desired information in multiple languages
[0555] The user launches the application on their device and enters their desired information in their native language. The application UI supports multiple languages, and users can enter their desired information in the text box and tap the "Send" button to enter and send the desired information.
[0556] 2. Analyzing the received desired information using natural language processing and extracting keywords
[0557] The user preference information sent from the device is received by the server, which uses a Python NLP library (e.g., NLTK or spaCy) to analyze the information and extract important keywords (e.g., "delicious," "sushi," "budget").
[0558] 3. A means of generating appropriate suggestions based on the analysis results
[0559] The server searches the past user database based on the extracted keywords. It compares past success stories stored in the SQL database and generates suggestions that match the user's preferences. For example, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0560] 4. A means to return the generated suggestions to the user and display them in a list format.
[0561] The generated recommendations are sent from the server to the device, which receives them and displays them in a user-friendly list format, including detailed information such as the restaurant's rating, menu, and location.
[0562] 5. Means of making reservations based on user selections
[0563] The user selects the desired sushi restaurant from the list of suggested restaurants, selects the reservation option, and enters the desired reservation date and time. The terminal then sends this information back to the server.
[0564] 6. Means of notifying users of reservation confirmation information
[0565] The server receives the request and performs the reservation procedure using the external system API. If the reservation is successful, the server generates reservation confirmation information and sends it to the terminal. The terminal receives this information and displays it in a format that is easy for the user to understand.
[0566] Examples of concrete examples and prompts
[0567] For example, if a foreign tourist types in "I want to eat delicious sushi," the server analyzes keywords such as "delicious," "sushi," and "budget under 5,000 yen." It then searches a database for successful cases of similar requests and selects several highly rated sushi restaurants. The final list of selected sushi restaurants is sent to the terminal. The user can then view the list, select a specific sushi restaurant, and proceed with the reservation process. In this way, foreign tourists can easily find and reserve the best sushi restaurant that meets their needs.
[0568] Example prompts for generative AI models:
[0569] Based on the request "I want to eat delicious sushi," please suggest highly rated sushi restaurants within a budget of 5,000 yen. Please also provide detailed information such as ratings, menu, and location.
[0570] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0571] Step 1: Enter user preferences
[0572] Input: The user launches the application on their device (smartphone, tablet, PC, etc.) and enters the desired information.
[0573] Specific actions: Enter desired information, such as "I want to eat delicious sushi," into the text box and tap the "Submit" button. The application is multilingual, so users can enter information in their native language.
[0574] Step 2: Submit your preferences
[0575] Input: The desired information entered by the user.
[0576] Output: The HTTP POST request sent to the server.
[0577] Specific operation: The device parses the user's desired information into JSON format and sends it to the server using an HTTP POST request.
[0578] Step 3: Analyze your preferences
[0579] Input: JSON data of the desired information received by the server.
[0580] Output: Extracted keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[0581] Specific operation: The server uses Python's NLP library (e.g., NLTK or spaCy) to analyze the desired information using natural language processing and extract important keywords.
[0582] Step 4: Check against historical data
[0583] Input: Extracted keywords.
[0584] Output: A list of best suggestions as a result of the SQL query.
[0585] Specific operation: The server searches the SQL database based on the extracted keywords, and generates optimal suggestions by collating past user data with successful cases for similar requests.
[0586] Step 5: Generate proposals
[0587] Input: A list of best suggestions as a result of an SQL query.
[0588] Output: Suggested response to the user (e.g., "List of highly rated sushi restaurants under 5,000 yen").
[0589] Specific operation: Based on the matching results, the server generates specific suggestions and creates a list of the best sushi restaurants for the user.
[0590] Step 6: Submit and view your proposal
[0591] Input: Generated suggestions.
[0592] Output: Suggestions in a list format that is displayed on the user's device.
[0593] Specific operation: The server generates suggestions and sends them to the device as an HTTP response. The device then analyzes the received suggestions and displays them in a list format. Specifically, the suggestions include detailed information such as the restaurant's rating, menu, and location.
[0594] Step 7: Select your delivery options
[0595] Input: A list of suggested sushi restaurants.
[0596] Output: The ID of the selected sushi restaurant and the desired reservation date and time.
[0597] Specific operation: The user selects the desired sushi restaurant from the list, selects the reservation arrangement option, and enters the desired reservation date and time.
[0598] Step 8: Submit a dispatch request
[0599] Input: The ID of the sushi restaurant selected by the user and the desired reservation date and time.
[0600] Output: The dispatch request sent to the server.
[0601] What happens: The device parses the selection into JSON format and sends it to the server using an HTTP POST request.
[0602] Step 9: Execute the arrangement
[0603] Input: Received reservation request (sushi restaurant ID and desired reservation date and time).
[0604] Output: Reservation confirmation information.
[0605] Specific operation: The server automatically completes the reservation procedure using an external system API (e.g., OpenTable API). If the reservation is successful, a reservation confirmation is generated.
[0606] Step 10: Send and view reservation results
[0607] Input: Generated booking confirmation information.
[0608] Output: Booking confirmation information displayed on the user's device.
[0609] Specific operation: The server sends reservation confirmation information to the terminal, which then analyzes and displays the received information. Based on this information, the user visits the sushi restaurant at the specified date and time.
[0610] (Application example 1)
[0611] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0612] With conventional tourist guide systems, it was difficult for foreign tourists to obtain information that matched their preferences, and it was also difficult to make store reservations and arrangements quickly and accurately based on their wishes. This resulted in the problem of foreign tourists being unable to plan their trips efficiently. Furthermore, due to insufficient multilingual support, there were limitations on inputting information and receiving suggestions in their native language.
[0613] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0614] In this invention, the server includes means for allowing a user to input desired information in their native language, means for transmitting the desired information to the server, means for analyzing the received desired information using a natural language processing engine, means for generating optimal proposals based on the analysis results by comparing the information with a past user database, means for returning the generated proposals to the user, and means for making store reservations based on the user's selection. This enables foreign tourists to efficiently search for and reserve stores and services that suit their preferences in their native language.
[0615] "User" refers to an individual or group that uses this system.
[0616] "Desired information" refers to information that describes the conditions and requests that users have for the system.
[0617] "Means for inputting in one's native language" refers to a function that provides a user interface that allows a user to input desired information in their native language.
[0618] "Server" refers to a central processing unit that receives and analyzes desired information from a user, generates and returns suggestions.
[0619] A "natural language processing engine" refers to the technology and software used to analyze input natural language, extract information, and understand it.
[0620] "Means for analyzing" refers to the function of analyzing the received desired information using a natural language processing engine.
[0621] The "past user database" refers to a collection of data that stores the desired information and results of users who have previously used this system.
[0622] "Means for comparing and generating optimal proposals" refers to the function of comparing the analyzed desired information with a past user database and generating the most suitable proposals based on that.
[0623] "Means for replying" refers to the functionality of sending the generated suggestion to the user's device so that the user can review it.
[0624] The "means for making store reservations based on the selection" refers to a function for making reservations at a store selected by the user from the suggestions presented.
[0625] This invention provides an AI support system that enables foreign tourists to obtain optimal recommendations that match their preferences. A specific embodiment of this system is described below.
[0626] In the present invention, a user can input desired information in their native language using a terminal (such as a smartphone or smart glasses) with a multilingual user interface. For example, the user inputs "I want to eat delicious sushi." This desired information is sent from the terminal to a server. The server analyzes the received desired information using a natural language processing (NLP) engine and extracts keywords (e.g., "sushi," "delicious," "budget under 5,000 yen," etc.).
[0627] The server searches a past user database based on the analyzed preference information. For example, it checks what suggestions users with similar preference information received in the past were satisfied with, and generates optimal candidate suggestions. One such candidate is a "list of highly rated sushi restaurants with a budget of 5,000 yen or less." The server sends these suggestions to the terminal and displays them in a format that is easy for the user to understand. A specific example of the display is when sushi restaurant information (restaurant name, rating, budget, location, etc.) is provided in list format.
[0628] If the user selects a specific sushi restaurant from the list provided and wishes to make a reservation, an arrangement request is sent from the terminal to the server again. The server then processes the reservation at the sushi restaurant based on the received arrangement request. It automatically performs the necessary procedures in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful. This reservation confirmation information is sent to the terminal so that the user can check it. The user can refer to the provided information and visit the sushi restaurant at the specified date and time.
[0629] The specific hardware and software used are Flask for the server application, and Huggingface's transformers library and the "dslim / bert-base-NER" model as the natural language processing engine.
[0630] For example, if the user enters the following prompt text:
[0631] "I want to eat delicious sushi. My budget is under 5,000 yen."
[0632] The server parses this prompt and provides the following result:
[0633] Suggested store list:
[0634] Store name: Store A
[0635] Rating: 4.8
[0636] Budget: ¥3000 - ¥5000
[0637] Location: Location X
[0638] Store name: Store B
[0639] Rating: 4.9
[0640] Budget: ¥4000 - ¥7000
[0641] Location: Location Y
[0642] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0643] Step 1:
[0644] The user uses the terminal's multilingual user interface to input desired information in their native language. The input data is a prompt such as "I want to eat delicious sushi." This information is collected by the terminal and prepared for the next step.
[0645] Input: User's desired information entered in their native language (e.g., "I want to eat delicious sushi")
[0646] Output: The desired information is stored in the terminal.
[0647] Step 2:
[0648] The terminal sends the user's desired information to the server in the form of an HTTP POST request, which transmits the information the user desires to the server.
[0649] Input: Desired information stored on the device (e.g., "I want to eat delicious sushi")
[0650] Output: The desired information is sent to the server.
[0651] Step 3:
[0652] The server analyzes the received information using a natural language processing (NLP) engine. For example, it uses Huggingface's transformers library and the "dslim / bert-base-NER" model to extract keywords such as "sushi," "delicious," and "budget under 5,000 yen" from the input information.
[0653] Input: Desired information received by the server (e.g., "I want to eat delicious sushi")
[0654] Output: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[0655] Step 4:
[0656] The server searches the past user database based on the analyzed keywords to see what suggestions users with similar preferences received in the past and were satisfied with. This allows it to generate optimal suggestions. For example, it can generate a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0657] Input: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[0658] Output: Best suggestions (e.g., a list of highly rated sushi restaurants)
[0659] Step 5:
[0660] The server sends the generated suggestions to the device, which provides the user with specific suggestions, including detailed information such as the rating, menu, and location of each sushi restaurant.
[0661] Input: Best suggestions (e.g., a list of highly rated sushi restaurants)
[0662] Output: The proposal is sent to the device.
[0663] Step 6:
[0664] The device displays the received suggestions on the user interface, allowing the user to check information about sushi restaurants in a list format, including the restaurant name, rating, budget, and location.
[0665] Input: Suggestions sent to the device (e.g., a list of highly rated sushi restaurants)
[0666] Output: The suggestions are displayed to the user.
[0667] Step 7:
[0668] The user selects a restaurant from the displayed list and selects the reservation option. The device then sends the user's selection (the specific restaurant and the desired reservation date and time) to the server.
[0669] Input: User selection (e.g., a specific sushi restaurant and desired reservation date and time)
[0670] Output: The selection is sent to the server.
[0671] Step 8:
[0672] The server attempts to process the store reservation based on the received request. It automatically performs the process in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful.
[0673] Input: Your selection (e.g., a specific sushi restaurant and desired reservation date and time)
[0674] Output: Reservation confirmation information (e.g., confirmation of successful reservation)
[0675] Step 9:
[0676] The server then sends the generated reservation confirmation information to the terminal, allowing the user to confirm that the reservation has been confirmed.
[0677] Input: Reservation confirmation information (e.g., confirmation of successful reservation)
[0678] Output: Reservation confirmation information is sent to the terminal.
[0679] Step 10:
[0680] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[0681] Input: Reservation confirmation information sent to the device (e.g., confirmation of successful reservation)
[0682] Output: Booking confirmation information is displayed to the user.
[0683] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0684] This invention provides an AI support system that combines an emotion engine to enable foreign tourists to receive optimal recommendations tailored to their preferences in Japan. The specific operation of this system will be explained below. The subject will be either the server, the terminal, or the user, and specific examples will be used.
[0685] Specific processing flow
[0686] 1. User request input
[0687] The user launches the application on their device (smartphone, tablet, PC, etc.), enters desired information, such as "I want to eat delicious sushi," and presses the send button.
[0688] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[0689] 2. Sending your preferences
[0690] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[0691] 3. Analysis of desired information and emotions
[0692] The server receives the HTTP POST request, extracts the desired information, and passes it to a natural language processing (NLP) engine and an emotion engine.
[0693] The emotion engine analyzes the user's emotions from the desired information and recognizes emotions such as "excitement," "anxiety," and "expectation."
[0694] 4. Comparison with past data
[0695] The server searches the database for similar past requests based on the analyzed preference and emotion information, checks what suggestions users with similar preferences and emotion information received in the past were satisfied with, and generates optimal suggestion candidates as a result of the matching.
[0696] 5. Proposal Generation
[0697] The server then generates optimal suggestions based on the user's preferences and emotions based on the matching results. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and devise ways to include additional information for each restaurant that matches the user's emotions (e.g., a relaxing atmosphere).
[0698] 6. Submitting and Displaying Proposals
[0699] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[0700] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[0701] 7. Select your shipping options
[0702] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[0703] 8. Submitting a Request
[0704] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0705] 9. Execution of Arrangements
[0706] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information.
[0707] 10. Sending and displaying reservation results
[0708] The server sends the reservation confirmation information to the terminal. The confirmation information includes reservation details (date and time, restaurant name, reservation number, etc.).
[0709] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[0710] Example: The process of choosing a sushi restaurant
[0711] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[0712] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes into account the user's feelings can be easily found and reserved.
[0713] This system allows foreign tourists to smoothly find and arrange the best travel plan that suits their tastes and preferences.
[0714] The processing flow will be explained below.
[0715] Step 1:
[0716] The user starts the application on the terminal, inputs the desired information, for example, "I want to eat delicious sushi," and presses the send button.
[0717] Step 2:
[0718] The terminal sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[0719] Step 3:
[0720] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine and an emotion engine.
[0721] Step 4:
[0722] The server uses an NLP engine to analyze the desired information, extracting keywords such as "delicious," "sushi," and "budget under 5,000 yen."
[0723] Step 5:
[0724] The server uses an emotion engine to analyze the user's emotions from the desired information. For example, it can recognize emotions such as "excitement," "expectation," and "desire to calm down" from the text.
[0725] Step 6:
[0726] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions users with similar preference and emotion information received in the past were satisfied with.
[0727] Step 7:
[0728] Based on the matching results, the server generates optimal suggestions tailored to the user's desires and feelings. For example, it could create a list of "highly rated, relaxed sushi restaurants within a budget of 5,000 yen."
[0729] Step 8:
[0730] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[0731] Step 9:
[0732] The device parses the received JSON of the proposed options and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, location, and atmosphere.
[0733] Step 10:
[0734] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, by selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[0735] Step 11:
[0736] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0737] Step 12:
[0738] Based on the request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, the server generates reservation confirmation information.
[0739] Step 13:
[0740] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[0741] Step 14:
[0742] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[0743] In this way, a system that combines an emotion engine allows users to smoothly obtain optimal suggestions based on their own wishes and emotions.
[0744] Example 2
[0745] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0746] With conventional tourist information systems, it is difficult for foreign tourists to receive accurate suggestions based on their preferences and emotions, which leads to a decline in satisfaction.Furthermore, due to insufficient multilingual support, tourists have difficulty inputting and understanding information in their own language.
[0747] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for comparing past similar requests based on preference information and emotion information, a means for displaying proposal contents in multiple languages, and a means for notifying reservation confirmation information. This allows the user to receive optimal proposals that match their preferences and emotions in multiple languages, and easily make reservations.
[0748] "Desired information" refers to the items and requests that a user has regarding travel and sightseeing.
[0749] "Emotion information" refers to the emotional state analyzed from the desired information input by the user, and indicates emotions such as "excitement," "anxiety," and "expectation."
[0750] A "multilingual application" refers to application software that can be operated and input in multiple languages.
[0751] A "natural language processing (NLP) engine" refers to a software engine that uses techniques and algorithms to analyze human language.
[0752] "Historical Data" refers to data previously collected or stored about user behavior or requests.
[0753] "Proposal content" refers to information about optimal travel or sightseeing suggestions generated based on the user's desired information and emotional information.
[0754] "Reservation confirmation information" is information indicating the status of a confirmed reservation for a specific facility or service, and includes the date and time, store name, reservation number, and the like.
[0755] An "HTTP POST request" is one of the request methods for sending data from a client to a server using the Internet communication protocol HTTP.
[0756] MODE FOR CARRYING OUT THE INVENTION
[0757] The present invention provides an AI support system that combines an emotion engine to enable foreign tourists to obtain optimal suggestions that match their preferences in Japan. Specific embodiments of the present invention will be described.
[0758] Hardware and Software Used
[0759] Hardware
[0760] Devices (smartphones, tablets, PCs, etc.)
[0761] server
[0762] software
[0763] Multilingual Applications
[0764] HTTP protocol
[0765] Natural Language Processing (NLP) Engine
[0766] Emotion Engine
[0767] Database software
[0768] Reservation System API
[0769] User request input
[0770] The user launches the smartphone app and inputs the desired information. For example, they might type "I want to eat delicious sushi" and press the send button. This information is multilingual so that it can be input in the user's native language.
[0771] Sending and receiving preferences
[0772] The device sends an HTTP POST request containing the input preference information to the server. This request includes the user ID and preference details. The server receives the HTTP POST request, extracts the preference information, and then passes it to the natural language processing (NLP) engine and emotion engine.
[0773] Emotional information analysis
[0774] The server uses an NLP engine to analyze the desired information and an emotion engine to analyze the user's emotions. For example, emotions such as "excitement," "anxiety," and "expectation" are recognized from the desired information.
[0775] Comparison with past data
[0776] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions were made to users with similar preferences and emotions in the past and whether they were satisfied.
[0777] Proposal generation
[0778] The server generates optimal suggestions based on the user's preference and emotional information. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and configures it to include sushi restaurants with a relaxing atmosphere.
[0779] Submitting and Viewing Proposals
[0780] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response. The terminal parses the received JSON of the proposal candidates and displays them in a format that is easy for the user to understand. For example, it could display a "list of highly rated sushi restaurants" and provide detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[0781] Select and submit your shipping options
[0782] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, the user selects a specific sushi restaurant and enters the desired date and time for the reservation. The terminal then sends the user's selection (the sushi restaurant ID and the desired date and time for the reservation) back to the server.
[0783] Execution and notification of arrangements
[0784] Based on the received reservation request, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. The terminal displays the received reservation confirmation information to the user. The user can then visit the sushi restaurant at the specified date and time based on the confirmation information.
[0785] Example: The process of choosing a sushi restaurant
[0786] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen. The final list of selected sushi restaurants is sent to the user's terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes the user's emotions into consideration can be easily found and reserved.
[0787] Example of input prompt for generative AI model
[0788] I want a system that:
[0789] This AI support system combines an emotion engine to help foreign tourists receive the best suggestions tailored to their preferences in Japan. The system generates the best suggestions based on their preferences and emotion information. The system works as follows:
[0790] 1. User enters desired information
[0791] 2. Send your desired information to the server
[0792] 3. The server analyzes the desired information and emotional information
[0793] 4. Compare with past data
[0794] 5. Generate optimal suggestions
[0795] 6. Present the proposal to the user
[0796] 7. User selects dispatch option
[0797] 8. Send the dispatch request to the server
[0798] 9. The server arranges and executes the order.
[0799] 10. Display the reservation results to the user
[0800] Using these prompts allows the generative AI model to behave appropriately and provide the desired information.
[0801] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0802] Step 1:
[0803] The user launches the smartphone app and inputs their desired information (for example, "I want to eat delicious sushi"). The input desired information is imported into the terminal, and by pressing the send button, the next step of the process can be taken. Specifically, the user can input the information in their native language through a multilingual interface. Input: User's desired information. Output: Desired information saved on the terminal.
[0804] Step 2:
[0805] The device creates an HTTP POST request containing the entered desired information and sends it to the server. This request includes the user ID and desired content. Specifically, the device creates an HTTP request and sends it to the specified endpoint on the server. Input: desired information and user ID. Output: HTTP request sent to the server.
[0806] Step 3:
[0807] The server receives the HTTP POST request and extracts the desired information. Next, the desired information is passed to a natural language processing (NLP) engine and an emotion engine for analysis. Specifically, the server extracts the desired information from the request, inputs it into the NLP engine for text analysis, and then performs emotion analysis in the emotion engine. Input: Received HTTP request. Output: Analyzed desired information and emotion information.
[0808] Step 4:
[0809] The server searches the database for similar past requests based on the analyzed preference information and emotion information. Specifically, it generates an SQL query using the analysis results and executes a search against the past database. As a result, it obtains suggestions made to users with similar requests and emotions in the past. Input: Analyzed preference information and emotion information. Output: Search results from the past database.
[0810] Step 5:
[0811] The server generates optimal suggestions based on the user's wishes and emotions, based on information retrieved from the past database. Specifically, it filters the search results and creates a list of optimal sushi restaurants based on budget and ratings. It also adds additional information based on emotions, such as a relaxing atmosphere. Input: Search results from the past database. Output: Optimal suggestions (list of sushi restaurants).
[0812] Step 6:
[0813] The server converts the generated proposal content into JSON format and sends it to the terminal. Specifically, it encodes the proposal content into a JSON format response and sends it to the terminal as an HTTP response. Input: Generated proposal content. Output: JSON format proposal content sent to the terminal.
[0814] Step 7:
[0815] The device parses the received JSON suggestions and displays them in a format that is easy for the user to understand. Specifically, the device parses the JSON data and displays a list of sushi restaurants and detailed information about each restaurant (ratings, menu, location, atmosphere) on the user interface. Input: Suggestions from the server (JSON format). Output: List of sushi restaurants displayed to the user.
[0816] Step 8:
[0817] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, they select a specific sushi restaurant and enter the desired date and time for the reservation. Input: User's selection and desired reservation date and time. Output: Reservation request.
[0818] Step 9:
[0819] The terminal again sends a reservation request to the server, including the user's selections (sushi restaurant ID and desired reservation date and time). Specifically, the terminal generates a reservation request and sends it to the server as an HTTP POST request. Input: User's selections and desired reservation date and time. Output: Reservation request sent to the server.
[0820] Step 10:
[0821] Based on the received reservation request, the server connects with the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. Specifically, it calls the reservation system API to check whether the reservation was successful, and if successful, it generates reservation details information and sends it to the terminal as a response. Input: Reservation request. Output: Reservation confirmation information.
[0822] Step 11:
[0823] The terminal displays the received reservation confirmation information to the user. Specifically, the reservation details (date and time, restaurant name, reservation number, etc.) are displayed on the screen so that the user can check them. Input: Reservation confirmation information from the server. Output: Reservation details displayed to the user.
[0824] (Application example 2)
[0825] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0826] Conventional food delivery systems make suggestions based on user preferences, but are unable to provide optimal suggestions that take the user's emotions into account. Furthermore, they provide insufficient support for foreign tourists to find meals that suit their tastes in Japan, resulting in a poor user experience.
[0827] The specification process by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input and transmit desired information, means for analyzing the received desired information, means for generating appropriate proposals based on the analysis results, means for returning the generated proposals to the user, means for making arrangements based on the user's selection, means for analyzing the user's emotions, and means for optimizing the proposals based on the analyzed emotions. This enables optimal food delivery proposals that take the user's emotions into consideration.
[0828] "Desired information" is information regarding specific conditions or requests desired by the user.
[0829] "Analysis" is the process of understanding and deciphering meaning from received data.
[0830] "Suggestions" are specific solutions or recommendations generated based on the user's desired information and emotions.
[0831] "Replying" is the process by which the server sends the generated suggestions to the user.
[0832] "Arrangement" is the act of taking a specific action (such as making a reservation) based on a proposal selected by the user.
[0833] "Emotion" refers to the user's state of mind and psychological reaction extracted from desired information.
[0834] "Natural language processing" is a technology that uses computers to process and interpret human language.
[0835] "NLP engine" is a general term for software and algorithms used to execute natural language processing technology.
[0836] A "database" is a system that organizes, stores, and manages various types of data.
[0837] "Optimization" is the process of finding the best results under given conditions.
[0838] "JSON" stands for JavaScript Object Notation and is a data exchange format.
[0839] "Food delivery" is a service that delivers meals ordered online by users to a specified location.
[0840] MODE FOR CARRYING OUT THE INVENTION
[0841] This invention is an AI support system that makes optimal food delivery suggestions taking into account the user's emotions. The system works by having the user input their desired information using a terminal, and then the server analyzes that information, generates optimal suggestions, and returns them to the user.
[0842] Specific system configuration
[0843] A user launches the smartphone application and inputs their desired dishes and other requirements. This desired information is sent to the server as an HTTP POST request. The server analyzes the received information and uses a natural language processing engine (e.g., SpaCy or NLTK) and a sentiment analysis engine (e.g., OpenAI's sentiment analysis model) to extract the user's sentiment.
[0844] Next, the server searches the database for past user data and emotion data, and uses suggestions that satisfied past users with similar preferences and emotions as a reference. This generates optimal food delivery suggestions. The generated suggestions are converted into JSON format and sent to the device as a response.
[0845] The device displays the received suggestions in an easy-to-understand format to the user. The user selects the dishes they like from the suggestions and completes the order process. This order information is sent back to the server, which then coordinates with the food delivery company's system to make the arrangements and returns a confirmation to the user.
[0846] System Hardware and Software
[0847] Hardware:
[0848] Smartphone: User input and result display
[0849] Server: Data analysis and proposal generation
[0850] software:
[0851] Natural language processing engines (e.g. SpaCy, NLTK)
[0852] Sentiment analysis engine (e.g. OpenAI sentiment analysis model)
[0853] Database systems (e.g., MySQL, PostgreSQL)
[0854] Specific examples
[0855] For example, suppose a user inputs "I want to eat healthy Japanese food." The server analyzes this preference information along with the user's emotions (e.g., "expectations") and searches its database for suggestions that satisfied users with similar preferences and emotions. This generates suggestions such as "a healthy sushi set from Japanese restaurant A" or "vegetable sushi from Japanese restaurant B."
[0856] Finally, these suggestions are sent to the terminal, where the user can choose from them and place an order.
[0857] Examples of prompt statements
[0858] Here are some examples of prompts:
[0859] "Please tell me what foods are best for me. I'd like to eat healthy Japanese food."
[0860] In this way, the present invention can provide optimal food delivery suggestions that take into account the user's wishes and feelings, significantly improving the user experience.
[0861] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0862] Step 1:
[0863] The user starts the smartphone application and inputs the desired food and conditions (e.g., "healthy Japanese food") as text. This input information becomes the user's desired information. After inputting, the user presses the send button.
[0864] Input: The text entered by the user as their preference
[0865] Output: The desired information is sent to the server as an HTTP POST request
[0866] Step 2:
[0867] The device sends the user's desired information to the server as an HTTP POST request, including the user ID, and all communication is encrypted using HTTPS.
[0868] Input: User preference information and user ID
[0869] Output: HTTP POST request sent to the server
[0870] Step 3:
[0871] The server analyzes the desired information received from the device. The desired information is analyzed using a natural language processing engine (e.g., SpaCy, NLTK) to extract meaning and intent. It also analyzes the user's emotions using a generative AI model (e.g., OpenAI's emotion analysis model).
[0872] Input: Desired information received as an HTTP POST request
[0873] Output: Meaning of desired information and user's emotion data
[0874] Step 4:
[0875] Based on the analyzed preference information and emotion data, the server searches a database of users who have made similar requests in the past and generates optimal suggestions. The database stores a history of users' past requests and their satisfaction levels.
[0876] Input: Meaning of desired information, user sentiment data, and past user data in the database
[0877] Output: Best suggestions
[0878] Step 5:
[0879] The server converts the generated suggestions into JSON format and sends it to the device as a response, which includes details about the recommended dishes and restaurants.
[0880] Input: Best suggestions
[0881] Output: JSON formatted proposal data is sent to the device.
[0882] Step 6:
[0883] The device analyzes the proposed data received from the server and displays it in a format that is easy for the user to understand. The user can then check the details of the proposed dishes and restaurants.
[0884] Input: Proposal data in JSON format
[0885] Output: The suggestions are displayed to the user
[0886] Step 7:
[0887] The user selects the food and restaurant they like from the suggested dishes and places an order by entering the details of their choice (e.g., restaurant ID, food name, order quantity, delivery address, etc.) and clicking Confirm.
[0888] Input: User selection
[0889] Output: Confirmed order information is sent from the terminal to the server
[0890] Step 8:
[0891] The server receives the user's order information and coordinates with the API of the partner food delivery service to actually place the order. Once the order is confirmed, a confirmation is generated.
[0892] Input: User's order information
[0893] Output: The order is sent to the food delivery service and an order confirmation is generated.
[0894] Step 9:
[0895] The server then sends the generated order confirmation to the terminal and displays it to the user, who can then pick up the meal at the specified date and time.
[0896] Input: Order confirmation information
[0897] Output: Confirmation information is sent to the terminal and displayed to the user
[0898] Through these steps, users can receive optimal food delivery suggestions based on their emotions and smoothly order and receive their food.
[0899] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0900] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0901] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0902] [Third embodiment]
[0903] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0904] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0905] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0906] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0907] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0908] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0909] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0910] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0911] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0912] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0913] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0914] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0915] This invention provides an AI support system that allows foreign tourists in Japan to receive optimal recommendations tailored to their preferences. The specific operation of this system is explained below. The subject specifies either the server, the terminal, or the user, and specific examples are used.
[0916] Specific processing flow
[0917] 1. User request input
[0918] The user inputs desired information, such as "I want to eat delicious sushi," through an application on their device (smartphone, tablet, PC, etc.).
[0919] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[0920] 2. Sending your preferences
[0921] The device sends the user's desired information to the server in the form of an HTTP POST request.
[0922] 3. Analysis of desired information
[0923] The server then analyzes the received request information using a natural language processing (NLP) engine, extracting keywords such as "sushi," "delicious," and "budget under 5,000 yen."
[0924] 4. Comparison with past data
[0925] The server searches the past user database based on the analyzed preference information, checks what suggestions users with similar preference information received in the past were satisfied with, and generates the optimal suggestion candidates as a result of the comparison.
[0926] 5. Proposal Generation
[0927] Based on the results of the comparison, the server generates optimal suggestions that match the user's preferences. A specific suggestion would be a "list of highly rated sushi restaurants within a budget of 5,000 yen." Detailed information such as the rating, menu, and location of each restaurant is also included.
[0928] 6. Submitting and Displaying Proposals
[0929] The server sends the generated proposal to the terminal.
[0930] The device analyzes the suggestions and displays them in a format that is easy for the user to understand. For example, information on sushi restaurants is presented in a list format.
[0931] 7. Select your shipping options
[0932] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[0933] 8. Submitting a Request
[0934] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0935] 9. Execution of Arrangements
[0936] Based on the reservation request received by the server, the server attempts to make a reservation at a sushi restaurant. It connects with the reservation system API and automatically performs the necessary procedures. If the reservation is successful, it generates reservation confirmation information.
[0937] 10. Sending and displaying reservation results
[0938] The server sends the reservation confirmation information to the terminal.
[0939] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[0940] Example: The process of choosing a sushi restaurant
[0941] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the keywords "delicious," "sushi," and "budget." It then compares the results of similar requests from a database and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[0942] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, foreign tourists can easily find and reserve the perfect sushi restaurant that meets their needs.
[0943] This system will enable foreign tourists to smoothly find and arrange the best travel plan that suits their preferences.
[0944] The processing flow will be explained below.
[0945] Step 1:
[0946] The user launches the application on the device, inputs desired information, such as "I want to eat delicious sushi," and presses the send button.
[0947] Step 2:
[0948] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[0949] Step 3:
[0950] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine.
[0951] Step 4:
[0952] The server analyzes the desired information using an NLP engine and extracts key keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[0953] Step 5:
[0954] Based on the analysis results, the server searches the database for similar past requests. For example, it refers to the data of users who previously requested "sushi."
[0955] Step 6:
[0956] The server compares past data and generates optimal suggestions. As suggestions, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0957] Step 7:
[0958] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[0959] Step 8:
[0960] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, and location.
[0961] Step 9:
[0962] The user selects a sushi restaurant from the list, selects the reservation option, enters the desired reservation date and time, and presses the reservation request button.
[0963] Step 10:
[0964] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[0965] Step 11:
[0966] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API to attempt a reservation. If the reservation is successful, the server generates reservation confirmation information.
[0967] Step 12:
[0968] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[0969] Step 13:
[0970] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[0971] Example 1
[0972] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0973] Conventional travel support systems lack support for foreign languages, making it difficult for foreign tourists to obtain suggestions that meet their needs. Furthermore, the reservation process is complicated, requiring time and effort for users.
[0974] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0975] In this invention, the server includes means for users to input and send desired information in multiple languages, means for analyzing the received desired information using natural language processing and extracting keywords, means for generating appropriate suggestions based on the analysis results, means for returning the generated suggestions to the user and displaying them in list form, means for making reservations based on the user's selection, and means for notifying the user of reservation confirmation information. This allows foreign tourists to input their desired information in their own language, quickly receive appropriate suggestions, and smoothly complete reservation arrangements.
[0976] "Multilingual" means having the ability to input and display information in multiple languages.
[0977] "Natural language processing" refers to the technology that allows computers to understand, analyze, and generate human language.
[0978] "Keywords" are important words that express the information desired by the user and are extracted by natural language processing.
[0979] "Proposals" are information about specific stores and services that match the user's preferences, generated by the server based on the user's preferences and past data.
[0980] "Reservation arrangement" refers to the process in which the server automatically makes a reservation for the store or service selected by the user using an external system API.
[0981] "Reservation confirmation information" is detailed reservation information that is generated by the server based on the results of reservation arrangements and notified to the user.
[0982] An "external system API" is an interface that allows a server to connect with external services and automatically perform reservation procedures, etc.
[0983] A "user request" is information about a user's wishes or requests that the user inputs into the system.
[0984] "Analysis results" is a general term for keywords and other information extracted through natural language processing.
[0985] The following describes an embodiment of the present invention. This invention is an AI support system that allows foreign tourists in Japan to receive optimal suggestions tailored to their preferences. The system involves a series of processes in which users input desired information in multiple languages, and the server analyzes the information, makes suggestions, and arranges reservations.
[0986] System Configuration
[0987] This system mainly consists of the user's terminal, a server, and an external system API. Specifically, it uses the following hardware and software:
[0988] User device: smartphone, tablet, or PC, which allows the user to enter desired information and view suggestions.
[0989] Server: A powerful computer that uses a natural language processing engine (such as Python's NLTK or spaCy), an SQL database, and an API to connect to external systems (for example, the OpenTable API).
[0990] External system API: Interface for making reservations.
[0991] Explanation of various methods
[0992] 1. A means for users to enter and submit desired information in multiple languages
[0993] The user launches the application on their device and enters their desired information in their native language. The application UI supports multiple languages, and users can enter their desired information in the text box and tap the "Send" button to enter and send the desired information.
[0994] 2. Analyzing the received desired information using natural language processing and extracting keywords
[0995] The user preference information sent from the device is received by the server, which uses a Python NLP library (e.g., NLTK or spaCy) to analyze the information and extract important keywords (e.g., "delicious," "sushi," "budget").
[0996] 3. A means of generating appropriate suggestions based on the analysis results
[0997] The server searches the past user database based on the extracted keywords. It compares past success stories stored in the SQL database and generates suggestions that match the user's preferences. For example, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[0998] 4. A means to return the generated suggestions to the user and display them in a list format.
[0999] The generated recommendations are sent from the server to the device, which receives them and displays them in a user-friendly list format, including detailed information such as the restaurant's rating, menu, and location.
[1000] 5. Means of making reservations based on user selections
[1001] The user selects the desired sushi restaurant from the list of suggested restaurants, selects the reservation option, and enters the desired reservation date and time. The terminal then sends this information back to the server.
[1002] 6. Means of notifying users of reservation confirmation information
[1003] The server receives the request and performs the reservation procedure using the external system API. If the reservation is successful, the server generates reservation confirmation information and sends it to the terminal. The terminal receives this information and displays it in a format that is easy for the user to understand.
[1004] Examples of concrete examples and prompts
[1005] For example, if a foreign tourist types in "I want to eat delicious sushi," the server analyzes keywords such as "delicious," "sushi," and "budget under 5,000 yen." It then searches a database for successful cases of similar requests and selects several highly rated sushi restaurants. The final list of selected sushi restaurants is sent to the terminal. The user can then view the list, select a specific sushi restaurant, and proceed with the reservation process. In this way, foreign tourists can easily find and reserve the best sushi restaurant that meets their needs.
[1006] Example prompts for generative AI models:
[1007] Based on the request "I want to eat delicious sushi," please suggest highly rated sushi restaurants within a budget of 5,000 yen. Please also provide detailed information such as ratings, menu, and location.
[1008] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1009] Step 1: Enter user preferences
[1010] Input: The user launches the application on their device (smartphone, tablet, PC, etc.) and enters the desired information.
[1011] Specific actions: Enter desired information, such as "I want to eat delicious sushi," into the text box and tap the "Submit" button. The application is multilingual, so users can enter information in their native language.
[1012] Step 2: Submit your preferences
[1013] Input: The desired information entered by the user.
[1014] Output: The HTTP POST request sent to the server.
[1015] Specific operation: The device parses the user's desired information into JSON format and sends it to the server using an HTTP POST request.
[1016] Step 3: Analyze your preferences
[1017] Input: JSON data of the desired information received by the server.
[1018] Output: Extracted keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[1019] Specific operation: The server uses Python's NLP library (e.g., NLTK or spaCy) to analyze the desired information using natural language processing and extract important keywords.
[1020] Step 4: Check against historical data
[1021] Input: Extracted keywords.
[1022] Output: A list of best suggestions as a result of the SQL query.
[1023] Specific operation: The server searches the SQL database based on the extracted keywords, and generates optimal suggestions by collating past user data with successful cases for similar requests.
[1024] Step 5: Generate proposals
[1025] Input: A list of best suggestions as a result of an SQL query.
[1026] Output: Suggested response to the user (e.g., "List of highly rated sushi restaurants under 5,000 yen").
[1027] Specific operation: Based on the matching results, the server generates specific suggestions and creates a list of the best sushi restaurants for the user.
[1028] Step 6: Submit and view your proposal
[1029] Input: Generated suggestions.
[1030] Output: Suggestions in a list format that is displayed on the user's device.
[1031] Specific operation: The server generates suggestions and sends them to the device as an HTTP response. The device then analyzes the received suggestions and displays them in a list format. Specifically, the suggestions include detailed information such as the restaurant's rating, menu, and location.
[1032] Step 7: Select your delivery options
[1033] Input: A list of suggested sushi restaurants.
[1034] Output: The ID of the selected sushi restaurant and the desired reservation date and time.
[1035] Specific operation: The user selects the desired sushi restaurant from the list, selects the reservation arrangement option, and enters the desired reservation date and time.
[1036] Step 8: Submit a dispatch request
[1037] Input: The ID of the sushi restaurant selected by the user and the desired reservation date and time.
[1038] Output: The dispatch request sent to the server.
[1039] What happens: The device parses the selection into JSON format and sends it to the server using an HTTP POST request.
[1040] Step 9: Execute the arrangement
[1041] Input: Received reservation request (sushi restaurant ID and desired reservation date and time).
[1042] Output: Reservation confirmation information.
[1043] Specific operation: The server automatically completes the reservation procedure using an external system API (e.g., OpenTable API). If the reservation is successful, a reservation confirmation is generated.
[1044] Step 10: Send and view reservation results
[1045] Input: Generated booking confirmation information.
[1046] Output: Booking confirmation information displayed on the user's device.
[1047] Specific operation: The server sends reservation confirmation information to the terminal, which then analyzes and displays the received information. Based on this information, the user visits the sushi restaurant at the specified date and time.
[1048] (Application example 1)
[1049] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1050] With conventional tourist guide systems, it was difficult for foreign tourists to obtain information that matched their preferences, and it was also difficult to make store reservations and arrangements quickly and accurately based on their wishes. This resulted in the problem of foreign tourists being unable to plan their trips efficiently. Furthermore, due to insufficient multilingual support, there were limitations on inputting information and receiving suggestions in their native language.
[1051] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1052] In this invention, the server includes means for allowing a user to input desired information in their native language, means for transmitting the desired information to the server, means for analyzing the received desired information using a natural language processing engine, means for generating optimal proposals based on the analysis results by comparing the information with a past user database, means for returning the generated proposals to the user, and means for making store reservations based on the user's selection. This enables foreign tourists to efficiently search for and reserve stores and services that suit their preferences in their native language.
[1053] "User" refers to an individual or group that uses this system.
[1054] "Desired information" refers to information that describes the conditions and requests that users have for the system.
[1055] "Means for inputting in one's native language" refers to a function that provides a user interface that allows a user to input desired information in their native language.
[1056] "Server" refers to a central processing unit that receives and analyzes desired information from a user, generates and returns suggestions.
[1057] A "natural language processing engine" refers to the technology and software used to analyze input natural language, extract information, and understand it.
[1058] "Means for analyzing" refers to the function of analyzing the received desired information using a natural language processing engine.
[1059] The "past user database" refers to a collection of data that stores the desired information and results of users who have previously used this system.
[1060] "Means for comparing and generating optimal proposals" refers to the function of comparing the analyzed desired information with a past user database and generating the most suitable proposals based on that.
[1061] "Means for replying" refers to the functionality of sending the generated suggestion to the user's device so that the user can review it.
[1062] The "means for making store reservations based on the selection" refers to a function for making reservations at a store selected by the user from the suggestions presented.
[1063] This invention provides an AI support system that enables foreign tourists to obtain optimal recommendations that match their preferences. A specific embodiment of this system is described below.
[1064] In the present invention, a user can input desired information in their native language using a terminal (such as a smartphone or smart glasses) with a multilingual user interface. For example, the user inputs "I want to eat delicious sushi." This desired information is sent from the terminal to a server. The server analyzes the received desired information using a natural language processing (NLP) engine and extracts keywords (e.g., "sushi," "delicious," "budget under 5,000 yen," etc.).
[1065] The server searches a past user database based on the analyzed preference information. For example, it checks what suggestions users with similar preference information received in the past were satisfied with, and generates optimal candidate suggestions. One such candidate is a "list of highly rated sushi restaurants with a budget of 5,000 yen or less." The server sends these suggestions to the terminal and displays them in a format that is easy for the user to understand. A specific example of the display is when sushi restaurant information (restaurant name, rating, budget, location, etc.) is provided in list format.
[1066] If the user selects a specific sushi restaurant from the list provided and wishes to make a reservation, an arrangement request is sent from the terminal to the server again. The server then processes the reservation at the sushi restaurant based on the received arrangement request. It automatically performs the necessary procedures in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful. This reservation confirmation information is sent to the terminal so that the user can check it. The user can refer to the provided information and visit the sushi restaurant at the specified date and time.
[1067] The specific hardware and software used are Flask for the server application, and Huggingface's transformers library and the "dslim / bert-base-NER" model as the natural language processing engine.
[1068] For example, if the user enters the following prompt text:
[1069] "I want to eat delicious sushi. My budget is under 5,000 yen."
[1070] The server parses this prompt and provides the following result:
[1071] Suggested store list:
[1072] Store name: Store A
[1073] Rating: 4.8
[1074] Budget: ¥3000 - ¥5000
[1075] Location: Location X
[1076] Store name: Store B
[1077] Rating: 4.9
[1078] Budget: ¥4000 - ¥7000
[1079] Location: Location Y
[1080] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1081] Step 1:
[1082] The user uses the terminal's multilingual user interface to input desired information in their native language. The input data is a prompt such as "I want to eat delicious sushi." This information is collected by the terminal and prepared for the next step.
[1083] Input: User's desired information entered in their native language (e.g., "I want to eat delicious sushi")
[1084] Output: The desired information is stored in the terminal.
[1085] Step 2:
[1086] The terminal sends the user's desired information to the server in the form of an HTTP POST request, which transmits the information the user desires to the server.
[1087] Input: Desired information stored on the device (e.g., "I want to eat delicious sushi")
[1088] Output: The desired information is sent to the server.
[1089] Step 3:
[1090] The server analyzes the received information using a natural language processing (NLP) engine. For example, it uses Huggingface's transformers library and the "dslim / bert-base-NER" model to extract keywords such as "sushi," "delicious," and "budget under 5,000 yen" from the input information.
[1091] Input: Desired information received by the server (e.g., "I want to eat delicious sushi")
[1092] Output: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[1093] Step 4:
[1094] The server searches the past user database based on the analyzed keywords to see what suggestions users with similar preferences received in the past and were satisfied with. This allows it to generate optimal suggestions. For example, it can generate a list of highly rated sushi restaurants within a budget of 5,000 yen.
[1095] Input: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[1096] Output: Best suggestions (e.g., a list of highly rated sushi restaurants)
[1097] Step 5:
[1098] The server sends the generated suggestions to the device, which provides the user with specific suggestions, including detailed information such as the rating, menu, and location of each sushi restaurant.
[1099] Input: Best suggestions (e.g., a list of highly rated sushi restaurants)
[1100] Output: The proposal is sent to the device.
[1101] Step 6:
[1102] The device displays the received suggestions on the user interface, allowing the user to check information about sushi restaurants in a list format, including the restaurant name, rating, budget, and location.
[1103] Input: Suggestions sent to the device (e.g., a list of highly rated sushi restaurants)
[1104] Output: The suggestions are displayed to the user.
[1105] Step 7:
[1106] The user selects a restaurant from the displayed list and selects the reservation option. The device then sends the user's selection (the specific restaurant and the desired reservation date and time) to the server.
[1107] Input: User selection (e.g., a specific sushi restaurant and desired reservation date and time)
[1108] Output: The selection is sent to the server.
[1109] Step 8:
[1110] The server attempts to process the store reservation based on the received request. It automatically performs the process in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful.
[1111] Input: Your selection (e.g., a specific sushi restaurant and desired reservation date and time)
[1112] Output: Reservation confirmation information (e.g., confirmation of successful reservation)
[1113] Step 9:
[1114] The server then sends the generated reservation confirmation information to the terminal, allowing the user to confirm that the reservation has been confirmed.
[1115] Input: Reservation confirmation information (e.g., confirmation of successful reservation)
[1116] Output: Reservation confirmation information is sent to the terminal.
[1117] Step 10:
[1118] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[1119] Input: Reservation confirmation information sent to the device (e.g., confirmation of successful reservation)
[1120] Output: Booking confirmation information is displayed to the user.
[1121] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1122] This invention provides an AI support system that combines an emotion engine to enable foreign tourists to receive optimal recommendations tailored to their preferences in Japan. The specific operation of this system will be explained below. The subject will be either the server, the terminal, or the user, and specific examples will be used.
[1123] Specific processing flow
[1124] 1. User request input
[1125] The user launches the application on their device (smartphone, tablet, PC, etc.), enters desired information, such as "I want to eat delicious sushi," and presses the send button.
[1126] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[1127] 2. Sending your preferences
[1128] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[1129] 3. Analysis of desired information and emotions
[1130] The server receives the HTTP POST request, extracts the desired information, and passes it to a natural language processing (NLP) engine and an emotion engine.
[1131] The emotion engine analyzes the user's emotions from the desired information and recognizes emotions such as "excitement," "anxiety," and "expectation."
[1132] 4. Comparison with past data
[1133] The server searches the database for similar past requests based on the analyzed preference and emotion information, checks what suggestions users with similar preferences and emotion information received in the past were satisfied with, and generates optimal suggestion candidates as a result of the matching.
[1134] 5. Proposal Generation
[1135] The server then generates optimal suggestions based on the user's preferences and emotions based on the matching results. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and devise ways to include additional information for each restaurant that matches the user's emotions (e.g., a relaxing atmosphere).
[1136] 6. Submitting and Displaying Proposals
[1137] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[1138] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[1139] 7. Select your shipping options
[1140] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[1141] 8. Submitting a Request
[1142] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[1143] 9. Execution of Arrangements
[1144] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information.
[1145] 10. Sending and displaying reservation results
[1146] The server sends the reservation confirmation information to the terminal. The confirmation information includes reservation details (date and time, restaurant name, reservation number, etc.).
[1147] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[1148] Example: The process of choosing a sushi restaurant
[1149] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[1150] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes into account the user's feelings can be easily found and reserved.
[1151] This system allows foreign tourists to smoothly find and arrange the best travel plan that suits their tastes and preferences.
[1152] The processing flow will be explained below.
[1153] Step 1:
[1154] The user starts the application on the terminal, inputs the desired information, for example, "I want to eat delicious sushi," and presses the send button.
[1155] Step 2:
[1156] The terminal sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[1157] Step 3:
[1158] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine and an emotion engine.
[1159] Step 4:
[1160] The server uses an NLP engine to analyze the desired information, extracting keywords such as "delicious," "sushi," and "budget under 5,000 yen."
[1161] Step 5:
[1162] The server uses an emotion engine to analyze the user's emotions from the desired information. For example, it can recognize emotions such as "excitement," "expectation," and "desire to calm down" from the text.
[1163] Step 6:
[1164] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions users with similar preference and emotion information received in the past were satisfied with.
[1165] Step 7:
[1166] Based on the matching results, the server generates optimal suggestions tailored to the user's desires and feelings. For example, it could create a list of "highly rated, relaxed sushi restaurants within a budget of 5,000 yen."
[1167] Step 8:
[1168] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[1169] Step 9:
[1170] The device parses the received JSON of the proposed options and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, location, and atmosphere.
[1171] Step 10:
[1172] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, by selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[1173] Step 11:
[1174] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[1175] Step 12:
[1176] Based on the request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, the server generates reservation confirmation information.
[1177] Step 13:
[1178] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[1179] Step 14:
[1180] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[1181] In this way, a system that combines an emotion engine allows users to smoothly obtain optimal suggestions based on their own wishes and emotions.
[1182] Example 2
[1183] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1184] With conventional tourist information systems, it is difficult for foreign tourists to receive accurate suggestions based on their preferences and emotions, which leads to a decline in satisfaction.Furthermore, due to insufficient multilingual support, tourists have difficulty inputting and understanding information in their own language.
[1185] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for comparing past similar requests based on preference information and emotion information, a means for displaying proposal contents in multiple languages, and a means for notifying reservation confirmation information. This allows the user to receive optimal proposals that match their preferences and emotions in multiple languages, and easily make reservations.
[1186] "Desired information" refers to the items and requests that a user has regarding travel and sightseeing.
[1187] "Emotion information" refers to the emotional state analyzed from the desired information input by the user, and indicates emotions such as "excitement," "anxiety," and "expectation."
[1188] A "multilingual application" refers to application software that can be operated and input in multiple languages.
[1189] A "natural language processing (NLP) engine" refers to a software engine that uses techniques and algorithms to analyze human language.
[1190] "Historical Data" refers to data previously collected or stored about user behavior or requests.
[1191] "Proposal content" refers to information about optimal travel or sightseeing suggestions generated based on the user's desired information and emotional information.
[1192] "Reservation confirmation information" is information indicating the status of a confirmed reservation for a specific facility or service, and includes the date and time, store name, reservation number, and the like.
[1193] An "HTTP POST request" is one of the request methods for sending data from a client to a server using the Internet communication protocol HTTP.
[1194] MODE FOR CARRYING OUT THE INVENTION
[1195] The present invention provides an AI support system that combines an emotion engine to enable foreign tourists to obtain optimal suggestions that match their preferences in Japan. Specific embodiments of the present invention will be described.
[1196] Hardware and Software Used
[1197] Hardware
[1198] Devices (smartphones, tablets, PCs, etc.)
[1199] server
[1200] software
[1201] Multilingual Applications
[1202] HTTP protocol
[1203] Natural Language Processing (NLP) Engine
[1204] Emotion Engine
[1205] Database software
[1206] Reservation System API
[1207] User request input
[1208] The user launches the smartphone app and inputs the desired information. For example, they might type "I want to eat delicious sushi" and press the send button. This information is multilingual so that it can be input in the user's native language.
[1209] Sending and receiving preferences
[1210] The device sends an HTTP POST request containing the input preference information to the server. This request includes the user ID and preference details. The server receives the HTTP POST request, extracts the preference information, and then passes it to the natural language processing (NLP) engine and emotion engine.
[1211] Emotional information analysis
[1212] The server uses an NLP engine to analyze the desired information and an emotion engine to analyze the user's emotions. For example, emotions such as "excitement," "anxiety," and "expectation" are recognized from the desired information.
[1213] Comparison with past data
[1214] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions were made to users with similar preferences and emotions in the past and whether they were satisfied.
[1215] Proposal generation
[1216] The server generates optimal suggestions based on the user's preference and emotional information. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and configures it to include sushi restaurants with a relaxing atmosphere.
[1217] Submitting and Viewing Proposals
[1218] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response. The terminal parses the received JSON of the proposal candidates and displays them in a format that is easy for the user to understand. For example, it could display a "list of highly rated sushi restaurants" and provide detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[1219] Select and submit your shipping options
[1220] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, the user selects a specific sushi restaurant and enters the desired date and time for the reservation. The terminal then sends the user's selection (the sushi restaurant ID and the desired date and time for the reservation) back to the server.
[1221] Execution and notification of arrangements
[1222] Based on the received reservation request, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. The terminal displays the received reservation confirmation information to the user. The user can then visit the sushi restaurant at the specified date and time based on the confirmation information.
[1223] Example: The process of choosing a sushi restaurant
[1224] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen. The final list of selected sushi restaurants is sent to the user's terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes the user's emotions into consideration can be easily found and reserved.
[1225] Example of input prompt for generative AI model
[1226] I want a system that:
[1227] This AI support system combines an emotion engine to help foreign tourists receive the best suggestions tailored to their preferences in Japan. The system generates the best suggestions based on their preferences and emotion information. The system works as follows:
[1228] 1. User enters desired information
[1229] 2. Send your desired information to the server
[1230] 3. The server analyzes the desired information and emotional information
[1231] 4. Compare with past data
[1232] 5. Generate optimal suggestions
[1233] 6. Present the proposal to the user
[1234] 7. User selects dispatch option
[1235] 8. Send the dispatch request to the server
[1236] 9. The server arranges and executes the order.
[1237] 10. Display the reservation results to the user
[1238] Using these prompts allows the generative AI model to behave appropriately and provide the desired information.
[1239] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1240] Step 1:
[1241] The user launches the smartphone app and inputs their desired information (for example, "I want to eat delicious sushi"). The input desired information is imported into the terminal, and by pressing the send button, the next step of the process can be taken. Specifically, the user can input the information in their native language through a multilingual interface. Input: User's desired information. Output: Desired information saved on the terminal.
[1242] Step 2:
[1243] The device creates an HTTP POST request containing the entered desired information and sends it to the server. This request includes the user ID and desired content. Specifically, the device creates an HTTP request and sends it to the specified endpoint on the server. Input: desired information and user ID. Output: HTTP request sent to the server.
[1244] Step 3:
[1245] The server receives the HTTP POST request and extracts the desired information. Next, the desired information is passed to a natural language processing (NLP) engine and an emotion engine for analysis. Specifically, the server extracts the desired information from the request, inputs it into the NLP engine for text analysis, and then performs emotion analysis in the emotion engine. Input: Received HTTP request. Output: Analyzed desired information and emotion information.
[1246] Step 4:
[1247] The server searches the database for similar past requests based on the analyzed preference information and emotion information. Specifically, it generates an SQL query using the analysis results and executes a search against the past database. As a result, it obtains suggestions made to users with similar requests and emotions in the past. Input: Analyzed preference information and emotion information. Output: Search results from the past database.
[1248] Step 5:
[1249] The server generates optimal suggestions based on the user's wishes and emotions, based on information retrieved from the past database. Specifically, it filters the search results and creates a list of optimal sushi restaurants based on budget and ratings. It also adds additional information based on emotions, such as a relaxing atmosphere. Input: Search results from the past database. Output: Optimal suggestions (list of sushi restaurants).
[1250] Step 6:
[1251] The server converts the generated proposal content into JSON format and sends it to the terminal. Specifically, it encodes the proposal content into a JSON format response and sends it to the terminal as an HTTP response. Input: Generated proposal content. Output: JSON format proposal content sent to the terminal.
[1252] Step 7:
[1253] The device parses the received JSON suggestions and displays them in a format that is easy for the user to understand. Specifically, the device parses the JSON data and displays a list of sushi restaurants and detailed information about each restaurant (ratings, menu, location, atmosphere) on the user interface. Input: Suggestions from the server (JSON format). Output: List of sushi restaurants displayed to the user.
[1254] Step 8:
[1255] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, they select a specific sushi restaurant and enter the desired date and time for the reservation. Input: User's selection and desired reservation date and time. Output: Reservation request.
[1256] Step 9:
[1257] The terminal again sends a reservation request to the server, including the user's selections (sushi restaurant ID and desired reservation date and time). Specifically, the terminal generates a reservation request and sends it to the server as an HTTP POST request. Input: User's selections and desired reservation date and time. Output: Reservation request sent to the server.
[1258] Step 10:
[1259] Based on the received reservation request, the server connects with the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. Specifically, it calls the reservation system API to check whether the reservation was successful, and if successful, it generates reservation details information and sends it to the terminal as a response. Input: Reservation request. Output: Reservation confirmation information.
[1260] Step 11:
[1261] The terminal displays the received reservation confirmation information to the user. Specifically, the reservation details (date and time, restaurant name, reservation number, etc.) are displayed on the screen so that the user can check them. Input: Reservation confirmation information from the server. Output: Reservation details displayed to the user.
[1262] (Application example 2)
[1263] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1264] Conventional food delivery systems make suggestions based on user preferences, but are unable to provide optimal suggestions that take the user's emotions into account. Furthermore, they provide insufficient support for foreign tourists to find meals that suit their tastes in Japan, resulting in a poor user experience.
[1265] The specification process by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input and transmit desired information, means for analyzing the received desired information, means for generating appropriate proposals based on the analysis results, means for returning the generated proposals to the user, means for making arrangements based on the user's selection, means for analyzing the user's emotions, and means for optimizing the proposals based on the analyzed emotions. This enables optimal food delivery proposals that take the user's emotions into consideration.
[1266] "Desired information" is information regarding specific conditions or requests desired by the user.
[1267] "Analysis" is the process of understanding and deciphering meaning from received data.
[1268] "Suggestions" are specific solutions or recommendations generated based on the user's desired information and emotions.
[1269] "Replying" is the process by which the server sends the generated suggestions to the user.
[1270] "Arrangement" is the act of taking a specific action (such as making a reservation) based on a proposal selected by the user.
[1271] "Emotion" refers to the user's state of mind and psychological reaction extracted from desired information.
[1272] "Natural language processing" is a technology that uses computers to process and interpret human language.
[1273] "NLP engine" is a general term for software and algorithms used to execute natural language processing technology.
[1274] A "database" is a system that organizes, stores, and manages various types of data.
[1275] "Optimization" is the process of finding the best results under given conditions.
[1276] "JSON" stands for JavaScript Object Notation and is a data exchange format.
[1277] "Food delivery" is a service that delivers meals ordered online by users to a specified location.
[1278] MODE FOR CARRYING OUT THE INVENTION
[1279] This invention is an AI support system that makes optimal food delivery suggestions taking into account the user's emotions. The system works by having the user input their desired information using a terminal, and then the server analyzes that information, generates optimal suggestions, and returns them to the user.
[1280] Specific system configuration
[1281] A user launches the smartphone application and inputs their desired dishes and other requirements. This desired information is sent to the server as an HTTP POST request. The server analyzes the received information and uses a natural language processing engine (e.g., SpaCy or NLTK) and a sentiment analysis engine (e.g., OpenAI's sentiment analysis model) to extract the user's sentiment.
[1282] Next, the server searches the database for past user data and emotion data, and uses suggestions that satisfied past users with similar preferences and emotions as a reference. This generates optimal food delivery suggestions. The generated suggestions are converted into JSON format and sent to the device as a response.
[1283] The device displays the received suggestions in an easy-to-understand format to the user. The user selects the dishes they like from the suggestions and completes the order process. This order information is sent back to the server, which then coordinates with the food delivery company's system to make the arrangements and returns a confirmation to the user.
[1284] System Hardware and Software
[1285] Hardware:
[1286] Smartphone: User input and result display
[1287] Server: Data analysis and proposal generation
[1288] software:
[1289] Natural language processing engines (e.g. SpaCy, NLTK)
[1290] Sentiment analysis engine (e.g. OpenAI sentiment analysis model)
[1291] Database systems (e.g., MySQL, PostgreSQL)
[1292] Specific examples
[1293] For example, suppose a user inputs "I want to eat healthy Japanese food." The server analyzes this preference information along with the user's emotions (e.g., "expectations") and searches its database for suggestions that satisfied users with similar preferences and emotions. This generates suggestions such as "a healthy sushi set from Japanese restaurant A" or "vegetable sushi from Japanese restaurant B."
[1294] Finally, these suggestions are sent to the terminal, where the user can choose from them and place an order.
[1295] Examples of prompt statements
[1296] Here are some examples of prompts:
[1297] "Please tell me what foods are best for me. I'd like to eat healthy Japanese food."
[1298] In this way, the present invention can provide optimal food delivery suggestions that take into account the user's wishes and feelings, significantly improving the user experience.
[1299] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1300] Step 1:
[1301] The user starts the smartphone application and inputs the desired food and conditions (e.g., "healthy Japanese food") as text. This input information becomes the user's desired information. After inputting, the user presses the send button.
[1302] Input: The text entered by the user as their preference
[1303] Output: The desired information is sent to the server as an HTTP POST request
[1304] Step 2:
[1305] The device sends the user's desired information to the server as an HTTP POST request, including the user ID, and all communication is encrypted using HTTPS.
[1306] Input: User preference information and user ID
[1307] Output: HTTP POST request sent to the server
[1308] Step 3:
[1309] The server analyzes the desired information received from the device. The desired information is analyzed using a natural language processing engine (e.g., SpaCy, NLTK) to extract meaning and intent. It also analyzes the user's emotions using a generative AI model (e.g., OpenAI's emotion analysis model).
[1310] Input: Desired information received as an HTTP POST request
[1311] Output: Meaning of desired information and user's emotion data
[1312] Step 4:
[1313] Based on the analyzed preference information and emotion data, the server searches a database of users who have made similar requests in the past and generates optimal suggestions. The database stores a history of users' past requests and their satisfaction levels.
[1314] Input: Meaning of desired information, user sentiment data, and past user data in the database
[1315] Output: Best suggestions
[1316] Step 5:
[1317] The server converts the generated suggestions into JSON format and sends it to the device as a response, which includes details about the recommended dishes and restaurants.
[1318] Input: Best suggestions
[1319] Output: JSON formatted proposal data is sent to the device.
[1320] Step 6:
[1321] The device analyzes the proposed data received from the server and displays it in a format that is easy for the user to understand. The user can then check the details of the proposed dishes and restaurants.
[1322] Input: Proposal data in JSON format
[1323] Output: The suggestions are displayed to the user
[1324] Step 7:
[1325] The user selects the food and restaurant they like from the suggested dishes and places an order by entering the details of their choice (e.g., restaurant ID, food name, order quantity, delivery address, etc.) and clicking Confirm.
[1326] Input: User selection
[1327] Output: Confirmed order information is sent from the terminal to the server
[1328] Step 8:
[1329] The server receives the user's order information and coordinates with the API of the partner food delivery service to actually place the order. Once the order is confirmed, a confirmation is generated.
[1330] Input: User's order information
[1331] Output: The order is sent to the food delivery service and an order confirmation is generated.
[1332] Step 9:
[1333] The server then sends the generated order confirmation to the terminal and displays it to the user, who can then pick up the meal at the specified date and time.
[1334] Input: Order confirmation information
[1335] Output: Confirmation information is sent to the terminal and displayed to the user
[1336] Through these steps, users can receive optimal food delivery suggestions based on their emotions and smoothly order and receive their food.
[1337] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1338] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1339] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1340] [Fourth embodiment]
[1341] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1342] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1343] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1344] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1345] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1346] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1347] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1348] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1349] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1350] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1351] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1352] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1353] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1354] This invention provides an AI support system that allows foreign tourists in Japan to receive optimal recommendations tailored to their preferences. The specific operation of this system is explained below. The subject specifies either the server, the terminal, or the user, and specific examples are used.
[1355] Specific processing flow
[1356] 1. User request input
[1357] The user inputs desired information, such as "I want to eat delicious sushi," through an application on their device (smartphone, tablet, PC, etc.).
[1358] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[1359] 2. Sending your preferences
[1360] The device sends the user's desired information to the server in the form of an HTTP POST request.
[1361] 3. Analysis of desired information
[1362] The server then analyzes the received request information using a natural language processing (NLP) engine, extracting keywords such as "sushi," "delicious," and "budget under 5,000 yen."
[1363] 4. Comparison with past data
[1364] The server searches the past user database based on the analyzed preference information, checks what suggestions users with similar preference information received in the past were satisfied with, and generates the optimal suggestion candidates as a result of the comparison.
[1365] 5. Proposal Generation
[1366] Based on the results of the comparison, the server generates optimal suggestions that match the user's preferences. A specific suggestion would be a "list of highly rated sushi restaurants within a budget of 5,000 yen." Detailed information such as the rating, menu, and location of each restaurant is also included.
[1367] 6. Submitting and Displaying Proposals
[1368] The server sends the generated proposal to the terminal.
[1369] The device analyzes the suggestions and displays them in a format that is easy for the user to understand. For example, information on sushi restaurants is presented in a list format.
[1370] 7. Select your shipping options
[1371] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[1372] 8. Submitting a Request
[1373] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[1374] 9. Execution of Arrangements
[1375] Based on the reservation request received by the server, the server attempts to make a reservation at a sushi restaurant. It connects with the reservation system API and automatically performs the necessary procedures. If the reservation is successful, it generates reservation confirmation information.
[1376] 10. Sending and displaying reservation results
[1377] The server sends the reservation confirmation information to the terminal.
[1378] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[1379] Example: The process of choosing a sushi restaurant
[1380] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the keywords "delicious," "sushi," and "budget." It then compares the results of similar requests from a database and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[1381] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, foreign tourists can easily find and reserve the perfect sushi restaurant that meets their needs.
[1382] This system will enable foreign tourists to smoothly find and arrange the best travel plan that suits their preferences.
[1383] The processing flow will be explained below.
[1384] Step 1:
[1385] The user launches the application on the device, inputs desired information, such as "I want to eat delicious sushi," and presses the send button.
[1386] Step 2:
[1387] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[1388] Step 3:
[1389] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine.
[1390] Step 4:
[1391] The server analyzes the desired information using an NLP engine and extracts key keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[1392] Step 5:
[1393] Based on the analysis results, the server searches the database for similar past requests. For example, it refers to the data of users who previously requested "sushi."
[1394] Step 6:
[1395] The server compares past data and generates optimal suggestions. As suggestions, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[1396] Step 7:
[1397] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[1398] Step 8:
[1399] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, and location.
[1400] Step 9:
[1401] The user selects a sushi restaurant from the list, selects the reservation option, enters the desired reservation date and time, and presses the reservation request button.
[1402] Step 10:
[1403] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[1404] Step 11:
[1405] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API to attempt a reservation. If the reservation is successful, the server generates reservation confirmation information.
[1406] Step 12:
[1407] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[1408] Step 13:
[1409] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[1410] Example 1
[1411] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1412] Conventional travel support systems lack support for foreign languages, making it difficult for foreign tourists to obtain suggestions that meet their needs. Furthermore, the reservation process is complicated, requiring time and effort for users.
[1413] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1414] In this invention, the server includes means for users to input and send desired information in multiple languages, means for analyzing the received desired information using natural language processing and extracting keywords, means for generating appropriate suggestions based on the analysis results, means for returning the generated suggestions to the user and displaying them in list form, means for making reservations based on the user's selection, and means for notifying the user of reservation confirmation information. This allows foreign tourists to input their desired information in their own language, quickly receive appropriate suggestions, and smoothly complete reservation arrangements.
[1415] "Multilingual" means having the ability to input and display information in multiple languages.
[1416] "Natural language processing" refers to the technology that allows computers to understand, analyze, and generate human language.
[1417] "Keywords" are important words that express the information desired by the user and are extracted by natural language processing.
[1418] "Proposals" are information about specific stores and services that match the user's preferences, generated by the server based on the user's preferences and past data.
[1419] "Reservation arrangement" refers to the process in which the server automatically makes a reservation for the store or service selected by the user using an external system API.
[1420] "Reservation confirmation information" is detailed reservation information that is generated by the server based on the results of reservation arrangements and notified to the user.
[1421] An "external system API" is an interface that allows a server to connect with external services and automatically perform reservation procedures, etc.
[1422] A "user request" is information about a user's wishes or requests that the user inputs into the system.
[1423] "Analysis results" is a general term for keywords and other information extracted through natural language processing.
[1424] The following describes an embodiment of the present invention. This invention is an AI support system that allows foreign tourists in Japan to receive optimal suggestions tailored to their preferences. The system involves a series of processes in which users input desired information in multiple languages, and the server analyzes the information, makes suggestions, and arranges reservations.
[1425] System Configuration
[1426] This system mainly consists of the user's terminal, a server, and an external system API. Specifically, it uses the following hardware and software:
[1427] User device: smartphone, tablet, or PC, which allows the user to enter desired information and view suggestions.
[1428] Server: A powerful computer that uses a natural language processing engine (such as Python's NLTK or spaCy), an SQL database, and an API to connect to external systems (for example, the OpenTable API).
[1429] External system API: Interface for making reservations.
[1430] Explanation of various methods
[1431] 1. A means for users to enter and submit desired information in multiple languages
[1432] The user launches the application on their device and enters their desired information in their native language. The application UI supports multiple languages, and users can enter their desired information in the text box and tap the "Send" button to enter and send the desired information.
[1433] 2. Analyzing the received desired information using natural language processing and extracting keywords
[1434] The user preference information sent from the device is received by the server, which uses a Python NLP library (e.g., NLTK or spaCy) to analyze the information and extract important keywords (e.g., "delicious," "sushi," "budget").
[1435] 3. A means of generating appropriate suggestions based on the analysis results
[1436] The server searches the past user database based on the extracted keywords. It compares past success stories stored in the SQL database and generates suggestions that match the user's preferences. For example, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen.
[1437] 4. A means to return the generated suggestions to the user and display them in a list format.
[1438] The generated recommendations are sent from the server to the device, which receives them and displays them in a user-friendly list format, including detailed information such as the restaurant's rating, menu, and location.
[1439] 5. Means of making reservations based on user selections
[1440] The user selects the desired sushi restaurant from the list of suggested restaurants, selects the reservation option, and enters the desired reservation date and time. The terminal then sends this information back to the server.
[1441] 6. Means of notifying users of reservation confirmation information
[1442] The server receives the request and performs the reservation procedure using the external system API. If the reservation is successful, the server generates reservation confirmation information and sends it to the terminal. The terminal receives this information and displays it in a format that is easy for the user to understand.
[1443] Examples of concrete examples and prompts
[1444] For example, if a foreign tourist types in "I want to eat delicious sushi," the server analyzes keywords such as "delicious," "sushi," and "budget under 5,000 yen." It then searches a database for successful cases of similar requests and selects several highly rated sushi restaurants. The final list of selected sushi restaurants is sent to the terminal. The user can then view the list, select a specific sushi restaurant, and proceed with the reservation process. In this way, foreign tourists can easily find and reserve the best sushi restaurant that meets their needs.
[1445] Example prompts for generative AI models:
[1446] Based on the request "I want to eat delicious sushi," please suggest highly rated sushi restaurants within a budget of 5,000 yen. Please also provide detailed information such as ratings, menu, and location.
[1447] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1448] Step 1: Enter user preferences
[1449] Input: The user launches the application on their device (smartphone, tablet, PC, etc.) and enters the desired information.
[1450] Specific actions: Enter desired information, such as "I want to eat delicious sushi," into the text box and tap the "Submit" button. The application is multilingual, so users can enter information in their native language.
[1451] Step 2: Submit your preferences
[1452] Input: The desired information entered by the user.
[1453] Output: The HTTP POST request sent to the server.
[1454] Specific operation: The device parses the user's desired information into JSON format and sends it to the server using an HTTP POST request.
[1455] Step 3: Analyze your preferences
[1456] Input: JSON data of the desired information received by the server.
[1457] Output: Extracted keywords (e.g., "delicious," "sushi," "budget under 5,000 yen").
[1458] Specific operation: The server uses Python's NLP library (e.g., NLTK or spaCy) to analyze the desired information using natural language processing and extract important keywords.
[1459] Step 4: Check against historical data
[1460] Input: Extracted keywords.
[1461] Output: A list of best suggestions as a result of the SQL query.
[1462] Specific operation: The server searches the SQL database based on the extracted keywords, and generates optimal suggestions by collating past user data with successful cases for similar requests.
[1463] Step 5: Generate proposals
[1464] Input: A list of best suggestions as a result of an SQL query.
[1465] Output: Suggested response to the user (e.g., "List of highly rated sushi restaurants under 5,000 yen").
[1466] Specific operation: Based on the matching results, the server generates specific suggestions and creates a list of the best sushi restaurants for the user.
[1467] Step 6: Submit and view your proposal
[1468] Input: Generated suggestions.
[1469] Output: Suggestions in a list format that is displayed on the user's device.
[1470] Specific operation: The server generates suggestions and sends them to the device as an HTTP response. The device then analyzes the received suggestions and displays them in a list format. Specifically, the suggestions include detailed information such as the restaurant's rating, menu, and location.
[1471] Step 7: Select your delivery options
[1472] Input: A list of suggested sushi restaurants.
[1473] Output: The ID of the selected sushi restaurant and the desired reservation date and time.
[1474] Specific operation: The user selects the desired sushi restaurant from the list, selects the reservation arrangement option, and enters the desired reservation date and time.
[1475] Step 8: Submit a dispatch request
[1476] Input: The ID of the sushi restaurant selected by the user and the desired reservation date and time.
[1477] Output: The dispatch request sent to the server.
[1478] What happens: The device parses the selection into JSON format and sends it to the server using an HTTP POST request.
[1479] Step 9: Execute the arrangement
[1480] Input: Received reservation request (sushi restaurant ID and desired reservation date and time).
[1481] Output: Reservation confirmation information.
[1482] Specific operation: The server automatically completes the reservation procedure using an external system API (e.g., OpenTable API). If the reservation is successful, a reservation confirmation is generated.
[1483] Step 10: Send and view reservation results
[1484] Input: Generated booking confirmation information.
[1485] Output: Booking confirmation information displayed on the user's device.
[1486] Specific operation: The server sends reservation confirmation information to the terminal, which then analyzes and displays the received information. Based on this information, the user visits the sushi restaurant at the specified date and time.
[1487] (Application example 1)
[1488] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1489] With conventional tourist guide systems, it was difficult for foreign tourists to obtain information that matched their preferences, and it was also difficult to make store reservations and arrangements quickly and accurately based on their wishes. This resulted in the problem of foreign tourists being unable to plan their trips efficiently. Furthermore, due to insufficient multilingual support, there were limitations on inputting information and receiving suggestions in their native language.
[1490] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1491] In this invention, the server includes means for allowing a user to input desired information in their native language, means for transmitting the desired information to the server, means for analyzing the received desired information using a natural language processing engine, means for generating optimal proposals based on the analysis results by comparing the information with a past user database, means for returning the generated proposals to the user, and means for making store reservations based on the user's selection. This enables foreign tourists to efficiently search for and reserve stores and services that suit their preferences in their native language.
[1492] "User" refers to an individual or group that uses this system.
[1493] "Desired information" refers to information that describes the conditions and requests that users have for the system.
[1494] "Means for inputting in one's native language" refers to a function that provides a user interface that allows a user to input desired information in their native language.
[1495] "Server" refers to a central processing unit that receives and analyzes desired information from a user, generates and returns suggestions.
[1496] A "natural language processing engine" refers to the technology and software used to analyze input natural language, extract information, and understand it.
[1497] "Means for analyzing" refers to the function of analyzing the received desired information using a natural language processing engine.
[1498] The "past user database" refers to a collection of data that stores the desired information and results of users who have previously used this system.
[1499] "Means for comparing and generating optimal proposals" refers to the function of comparing the analyzed desired information with a past user database and generating the most suitable proposals based on that.
[1500] "Means for replying" refers to the functionality of sending the generated suggestion to the user's device so that the user can review it.
[1501] The "means for making store reservations based on the selection" refers to a function for making reservations at a store selected by the user from the suggestions presented.
[1502] This invention provides an AI support system that enables foreign tourists to obtain optimal recommendations that match their preferences. A specific embodiment of this system is described below.
[1503] In the present invention, a user can input desired information in their native language using a terminal (such as a smartphone or smart glasses) with a multilingual user interface. For example, the user inputs "I want to eat delicious sushi." This desired information is sent from the terminal to a server. The server analyzes the received desired information using a natural language processing (NLP) engine and extracts keywords (e.g., "sushi," "delicious," "budget under 5,000 yen," etc.).
[1504] The server searches a past user database based on the analyzed preference information. For example, it checks what suggestions users with similar preference information received in the past were satisfied with, and generates optimal candidate suggestions. One such candidate is a "list of highly rated sushi restaurants with a budget of 5,000 yen or less." The server sends these suggestions to the terminal and displays them in a format that is easy for the user to understand. A specific example of the display is when sushi restaurant information (restaurant name, rating, budget, location, etc.) is provided in list format.
[1505] If the user selects a specific sushi restaurant from the list provided and wishes to make a reservation, an arrangement request is sent from the terminal to the server again. The server then processes the reservation at the sushi restaurant based on the received arrangement request. It automatically performs the necessary procedures in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful. This reservation confirmation information is sent to the terminal so that the user can check it. The user can refer to the provided information and visit the sushi restaurant at the specified date and time.
[1506] The specific hardware and software used are Flask for the server application, and Huggingface's transformers library and the "dslim / bert-base-NER" model as the natural language processing engine.
[1507] For example, if the user enters the following prompt text:
[1508] "I want to eat delicious sushi. My budget is under 5,000 yen."
[1509] The server parses this prompt and provides the following result:
[1510] Suggested store list:
[1511] Store name: Store A
[1512] Rating: 4.8
[1513] Budget: ¥3000 - ¥5000
[1514] Location: Location X
[1515] Store name: Store B
[1516] Rating: 4.9
[1517] Budget: ¥4000 - ¥7000
[1518] Location: Location Y
[1519] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1520] Step 1:
[1521] The user uses the terminal's multilingual user interface to input desired information in their native language. The input data is a prompt such as "I want to eat delicious sushi." This information is collected by the terminal and prepared for the next step.
[1522] Input: User's desired information entered in their native language (e.g., "I want to eat delicious sushi")
[1523] Output: The desired information is stored in the terminal.
[1524] Step 2:
[1525] The terminal sends the user's desired information to the server in the form of an HTTP POST request, which transmits the information the user desires to the server.
[1526] Input: Desired information stored on the device (e.g., "I want to eat delicious sushi")
[1527] Output: The desired information is sent to the server.
[1528] Step 3:
[1529] The server analyzes the received information using a natural language processing (NLP) engine. For example, it uses Huggingface's transformers library and the "dslim / bert-base-NER" model to extract keywords such as "sushi," "delicious," and "budget under 5,000 yen" from the input information.
[1530] Input: Desired information received by the server (e.g., "I want to eat delicious sushi")
[1531] Output: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[1532] Step 4:
[1533] The server searches the past user database based on the analyzed keywords to see what suggestions users with similar preferences received in the past and were satisfied with. This allows it to generate optimal suggestions. For example, it can generate a list of highly rated sushi restaurants within a budget of 5,000 yen.
[1534] Input: Extracted keywords (e.g., "sushi," "delicious," "budget under 5,000 yen")
[1535] Output: Best suggestions (e.g., a list of highly rated sushi restaurants)
[1536] Step 5:
[1537] The server sends the generated suggestions to the device, which provides the user with specific suggestions, including detailed information such as the rating, menu, and location of each sushi restaurant.
[1538] Input: Best suggestions (e.g., a list of highly rated sushi restaurants)
[1539] Output: The proposal is sent to the device.
[1540] Step 6:
[1541] The device displays the received suggestions on the user interface, allowing the user to check information about sushi restaurants in a list format, including the restaurant name, rating, budget, and location.
[1542] Input: Suggestions sent to the device (e.g., a list of highly rated sushi restaurants)
[1543] Output: The suggestions are displayed to the user.
[1544] Step 7:
[1545] The user selects a restaurant from the displayed list and selects the reservation option. The device then sends the user's selection (the specific restaurant and the desired reservation date and time) to the server.
[1546] Input: User selection (e.g., a specific sushi restaurant and desired reservation date and time)
[1547] Output: The selection is sent to the server.
[1548] Step 8:
[1549] The server attempts to process the store reservation based on the received request. It automatically performs the process in conjunction with the reservation system API, and generates reservation confirmation information if the reservation is successful.
[1550] Input: Your selection (e.g., a specific sushi restaurant and desired reservation date and time)
[1551] Output: Reservation confirmation information (e.g., confirmation of successful reservation)
[1552] Step 9:
[1553] The server then sends the generated reservation confirmation information to the terminal, allowing the user to confirm that the reservation has been confirmed.
[1554] Input: Reservation confirmation information (e.g., confirmation of successful reservation)
[1555] Output: Reservation confirmation information is sent to the terminal.
[1556] Step 10:
[1557] The terminal displays the received reservation confirmation information to the user, who can then check the information and visit the sushi restaurant at the specified date and time.
[1558] Input: Reservation confirmation information sent to the device (e.g., confirmation of successful reservation)
[1559] Output: Booking confirmation information is displayed to the user.
[1560] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1561] This invention provides an AI support system that combines an emotion engine to enable foreign tourists to receive optimal recommendations tailored to their preferences in Japan. The specific operation of this system will be explained below. The subject will be either the server, the terminal, or the user, and specific examples will be used.
[1562] Specific processing flow
[1563] 1. User request input
[1564] The user launches the application on their device (smartphone, tablet, PC, etc.), enters desired information, such as "I want to eat delicious sushi," and presses the send button.
[1565] The UI on the device is multilingual, allowing tourists to enter their desired information in their native language.
[1566] 2. Sending your preferences
[1567] The device sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[1568] 3. Analysis of desired information and emotions
[1569] The server receives the HTTP POST request, extracts the desired information, and passes it to a natural language processing (NLP) engine and an emotion engine.
[1570] The emotion engine analyzes the user's emotions from the desired information and recognizes emotions such as "excitement," "anxiety," and "expectation."
[1571] 4. Comparison with past data
[1572] The server searches the database for similar past requests based on the analyzed preference and emotion information, checks what suggestions users with similar preferences and emotion information received in the past were satisfied with, and generates optimal suggestion candidates as a result of the matching.
[1573] 5. Proposal Generation
[1574] The server then generates optimal suggestions based on the user's preferences and emotions based on the matching results. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and devise ways to include additional information for each restaurant that matches the user's emotions (e.g., a relaxing atmosphere).
[1575] 6. Submitting and Displaying Proposals
[1576] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[1577] The device parses the JSON of the suggestions received from the server and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[1578] 7. Select your shipping options
[1579] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[1580] 8. Submitting a Request
[1581] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[1582] 9. Execution of Arrangements
[1583] Based on the reservation request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information.
[1584] 10. Sending and displaying reservation results
[1585] The server sends the reservation confirmation information to the terminal. The confirmation information includes reservation details (date and time, restaurant name, reservation number, etc.).
[1586] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[1587] Example: The process of choosing a sushi restaurant
[1588] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen.
[1589] The final list of selected sushi restaurants is sent to the terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes into account the user's feelings can be easily found and reserved.
[1590] This system allows foreign tourists to smoothly find and arrange the best travel plan that suits their tastes and preferences.
[1591] The processing flow will be explained below.
[1592] Step 1:
[1593] The user starts the application on the terminal, inputs the desired information, for example, "I want to eat delicious sushi," and presses the send button.
[1594] Step 2:
[1595] The terminal sends the user's desired information to the server as an HTTP POST request. The request includes the user ID and desired content.
[1596] Step 3:
[1597] The server receives the HTTP POST request, extracts the desired information, and passes the extracted information to a natural language processing (NLP) engine and an emotion engine.
[1598] Step 4:
[1599] The server uses an NLP engine to analyze the desired information, extracting keywords such as "delicious," "sushi," and "budget under 5,000 yen."
[1600] Step 5:
[1601] The server uses an emotion engine to analyze the user's emotions from the desired information. For example, it can recognize emotions such as "excitement," "expectation," and "desire to calm down" from the text.
[1602] Step 6:
[1603] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions users with similar preference and emotion information received in the past were satisfied with.
[1604] Step 7:
[1605] Based on the matching results, the server generates optimal suggestions tailored to the user's desires and feelings. For example, it could create a list of "highly rated, relaxed sushi restaurants within a budget of 5,000 yen."
[1606] Step 8:
[1607] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response.
[1608] Step 9:
[1609] The device parses the received JSON of the proposed options and displays them in a user-friendly format. A list of sushi restaurants is displayed, along with detailed information such as the restaurant's rating, menu, location, and atmosphere.
[1610] Step 10:
[1611] The user selects a sushi restaurant from the displayed list and selects a reservation option, for example, by selecting a specific sushi restaurant and entering the desired date and time for the reservation.
[1612] Step 11:
[1613] The terminal sends the user's selection back to the server. The reservation request includes the ID of the selected sushi restaurant and the desired reservation date and time.
[1614] Step 12:
[1615] Based on the request received by the server, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, the server generates reservation confirmation information.
[1616] Step 13:
[1617] The server sends reservation confirmation information to the terminal, which includes reservation details (date and time, restaurant name, reservation number, etc.).
[1618] Step 14:
[1619] The terminal displays the received reservation confirmation information to the user, who can then check the reservation confirmation information and visit the sushi restaurant at the specified date and time.
[1620] In this way, a system that combines an emotion engine allows users to smoothly obtain optimal suggestions based on their own wishes and emotions.
[1621] Example 2
[1622] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1623] With conventional tourist information systems, it is difficult for foreign tourists to receive accurate suggestions based on their preferences and emotions, which leads to a decline in satisfaction.Furthermore, due to insufficient multilingual support, tourists have difficulty inputting and understanding information in their own language.
[1624] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for comparing past similar requests based on preference information and emotion information, a means for displaying proposal contents in multiple languages, and a means for notifying reservation confirmation information. This allows the user to receive optimal proposals that match their preferences and emotions in multiple languages, and easily make reservations.
[1625] "Desired information" refers to the items and requests that a user has regarding travel and sightseeing.
[1626] "Emotion information" refers to the emotional state analyzed from the desired information input by the user, and indicates emotions such as "excitement," "anxiety," and "expectation."
[1627] A "multilingual application" refers to application software that can be operated and input in multiple languages.
[1628] A "natural language processing (NLP) engine" refers to a software engine that uses techniques and algorithms to analyze human language.
[1629] "Historical Data" refers to data previously collected or stored about user behavior or requests.
[1630] "Proposal content" refers to information about optimal travel or sightseeing suggestions generated based on the user's desired information and emotional information.
[1631] "Reservation confirmation information" is information indicating the status of a confirmed reservation for a specific facility or service, and includes the date and time, store name, reservation number, and the like.
[1632] An "HTTP POST request" is one of the request methods for sending data from a client to a server using the Internet communication protocol HTTP.
[1633] MODE FOR CARRYING OUT THE INVENTION
[1634] The present invention provides an AI support system that combines an emotion engine to enable foreign tourists to obtain optimal suggestions that match their preferences in Japan. Specific embodiments of the present invention will be described.
[1635] Hardware and Software Used
[1636] Hardware
[1637] Devices (smartphones, tablets, PCs, etc.)
[1638] server
[1639] software
[1640] Multilingual Applications
[1641] HTTP protocol
[1642] Natural Language Processing (NLP) Engine
[1643] Emotion Engine
[1644] Database software
[1645] Reservation System API
[1646] User request input
[1647] The user launches the smartphone app and inputs the desired information. For example, they might type "I want to eat delicious sushi" and press the send button. This information is multilingual so that it can be input in the user's native language.
[1648] Sending and receiving preferences
[1649] The device sends an HTTP POST request containing the input preference information to the server. This request includes the user ID and preference details. The server receives the HTTP POST request, extracts the preference information, and then passes it to the natural language processing (NLP) engine and emotion engine.
[1650] Emotional information analysis
[1651] The server uses an NLP engine to analyze the desired information and an emotion engine to analyze the user's emotions. For example, emotions such as "excitement," "anxiety," and "expectation" are recognized from the desired information.
[1652] Comparison with past data
[1653] The server searches the database for similar requests based on the analyzed preference and emotion information, and checks what suggestions were made to users with similar preferences and emotions in the past and whether they were satisfied.
[1654] Proposal generation
[1655] The server generates optimal suggestions based on the user's preference and emotional information. Specifically, it creates a list of highly rated sushi restaurants within a budget of 5,000 yen, and configures it to include sushi restaurants with a relaxing atmosphere.
[1656] Submitting and Viewing Proposals
[1657] The server converts the generated proposal candidates into JSON format and sends them to the terminal as a response. The terminal parses the received JSON of the proposal candidates and displays them in a format that is easy for the user to understand. For example, it could display a "list of highly rated sushi restaurants" and provide detailed information about each restaurant, such as their rating, menu, location, and atmosphere.
[1658] Select and submit your shipping options
[1659] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, the user selects a specific sushi restaurant and enters the desired date and time for the reservation. The terminal then sends the user's selection (the sushi restaurant ID and the desired date and time for the reservation) back to the server.
[1660] Execution and notification of arrangements
[1661] Based on the received reservation request, the server connects to the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. The terminal displays the received reservation confirmation information to the user. The user can then visit the sushi restaurant at the specified date and time based on the confirmation information.
[1662] Example: The process of choosing a sushi restaurant
[1663] For example, if a foreign tourist user types in "I want to eat delicious sushi," the server analyzes the user's emotional information (e.g., "expectations") along with the keywords "delicious," "sushi," and "budget." Next, it checks the past database to see what suggestions satisfied users with similar requests and emotional information, and selects several highly rated sushi restaurants within a budget of 5,000 yen. The final list of selected sushi restaurants is sent to the user's terminal, where the user can view the list, select a specific restaurant, and make a reservation. In this way, the optimal sushi restaurant that takes the user's emotions into consideration can be easily found and reserved.
[1664] Example of input prompt for generative AI model
[1665] I want a system that:
[1666] This AI support system combines an emotion engine to help foreign tourists receive the best suggestions tailored to their preferences in Japan. The system generates the best suggestions based on their preferences and emotion information. The system works as follows:
[1667] 1. User enters desired information
[1668] 2. Send your desired information to the server
[1669] 3. The server analyzes the desired information and emotional information
[1670] 4. Compare with past data
[1671] 5. Generate optimal suggestions
[1672] 6. Present the proposal to the user
[1673] 7. User selects dispatch option
[1674] 8. Send the dispatch request to the server
[1675] 9. The server arranges and executes the order.
[1676] 10. Display the reservation results to the user
[1677] Using these prompts allows the generative AI model to behave appropriately and provide the desired information.
[1678] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1679] Step 1:
[1680] The user launches the smartphone app and inputs their desired information (for example, "I want to eat delicious sushi"). The input desired information is imported into the terminal, and by pressing the send button, the next step of the process can be taken. Specifically, the user can input the information in their native language through a multilingual interface. Input: User's desired information. Output: Desired information saved on the terminal.
[1681] Step 2:
[1682] The device creates an HTTP POST request containing the entered desired information and sends it to the server. This request includes the user ID and desired content. Specifically, the device creates an HTTP request and sends it to the specified endpoint on the server. Input: desired information and user ID. Output: HTTP request sent to the server.
[1683] Step 3:
[1684] The server receives the HTTP POST request and extracts the desired information. Next, the desired information is passed to a natural language processing (NLP) engine and an emotion engine for analysis. Specifically, the server extracts the desired information from the request, inputs it into the NLP engine for text analysis, and then performs emotion analysis in the emotion engine. Input: Received HTTP request. Output: Analyzed desired information and emotion information.
[1685] Step 4:
[1686] The server searches the database for similar past requests based on the analyzed preference information and emotion information. Specifically, it generates an SQL query using the analysis results and executes a search against the past database. As a result, it obtains suggestions made to users with similar requests and emotions in the past. Input: Analyzed preference information and emotion information. Output: Search results from the past database.
[1687] Step 5:
[1688] The server generates optimal suggestions based on the user's wishes and emotions, based on information retrieved from the past database. Specifically, it filters the search results and creates a list of optimal sushi restaurants based on budget and ratings. It also adds additional information based on emotions, such as a relaxing atmosphere. Input: Search results from the past database. Output: Optimal suggestions (list of sushi restaurants).
[1689] Step 6:
[1690] The server converts the generated proposal content into JSON format and sends it to the terminal. Specifically, it encodes the proposal content into a JSON format response and sends it to the terminal as an HTTP response. Input: Generated proposal content. Output: JSON format proposal content sent to the terminal.
[1691] Step 7:
[1692] The device parses the received JSON suggestions and displays them in a format that is easy for the user to understand. Specifically, the device parses the JSON data and displays a list of sushi restaurants and detailed information about each restaurant (ratings, menu, location, atmosphere) on the user interface. Input: Suggestions from the server (JSON format). Output: List of sushi restaurants displayed to the user.
[1693] Step 8:
[1694] The user selects a sushi restaurant from the displayed list and selects a reservation option. For example, they select a specific sushi restaurant and enter the desired date and time for the reservation. Input: User's selection and desired reservation date and time. Output: Reservation request.
[1695] Step 9:
[1696] The terminal again sends a reservation request to the server, including the user's selections (sushi restaurant ID and desired reservation date and time). Specifically, the terminal generates a reservation request and sends it to the server as an HTTP POST request. Input: User's selections and desired reservation date and time. Output: Reservation request sent to the server.
[1697] Step 10:
[1698] Based on the received reservation request, the server connects with the sushi restaurant's reservation system API and attempts to make a reservation. If the reservation is successful, it generates reservation confirmation information and sends it to the terminal. Specifically, it calls the reservation system API to check whether the reservation was successful, and if successful, it generates reservation details information and sends it to the terminal as a response. Input: Reservation request. Output: Reservation confirmation information.
[1699] Step 11:
[1700] The terminal displays the received reservation confirmation information to the user. Specifically, the reservation details (date and time, restaurant name, reservation number, etc.) are displayed on the screen so that the user can check them. Input: Reservation confirmation information from the server. Output: Reservation details displayed to the user.
[1701] (Application example 2)
[1702] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1703] Conventional food delivery systems make suggestions based on user preferences, but are unable to provide optimal suggestions that take the user's emotions into account. Furthermore, they provide insufficient support for foreign tourists to find meals that suit their tastes in Japan, resulting in a poor user experience.
[1704] The specification process by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for the user to input and transmit desired information, means for analyzing the received desired information, means for generating appropriate proposals based on the analysis results, means for returning the generated proposals to the user, means for making arrangements based on the user's selection, means for analyzing the user's emotions, and means for optimizing the proposals based on the analyzed emotions. This enables optimal food delivery proposals that take the user's emotions into consideration.
[1705] "Desired information" is information regarding specific conditions or requests desired by the user.
[1706] "Analysis" is the process of understanding and deciphering meaning from received data.
[1707] "Suggestions" are specific solutions or recommendations generated based on the user's desired information and emotions.
[1708] "Replying" is the process by which the server sends the generated suggestions to the user.
[1709] "Arrangement" is the act of taking a specific action (such as making a reservation) based on a proposal selected by the user.
[1710] "Emotion" refers to the user's state of mind and psychological reaction extracted from desired information.
[1711] "Natural language processing" is a technology that uses computers to process and interpret human language.
[1712] "NLP engine" is a general term for software and algorithms used to execute natural language processing technology.
[1713] A "database" is a system that organizes, stores, and manages various types of data.
[1714] "Optimization" is the process of finding the best results under given conditions.
[1715] "JSON" stands for JavaScript Object Notation and is a data exchange format.
[1716] "Food delivery" is a service that delivers meals ordered online by users to a specified location.
[1717] MODE FOR CARRYING OUT THE INVENTION
[1718] This invention is an AI support system that makes optimal food delivery suggestions taking into account the user's emotions. The system works by having the user input their desired information using a terminal, and then the server analyzes that information, generates optimal suggestions, and returns them to the user.
[1719] Specific system configuration
[1720] A user launches the smartphone application and inputs their desired dishes and other requirements. This desired information is sent to the server as an HTTP POST request. The server analyzes the received information and uses a natural language processing engine (e.g., SpaCy or NLTK) and a sentiment analysis engine (e.g., OpenAI's sentiment analysis model) to extract the user's sentiment.
[1721] Next, the server searches the database for past user data and emotion data, and uses suggestions that satisfied past users with similar preferences and emotions as a reference. This generates optimal food delivery suggestions. The generated suggestions are converted into JSON format and sent to the device as a response.
[1722] The device displays the received suggestions in an easy-to-understand format to the user. The user selects the dishes they like from the suggestions and completes the order process. This order information is sent back to the server, which then coordinates with the food delivery company's system to make the arrangements and returns a confirmation to the user.
[1723] System Hardware and Software
[1724] Hardware:
[1725] Smartphone: User input and result display
[1726] Server: Data analysis and proposal generation
[1727] software:
[1728] Natural language processing engines (e.g. SpaCy, NLTK)
[1729] Sentiment analysis engine (e.g. OpenAI sentiment analysis model)
[1730] Database systems (e.g., MySQL, PostgreSQL)
[1731] Specific examples
[1732] For example, suppose a user inputs "I want to eat healthy Japanese food." The server analyzes this preference information along with the user's emotions (e.g., "expectations") and searches its database for suggestions that satisfied users with similar preferences and emotions. This generates suggestions such as "a healthy sushi set from Japanese restaurant A" or "vegetable sushi from Japanese restaurant B."
[1733] Finally, these suggestions are sent to the terminal, where the user can choose from them and place an order.
[1734] Examples of prompt statements
[1735] Here are some examples of prompts:
[1736] "Please tell me what foods are best for me. I'd like to eat healthy Japanese food."
[1737] In this way, the present invention can provide optimal food delivery suggestions that take into account the user's wishes and feelings, significantly improving the user experience.
[1738] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1739] Step 1:
[1740] The user starts the smartphone application and inputs the desired food and conditions (e.g., "healthy Japanese food") as text. This input information becomes the user's desired information. After inputting, the user presses the send button.
[1741] Input: The text entered by the user as their preference
[1742] Output: The desired information is sent to the server as an HTTP POST request
[1743] Step 2:
[1744] The device sends the user's desired information to the server as an HTTP POST request, including the user ID, and all communication is encrypted using HTTPS.
[1745] Input: User preference information and user ID
[1746] Output: HTTP POST request sent to the server
[1747] Step 3:
[1748] The server analyzes the desired information received from the device. The desired information is analyzed using a natural language processing engine (e.g., SpaCy, NLTK) to extract meaning and intent. It also analyzes the user's emotions using a generative AI model (e.g., OpenAI's emotion analysis model).
[1749] Input: Desired information received as an HTTP POST request
[1750] Output: Meaning of desired information and user's emotion data
[1751] Step 4:
[1752] Based on the analyzed preference information and emotion data, the server searches a database of users who have made similar requests in the past and generates optimal suggestions. The database stores a history of users' past requests and their satisfaction levels.
[1753] Input: Meaning of desired information, user sentiment data, and past user data in the database
[1754] Output: Best suggestions
[1755] Step 5:
[1756] The server converts the generated suggestions into JSON format and sends it to the device as a response, which includes details about the recommended dishes and restaurants.
[1757] Input: Best suggestions
[1758] Output: JSON formatted proposal data is sent to the device.
[1759] Step 6:
[1760] The device analyzes the proposed data received from the server and displays it in a format that is easy for the user to understand. The user can then check the details of the proposed dishes and restaurants.
[1761] Input: Proposal data in JSON format
[1762] Output: The suggestions are displayed to the user
[1763] Step 7:
[1764] The user selects the food and restaurant they like from the suggested dishes and places an order by entering the details of their choice (e.g., restaurant ID, food name, order quantity, delivery address, etc.) and clicking Confirm.
[1765] Input: User selection
[1766] Output: Confirmed order information is sent from the terminal to the server
[1767] Step 8:
[1768] The server receives the user's order information and coordinates with the API of the partner food delivery service to actually place the order. Once the order is confirmed, a confirmation is generated.
[1769] Input: User's order information
[1770] Output: The order is sent to the food delivery service and an order confirmation is generated.
[1771] Step 9:
[1772] The server then sends the generated order confirmation to the terminal and displays it to the user, who can then pick up the meal at the specified date and time.
[1773] Input: Order confirmation information
[1774] Output: Confirmation information is sent to the terminal and displayed to the user
[1775] Through these steps, users can receive optimal food delivery suggestions based on their emotions and smoothly order and receive their food.
[1776] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1777] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1778] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1779] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1780] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1781] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1782] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1783] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1784] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1785] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1786] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1787] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1788] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1789] 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.
[1790] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1791] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1792] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1793] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1794] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1795] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1796] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1797] The following is further disclosed regarding the above embodiment.
[1798] (Claim 1)
[1799] A means for a user to input and transmit desired information;
[1800] means for analyzing the received desired information;
[1801] a means for generating appropriate recommendations based on the analysis results;
[1802] means for returning the generated suggestions to the user;
[1803] means for making arrangements based on the user's selection;
[1804] A system including:
[1805] (Claim 2)
[1806] 10. The system of claim 1, further comprising means for optimizing suggestions using past user data.
[1807] (Claim 3)
[1808] 2. The system according to claim 1, further comprising means for analyzing the user's desired information using natural language processing.
[1809] "Example 1"
[1810] (Claim 1)
[1811] A means for users to input and transmit desired information in multiple languages;
[1812] A means for analyzing the received desired information using natural language processing and extracting keywords;
[1813] a means for generating appropriate recommendations based on the analysis results;
[1814] means for returning the generated suggestions to the user and displaying them in a list format;
[1815] means for making reservation arrangements based on the user's selection;
[1816] means for notifying the user of reservation confirmation information;
[1817] A system including:
[1818] (Claim 2)
[1819] 10. The system of claim 1, further comprising means for optimizing suggestions using past user data.
[1820] (Claim 3)
[1821] 10. The system of claim 1, further comprising means for automatically performing a reservation procedure using an external system API based on the proposal content selected by the user.
[1822] "Application Example 1"
[1823] (Claim 1)
[1824] a means by which the user can input desired information in their native language;
[1825] means for transmitting the desired information to a server;
[1826] A means for analyzing the received desired information using a natural language processing engine;
[1827] A means for generating optimal proposals based on the analysis results by comparing them with a past user database;
[1828] means for returning the generated suggestions to the user;
[1829] A means for making store reservations based on the user's selection;
[1830] A system including:
[1831] (Claim 2)
[1832] 10. The system of claim 1, further comprising means for optimizing suggestions using past user data.
[1833] (Claim 3)
[1834] 10. The system of claim 1, further comprising means for analyzing the user's desired information using natural language processing.
[1835] "Example 2: Combining Emotion Engines"
[1836] (Claim 1)
[1837] A means for a user to input and transmit desired information;
[1838] means for analyzing the received desired information;
[1839] a means for generating appropriate recommendations based on the analysis results;
[1840] means for returning the generated suggestions to the user;
[1841] means for making arrangements based on the user's selection;
[1842] A means of matching similar requests from the past based on desired information and emotional information;
[1843] A means to display the proposal in multiple languages;
[1844] a means for communicating reservation confirmation information;
[1845] A system including:
[1846] (Claim 2)
[1847] 10. The system of claim 1, further comprising means for optimizing suggestions using past user data.
[1848] (Claim 3)
[1849] 2. The system according to claim 1, further comprising means for analyzing the user's desired information using natural language processing.
[1850] "Application example 2 when combining emotion engines"
[1851] (Claim 1)
[1852] A means for a user to input and transmit desired information;
[1853] means for analyzing the received desired information;
[1854] a means for generating appropriate recommendations based on the analysis results;
[1855] means for returning the generated suggestions to the user;
[1856] means for making arrangements based on the user's selection;
[1857] means for analyzing user emotions;
[1858] a means for optimizing recommendations based on the analyzed sentiment;
[1859] A system including:
[1860] (Claim 2)
[1861] 10. The system of claim 1, further comprising means for optimizing suggestions utilizing historical user data and sentiment data.
[1862] (Claim 3)
[1863] 2. The system according to claim 1, further comprising means for analyzing the user's desired information using natural language processing. [Explanation of symbols]
[1864] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for a user to input and transmit desired information; means for analyzing the received desired information; a means for generating appropriate recommendations based on the analysis results; means for returning the generated suggestions to the user; means for making arrangements based on the user's selection; A system including:
2. 10. The system of claim 1, further comprising means for utilizing past user data to optimize the recommendations.
3. 2. The system according to claim 1, further comprising means for analyzing the user's desired information using natural language processing.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A