system

The system addresses the challenge of disparate online information formats by collecting, converting, and ranking data for efficient user decision-making, enhancing user satisfaction through integrated data management and feedback.

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

Patent Information

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

AI Technical Summary

Technical Problem

Users face challenges in finding relevant information across multiple online services due to format discrepancies, leading to inefficiencies in information collection, comparison, and decision-making.

Method used

A system that collects information from multiple online services, converts it into a unified format, stores it in a database, allows users to input criteria, searches and ranks results, and returns rankings to the user's terminal, with feedback integration for future improvements.

Benefits of technology

Enables efficient and accurate information retrieval and decision-making by aggregating and ranking information based on user needs, improving user satisfaction through consistent data management and feedback utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026036328000001_ABST
    Figure 2026036328000001_ABST
Patent Text Reader

Abstract

Provide a system. A method for collecting information from multiple online services; A means of converting the collected information into a unified format and storing it in a database; a means for the user to input the criteria; A means for searching a database based on input conditions and ranking information that matches the conditions; A means for returning the ranking results to the user's device; A system including:
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

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

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

[0004] In modern society, many online services are available, but because each provides information in a different format, it takes a great deal of time and effort for users to find the best information that meets their requirements. Furthermore, because information is scattered, it is difficult to compare and consider information, making it difficult to make decisions quickly. The objective of this invention is to build a system that collects and aggregates information from multiple online services and quickly and efficiently provides users with the best options that meet their requirements. [Means for solving the problem]

[0005] The present invention solves the above problems by providing a system comprising:

[0006] A means of collecting information from multiple online services;

[0007] A means of converting the collected information into a unified format and storing it in a database;

[0008] a means for the user to input the criteria;

[0009] A means for searching a database based on input conditions and ranking information that matches the conditions;

[0010] The system includes a means for returning the ranking results to the user's terminal.

[0011] It may also include means for checking the consistency of the collected information and eliminating incomplete or duplicate data, as well as means for users to provide feedback after their visit, which can be stored in a database and used for future searches and suggestions.

[0012] An "online service" is a service that provides information or functions to users via the Internet.

[0013] "Information" means data and content collected from online services that are relevant to the choices offered to you based on your terms.

[0014] "Collection methods" are methods or technologies for automatically obtaining information from multiple online services.

[0015] A "uniform format" is a data structure or format that allows different types of collected information to be converted into a consistent format.

[0016] A "database" is a system for efficiently storing, managing, and searching large amounts of information.

[0017] The "condition input means" is an interface that allows a user to input specific conditions into the system based on their needs and preferences.

[0018] A "search means" is an algorithm or process that searches for information in a database based on input conditions and finds information that matches the conditions.

[0019] A "ranking method" is a method for evaluating, prioritizing, and sorting information that meets a condition.

[0020] "Terminal" means a device through which a user accesses the system to enter information or receive results.

[0021] "Feedback means" refers to a method or interface for users to provide feedback and evaluations after using a service. [Brief explanation of the drawings]

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

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

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

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

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

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

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

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

[0030] [First embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0043] The present invention is a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions. Specific embodiments of this system will be described below.

[0044] Program processing

[0045] 1. The server collects information from multiple online services

[0046] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[0047] 2. The server converts the collected information into a unified format and stores it in a database.

[0048] The information collected by the server is converted into a unified format (e.g., JSON format) because each service has a different data format. The converted data is stored in a database and used for subsequent searches and suggestions. At this time, incomplete and duplicate data is removed to maintain data consistency.

[0049] 3. The user enters the conditions from the terminal.

[0050] Users access an application or website from their own device (such as a smartphone or PC) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station."

[0051] 4. The server searches the database based on the entered criteria and ranks the information that matches the criteria.

[0052] The server searches the database based on the criteria entered by the user, extracts restaurant information that matches the criteria, and generates a ranking for each restaurant, taking into account factors such as rating score, number of reviews, and price range. This ranking is then presented to the user in an easy-to-read format.

[0053] 5. The server sends the ranking results back to the user's device.

[0054] The ranking results are sent back to the user's device and displayed on the user's screen. The user can then view the list of suggested restaurants and check their details.

[0055] 6. Users act on the results

[0056] Users can select their favorite restaurant from the list of suggested restaurants, then access the reservation page, check map information, and provide feedback on the restaurant they visited.

[0057] Specific examples

[0058] For example, suppose a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen. When the user enters this condition on their smartphone, the server searches for and ranks restaurants that meet the condition based on information previously collected and stored in a database from various online services. Ultimately, the user receives a list of highly rated Chinese restaurants, and can select one to visit after checking the details.

[0059] The present invention provides a system that responds to user requests quickly and accurately and supports efficient information retrieval and decision-making.

[0060] The processing flow will be explained below.

[0061] Step 1:

[0062] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[0063] Step 2:

[0064] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0065] Step 3:

[0066] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL (registered trademark), PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[0067] Step 4:

[0068] The user enters search criteria from their device. The user accesses an application or website running on their smartphone or PC and enters search criteria (e.g., budget, genre, location, etc.). The entered criteria are sent to the server.

[0069] Step 5:

[0070] The server queries the database based on the user's criteria. The server generates an SQL query based on the criteria entered by the user and searches the database. This search extracts restaurant information that matches the user's criteria.

[0071] Step 6:

[0072] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated based on factors such as rating score, number of reviews, and price range, and a ranking is generated. This ranking is formatted in a way that is easy for users to view.

[0073] Step 7:

[0074] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[0075] Step 8:

[0076] The user acts on the results. The user browses the provided ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[0077] Step 9:

[0078] After a visit, the user provides feedback (e.g., rating, review, etc.) about the restaurant they visited and enters it into the system. This feedback is sent to the server.

[0079] Step 10:

[0080] The server stores the user's feedback in a database and uses it for future searches and suggestions.The server stores the user's feedback in a database and uses it for future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[0081] Example 1

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

[0083] Conventional information search systems have issues such as insufficient integration of information collection from multiple online services, ensuring data consistency, searches based on various user criteria, displaying rankings, and utilizing user feedback, making it difficult for users to quickly and accurately obtain the information they need.

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

[0085] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for searching the database based on the input conditions and ranking information that matches the conditions, and means for returning the ranking results to the user's terminal.This makes it possible to efficiently and accurately collect, search, and display information based on the user's conditions, and to support the user's decision-making.

[0086] "Online services" are various information services provided via the Internet.

[0087] "Means for collecting information" refers to the methods or functions for obtaining the necessary data from multiple online services.

[0088] A "uniform format" is a standard data format for converting collected information into a consistent format.

[0089] A "database" is a storage system that can efficiently manage and search large amounts of information.

[0090] "Means for inputting conditions" refers to a method or interface that allows a user to specify search conditions to the system.

[0091] A "means for searching a database" is a function that extracts information from a database based on conditions entered by the user.

[0092] A "means for ranking information" is a method or function for ranking extracted information based on a particular evaluation criterion.

[0093] The "means for returning ranking results" is a method or function for transmitting the ranking information to the user's terminal.

[0094] "Web scraping" is the technique of automatically extracting data from web pages.

[0095] "API" is an abbreviation for Application Programming Interface, an interface that allows software applications to communicate with each other.

[0096] A "rating score" is a number calculated based on user reviews and ratings.

[0097] "Number of reviews" refers to the total number of ratings and comments posted by users about a particular service or product.

[0098] "Price range" is an indicator of the range of prices for a particular product or service.

[0099] A "browser" is software used to display and view web pages on the Internet.

[0100] An "application" is a software program designed to perform a specific function.

[0101] "Feedback" refers to ratings and comments provided by users after use.

[0102] MODE FOR CARRYING OUT THE INVENTION

[0103] This invention is a system that collects information from multiple online services and aggregates and suggests results based on user requirements. This system implements a series of processes including information collection, data conversion and storage, user input, conditional search and ranking, result display, and user feedback.

[0104] Information gathering

[0105] The server sends requests to API endpoints to gather information from multiple online services, such as the Google Places API and restaurant information service APIs. If necessary, the server also uses web scraping tools such as BeautifulSoup and Selenium to retrieve data from websites.

[0106] Data conversion and storage

[0107] The information collected by the server is provided in different formats, so it is converted into a unified format (e.g., JSON format). The converted data is then stored in a database such as MongoDB or MySQL. At this time, the data is checked for consistency and incomplete and duplicate data is removed.

[0108] User Input

[0109] Users access the application or website from their own devices (such as smartphones or PCs) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station." This communicates the user's specific needs to the system.

[0110] Conditional search and ranking

[0111] The server searches the database based on the criteria entered by the user. It takes into account information such as rating scores, number of reviews, and price range to rank information that matches the criteria. To achieve this efficiently, search engines such as ElasticSearch (registered trademark) are often used.

[0112] Results display

[0113] The ranking results are sent back to the user's device in JSON format, where they are displayed in a browser or a dedicated application. Frameworks such as React and Vue.js are sometimes used to display the front-end.

[0114] User Feedback

[0115] Users can act on the suggestions and then provide feedback, which is then stored in a database and used to improve future search results.

[0116] Specific examples

[0117] For example, if a user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, they can enter this information on their smartphone, and the server will search for and rank restaurants that meet the criteria based on information from various online services that has been collected and stored in a database in advance. Ultimately, the user will receive a list of highly rated Chinese restaurants, and after checking the details, they can select one to visit.

[0118] Prompt Sentence Examples

[0119] For example, consider the following input:

[0120] "I'm looking for a Chinese restaurant near Tokyo Station that costs under 3,000 yen. Can you recommend a good one?"

[0121] By inputting this prompt into a generative AI model, suggestions for stores that meet the user's requirements can be obtained. In this way, the present invention responds to user requests quickly and accurately, supporting efficient information search and decision-making.

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

[0123] Step 1:

[0124] The server collects information from the online service.

[0125] The server first sends GET requests to the API endpoints of multiple online services. For example, the API of a restaurant information service is used to obtain information about restaurants in a specific area. The region and category are specified as input for this request, and the JSON-formatted response returned by the API is the output. If necessary, a web scraping tool (e.g., BeautifulSoup, Selenium) is used to extract data from web pages. In this case, data is collected based on the target URL and HTML structure.

[0126] Step 2:

[0127] The server converts the collected information into a unified format and stores it in a database.

[0128] Since the collected information is provided in different formats, the server converts it into a unified format (e.g., JSON format). Specifically, it analyzes the JSON responses obtained from the API and data obtained through web scraping, extracts and formats the necessary fields, and then enters this processed data and stores it in a database. When storing the data, a database such as MongoDB or MySQL is used, and the data consistency is checked, and incomplete and duplicate data is removed.

[0129] Step 3:

[0130] The user inputs the conditions from the terminal.

[0131] A user accesses a website or application from their device and enters specific criteria into a form, such as budget, type of cuisine, location, etc. Once these criteria are sent to the server, the server begins searching for information based on those criteria.

[0132] Step 4:

[0133] The server searches the database based on the entered conditions and ranks the information that matches the conditions.

[0134] The server searches the database based on the criteria entered by the user. This search process uses a search engine such as Elasticsearch to efficiently extract data. The search results are ranked based on factors such as rating score, number of reviews, and price range. The entered criteria are used as the search query, and the rating factors are fed into a ranking algorithm. The output is information that matches the criteria and is sorted by highest rating.

[0135] Step 5:

[0136] The server returns the ranking results to the user's terminal.

[0137] The server returns the ranked results in JSON format to the user's device, which then displays the results in an easy-to-read format. Specifically, front-end frameworks such as React and Vue.js are used to visually present the ranking results to the user in a browser or application.

[0138] Step 6:

[0139] Users act on the results.

[0140] The user selects the restaurant they want to visit based on the returned ranking results. Once this selection information is entered, the user can check detailed information, access the reservation page, and check map information. After visiting a restaurant, the user can also provide feedback, which is saved in the database and used to improve the accuracy of future search results.

[0141] (Application example 1)

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

[0143] To enhance user comfort and efficiency in autonomous vehicles, there is a growing need for systems that can quickly provide up-to-date information about restaurants and services near the user's current location and present optimal options based on the user's search criteria. However, achieving this requires technology that collects information from multiple sources, converts it into a unified format to create a consistent database, and efficiently searches and ranks information that matches the user's search criteria. In particular, when used in autonomous vehicles, it is important that the search criteria input and result presentation be intuitive and user-friendly.

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

[0145] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for the user to input search criteria from inside the vehicle using voice or a touch interface. This allows the user to intuitively input search criteria inside the autonomous vehicle and quickly obtain the latest information on restaurants and other services that match the criteria.

[0146] "Multiple online services" are web-based platforms such as restaurant information services and review sites provided via the Internet.

[0147] "Means of collecting information" refers to the way the server obtains data from various online services using API requests or web scraping.

[0148] "Unified format" refers to converting different data formats obtained from each online service into a common data format (e.g., JSON format).

[0149] A "database" is a digital storage system that converts collected information into a unified format and stores it.

[0150] "User device" refers to an electronic device that allows a user to input and view information, such as a smartphone, tablet, or in-vehicle display.

[0151] "Entered Criteria" refers to information that a user enters into an application by specifying certain filters or search criteria (e.g., budget, type of cuisine, location).

[0152] "Means for ranking information that meets conditions" refers to a method for ranking information in a database based on criteria such as evaluation score or number of reviews, based on conditions entered by the user.

[0153] The "ranking results" are a list of information that best matches the specified conditions, and are presented to the user.

[0154] "Means for returning to the user terminal in the autonomous vehicle" refers to a method for transmitting information processed by the server to the user terminal installed in the autonomous vehicle.

[0155] A "voice or touch interface" is an interface that allows users to input search criteria using voice commands or touch panel operations.

[0156] "Integrity" refers to ensuring the accuracy and consistency of data.

[0157] "Methods for removing incomplete and duplicate data" refers to methods for detecting and removing missing or duplicate records from collected data sets.

[0158] An "entertainment system" is a system installed in an autonomous vehicle that provides information through video and audio.

[0159] "Feedback" refers to opinions such as ratings and comments provided by users after using the service.

[0160] This invention is a system that provides information on restaurants and services based on conditions entered by a user in an autonomous vehicle. The system consists of a server, a user terminal, a database, and an entertainment system.

[0161] Program processing

[0162] 1. Information gathering

[0163] The server sends requests to the APIs of multiple online services (restaurant information services, review sites, etc.) to collect information, with the assistance of web scraping.

[0164] Hardware / Software:

[0165] Hardware used: Server

[0166] Software used: Python, REST API, web scraping tool

[0167] Examples:

[0168] For example, use the Google Places API or Yelp API to obtain information about restaurants around Tokyo Station.

[0169] 2. Data format conversion

[0170] The server converts the collected information into a unified format (e.g., JSON), which allows data from different services to be aligned and stored in a consistent format.

[0171] Hardware / Software:

[0172] Hardware used: Server

[0173] Software used: JSON parser, data conversion module

[0174] Examples:

[0175] Analyze the data obtained from the Google Places API and store it in a database in a unified format.

[0176] 3. Database storage

[0177] The server stores the data in a unified format in a database, which is used for searches and suggestions within the autonomous vehicle.

[0178] Hardware / Software:

[0179] Hardware used: Server, database server

[0180] Software used: SQLite, database management system

[0181] Examples:

[0182] The collected restaurant names, locations, price ranges, ratings, and types of food served are stored in a database.

[0183] 4. Enter search criteria

[0184] Users enter search criteria using the interface (voice or touch panel) inside the autonomous vehicle.

[0185] Hardware / Software:

[0186] Hardware used: Display and microphone inside the autonomous vehicle

[0187] Software used: Voice recognition system, touch interface

[0188] Examples:

[0189] The user speaks, "Please find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen."

[0190] 5. Letter Ranking

[0191] The server searches the database based on the user's input and ranks the results, taking into account factors such as rating score, number of reviews, and price range.

[0192] Hardware / Software:

[0193] Hardware used: Server

[0194] Software used: SQL queries, ranking algorithms

[0195] Examples:

[0196] Based on the criteria "near Tokyo Station," "budget under 3,000 yen," and "Chinese cuisine," the app searches for restaurant information that matches the criteria and sorts them in order of highest rating.

[0197] 6. Displaying the results

[0198] The ranking results are sent back to the user's device and displayed on the display or voice system inside the autonomous vehicle, allowing the user to quickly find restaurants that meet their criteria.

[0199] Hardware / Software:

[0200] Hardware used: Displays and speakers inside the autonomous vehicle

[0201] Software used: Display system, audio output system

[0202] Examples:

[0203] The user will be shown a list of highly rated Chinese restaurants, including "ABC Restaurant" and "XYZ Restaurant."

[0204] Prompt Sentence Examples

[0205] For example, if a user voice-types, "Find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen," the system will rank and list restaurants that meet the specified criteria.

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

[0207] Step 1:

[0208] The server collects information from multiple online services. Specifically, the server sends requests to the APIs of each online service and receives JSON-formatted data as a response. The input is the API request, and the output is the raw data received from each online service.

[0209] Step 2:

[0210] The server converts the collected information into a unified format. Specifically, a data conversion module in the server converts data provided in different formats into JSON format. The input is raw data, and the output is data converted into a unified format. To create a consistent format, each data field (name, location, price range, rating, type of cuisine, etc.) is aligned to ensure consistency.

[0211] Step 3:

[0212] The server saves the data converted into a unified format in a database. Specifically, the server inserts the data using a database management system such as SQLite. The input is the data converted into a unified format, and the output is the information stored in the database. This completes the dataset for search.

[0213] Step 4:

[0214] The user inputs search criteria into an interface inside the autonomous vehicle. Specifically, the user inputs criteria using voice commands or a touch panel. The input is the search criteria entered by the user (for example, "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen"), and the output is the criteria being sent to the server. The interface includes a voice recognition system and a touch interface.

[0215] Step 5:

[0216] The server searches the database based on the user's input criteria and ranks the information that matches the criteria. Specifically, the server executes an SQL query and sorts the restaurant information by criteria such as rating score, number of reviews, and price range. The input is the search criteria submitted by the user, and the output is a list of ranked restaurant information. This ranking is generated taking into account factors such as rating score and number of reviews.

[0217] Step 6:

[0218] The server returns the ranking results to the user terminal inside the autonomous vehicle. Specifically, the ranking information generated by the server is sent to the user terminal and presented to the user via a display or audio output device. The input is a list of ranked restaurant information, and the output is the information displayed on the user terminal.

[0219] Step 7:

[0220] The user makes a selection based on the presented ranking results and decides on their subsequent actions. Specifically, the user selects a restaurant they like and prepares to head to that location using the autonomous vehicle's navigation system. The input is the user's selection, and the output is navigation information to the selected restaurant.

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

[0222] The present invention provides a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[0223] Program processing

[0224] 1. The server collects information from multiple online services

[0225] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[0226] 2. The server converts the collected information into a unified format and stores it in a database.

[0227] The information collected by the server is converted into a unified format (e.g., JSON format) because each service uses a different data format. During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0228] 3. The user enters the conditions from the terminal.

[0229] Users access applications or websites from devices such as smartphones or PCs and enter search criteria (e.g., budget, genre, location information, etc.). At this time, it is also possible to input or detect the user's emotional state (e.g., joy, sadness, anger, etc.).

[0230] 4. The server recognizes the user's emotions using an emotion engine.

[0231] The server uses an emotion engine to recognize emotions from user input and actions. The emotion engine extracts and analyzes emotion data from the user's text, facial expressions, voice, etc. The recognized emotion data is stored in a database.

[0232] 5. The server queries the database based on the user's criteria and sentiment.

[0233] The server generates an SQL query based on the user's input criteria and the recognized emotion, and searches the database to extract restaurant information that matches the user's criteria and emotion.

[0234] 6. The server evaluates the search results and generates a ranking

[0235] The restaurant information obtained as search results is evaluated based on the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is then formatted in a way that is easy for users to view.

[0236] 7. The server sends the ranking results back to the user's device.

[0237] The generated ranking results are sent back to the user's device and provided in an easily accessible format (e.g., JSON), allowing the user to check the ranking results on their application or website.

[0238] 8. Users act on the results

[0239] Users can select the restaurant they are interested in from the list of suggested restaurants, go directly to the reservation page, check the map information, and even provide feedback after their visit.

[0240] 9. Users provide feedback after their visit

[0241] Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurants they visit and input it into the system. This feedback is sent to the server.

[0242] 10. The server stores user feedback and sentiment data in a database for future searches and suggestions.

[0243] The server stores the feedback and sentiment data received from users in a database and uses it to generate future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[0244] Specific examples

[0245] For example, if a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, and their emotional state at that time is recognized as "joy," restaurant information appropriate to this emotional state will be suggested. Furthermore, when ranking restaurants, priority will be given to restaurants that have previously received high ratings in the "joy" emotional state. In this way, a system is provided that responds quickly and accurately to the user's desires and emotions, and supports efficient information search and decision-making.

[0246] The processing flow will be explained below.

[0247] Step 1:

[0248] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[0249] Step 2:

[0250] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0251] Step 3:

[0252] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL, PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[0253] Step 4:

[0254] The user inputs search criteria from the device. The user accesses an application or website running on their smartphone or PC and inputs search criteria (e.g., budget, genre, location information, etc.). At this time, the user's emotional state (e.g., joy, sadness, anger, etc.) can also be input or detected.

[0255] Step 5:

[0256] The server uses an emotion engine to recognize the user's emotions. The emotion engine extracts and analyzes emotional data from text input, facial expressions, voice, etc. while the user is entering conditions. The recognized emotional data is stored in a database.

[0257] Step 6:

[0258] The server queries the database based on the user's criteria and emotions. The server generates an SQL query based on the criteria entered by the user and the recognized emotion data, and searches the database. This extracts restaurant information that matches the user's criteria and emotions.

[0259] Step 7:

[0260] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated comprehensively, taking into account the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is formatted in a way that is easy for the user to view.

[0261] Step 8:

[0262] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[0263] Step 9:

[0264] The user acts on the results. The user browses the presented ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[0265] Step 10:

[0266] Users provide feedback after their visit. Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurant they visited and input it into the system. This feedback is sent to the server.

[0267] Step 11:

[0268] The server stores the user's feedback and emotion data in a database and uses it for future searches and suggestions.The server stores the user's feedback and emotion data in a database and uses it for future search results and rankings.This can improve the system's accuracy and user satisfaction.

[0269] Example 2

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

[0271] Today, when users search for restaurant information online, there is no system that collects information across multiple online services and then organizes and suggests the results based on the user's criteria and sentiment. Users often have to use multiple services separately, making efficient searches difficult due to the scattered information. Furthermore, the lack of suggestions based on user sentiment can lead to lower user satisfaction. Furthermore, feedback from users after a visit is often not utilized in future searches or suggestions.

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

[0273] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for users to input their search criteria and emotions. This allows users to efficiently search for restaurant information, and the search results are ranked based on the user's search criteria and emotions, improving user satisfaction. Furthermore, feedback from users' visits can be utilized in their next search and suggestions, improving the accuracy and convenience of the system.

[0274] "Online services" are various services provided via the Internet, such as providing restaurant information and review information.

[0275] "Means of collecting information" refers to the technical methods and systems used to obtain the necessary information and collect data from multiple online services.

[0276] A "uniform format" refers to a standardized data format for converting information provided in different formats and structures into a common format or structure.

[0277] A "database" is a collection of digital data that efficiently stores and manages collected information.

[0278] "Conditions" refer to the search criteria or requirements specified by a user when searching for information.

[0279] "Emotion" is data that indicates the psychological state of the user, and includes emotional states such as joy and sadness.

[0280] "Ranking methods" refers to technical methods and algorithms used to evaluate and rank information based on criteria and sentiment.

[0281] A "terminal" is a device that allows a user to input information and check the results, including smartphones and PCs.

[0282] "Feedback" refers to information such as ratings, reviews, and emotional states provided by users.

[0283] "Methods used in search and suggestions" refers to the technical methods and systems used to reflect feedback information provided by users in the next search or suggestion.

[0284] This invention relates to a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[0285] The server first collects information from multiple online services (e.g., restaurant information services, review sites) by sending requests to each service's API. Specifically, it uses Python's "requests" library to obtain the data. If necessary, web scraping tools such as "Beautiful Soup" or "Selenium" can also be used.

[0286] The server then converts the collected information into a unified format and stores it in a database. Examples of software used for this include the Python "pandas" library and "json" module. For example, "pandas" can be used to convert data in different formats into a data frame, and then that data can be converted into "json" format. This allows the data obtained from each service to be formatted into a unified format and stored in a database such as "MongoDB."

[0287] Users access the system's application or website using a device such as a smartphone or PC. At the same time as entering search criteria (e.g., budget, genre, location, etc.), they can also enter their emotional state (e.g., joy, sadness, etc.) or have it automatically detected using an emotion recognition API. Emotion recognition can be achieved using services such as "IBM Watson (registered trademark)" and "Affectiva."

[0288] The server stores the user's emotional state analyzed by the emotion engine in a database and generates an SQL query based on the user's input conditions and the recognized emotion. For example, by issuing a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" to PostgreSQL, restaurant information matching the conditions and emotion can be extracted from the database.

[0289] The server then evaluates the search results and generates a ranking. This evaluation uses machine learning libraries such as "scikit-learn" to calculate a comprehensive score. The ranking is generated based on the obtained score and formatted in a user-friendly format.

[0290] Finally, the server returns the ranking results to the user's device. The ranking results are returned in JSON format, and the user can check the results on an application or website. The user can select a restaurant they are interested in from the presented list of restaurants, then access the reservation page or check the map information.

[0291] For example, if a user searches for "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen" and their emotional state is recognized as "joy," the system will suggest the most suitable restaurant information based on the user's preferences and emotions. The system can also provide feedback on the restaurants the user has visited, which will be saved in the database and used for future searches and suggestions.

[0292] Example prompt: "The user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3000 yen. Their emotional state is joy. What kind of restaurant would you suggest?"

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

[0294] Program processing flow

[0295] Step 1:

[0296] The server collects information from multiple online services

[0297] The server uses Python's "requests" library to send requests to the APIs of each online service to collect restaurant information. For example, it calls the API of a restaurant information service to obtain data such as restaurant name, address, rating, and price range. It also uses web scraping technology with the "Beautiful Soup" library to extract the necessary information from specific websites.

[0298] (Input): API request and web scraping configuration information

[0299] (Output): Raw data in "JSON" or "HTML" format

[0300] Step 2:

[0301] The server converts the collected information into a unified format and stores it in a database.

[0302] The server uses the pandas library to convert the collected information into a data frame, then uses the json module to format it into a unified format. For example, it maps data from different services into common fields. It also removes unnecessary fields and incorrect data and stores it in a database such as MongoDB.

[0303] (Input): Collected restaurant information (raw data in JSON or HTML format)

[0304] (Output): Restaurant information data in a unified format (stored in a database)

[0305] Step 3:

[0306] The user inputs the condition and emotion from the terminal.

[0307] Users access the system's application or website on their smartphone or PC and enter search criteria (e.g., budget, genre, location, etc.) and emotional state (e.g., joy, sadness, etc.). Emotion input can be done manually or automatically detected using emotion recognition APIs.

[0308] (Input): User's search criteria and emotional state

[0309] (Output): Data input to the system

[0310] Step 4:

[0311] The server recognizes the user's emotions using an emotion engine.

[0312] The server uses emotion recognition APIs such as IBM Watson and Affectiva to extract emotional data from the user's text, facial expressions, and voice. For example, if a user types, "Today is a special day, so I want to have a special meal," the emotion engine will recognize this as "joy." The recognized emotional data is stored in a database.

[0313] (Input): User emotion input data (text, image, voice, etc.)

[0314] (Output): Recognized emotion data (stored in database)

[0315] Step 5:

[0316] The server queries the database based on the user's criteria and sentiment.

[0317] The server generates an SQL query based on the conditions entered by the user and the recognized emotion. For example, it executes a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" on PostgreSQL to retrieve relevant restaurant information from the database.

[0318] (Input): User search terms and perceived sentiment

[0319] (Output): Restaurant information that matches the conditions and sentiment (query results)

[0320] Step 6:

[0321] The server evaluates the search results and generates a ranking

[0322] The server uses a machine learning algorithm to perform a comprehensive evaluation of the restaurant information obtained as search results, based on factors such as rating score, number of reviews, price range, and the user's emotional state. This is done using the "scikit-learn" library. Based on the obtained rating score, the restaurant is ranked and formatted in a user-friendly format.

[0323] (Input): Restaurant information from query results

[0324] (Output): Overall ranking information

[0325] Step 7:

[0326] The server sends the ranking results back to the user's device.

[0327] The server returns the generated ranking results in JSON format to the user's device via an HTTP response, allowing the user to view the ranking results in an application or website.

[0328] (Input): Ranking information

[0329] (Output): Sending ranking information to the user's device

[0330] Step 8:

[0331] Users act on the results

[0332] Users can select a restaurant they are interested in from the list of restaurants presented, then directly access the reservation page or check the map information, specifically by displaying the location information using the Google Maps API or clicking on a link to the reservation system.

[0333] (Input): Ranking results

[0334] (Output): User actions (reservations, map check, etc.)

[0335] Step 9:

[0336] Users provide feedback after their visit

[0337] Users provide feedback about the restaurants they visit by entering information such as ratings, reviews, and emotional state using a form on the system's app or website. The provided feedback is then sent to the server.

[0338] (Input): User feedback information

[0339] (Output): Sending feedback information to the system

[0340] Step 10:

[0341] The server stores user feedback and sentiment data in a database for future searches and suggestions.

[0342] The server stores the feedback and emotional data received from users in a database. This data is used for future search results and rankings. For example, stores that have previously received high ratings for the "joy" emotional state will be displayed preferentially.

[0343] (Input): User feedback and sentiment data

[0344] (Output): Feedback and sentiment data stored in a database for future searches and suggestions.

[0345] (Application example 2)

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

[0347] Conventional information suggestion systems are unable to take into account the user's specific emotional state when making information suggestions, resulting in low user satisfaction in many cases. Furthermore, while there is a need to optimize the user experience by utilizing emotional data, no system exists that effectively achieves this. This makes it difficult to make personalized information suggestions that are tailored to each individual user.

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

[0349] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for recognizing the user's emotional state, means for searching the database based on the recognized emotion and the input conditions and ranking information that matches the conditions and emotion, and means for returning the ranking results to the user's terminal, thereby enabling personalized information suggestions based on the user's emotions.

[0350] "Online services" are services that provide users with various data and functions provided via the Internet.

[0351] "Methods of collecting information" refers to the methods and tools used to obtain the required data from the designated online services, including the use of APIs and web scraping techniques.

[0352] "Uniform format" refers to a standardized data format for transforming data collected from diverse sources into a consistent format. Examples include JSON and XML.

[0353] A "database" refers to a system for storing collected data and efficiently searching and manipulating it. This includes relational databases and NoSQL databases.

[0354] "Means for entering criteria" refers to the interface through which users enter search criteria or requests into the system, including smartphone apps and website forms.

[0355] "Means of recognizing emotional state" refers to technologies and algorithms that analyze a user's current emotions and extract data, including facial recognition, voice analysis, and text analysis.

[0356] "Ranking methods" refer to algorithms or methods for evaluating and sorting collected data based on specific criteria. They are mechanisms for determining which information to display at the top.

[0357] "Device" refers to any electronic device used by a user to receive or enter information, including smartphones, tablets, and personal computers.

[0358] "Feedback" refers to information that users provide to the system about their experiences and feelings, including ratings, reviews, and additional comments.

[0359] This invention is a system that takes into account the emotional state of the user and makes optimal suggestions to the user based on information collected from online services. The program of this system is configured as follows.

[0360] First, the server collects information from multiple online services. This information is collected through the APIs of each online service (e.g., content streaming services, blogs, etc.). It can also obtain information using web scraping if necessary. This allows the latest information from each service to be collected efficiently.

[0361] The server then converts the collected information into a unified format. Because the data formats from each service are different, the server converts this into a unified format (for example, JSON format). During the conversion, it extracts necessary fields (for example, title, genre, rating, price range, etc.) and removes unnecessary data and formatting errors. The unified data is then stored in a database.

[0362] Users input conditions (e.g., budget, genre, viewing time, etc.) from devices such as smartphones or tablets. In addition, the smartphone's camera, microphone, and text input are used to recognize the user's emotional state. An emotion engine (e.g., Emotion API) is used to extract and analyze emotional data from facial expressions, tone of voice, and text messages.

[0363] The server searches the database based on the recognized emotion and the conditions entered by the user. It generates a ranking by taking into account the evaluation score, number of reviews, genre similarity, and the user's emotional state, etc., the information obtained as search results. This ranking is sent back to the user's device and provided in an easy-to-read format (e.g., JSON format).

[0364] Users can act on the suggested information and provide feedback, which is sent to the server and stored in a database to further optimize future suggestions and search results.

[0365] As a specific example, if a user is searching for "animated movies that can be viewed within a budget of 1,500 yen" and their current emotional state is recognized as "joy," the system will suggest the most suitable animated movie based on this. Furthermore, when ranking the movies, movies that have previously received high ratings in the "joy" emotional state will be displayed preferentially. In this way, a system can be provided that responds quickly and accurately to the user's wishes and emotions, and supports efficient information search and decision-making.

[0366] An example of a prompt for a generative AI model is, "Please suggest some animated movies that are available for viewing within a budget of 1500 yen. Your current emotional state is 'joy.'" Using this prompt allows the system to make optimal suggestions to the user.

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

[0368] Step 1:

[0369] The server collects information using the APIs of multiple online services. Specifically, it sends API requests to obtain the necessary data from movie and music streaming services, blogs, etc. Web scraping is also performed as needed. The input is the API endpoint of each online service, and the output is the obtained information data (e.g., JSON format).

[0370] Step 2:

[0371] The server converts the collected information into a unified format. Specifically, because the data obtained from each service has different formats, it converts them into a unified format (e.g., JSON format). At this time, it extracts necessary fields (e.g., title, genre, rating, price range, etc.) and removes unnecessary data and format errors. The input is the collected information data, and the output is the data converted into a unified format.

[0372] Step 3:

[0373] The server saves the converted data in a database. Specifically, the data converted into a unified format is stored in a relational database or a NoSQL database. The input is the data converted into a unified format, and the output is the data saved in the database.

[0374] Step 4:

[0375] The user inputs search criteria from a device (smartphone or tablet). Specifically, the user inputs search criteria (e.g., genre, budget, viewing time, etc.) through a user interface. The input is search criteria information from the user, and the output is condition data sent to the server.

[0376] Step 5:

[0377] The device uses sensors to recognize the user's emotional state. Specifically, it uses an emotion engine to extract emotional data from data acquired from the smartphone's camera and microphone. The input is the user's facial expression, voice, and text data, and the output is the recognized emotional data.

[0378] Step 6:

[0379] The server searches the database based on the recognized emotion and the conditions entered by the user. Specifically, it generates an SQL query based on this data and extracts matching information from the database. The input is the condition data and emotion data, and the output is the search result data.

[0380] Step 7:

[0381] The server generates a ranking by comprehensively evaluating the search results, taking into account the evaluation score, number of reviews, degree of genre agreement, and the user's emotional state. Specifically, it assigns weights to each item and generates a ranking based on scoring logic. The input is search result data, and the output is ranking data.

[0382] Step 8:

[0383] The server returns the generated ranking results to the user's device. Specifically, it returns the ranking results in an easy-to-read format such as JSON format and displays them on the user interface. The input is the ranking data, and the output is the ranking results displayed on the user's device.

[0384] Step 9:

[0385] The user acts on the proposed information and provides feedback. Specifically, the user inputs ratings and reviews for the content they viewed and sends them to the server. The input is the user's ratings and reviews, and the output is the feedback data sent to the server.

[0386] Step 10:

[0387] The server stores the provided feedback and emotion data in a database for future searches and suggestions. Specifically, it analyzes the feedback data and stores it in the database to adapt the system's algorithms. The input is the feedback and emotion data, and the output is the updated data stored in the database.

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

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

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

[0391] [Second embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0404] The present invention is a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions. Specific embodiments of this system will be described below.

[0405] Program processing

[0406] 1. The server collects information from multiple online services

[0407] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[0408] 2. The server converts the collected information into a unified format and stores it in a database.

[0409] The information collected by the server is converted into a unified format (e.g., JSON format) because each service has a different data format. The converted data is stored in a database and used for subsequent searches and suggestions. At this time, incomplete and duplicate data is removed to maintain data consistency.

[0410] 3. The user enters the conditions from the terminal.

[0411] Users access an application or website from their own device (such as a smartphone or PC) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station."

[0412] 4. The server searches the database based on the entered criteria and ranks the information that matches the criteria.

[0413] The server searches the database based on the criteria entered by the user, extracts restaurant information that matches the criteria, and generates a ranking for each restaurant, taking into account factors such as rating score, number of reviews, and price range. This ranking is then presented to the user in an easy-to-read format.

[0414] 5. The server sends the ranking results back to the user's device.

[0415] The ranking results are sent back to the user's device and displayed on the user's screen. The user can then view the list of suggested restaurants and check their details.

[0416] 6. Users act on the results

[0417] Users can select their favorite restaurant from the list of suggested restaurants, then access the reservation page, check map information, and provide feedback on the restaurant they visited.

[0418] Specific examples

[0419] For example, suppose a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen. When the user enters this condition on their smartphone, the server searches for and ranks restaurants that meet the condition based on information previously collected and stored in a database from various online services. Ultimately, the user receives a list of highly rated Chinese restaurants, and can select one to visit after checking the details.

[0420] The present invention provides a system that responds to user requests quickly and accurately and supports efficient information retrieval and decision-making.

[0421] The processing flow will be explained below.

[0422] Step 1:

[0423] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[0424] Step 2:

[0425] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0426] Step 3:

[0427] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL, PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[0428] Step 4:

[0429] The user enters search criteria from their device. The user accesses an application or website running on their smartphone or PC and enters search criteria (e.g., budget, genre, location, etc.). The entered criteria are sent to the server.

[0430] Step 5:

[0431] The server queries the database based on the user's criteria. The server generates an SQL query based on the criteria entered by the user and searches the database. This search extracts restaurant information that matches the user's criteria.

[0432] Step 6:

[0433] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated based on factors such as rating score, number of reviews, and price range, and a ranking is generated. This ranking is formatted in a way that is easy for users to view.

[0434] Step 7:

[0435] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[0436] Step 8:

[0437] The user acts on the results. The user browses the provided ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[0438] Step 9:

[0439] After a visit, the user provides feedback (e.g., rating, review, etc.) about the restaurant they visited and enters it into the system. This feedback is sent to the server.

[0440] Step 10:

[0441] The server stores the user's feedback in a database and uses it for future searches and suggestions.The server stores the user's feedback in a database and uses it for future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[0442] Example 1

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

[0444] Conventional information search systems have issues such as insufficient integration of information collection from multiple online services, ensuring data consistency, searches based on various user criteria, displaying rankings, and utilizing user feedback, making it difficult for users to quickly and accurately obtain the information they need.

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

[0446] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for searching the database based on the input conditions and ranking information that matches the conditions, and means for returning the ranking results to the user's terminal.This makes it possible to efficiently and accurately collect, search, and display information based on the user's conditions, and to support the user's decision-making.

[0447] "Online services" are various information services provided via the Internet.

[0448] "Means for collecting information" refers to the methods or functions for obtaining the necessary data from multiple online services.

[0449] A "uniform format" is a standard data format for converting collected information into a consistent format.

[0450] A "database" is a storage system that can efficiently manage and search large amounts of information.

[0451] "Means for inputting conditions" refers to a method or interface that allows a user to specify search conditions to the system.

[0452] A "means for searching a database" is a function that extracts information from a database based on conditions entered by the user.

[0453] A "means for ranking information" is a method or function for ranking extracted information based on a particular evaluation criterion.

[0454] The "means for returning ranking results" is a method or function for transmitting the ranking information to the user's terminal.

[0455] "Web scraping" is the technique of automatically extracting data from web pages.

[0456] "API" is an abbreviation for Application Programming Interface, an interface that allows software applications to communicate with each other.

[0457] A "rating score" is a number calculated based on user reviews and ratings.

[0458] "Number of reviews" refers to the total number of ratings and comments posted by users about a particular service or product.

[0459] "Price range" is an indicator of the range of prices for a particular product or service.

[0460] A "browser" is software used to display and view web pages on the Internet.

[0461] An "application" is a software program designed to perform a specific function.

[0462] "Feedback" refers to ratings and comments provided by users after use.

[0463] MODE FOR CARRYING OUT THE INVENTION

[0464] This invention is a system that collects information from multiple online services and aggregates and suggests results based on user requirements. This system implements a series of processes including information collection, data conversion and storage, user input, conditional search and ranking, result display, and user feedback.

[0465] Information gathering

[0466] The server sends requests to API endpoints to gather information from multiple online services, such as the Google Places API and the API for a restaurant information service, and, if necessary, uses web scraping tools such as BeautifulSoup or Selenium to retrieve data from websites.

[0467] Data conversion and storage

[0468] The information collected by the server is provided in different formats, so it is converted into a unified format (e.g., JSON format). The converted data is then stored in a database such as MongoDB or MySQL. At this time, the data is checked for consistency and incomplete and duplicate data is removed.

[0469] User Input

[0470] Users access the application or website from their own devices (such as smartphones or PCs) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station." This communicates the user's specific needs to the system.

[0471] Conditional search and ranking

[0472] The server searches the database based on the criteria entered by the user, taking into account information such as rating score, number of reviews, and price range, and ranks information that matches the criteria. To achieve this efficiently, search engines such as Elasticsearch are often used.

[0473] Results display

[0474] The ranking results are sent back to the user's device in JSON format, where they are displayed in a browser or a dedicated application. Frameworks such as React and Vue.js are sometimes used to display the front-end.

[0475] User Feedback

[0476] Users can act on the suggestions and then provide feedback, which is then stored in a database and used to improve future search results.

[0477] Specific examples

[0478] For example, if a user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, they can enter this information on their smartphone, and the server will search for and rank restaurants that meet the criteria based on information from various online services that has been collected and stored in a database in advance. Ultimately, the user will receive a list of highly rated Chinese restaurants, and after checking the details, they can select one to visit.

[0479] Prompt Sentence Examples

[0480] For example, consider the following input:

[0481] "I'm looking for a Chinese restaurant near Tokyo Station that costs under 3,000 yen. Can you recommend a good one?"

[0482] By inputting this prompt into a generative AI model, suggestions for stores that meet the user's requirements can be obtained. In this way, the present invention responds to user requests quickly and accurately, supporting efficient information search and decision-making.

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

[0484] Step 1:

[0485] The server collects information from the online service.

[0486] The server first sends GET requests to the API endpoints of multiple online services. For example, the API of a restaurant information service is used to obtain information about restaurants in a specific area. The region and category are specified as input for this request, and the JSON-formatted response returned by the API is the output. If necessary, a web scraping tool (e.g., BeautifulSoup, Selenium) is used to extract data from web pages. In this case, data is collected based on the target URL and HTML structure.

[0487] Step 2:

[0488] The server converts the collected information into a unified format and stores it in a database.

[0489] Since the collected information is provided in different formats, the server converts it into a unified format (e.g., JSON format). Specifically, it analyzes the JSON responses obtained from the API and data obtained through web scraping, extracts and formats the necessary fields, and then enters this processed data and stores it in a database. When storing the data, a database such as MongoDB or MySQL is used, and the data consistency is checked, and incomplete and duplicate data is removed.

[0490] Step 3:

[0491] The user inputs the conditions from the terminal.

[0492] A user accesses a website or application from their device and enters specific criteria into a form, such as budget, type of cuisine, location, etc. Once these criteria are sent to the server, the server begins searching for information based on those criteria.

[0493] Step 4:

[0494] The server searches the database based on the entered conditions and ranks the information that matches the conditions.

[0495] The server searches the database based on the criteria entered by the user. This search process uses a search engine such as Elasticsearch to efficiently extract data. The search results are ranked based on factors such as rating score, number of reviews, and price range. The entered criteria are used as the search query, and the rating factors are fed into a ranking algorithm. The output is information that matches the criteria and is sorted by highest rating.

[0496] Step 5:

[0497] The server returns the ranking results to the user's terminal.

[0498] The server returns the ranked results in JSON format to the user's device, which then displays the results in an easy-to-read format. Specifically, front-end frameworks such as React and Vue.js are used to visually present the ranking results to the user in a browser or application.

[0499] Step 6:

[0500] Users act on the results.

[0501] The user selects the restaurant they want to visit based on the returned ranking results. Once this selection information is entered, the user can check detailed information, access the reservation page, and check map information. After visiting a restaurant, the user can also provide feedback, which is saved in the database and used to improve the accuracy of future search results.

[0502] (Application example 1)

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

[0504] To enhance user comfort and efficiency in autonomous vehicles, there is a growing need for systems that can quickly provide up-to-date information about restaurants and services near the user's current location and present optimal options based on the user's search criteria. However, achieving this requires technology that collects information from multiple sources, converts it into a unified format to create a consistent database, and efficiently searches and ranks information that matches the user's search criteria. In particular, when used in autonomous vehicles, it is important that the search criteria input and result presentation be intuitive and user-friendly.

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

[0506] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for the user to input search criteria from inside the vehicle using voice or a touch interface. This allows the user to intuitively input search criteria inside the autonomous vehicle and quickly obtain the latest information on restaurants and other services that match the criteria.

[0507] "Multiple online services" are web-based platforms such as restaurant information services and review sites provided via the Internet.

[0508] "Means of collecting information" refers to the way the server obtains data from various online services using API requests or web scraping.

[0509] "Unified format" refers to converting different data formats obtained from each online service into a common data format (e.g., JSON format).

[0510] A "database" is a digital storage system that converts collected information into a unified format and stores it.

[0511] "User device" refers to an electronic device that allows a user to input and view information, such as a smartphone, tablet, or in-vehicle display.

[0512] "Entered Criteria" refers to information that a user enters into an application by specifying certain filters or search criteria (e.g., budget, type of cuisine, location).

[0513] "Means for ranking information that meets conditions" refers to a method for ranking information in a database based on criteria such as evaluation score or number of reviews, based on conditions entered by the user.

[0514] The "ranking results" are a list of information that best matches the specified conditions, and are presented to the user.

[0515] "Means for returning to the user terminal in the autonomous vehicle" refers to a method for transmitting information processed by the server to the user terminal installed in the autonomous vehicle.

[0516] A "voice or touch interface" is an interface that allows users to input search criteria using voice commands or touch panel operations.

[0517] "Integrity" refers to ensuring the accuracy and consistency of data.

[0518] "Methods for removing incomplete and duplicate data" refers to methods for detecting and removing missing or duplicate records from collected data sets.

[0519] An "entertainment system" is a system installed in an autonomous vehicle that provides information through video and audio.

[0520] "Feedback" refers to opinions such as ratings and comments provided by users after using the service.

[0521] This invention is a system that provides information on restaurants and services based on conditions entered by a user in an autonomous vehicle. The system consists of a server, a user terminal, a database, and an entertainment system.

[0522] Program processing

[0523] 1. Information gathering

[0524] The server sends requests to the APIs of multiple online services (restaurant information services, review sites, etc.) to collect information, with the assistance of web scraping.

[0525] Hardware / Software:

[0526] Hardware used: Server

[0527] Software used: Python, REST API, web scraping tool

[0528] Examples:

[0529] For example, use the Google Places API or Yelp API to obtain information about restaurants around Tokyo Station.

[0530] 2. Data format conversion

[0531] The server converts the collected information into a unified format (e.g., JSON), which allows data from different services to be aligned and stored in a consistent format.

[0532] Hardware / Software:

[0533] Hardware used: Server

[0534] Software used: JSON parser, data conversion module

[0535] Examples:

[0536] Analyze the data obtained from the Google Places API and store it in a database in a unified format.

[0537] 3. Database storage

[0538] The server stores the data in a unified format in a database, which is used for searches and suggestions within the autonomous vehicle.

[0539] Hardware / Software:

[0540] Hardware used: Server, database server

[0541] Software used: SQLite, database management system

[0542] Examples:

[0543] The collected restaurant names, locations, price ranges, ratings, and types of food served are stored in a database.

[0544] 4. Enter search criteria

[0545] Users enter search criteria using the interface (voice or touch panel) inside the autonomous vehicle.

[0546] Hardware / Software:

[0547] Hardware used: Display and microphone inside the autonomous vehicle

[0548] Software used: Voice recognition system, touch interface

[0549] Examples:

[0550] The user speaks, "Please find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen."

[0551] 5. Letter Ranking

[0552] The server searches the database based on the user's input and ranks the results, taking into account factors such as rating score, number of reviews, and price range.

[0553] Hardware / Software:

[0554] Hardware used: Server

[0555] Software used: SQL queries, ranking algorithms

[0556] Examples:

[0557] Based on the criteria "near Tokyo Station," "budget under 3,000 yen," and "Chinese cuisine," the app searches for restaurant information that matches the criteria and sorts them in order of highest rating.

[0558] 6. Displaying the results

[0559] The ranking results are sent back to the user's device and displayed on the display or voice system inside the autonomous vehicle, allowing the user to quickly find restaurants that meet their criteria.

[0560] Hardware / Software:

[0561] Hardware used: Displays and speakers inside the autonomous vehicle

[0562] Software used: Display system, audio output system

[0563] Examples:

[0564] The user will be shown a list of highly rated Chinese restaurants, including "ABC Restaurant" and "XYZ Restaurant."

[0565] Prompt Sentence Examples

[0566] For example, if a user voice-types, "Find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen," the system will rank and list restaurants that meet the specified criteria.

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

[0568] Step 1:

[0569] The server collects information from multiple online services. Specifically, the server sends requests to the APIs of each online service and receives JSON-formatted data as a response. The input is the API request, and the output is the raw data received from each online service.

[0570] Step 2:

[0571] The server converts the collected information into a unified format. Specifically, a data conversion module in the server converts data provided in different formats into JSON format. The input is raw data, and the output is data converted into a unified format. To create a consistent format, each data field (name, location, price range, rating, type of cuisine, etc.) is aligned to ensure consistency.

[0572] Step 3:

[0573] The server saves the data converted into a unified format in a database. Specifically, the server inserts the data using a database management system such as SQLite. The input is the data converted into a unified format, and the output is the information stored in the database. This completes the dataset for search.

[0574] Step 4:

[0575] The user inputs search criteria into an interface inside the autonomous vehicle. Specifically, the user inputs criteria using voice commands or a touch panel. The input is the search criteria entered by the user (for example, "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen"), and the output is the criteria being sent to the server. The interface includes a voice recognition system and a touch interface.

[0576] Step 5:

[0577] The server searches the database based on the user's input criteria and ranks the information that matches the criteria. Specifically, the server executes an SQL query and sorts the restaurant information by criteria such as rating score, number of reviews, and price range. The input is the search criteria submitted by the user, and the output is a list of ranked restaurant information. This ranking is generated taking into account factors such as rating score and number of reviews.

[0578] Step 6:

[0579] The server returns the ranking results to the user terminal inside the autonomous vehicle. Specifically, the ranking information generated by the server is sent to the user terminal and presented to the user via a display or audio output device. The input is a list of ranked restaurant information, and the output is the information displayed on the user terminal.

[0580] Step 7:

[0581] The user makes a selection based on the presented ranking results and decides on their subsequent actions. Specifically, the user selects a restaurant they like and prepares to head to that location using the autonomous vehicle's navigation system. The input is the user's selection, and the output is navigation information to the selected restaurant.

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

[0583] The present invention provides a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[0584] Program processing

[0585] 1. The server collects information from multiple online services

[0586] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[0587] 2. The server converts the collected information into a unified format and stores it in a database.

[0588] The information collected by the server is converted into a unified format (e.g., JSON format) because each service uses a different data format. During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0589] 3. The user enters the conditions from the terminal.

[0590] Users access applications or websites from devices such as smartphones or PCs and enter search criteria (e.g., budget, genre, location information, etc.). At this time, it is also possible to input or detect the user's emotional state (e.g., joy, sadness, anger, etc.).

[0591] 4. The server recognizes the user's emotions using an emotion engine.

[0592] The server uses an emotion engine to recognize emotions from user input and actions. The emotion engine extracts and analyzes emotion data from the user's text, facial expressions, voice, etc. The recognized emotion data is stored in a database.

[0593] 5. The server queries the database based on the user's criteria and sentiment.

[0594] The server generates an SQL query based on the user's input criteria and the recognized emotion, and searches the database to extract restaurant information that matches the user's criteria and emotion.

[0595] 6. The server evaluates the search results and generates a ranking

[0596] The restaurant information obtained as search results is evaluated based on the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is then formatted in a way that is easy for users to view.

[0597] 7. The server sends the ranking results back to the user's device.

[0598] The generated ranking results are sent back to the user's device and provided in an easily accessible format (e.g., JSON), allowing the user to check the ranking results on their application or website.

[0599] 8. Users act on the results

[0600] Users can select the restaurant they are interested in from the list of suggested restaurants, go directly to the reservation page, check the map information, and even provide feedback after their visit.

[0601] 9. Users provide feedback after their visit

[0602] Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurants they visit and input it into the system. This feedback is sent to the server.

[0603] 10. The server stores user feedback and sentiment data in a database for future searches and suggestions.

[0604] The server stores the feedback and sentiment data received from users in a database and uses it to generate future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[0605] Specific examples

[0606] For example, if a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, and their emotional state at that time is recognized as "joy," restaurant information appropriate to this emotional state will be suggested. Furthermore, when ranking restaurants, priority will be given to restaurants that have previously received high ratings in the "joy" emotional state. In this way, a system is provided that responds quickly and accurately to the user's desires and emotions, and supports efficient information search and decision-making.

[0607] The processing flow will be explained below.

[0608] Step 1:

[0609] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[0610] Step 2:

[0611] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0612] Step 3:

[0613] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL, PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[0614] Step 4:

[0615] The user inputs search criteria from the device. The user accesses an application or website running on their smartphone or PC and inputs search criteria (e.g., budget, genre, location information, etc.). At this time, the user's emotional state (e.g., joy, sadness, anger, etc.) can also be input or detected.

[0616] Step 5:

[0617] The server uses an emotion engine to recognize the user's emotions. The emotion engine extracts and analyzes emotional data from text input, facial expressions, voice, etc. while the user is entering conditions. The recognized emotional data is stored in a database.

[0618] Step 6:

[0619] The server queries the database based on the user's criteria and emotions. The server generates an SQL query based on the criteria entered by the user and the recognized emotion data, and searches the database. This extracts restaurant information that matches the user's criteria and emotions.

[0620] Step 7:

[0621] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated comprehensively, taking into account the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is formatted in a way that is easy for the user to view.

[0622] Step 8:

[0623] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[0624] Step 9:

[0625] The user acts on the results. The user browses the presented ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[0626] Step 10:

[0627] Users provide feedback after their visit. Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurant they visited and input it into the system. This feedback is sent to the server.

[0628] Step 11:

[0629] The server stores the user's feedback and emotion data in a database and uses it for future searches and suggestions.The server stores the user's feedback and emotion data in a database and uses it for future search results and rankings.This can improve the system's accuracy and user satisfaction.

[0630] Example 2

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

[0632] Today, when users search for restaurant information online, there is no system that collects information across multiple online services and then organizes and suggests the results based on the user's criteria and sentiment. Users often have to use multiple services separately, making efficient searches difficult due to the scattered information. Furthermore, the lack of suggestions based on user sentiment can lead to lower user satisfaction. Furthermore, feedback from users after a visit is often not utilized in future searches or suggestions.

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

[0634] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for users to input their search criteria and emotions. This allows users to efficiently search for restaurant information, and the search results are ranked based on the user's search criteria and emotions, improving user satisfaction. Furthermore, feedback from users' visits can be utilized in their next search and suggestions, improving the accuracy and convenience of the system.

[0635] "Online services" are various services provided via the Internet, such as providing restaurant information and review information.

[0636] "Means of collecting information" refers to the technical methods and systems used to obtain the necessary information and collect data from multiple online services.

[0637] A "uniform format" refers to a standardized data format for converting information provided in different formats and structures into a common format or structure.

[0638] A "database" is a collection of digital data that efficiently stores and manages collected information.

[0639] "Conditions" refer to the search criteria or requirements specified by a user when searching for information.

[0640] "Emotion" is data that indicates the psychological state of the user, and includes emotional states such as joy and sadness.

[0641] "Ranking methods" refers to technical methods and algorithms used to evaluate and rank information based on criteria and sentiment.

[0642] A "terminal" is a device that allows a user to input information and check the results, including smartphones and PCs.

[0643] "Feedback" refers to information such as ratings, reviews, and emotional states provided by users.

[0644] "Methods used in search and suggestions" refers to the technical methods and systems used to reflect feedback information provided by users in the next search or suggestion.

[0645] This invention relates to a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[0646] The server first collects information from multiple online services (e.g., restaurant information services, review sites) by sending requests to each service's API. Specifically, it uses Python's "requests" library to obtain the data. If necessary, web scraping tools such as "Beautiful Soup" or "Selenium" can also be used.

[0647] The server then converts the collected information into a unified format and stores it in a database. Examples of software used for this include the Python "pandas" library and "json" module. For example, "pandas" can be used to convert data in different formats into a data frame, and then that data can be converted into "json" format. This allows the data obtained from each service to be formatted into a unified format and stored in a database such as "MongoDB."

[0648] Users access the system's application or website using a device such as a smartphone or PC. They input search criteria (e.g., budget, genre, location, etc.) and their emotional state (e.g., joy, sadness, etc.) at the same time, or have it detected automatically using an emotion recognition API. Emotion recognition can be achieved using services such as "IBM Watson" and "Affectiva."

[0649] The server stores the user's emotional state analyzed by the emotion engine in a database and generates an SQL query based on the user's input conditions and the recognized emotion. For example, by issuing a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" to PostgreSQL, restaurant information matching the conditions and emotion can be extracted from the database.

[0650] The server then evaluates the search results and generates a ranking. This evaluation uses machine learning libraries such as "scikit-learn" to calculate a comprehensive score. The ranking is generated based on the obtained score and formatted in a user-friendly format.

[0651] Finally, the server returns the ranking results to the user's device. The ranking results are returned in JSON format, and the user can check the results on an application or website. The user can select a restaurant they are interested in from the presented list of restaurants, then access the reservation page or check the map information.

[0652] For example, if a user searches for "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen" and their emotional state is recognized as "joy," the system will suggest the most suitable restaurant information based on the user's preferences and emotions. The system can also provide feedback on the restaurants the user has visited, which will be saved in the database and used for future searches and suggestions.

[0653] Example prompt: "The user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3000 yen. Their emotional state is joy. What kind of restaurant would you suggest?"

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

[0655] Program processing flow

[0656] Step 1:

[0657] The server collects information from multiple online services

[0658] The server uses Python's "requests" library to send requests to the APIs of each online service to collect restaurant information. For example, it calls the API of a restaurant information service to obtain data such as restaurant name, address, rating, and price range. It also uses web scraping technology with the "Beautiful Soup" library to extract the necessary information from specific websites.

[0659] (Input): API request and web scraping configuration information

[0660] (Output): Raw data in "JSON" or "HTML" format

[0661] Step 2:

[0662] The server converts the collected information into a unified format and stores it in a database.

[0663] The server uses the pandas library to convert the collected information into a data frame, then uses the json module to format it into a unified format. For example, it maps data from different services into common fields. It also removes unnecessary fields and incorrect data and stores it in a database such as MongoDB.

[0664] (Input): Collected restaurant information (raw data in JSON or HTML format)

[0665] (Output): Restaurant information data in a unified format (stored in a database)

[0666] Step 3:

[0667] The user inputs the condition and emotion from the terminal.

[0668] Users access the system's application or website on their smartphone or PC and enter search criteria (e.g., budget, genre, location, etc.) and emotional state (e.g., joy, sadness, etc.). Emotion input can be done manually or automatically detected using emotion recognition APIs.

[0669] (Input): User's search criteria and emotional state

[0670] (Output): Data input to the system

[0671] Step 4:

[0672] The server recognizes the user's emotions using an emotion engine.

[0673] The server uses emotion recognition APIs such as IBM Watson and Affectiva to extract emotional data from the user's text, facial expressions, and voice. For example, if a user types, "Today is a special day, so I want to have a special meal," the emotion engine will recognize this as "joy." The recognized emotional data is stored in a database.

[0674] (Input): User emotion input data (text, image, voice, etc.)

[0675] (Output): Recognized emotion data (stored in database)

[0676] Step 5:

[0677] The server queries the database based on the user's criteria and sentiment.

[0678] The server generates an SQL query based on the conditions entered by the user and the recognized emotion. For example, it executes a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" on PostgreSQL to retrieve relevant restaurant information from the database.

[0679] (Input): User search terms and perceived sentiment

[0680] (Output): Restaurant information that matches the conditions and sentiment (query results)

[0681] Step 6:

[0682] The server evaluates the search results and generates a ranking

[0683] The server uses a machine learning algorithm to perform a comprehensive evaluation of the restaurant information obtained as search results, based on factors such as rating score, number of reviews, price range, and the user's emotional state. This is done using the "scikit-learn" library. Based on the obtained rating score, the restaurant is ranked and formatted in a user-friendly format.

[0684] (Input): Restaurant information from query results

[0685] (Output): Overall ranking information

[0686] Step 7:

[0687] The server sends the ranking results back to the user's device.

[0688] The server returns the generated ranking results in JSON format to the user's device via an HTTP response, allowing the user to view the ranking results in an application or website.

[0689] (Input): Ranking information

[0690] (Output): Sending ranking information to the user's device

[0691] Step 8:

[0692] Users act on the results

[0693] Users can select a restaurant they are interested in from the list of restaurants presented, then directly access the reservation page or check the map information, specifically by displaying the location information using the Google Maps API or clicking on a link to the reservation system.

[0694] (Input): Ranking results

[0695] (Output): User actions (reservations, map check, etc.)

[0696] Step 9:

[0697] Users provide feedback after their visit

[0698] Users provide feedback about the restaurants they visit by entering information such as ratings, reviews, and emotional state using a form on the system's app or website. The provided feedback is then sent to the server.

[0699] (Input): User feedback information

[0700] (Output): Sending feedback information to the system

[0701] Step 10:

[0702] The server stores user feedback and sentiment data in a database for future searches and suggestions.

[0703] The server stores the feedback and emotional data received from users in a database. This data is used for future search results and rankings. For example, stores that have previously received high ratings for the "joy" emotional state will be displayed preferentially.

[0704] (Input): User feedback and sentiment data

[0705] (Output): Feedback and sentiment data stored in a database for future searches and suggestions.

[0706] (Application example 2)

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

[0708] Conventional information suggestion systems are unable to take into account the user's specific emotional state when making information suggestions, resulting in low user satisfaction in many cases. Furthermore, while there is a need to optimize the user experience by utilizing emotional data, no system exists that effectively achieves this. This makes it difficult to make personalized information suggestions that are tailored to each individual user.

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

[0710] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for recognizing the user's emotional state, means for searching the database based on the recognized emotion and the input conditions and ranking information that matches the conditions and emotion, and means for returning the ranking results to the user's terminal, thereby enabling personalized information suggestions based on the user's emotions.

[0711] "Online services" are services that provide users with various data and functions provided via the Internet.

[0712] "Methods of collecting information" refers to the methods and tools used to obtain the required data from the designated online services, including the use of APIs and web scraping techniques.

[0713] "Uniform format" refers to a standardized data format for transforming data collected from diverse sources into a consistent format. Examples include JSON and XML.

[0714] A "database" refers to a system for storing collected data and efficiently searching and manipulating it. This includes relational databases and NoSQL databases.

[0715] "Means for entering criteria" refers to the interface through which users enter search criteria or requests into the system, including smartphone apps and website forms.

[0716] "Means of recognizing emotional state" refers to technologies and algorithms that analyze a user's current emotions and extract data, including facial recognition, voice analysis, and text analysis.

[0717] "Ranking methods" refer to algorithms or methods for evaluating and sorting collected data based on specific criteria. They are mechanisms for determining which information to display at the top.

[0718] "Device" refers to any electronic device used by a user to receive or enter information, including smartphones, tablets, and personal computers.

[0719] "Feedback" refers to information that users provide to the system about their experiences and feelings, including ratings, reviews, and additional comments.

[0720] This invention is a system that takes into account the emotional state of the user and makes optimal suggestions to the user based on information collected from online services. The program of this system is configured as follows.

[0721] First, the server collects information from multiple online services. This information is collected through the APIs of each online service (e.g., content streaming services, blogs, etc.). It can also obtain information using web scraping if necessary. This allows the latest information from each service to be collected efficiently.

[0722] The server then converts the collected information into a unified format. Because the data formats from each service are different, the server converts this into a unified format (for example, JSON format). During the conversion, it extracts necessary fields (for example, title, genre, rating, price range, etc.) and removes unnecessary data and formatting errors. The unified data is then stored in a database.

[0723] Users input conditions (e.g., budget, genre, viewing time, etc.) from devices such as smartphones or tablets. In addition, the smartphone's camera, microphone, and text input are used to recognize the user's emotional state. An emotion engine (e.g., Emotion API) is used to extract and analyze emotional data from facial expressions, tone of voice, and text messages.

[0724] The server searches the database based on the recognized emotion and the conditions entered by the user. It generates a ranking by taking into account the evaluation score, number of reviews, genre similarity, and the user's emotional state, etc., the information obtained as search results. This ranking is sent back to the user's device and provided in an easy-to-read format (e.g., JSON format).

[0725] Users can act on the suggested information and provide feedback, which is sent to the server and stored in a database to further optimize future suggestions and search results.

[0726] As a specific example, if a user is searching for "animated movies that can be viewed within a budget of 1,500 yen" and their current emotional state is recognized as "joy," the system will suggest the most suitable animated movie based on this. Furthermore, when ranking the movies, movies that have previously received high ratings in the "joy" emotional state will be displayed preferentially. In this way, a system can be provided that responds quickly and accurately to the user's wishes and emotions, and supports efficient information search and decision-making.

[0727] An example of a prompt for a generative AI model is, "Please suggest some animated movies that are available for viewing within a budget of 1500 yen. Your current emotional state is 'joy.'" Using this prompt allows the system to make optimal suggestions to the user.

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

[0729] Step 1:

[0730] The server collects information using the APIs of multiple online services. Specifically, it sends API requests to obtain the necessary data from movie and music streaming services, blogs, etc. Web scraping is also performed as needed. The input is the API endpoint of each online service, and the output is the obtained information data (e.g., JSON format).

[0731] Step 2:

[0732] The server converts the collected information into a unified format. Specifically, because the data obtained from each service has different formats, it converts them into a unified format (e.g., JSON format). At this time, it extracts necessary fields (e.g., title, genre, rating, price range, etc.) and removes unnecessary data and format errors. The input is the collected information data, and the output is the data converted into a unified format.

[0733] Step 3:

[0734] The server saves the converted data in a database. Specifically, the data converted into a unified format is stored in a relational database or a NoSQL database. The input is the data converted into a unified format, and the output is the data saved in the database.

[0735] Step 4:

[0736] The user inputs search criteria from a device (smartphone or tablet). Specifically, the user inputs search criteria (e.g., genre, budget, viewing time, etc.) through a user interface. The input is search criteria information from the user, and the output is condition data sent to the server.

[0737] Step 5:

[0738] The device uses sensors to recognize the user's emotional state. Specifically, it uses an emotion engine to extract emotional data from data acquired from the smartphone's camera and microphone. The input is the user's facial expression, voice, and text data, and the output is the recognized emotional data.

[0739] Step 6:

[0740] The server searches the database based on the recognized emotion and the conditions entered by the user. Specifically, it generates an SQL query based on this data and extracts matching information from the database. The input is the condition data and emotion data, and the output is the search result data.

[0741] Step 7:

[0742] The server generates a ranking by comprehensively evaluating the search results, taking into account the evaluation score, number of reviews, degree of genre agreement, and the user's emotional state. Specifically, it assigns weights to each item and generates a ranking based on scoring logic. The input is search result data, and the output is ranking data.

[0743] Step 8:

[0744] The server returns the generated ranking results to the user's device. Specifically, it returns the ranking results in an easy-to-read format such as JSON format and displays them on the user interface. The input is the ranking data, and the output is the ranking results displayed on the user's device.

[0745] Step 9:

[0746] The user acts on the proposed information and provides feedback. Specifically, the user inputs ratings and reviews for the content they viewed and sends them to the server. The input is the user's ratings and reviews, and the output is the feedback data sent to the server.

[0747] Step 10:

[0748] The server stores the provided feedback and emotion data in a database for future searches and suggestions. Specifically, it analyzes the feedback data and stores it in the database to adapt the system's algorithms. The input is the feedback and emotion data, and the output is the updated data stored in the database.

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

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

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

[0752] [Third embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0765] The present invention is a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions. Specific embodiments of this system will be described below.

[0766] Program processing

[0767] 1. The server collects information from multiple online services

[0768] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[0769] 2. The server converts the collected information into a unified format and stores it in a database.

[0770] The information collected by the server is converted into a unified format (e.g., JSON format) because each service has a different data format. The converted data is stored in a database and used for subsequent searches and suggestions. At this time, incomplete and duplicate data is removed to maintain data consistency.

[0771] 3. The user enters the conditions from the terminal.

[0772] Users access an application or website from their own device (such as a smartphone or PC) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station."

[0773] 4. The server searches the database based on the entered criteria and ranks the information that matches the criteria.

[0774] The server searches the database based on the criteria entered by the user, extracts restaurant information that matches the criteria, and generates a ranking for each restaurant, taking into account factors such as rating score, number of reviews, and price range. This ranking is then presented to the user in an easy-to-read format.

[0775] 5. The server sends the ranking results back to the user's device.

[0776] The ranking results are sent back to the user's device and displayed on the user's screen. The user can then view the list of suggested restaurants and check their details.

[0777] 6. Users act on the results

[0778] Users can select their favorite restaurant from the list of suggested restaurants, then access the reservation page, check map information, and provide feedback on the restaurant they visited.

[0779] Specific examples

[0780] For example, suppose a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen. When the user enters this condition on their smartphone, the server searches for and ranks restaurants that meet the condition based on information previously collected and stored in a database from various online services. Ultimately, the user receives a list of highly rated Chinese restaurants, and can select one to visit after checking the details.

[0781] The present invention provides a system that responds to user requests quickly and accurately and supports efficient information retrieval and decision-making.

[0782] The processing flow will be explained below.

[0783] Step 1:

[0784] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[0785] Step 2:

[0786] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0787] Step 3:

[0788] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL, PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[0789] Step 4:

[0790] The user enters search criteria from their device. The user accesses an application or website running on their smartphone or PC and enters search criteria (e.g., budget, genre, location, etc.). The entered criteria are sent to the server.

[0791] Step 5:

[0792] The server queries the database based on the user's criteria. The server generates an SQL query based on the criteria entered by the user and searches the database. This search extracts restaurant information that matches the user's criteria.

[0793] Step 6:

[0794] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated based on factors such as rating score, number of reviews, and price range, and a ranking is generated. This ranking is formatted in a way that is easy for users to view.

[0795] Step 7:

[0796] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[0797] Step 8:

[0798] The user acts on the results. The user browses the provided ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[0799] Step 9:

[0800] After a visit, the user provides feedback (e.g., rating, review, etc.) about the restaurant they visited and enters it into the system. This feedback is sent to the server.

[0801] Step 10:

[0802] The server stores the user's feedback in a database and uses it for future searches and suggestions.The server stores the user's feedback in a database and uses it for future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[0803] Example 1

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

[0805] Conventional information search systems have issues such as insufficient integration of information collection from multiple online services, ensuring data consistency, searches based on various user criteria, displaying rankings, and utilizing user feedback, making it difficult for users to quickly and accurately obtain the information they need.

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

[0807] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for searching the database based on the input conditions and ranking information that matches the conditions, and means for returning the ranking results to the user's terminal.This makes it possible to efficiently and accurately collect, search, and display information based on the user's conditions, and to support the user's decision-making.

[0808] "Online services" are various information services provided via the Internet.

[0809] "Means for collecting information" refers to the methods or functions for obtaining the necessary data from multiple online services.

[0810] A "uniform format" is a standard data format for converting collected information into a consistent format.

[0811] A "database" is a storage system that can efficiently manage and search large amounts of information.

[0812] "Means for inputting conditions" refers to a method or interface that allows a user to specify search conditions to the system.

[0813] A "means for searching a database" is a function that extracts information from a database based on conditions entered by the user.

[0814] A "means for ranking information" is a method or function for ranking extracted information based on a particular evaluation criterion.

[0815] The "means for returning ranking results" is a method or function for transmitting the ranking information to the user's terminal.

[0816] "Web scraping" is the technique of automatically extracting data from web pages.

[0817] "API" is an abbreviation for Application Programming Interface, an interface that allows software applications to communicate with each other.

[0818] A "rating score" is a number calculated based on user reviews and ratings.

[0819] "Number of reviews" refers to the total number of ratings and comments posted by users about a particular service or product.

[0820] "Price range" is an indicator of the range of prices for a particular product or service.

[0821] A "browser" is software used to display and view web pages on the Internet.

[0822] An "application" is a software program designed to perform a specific function.

[0823] "Feedback" refers to ratings and comments provided by users after use.

[0824] MODE FOR CARRYING OUT THE INVENTION

[0825] This invention is a system that collects information from multiple online services and aggregates and suggests results based on user requirements. This system implements a series of processes including information collection, data conversion and storage, user input, conditional search and ranking, result display, and user feedback.

[0826] Information gathering

[0827] The server sends requests to API endpoints to gather information from multiple online services, such as the Google Places API and the API for a restaurant information service, and, if necessary, uses web scraping tools such as BeautifulSoup or Selenium to retrieve data from websites.

[0828] Data conversion and storage

[0829] The information collected by the server is provided in different formats, so it is converted into a unified format (e.g., JSON format). The converted data is then stored in a database such as MongoDB or MySQL. At this time, the data is checked for consistency and incomplete and duplicate data is removed.

[0830] User Input

[0831] Users access the application or website from their own devices (such as smartphones or PCs) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station." This communicates the user's specific needs to the system.

[0832] Conditional search and ranking

[0833] The server searches the database based on the criteria entered by the user, taking into account information such as rating score, number of reviews, and price range, and ranks information that matches the criteria. To achieve this efficiently, search engines such as Elasticsearch are often used.

[0834] Results display

[0835] The ranking results are sent back to the user's device in JSON format, where they are displayed in a browser or a dedicated application. Frameworks such as React and Vue.js are sometimes used to display the front-end.

[0836] User Feedback

[0837] Users can act on the suggestions and then provide feedback, which is then stored in a database and used to improve future search results.

[0838] Specific examples

[0839] For example, if a user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, they can enter this information on their smartphone, and the server will search for and rank restaurants that meet the criteria based on information from various online services that has been collected and stored in a database in advance. Ultimately, the user will receive a list of highly rated Chinese restaurants, and after checking the details, they can select one to visit.

[0840] Prompt Sentence Examples

[0841] For example, consider the following input:

[0842] "I'm looking for a Chinese restaurant near Tokyo Station that costs under 3,000 yen. Can you recommend a good one?"

[0843] By inputting this prompt into a generative AI model, suggestions for stores that meet the user's requirements can be obtained. In this way, the present invention responds to user requests quickly and accurately, supporting efficient information search and decision-making.

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

[0845] Step 1:

[0846] The server collects information from the online service.

[0847] The server first sends GET requests to the API endpoints of multiple online services. For example, the API of a restaurant information service is used to obtain information about restaurants in a specific area. The region and category are specified as input for this request, and the JSON-formatted response returned by the API is the output. If necessary, a web scraping tool (e.g., BeautifulSoup, Selenium) is used to extract data from web pages. In this case, data is collected based on the target URL and HTML structure.

[0848] Step 2:

[0849] The server converts the collected information into a unified format and stores it in a database.

[0850] Since the collected information is provided in different formats, the server converts it into a unified format (e.g., JSON format). Specifically, it analyzes the JSON responses obtained from the API and data obtained through web scraping, extracts and formats the necessary fields, and then enters this processed data and stores it in a database. When storing the data, a database such as MongoDB or MySQL is used, and the data consistency is checked, and incomplete and duplicate data is removed.

[0851] Step 3:

[0852] The user inputs the conditions from the terminal.

[0853] A user accesses a website or application from their device and enters specific criteria into a form, such as budget, type of cuisine, location, etc. Once these criteria are sent to the server, the server begins searching for information based on those criteria.

[0854] Step 4:

[0855] The server searches the database based on the entered conditions and ranks the information that matches the conditions.

[0856] The server searches the database based on the criteria entered by the user. This search process uses a search engine such as Elasticsearch to efficiently extract data. The search results are ranked based on factors such as rating score, number of reviews, and price range. The entered criteria are used as the search query, and the rating factors are fed into a ranking algorithm. The output is information that matches the criteria and is sorted by highest rating.

[0857] Step 5:

[0858] The server returns the ranking results to the user's terminal.

[0859] The server returns the ranked results in JSON format to the user's device, which then displays the results in an easy-to-read format. Specifically, front-end frameworks such as React and Vue.js are used to visually present the ranking results to the user in a browser or application.

[0860] Step 6:

[0861] Users act on the results.

[0862] The user selects the restaurant they want to visit based on the returned ranking results. Once this selection information is entered, the user can check detailed information, access the reservation page, and check map information. After visiting a restaurant, the user can also provide feedback, which is saved in the database and used to improve the accuracy of future search results.

[0863] (Application example 1)

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

[0865] To enhance user comfort and efficiency in autonomous vehicles, there is a growing need for systems that can quickly provide up-to-date information about restaurants and services near the user's current location and present optimal options based on the user's search criteria. However, achieving this requires technology that collects information from multiple sources, converts it into a unified format to create a consistent database, and efficiently searches and ranks information that matches the user's search criteria. In particular, when used in autonomous vehicles, it is important that the search criteria input and result presentation be intuitive and user-friendly.

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

[0867] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for the user to input search criteria from inside the vehicle using voice or a touch interface. This allows the user to intuitively input search criteria inside the autonomous vehicle and quickly obtain the latest information on restaurants and other services that match the criteria.

[0868] "Multiple online services" are web-based platforms such as restaurant information services and review sites provided via the Internet.

[0869] "Means of collecting information" refers to the way the server obtains data from various online services using API requests or web scraping.

[0870] "Unified format" refers to converting different data formats obtained from each online service into a common data format (e.g., JSON format).

[0871] A "database" is a digital storage system that converts collected information into a unified format and stores it.

[0872] "User device" refers to an electronic device that allows a user to input and view information, such as a smartphone, tablet, or in-vehicle display.

[0873] "Entered Criteria" refers to information that a user enters into an application by specifying certain filters or search criteria (e.g., budget, type of cuisine, location).

[0874] "Means for ranking information that meets conditions" refers to a method for ranking information in a database based on criteria such as evaluation score or number of reviews, based on conditions entered by the user.

[0875] The "ranking results" are a list of information that best matches the specified conditions, and are presented to the user.

[0876] "Means for returning to the user terminal in the autonomous vehicle" refers to a method for transmitting information processed by the server to the user terminal installed in the autonomous vehicle.

[0877] A "voice or touch interface" is an interface that allows users to input search criteria using voice commands or touch panel operations.

[0878] "Integrity" refers to ensuring the accuracy and consistency of data.

[0879] "Methods for removing incomplete and duplicate data" refers to methods for detecting and removing missing or duplicate records from collected data sets.

[0880] An "entertainment system" is a system installed in an autonomous vehicle that provides information through video and audio.

[0881] "Feedback" refers to opinions such as ratings and comments provided by users after using the service.

[0882] This invention is a system that provides information on restaurants and services based on conditions entered by a user in an autonomous vehicle. The system consists of a server, a user terminal, a database, and an entertainment system.

[0883] Program processing

[0884] 1. Information gathering

[0885] The server sends requests to the APIs of multiple online services (restaurant information services, review sites, etc.) to collect information, with the assistance of web scraping.

[0886] Hardware / Software:

[0887] Hardware used: Server

[0888] Software used: Python, REST API, web scraping tool

[0889] Examples:

[0890] For example, use the Google Places API or Yelp API to obtain information about restaurants around Tokyo Station.

[0891] 2. Data format conversion

[0892] The server converts the collected information into a unified format (e.g., JSON), which allows data from different services to be aligned and stored in a consistent format.

[0893] Hardware / Software:

[0894] Hardware used: Server

[0895] Software used: JSON parser, data conversion module

[0896] Examples:

[0897] Analyze the data obtained from the Google Places API and store it in a database in a unified format.

[0898] 3. Database storage

[0899] The server stores the data in a unified format in a database, which is used for searches and suggestions within the autonomous vehicle.

[0900] Hardware / Software:

[0901] Hardware used: Server, database server

[0902] Software used: SQLite, database management system

[0903] Examples:

[0904] The collected restaurant names, locations, price ranges, ratings, and types of food served are stored in a database.

[0905] 4. Enter search criteria

[0906] Users enter search criteria using the interface (voice or touch panel) inside the autonomous vehicle.

[0907] Hardware / Software:

[0908] Hardware used: Display and microphone inside the autonomous vehicle

[0909] Software used: Voice recognition system, touch interface

[0910] Examples:

[0911] The user speaks, "Please find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen."

[0912] 5. Letter Ranking

[0913] The server searches the database based on the user's input and ranks the results, taking into account factors such as rating score, number of reviews, and price range.

[0914] Hardware / Software:

[0915] Hardware used: Server

[0916] Software used: SQL queries, ranking algorithms

[0917] Examples:

[0918] Based on the criteria "near Tokyo Station," "budget under 3,000 yen," and "Chinese cuisine," the app searches for restaurant information that matches the criteria and sorts them in order of highest rating.

[0919] 6. Displaying the results

[0920] The ranking results are sent back to the user's device and displayed on the display or voice system inside the autonomous vehicle, allowing the user to quickly find restaurants that meet their criteria.

[0921] Hardware / Software:

[0922] Hardware used: Displays and speakers inside the autonomous vehicle

[0923] Software used: Display system, audio output system

[0924] Examples:

[0925] The user will be shown a list of highly rated Chinese restaurants, including "ABC Restaurant" and "XYZ Restaurant."

[0926] Prompt Sentence Examples

[0927] For example, if a user voice-types, "Find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen," the system will rank and list restaurants that meet the specified criteria.

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

[0929] Step 1:

[0930] The server collects information from multiple online services. Specifically, the server sends requests to the APIs of each online service and receives JSON-formatted data as a response. The input is the API request, and the output is the raw data received from each online service.

[0931] Step 2:

[0932] The server converts the collected information into a unified format. Specifically, a data conversion module in the server converts data provided in different formats into JSON format. The input is raw data, and the output is data converted into a unified format. To create a consistent format, each data field (name, location, price range, rating, type of cuisine, etc.) is aligned to ensure consistency.

[0933] Step 3:

[0934] The server saves the data converted into a unified format in a database. Specifically, the server inserts the data using a database management system such as SQLite. The input is the data converted into a unified format, and the output is the information stored in the database. This completes the dataset for search.

[0935] Step 4:

[0936] The user inputs search criteria into an interface inside the autonomous vehicle. Specifically, the user inputs criteria using voice commands or a touch panel. The input is the search criteria entered by the user (for example, "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen"), and the output is the criteria being sent to the server. The interface includes a voice recognition system and a touch interface.

[0937] Step 5:

[0938] The server searches the database based on the user's input criteria and ranks the information that matches the criteria. Specifically, the server executes an SQL query and sorts the restaurant information by criteria such as rating score, number of reviews, and price range. The input is the search criteria submitted by the user, and the output is a list of ranked restaurant information. This ranking is generated taking into account factors such as rating score and number of reviews.

[0939] Step 6:

[0940] The server returns the ranking results to the user terminal inside the autonomous vehicle. Specifically, the ranking information generated by the server is sent to the user terminal and presented to the user via a display or audio output device. The input is a list of ranked restaurant information, and the output is the information displayed on the user terminal.

[0941] Step 7:

[0942] The user makes a selection based on the presented ranking results and decides on their subsequent actions. Specifically, the user selects a restaurant they like and prepares to head to that location using the autonomous vehicle's navigation system. The input is the user's selection, and the output is navigation information to the selected restaurant.

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

[0944] The present invention provides a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[0945] Program processing

[0946] 1. The server collects information from multiple online services

[0947] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[0948] 2. The server converts the collected information into a unified format and stores it in a database.

[0949] The information collected by the server is converted into a unified format (e.g., JSON format) because each service uses a different data format. During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0950] 3. The user enters the conditions from the terminal.

[0951] Users access applications or websites from devices such as smartphones or PCs and enter search criteria (e.g., budget, genre, location information, etc.). At this time, it is also possible to input or detect the user's emotional state (e.g., joy, sadness, anger, etc.).

[0952] 4. The server recognizes the user's emotions using an emotion engine.

[0953] The server uses an emotion engine to recognize emotions from user input and actions. The emotion engine extracts and analyzes emotion data from the user's text, facial expressions, voice, etc. The recognized emotion data is stored in a database.

[0954] 5. The server queries the database based on the user's criteria and sentiment.

[0955] The server generates an SQL query based on the user's input criteria and the recognized emotion, and searches the database to extract restaurant information that matches the user's criteria and emotion.

[0956] 6. The server evaluates the search results and generates a ranking

[0957] The restaurant information obtained as search results is evaluated based on the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is then formatted in a way that is easy for users to view.

[0958] 7. The server sends the ranking results back to the user's device.

[0959] The generated ranking results are sent back to the user's device and provided in an easily accessible format (e.g., JSON), allowing the user to check the ranking results on their application or website.

[0960] 8. Users act on the results

[0961] Users can select the restaurant they are interested in from the list of suggested restaurants, go directly to the reservation page, check the map information, and even provide feedback after their visit.

[0962] 9. Users provide feedback after their visit

[0963] Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurants they visit and input it into the system. This feedback is sent to the server.

[0964] 10. The server stores user feedback and sentiment data in a database for future searches and suggestions.

[0965] The server stores the feedback and sentiment data received from users in a database and uses it to generate future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[0966] Specific examples

[0967] For example, if a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, and their emotional state at that time is recognized as "joy," restaurant information appropriate to this emotional state will be suggested. Furthermore, when ranking restaurants, priority will be given to restaurants that have previously received high ratings in the "joy" emotional state. In this way, a system is provided that responds quickly and accurately to the user's desires and emotions, and supports efficient information search and decision-making.

[0968] The processing flow will be explained below.

[0969] Step 1:

[0970] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[0971] Step 2:

[0972] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[0973] Step 3:

[0974] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL, PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[0975] Step 4:

[0976] The user inputs search criteria from the device. The user accesses an application or website running on their smartphone or PC and inputs search criteria (e.g., budget, genre, location information, etc.). At this time, the user's emotional state (e.g., joy, sadness, anger, etc.) can also be input or detected.

[0977] Step 5:

[0978] The server uses an emotion engine to recognize the user's emotions. The emotion engine extracts and analyzes emotional data from text input, facial expressions, voice, etc. while the user is entering conditions. The recognized emotional data is stored in a database.

[0979] Step 6:

[0980] The server queries the database based on the user's criteria and emotions. The server generates an SQL query based on the criteria entered by the user and the recognized emotion data, and searches the database. This extracts restaurant information that matches the user's criteria and emotions.

[0981] Step 7:

[0982] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated comprehensively, taking into account the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is formatted in a way that is easy for the user to view.

[0983] Step 8:

[0984] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[0985] Step 9:

[0986] The user acts on the results. The user browses the presented ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[0987] Step 10:

[0988] Users provide feedback after their visit. Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurant they visited and input it into the system. This feedback is sent to the server.

[0989] Step 11:

[0990] The server stores the user's feedback and emotion data in a database and uses it for future searches and suggestions.The server stores the user's feedback and emotion data in a database and uses it for future search results and rankings.This can improve the system's accuracy and user satisfaction.

[0991] Example 2

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

[0993] Today, when users search for restaurant information online, there is no system that collects information across multiple online services and then organizes and suggests the results based on the user's criteria and sentiment. Users often have to use multiple services separately, making efficient searches difficult due to the scattered information. Furthermore, the lack of suggestions based on user sentiment can lead to lower user satisfaction. Furthermore, feedback from users after a visit is often not utilized in future searches or suggestions.

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

[0995] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for users to input their search criteria and emotions. This allows users to efficiently search for restaurant information, and the search results are ranked based on the user's search criteria and emotions, improving user satisfaction. Furthermore, feedback from users' visits can be utilized in their next search and suggestions, improving the accuracy and convenience of the system.

[0996] "Online services" are various services provided via the Internet, such as providing restaurant information and review information.

[0997] "Means of collecting information" refers to the technical methods and systems used to obtain the necessary information and collect data from multiple online services.

[0998] A "uniform format" refers to a standardized data format for converting information provided in different formats and structures into a common format or structure.

[0999] A "database" is a collection of digital data that efficiently stores and manages collected information.

[1000] "Conditions" refer to the search criteria or requirements specified by a user when searching for information.

[1001] "Emotion" is data that indicates the psychological state of the user, and includes emotional states such as joy and sadness.

[1002] "Ranking methods" refers to technical methods and algorithms used to evaluate and rank information based on criteria and sentiment.

[1003] A "terminal" is a device that allows a user to input information and check the results, including smartphones and PCs.

[1004] "Feedback" refers to information such as ratings, reviews, and emotional states provided by users.

[1005] "Methods used in search and suggestions" refers to the technical methods and systems used to reflect feedback information provided by users in the next search or suggestion.

[1006] This invention relates to a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[1007] The server first collects information from multiple online services (e.g., restaurant information services, review sites) by sending requests to each service's API. Specifically, it uses Python's "requests" library to obtain the data. If necessary, web scraping tools such as "Beautiful Soup" or "Selenium" can also be used.

[1008] The server then converts the collected information into a unified format and stores it in a database. Examples of software used for this include the Python "pandas" library and "json" module. For example, "pandas" can be used to convert data in different formats into a data frame, and then that data can be converted into "json" format. This allows the data obtained from each service to be formatted into a unified format and stored in a database such as "MongoDB."

[1009] Users access the system's application or website using a device such as a smartphone or PC. They input search criteria (e.g., budget, genre, location, etc.) and their emotional state (e.g., joy, sadness, etc.) at the same time, or have it detected automatically using an emotion recognition API. Emotion recognition can be achieved using services such as "IBM Watson" and "Affectiva."

[1010] The server stores the user's emotional state analyzed by the emotion engine in a database and generates an SQL query based on the user's input conditions and the recognized emotion. For example, by issuing a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" to PostgreSQL, restaurant information matching the conditions and emotion can be extracted from the database.

[1011] The server then evaluates the search results and generates a ranking. This evaluation uses machine learning libraries such as "scikit-learn" to calculate a comprehensive score. The ranking is generated based on the obtained score and formatted in a user-friendly format.

[1012] Finally, the server returns the ranking results to the user's device. The ranking results are returned in JSON format, and the user can check the results on an application or website. The user can select a restaurant they are interested in from the presented list of restaurants, then access the reservation page or check the map information.

[1013] For example, if a user searches for "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen" and their emotional state is recognized as "joy," the system will suggest the most suitable restaurant information based on the user's preferences and emotions. The system can also provide feedback on the restaurants the user has visited, which will be saved in the database and used for future searches and suggestions.

[1014] Example prompt: "The user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3000 yen. Their emotional state is joy. What kind of restaurant would you suggest?"

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

[1016] Program processing flow

[1017] Step 1:

[1018] The server collects information from multiple online services

[1019] The server uses Python's "requests" library to send requests to the APIs of each online service to collect restaurant information. For example, it calls the API of a restaurant information service to obtain data such as restaurant name, address, rating, and price range. It also uses web scraping technology with the "Beautiful Soup" library to extract the necessary information from specific websites.

[1020] (Input): API request and web scraping configuration information

[1021] (Output): Raw data in "JSON" or "HTML" format

[1022] Step 2:

[1023] The server converts the collected information into a unified format and stores it in a database.

[1024] The server uses the pandas library to convert the collected information into a data frame, then uses the json module to format it into a unified format. For example, it maps data from different services into common fields. It also removes unnecessary fields and incorrect data and stores it in a database such as MongoDB.

[1025] (Input): Collected restaurant information (raw data in JSON or HTML format)

[1026] (Output): Restaurant information data in a unified format (stored in a database)

[1027] Step 3:

[1028] The user inputs the condition and emotion from the terminal.

[1029] Users access the system's application or website on their smartphone or PC and enter search criteria (e.g., budget, genre, location, etc.) and emotional state (e.g., joy, sadness, etc.). Emotion input can be done manually or automatically detected using emotion recognition APIs.

[1030] (Input): User's search criteria and emotional state

[1031] (Output): Data input to the system

[1032] Step 4:

[1033] The server recognizes the user's emotions using an emotion engine.

[1034] The server uses emotion recognition APIs such as IBM Watson and Affectiva to extract emotional data from the user's text, facial expressions, and voice. For example, if a user types, "Today is a special day, so I want to have a special meal," the emotion engine will recognize this as "joy." The recognized emotional data is stored in a database.

[1035] (Input): User emotion input data (text, image, voice, etc.)

[1036] (Output): Recognized emotion data (stored in database)

[1037] Step 5:

[1038] The server queries the database based on the user's criteria and sentiment.

[1039] The server generates an SQL query based on the conditions entered by the user and the recognized emotion. For example, it executes a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" on PostgreSQL to retrieve relevant restaurant information from the database.

[1040] (Input): User search terms and perceived sentiment

[1041] (Output): Restaurant information that matches the conditions and sentiment (query results)

[1042] Step 6:

[1043] The server evaluates the search results and generates a ranking

[1044] The server uses a machine learning algorithm to perform a comprehensive evaluation of the restaurant information obtained as search results, based on factors such as rating score, number of reviews, price range, and the user's emotional state. This is done using the "scikit-learn" library. Based on the obtained rating score, the restaurant is ranked and formatted in a user-friendly format.

[1045] (Input): Restaurant information from query results

[1046] (Output): Overall ranking information

[1047] Step 7:

[1048] The server sends the ranking results back to the user's device.

[1049] The server returns the generated ranking results in JSON format to the user's device via an HTTP response, allowing the user to view the ranking results in an application or website.

[1050] (Input): Ranking information

[1051] (Output): Sending ranking information to the user's device

[1052] Step 8:

[1053] Users act on the results

[1054] Users can select a restaurant they are interested in from the list of restaurants presented, then directly access the reservation page or check the map information, specifically by displaying the location information using the Google Maps API or clicking on a link to the reservation system.

[1055] (Input): Ranking results

[1056] (Output): User actions (reservations, map check, etc.)

[1057] Step 9:

[1058] Users provide feedback after their visit

[1059] Users provide feedback about the restaurants they visit by entering information such as ratings, reviews, and emotional state using a form on the system's app or website. The provided feedback is then sent to the server.

[1060] (Input): User feedback information

[1061] (Output): Sending feedback information to the system

[1062] Step 10:

[1063] The server stores user feedback and sentiment data in a database for future searches and suggestions.

[1064] The server stores the feedback and emotional data received from users in a database. This data is used for future search results and rankings. For example, stores that have previously received high ratings for the "joy" emotional state will be displayed preferentially.

[1065] (Input): User feedback and sentiment data

[1066] (Output): Feedback and sentiment data stored in a database for future searches and suggestions.

[1067] (Application example 2)

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

[1069] Conventional information suggestion systems are unable to take into account the user's specific emotional state when making information suggestions, resulting in low user satisfaction in many cases. Furthermore, while there is a need to optimize the user experience by utilizing emotional data, no system exists that effectively achieves this. This makes it difficult to make personalized information suggestions that are tailored to each individual user.

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

[1071] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for recognizing the user's emotional state, means for searching the database based on the recognized emotion and the input conditions and ranking information that matches the conditions and emotion, and means for returning the ranking results to the user's terminal, thereby enabling personalized information suggestions based on the user's emotions.

[1072] "Online services" are services that provide users with various data and functions provided via the Internet.

[1073] "Methods of collecting information" refers to the methods and tools used to obtain the required data from the designated online services, including the use of APIs and web scraping techniques.

[1074] "Uniform format" refers to a standardized data format for transforming data collected from diverse sources into a consistent format. Examples include JSON and XML.

[1075] A "database" refers to a system for storing collected data and efficiently searching and manipulating it. This includes relational databases and NoSQL databases.

[1076] "Means for entering criteria" refers to the interface through which users enter search criteria or requests into the system, including smartphone apps and website forms.

[1077] "Means of recognizing emotional state" refers to technologies and algorithms that analyze a user's current emotions and extract data, including facial recognition, voice analysis, and text analysis.

[1078] "Ranking methods" refer to algorithms or methods for evaluating and sorting collected data based on specific criteria. They are mechanisms for determining which information to display at the top.

[1079] "Device" refers to any electronic device used by a user to receive or enter information, including smartphones, tablets, and personal computers.

[1080] "Feedback" refers to information that users provide to the system about their experiences and feelings, including ratings, reviews, and additional comments.

[1081] This invention is a system that takes into account the emotional state of the user and makes optimal suggestions to the user based on information collected from online services. The program of this system is configured as follows.

[1082] First, the server collects information from multiple online services. This information is collected through the APIs of each online service (e.g., content streaming services, blogs, etc.). It can also obtain information using web scraping if necessary. This allows the latest information from each service to be collected efficiently.

[1083] The server then converts the collected information into a unified format. Because the data formats from each service are different, the server converts this into a unified format (for example, JSON format). During the conversion, it extracts necessary fields (for example, title, genre, rating, price range, etc.) and removes unnecessary data and formatting errors. The unified data is then stored in a database.

[1084] Users input conditions (e.g., budget, genre, viewing time, etc.) from devices such as smartphones or tablets. In addition, the smartphone's camera, microphone, and text input are used to recognize the user's emotional state. An emotion engine (e.g., Emotion API) is used to extract and analyze emotional data from facial expressions, tone of voice, and text messages.

[1085] The server searches the database based on the recognized emotion and the conditions entered by the user. It generates a ranking by taking into account the evaluation score, number of reviews, genre similarity, and the user's emotional state, etc., the information obtained as search results. This ranking is sent back to the user's device and provided in an easy-to-read format (e.g., JSON format).

[1086] Users can act on the suggested information and provide feedback, which is sent to the server and stored in a database to further optimize future suggestions and search results.

[1087] As a specific example, if a user is searching for "animated movies that can be viewed within a budget of 1,500 yen" and their current emotional state is recognized as "joy," the system will suggest the most suitable animated movie based on this. Furthermore, when ranking the movies, movies that have previously received high ratings in the "joy" emotional state will be displayed preferentially. In this way, a system can be provided that responds quickly and accurately to the user's wishes and emotions, and supports efficient information search and decision-making.

[1088] An example of a prompt for a generative AI model is, "Please suggest some animated movies that are available for viewing within a budget of 1500 yen. Your current emotional state is 'joy.'" Using this prompt allows the system to make optimal suggestions to the user.

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

[1090] Step 1:

[1091] The server collects information using the APIs of multiple online services. Specifically, it sends API requests to obtain the necessary data from movie and music streaming services, blogs, etc. Web scraping is also performed as needed. The input is the API endpoint of each online service, and the output is the obtained information data (e.g., JSON format).

[1092] Step 2:

[1093] The server converts the collected information into a unified format. Specifically, because the data obtained from each service has different formats, it converts them into a unified format (e.g., JSON format). At this time, it extracts necessary fields (e.g., title, genre, rating, price range, etc.) and removes unnecessary data and format errors. The input is the collected information data, and the output is the data converted into a unified format.

[1094] Step 3:

[1095] The server saves the converted data in a database. Specifically, the data converted into a unified format is stored in a relational database or a NoSQL database. The input is the data converted into a unified format, and the output is the data saved in the database.

[1096] Step 4:

[1097] The user inputs search criteria from a device (smartphone or tablet). Specifically, the user inputs search criteria (e.g., genre, budget, viewing time, etc.) through a user interface. The input is search criteria information from the user, and the output is condition data sent to the server.

[1098] Step 5:

[1099] The device uses sensors to recognize the user's emotional state. Specifically, it uses an emotion engine to extract emotional data from data acquired from the smartphone's camera and microphone. The input is the user's facial expression, voice, and text data, and the output is the recognized emotional data.

[1100] Step 6:

[1101] The server searches the database based on the recognized emotion and the conditions entered by the user. Specifically, it generates an SQL query based on this data and extracts matching information from the database. The input is the condition data and emotion data, and the output is the search result data.

[1102] Step 7:

[1103] The server generates a ranking by comprehensively evaluating the search results, taking into account the evaluation score, number of reviews, degree of genre agreement, and the user's emotional state. Specifically, it assigns weights to each item and generates a ranking based on scoring logic. The input is search result data, and the output is ranking data.

[1104] Step 8:

[1105] The server returns the generated ranking results to the user's device. Specifically, it returns the ranking results in an easy-to-read format such as JSON format and displays them on the user interface. The input is the ranking data, and the output is the ranking results displayed on the user's device.

[1106] Step 9:

[1107] The user acts on the proposed information and provides feedback. Specifically, the user inputs ratings and reviews for the content they viewed and sends them to the server. The input is the user's ratings and reviews, and the output is the feedback data sent to the server.

[1108] Step 10:

[1109] The server stores the provided feedback and emotion data in a database for future searches and suggestions. Specifically, it analyzes the feedback data and stores it in the database to adapt the system's algorithms. The input is the feedback and emotion data, and the output is the updated data stored in the database.

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

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

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

[1113] [Fourth embodiment]

[1114] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1127] The present invention is a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions. Specific embodiments of this system will be described below.

[1128] Program processing

[1129] 1. The server collects information from multiple online services

[1130] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[1131] 2. The server converts the collected information into a unified format and stores it in a database.

[1132] The information collected by the server is converted into a unified format (e.g., JSON format) because each service has a different data format. The converted data is stored in a database and used for subsequent searches and suggestions. At this time, incomplete and duplicate data is removed to maintain data consistency.

[1133] 3. The user enters the conditions from the terminal.

[1134] Users access an application or website from their own device (such as a smartphone or PC) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station."

[1135] 4. The server searches the database based on the entered criteria and ranks the information that matches the criteria.

[1136] The server searches the database based on the criteria entered by the user, extracts restaurant information that matches the criteria, and generates a ranking for each restaurant, taking into account factors such as rating score, number of reviews, and price range. This ranking is then presented to the user in an easy-to-read format.

[1137] 5. The server sends the ranking results back to the user's device.

[1138] The ranking results are sent back to the user's device and displayed on the user's screen. The user can then view the list of suggested restaurants and check their details.

[1139] 6. Users act on the results

[1140] Users can select their favorite restaurant from the list of suggested restaurants, then access the reservation page, check map information, and provide feedback on the restaurant they visited.

[1141] Specific examples

[1142] For example, suppose a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen. When the user enters this condition on their smartphone, the server searches for and ranks restaurants that meet the condition based on information previously collected and stored in a database from various online services. Ultimately, the user receives a list of highly rated Chinese restaurants, and can select one to visit after checking the details.

[1143] The present invention provides a system that responds to user requests quickly and accurately and supports efficient information retrieval and decision-making.

[1144] The processing flow will be explained below.

[1145] Step 1:

[1146] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[1147] Step 2:

[1148] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[1149] Step 3:

[1150] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL, PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[1151] Step 4:

[1152] The user enters search criteria from their device. The user accesses an application or website running on their smartphone or PC and enters search criteria (e.g., budget, genre, location, etc.). The entered criteria are sent to the server.

[1153] Step 5:

[1154] The server queries the database based on the user's criteria. The server generates an SQL query based on the criteria entered by the user and searches the database. This search extracts restaurant information that matches the user's criteria.

[1155] Step 6:

[1156] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated based on factors such as rating score, number of reviews, and price range, and a ranking is generated. This ranking is formatted in a way that is easy for users to view.

[1157] Step 7:

[1158] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[1159] Step 8:

[1160] The user acts on the results. The user browses the provided ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[1161] Step 9:

[1162] After a visit, the user provides feedback (e.g., rating, review, etc.) about the restaurant they visited and enters it into the system. This feedback is sent to the server.

[1163] Step 10:

[1164] The server stores the user's feedback in a database and uses it for future searches and suggestions.The server stores the user's feedback in a database and uses it for future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[1165] Example 1

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

[1167] Conventional information search systems have issues such as insufficient integration of information collection from multiple online services, ensuring data consistency, searches based on various user criteria, displaying rankings, and utilizing user feedback, making it difficult for users to quickly and accurately obtain the information they need.

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

[1169] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for searching the database based on the input conditions and ranking information that matches the conditions, and means for returning the ranking results to the user's terminal.This makes it possible to efficiently and accurately collect, search, and display information based on the user's conditions, and to support the user's decision-making.

[1170] "Online services" are various information services provided via the Internet.

[1171] "Means for collecting information" refers to the methods or functions for obtaining the necessary data from multiple online services.

[1172] A "uniform format" is a standard data format for converting collected information into a consistent format.

[1173] A "database" is a storage system that can efficiently manage and search large amounts of information.

[1174] "Means for inputting conditions" refers to a method or interface that allows a user to specify search conditions to the system.

[1175] A "means for searching a database" is a function that extracts information from a database based on conditions entered by the user.

[1176] A "means for ranking information" is a method or function for ranking extracted information based on a particular evaluation criterion.

[1177] The "means for returning ranking results" is a method or function for transmitting the ranking information to the user's terminal.

[1178] "Web scraping" is the technique of automatically extracting data from web pages.

[1179] "API" is an abbreviation for Application Programming Interface, an interface that allows software applications to communicate with each other.

[1180] A "rating score" is a number calculated based on user reviews and ratings.

[1181] "Number of reviews" refers to the total number of ratings and comments posted by users about a particular service or product.

[1182] "Price range" is an indicator of the range of prices for a particular product or service.

[1183] A "browser" is software used to display and view web pages on the Internet.

[1184] An "application" is a software program designed to perform a specific function.

[1185] "Feedback" refers to ratings and comments provided by users after use.

[1186] MODE FOR CARRYING OUT THE INVENTION

[1187] This invention is a system that collects information from multiple online services and aggregates and suggests results based on user requirements. This system implements a series of processes including information collection, data conversion and storage, user input, conditional search and ranking, result display, and user feedback.

[1188] Information gathering

[1189] The server sends requests to API endpoints to gather information from multiple online services, such as the Google Places API and the API for a restaurant information service, and, if necessary, uses web scraping tools such as BeautifulSoup or Selenium to retrieve data from websites.

[1190] Data conversion and storage

[1191] The information collected by the server is provided in different formats, so it is converted into a unified format (e.g., JSON format). The converted data is then stored in a database such as MongoDB or MySQL. At this time, the data is checked for consistency and incomplete and duplicate data is removed.

[1192] User Input

[1193] Users access the application or website from their own devices (such as smartphones or PCs) and enter search criteria, such as "budget under 3,000 yen," "Chinese food," and "near the station." This communicates the user's specific needs to the system.

[1194] Conditional search and ranking

[1195] The server searches the database based on the criteria entered by the user, taking into account information such as rating score, number of reviews, and price range, and ranks information that matches the criteria. To achieve this efficiently, search engines such as Elasticsearch are often used.

[1196] Results display

[1197] The ranking results are sent back to the user's device in JSON format, where they are displayed in a browser or a dedicated application. Frameworks such as React and Vue.js are sometimes used to display the front-end.

[1198] User Feedback

[1199] Users can act on the suggestions and then provide feedback, which is then stored in a database and used to improve future search results.

[1200] Specific examples

[1201] For example, if a user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, they can enter this information on their smartphone, and the server will search for and rank restaurants that meet the criteria based on information from various online services that has been collected and stored in a database in advance. Ultimately, the user will receive a list of highly rated Chinese restaurants, and after checking the details, they can select one to visit.

[1202] Prompt Sentence Examples

[1203] For example, consider the following input:

[1204] "I'm looking for a Chinese restaurant near Tokyo Station that costs under 3,000 yen. Can you recommend a good one?"

[1205] By inputting this prompt into a generative AI model, suggestions for stores that meet the user's requirements can be obtained. In this way, the present invention responds to user requests quickly and accurately, supporting efficient information search and decision-making.

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

[1207] Step 1:

[1208] The server collects information from the online service.

[1209] The server first sends GET requests to the API endpoints of multiple online services. For example, the API of a restaurant information service is used to obtain information about restaurants in a specific area. The region and category are specified as input for this request, and the JSON-formatted response returned by the API is the output. If necessary, a web scraping tool (e.g., BeautifulSoup, Selenium) is used to extract data from web pages. In this case, data is collected based on the target URL and HTML structure.

[1210] Step 2:

[1211] The server converts the collected information into a unified format and stores it in a database.

[1212] Since the collected information is provided in different formats, the server converts it into a unified format (e.g., JSON format). Specifically, it analyzes the JSON responses obtained from the API and data obtained through web scraping, extracts and formats the necessary fields, and then enters this processed data and stores it in a database. When storing the data, a database such as MongoDB or MySQL is used, and the data consistency is checked, and incomplete and duplicate data is removed.

[1213] Step 3:

[1214] The user inputs the conditions from the terminal.

[1215] A user accesses a website or application from their device and enters specific criteria into a form, such as budget, type of cuisine, location, etc. Once these criteria are sent to the server, the server begins searching for information based on those criteria.

[1216] Step 4:

[1217] The server searches the database based on the entered conditions and ranks the information that matches the conditions.

[1218] The server searches the database based on the criteria entered by the user. This search process uses a search engine such as Elasticsearch to efficiently extract data. The search results are ranked based on factors such as rating score, number of reviews, and price range. The entered criteria are used as the search query, and the rating factors are fed into a ranking algorithm. The output is information that matches the criteria and is sorted by highest rating.

[1219] Step 5:

[1220] The server returns the ranking results to the user's terminal.

[1221] The server returns the ranked results in JSON format to the user's device, which then displays the results in an easy-to-read format. Specifically, front-end frameworks such as React and Vue.js are used to visually present the ranking results to the user in a browser or application.

[1222] Step 6:

[1223] Users act on the results.

[1224] The user selects the restaurant they want to visit based on the returned ranking results. Once this selection information is entered, the user can check detailed information, access the reservation page, and check map information. After visiting a restaurant, the user can also provide feedback, which is saved in the database and used to improve the accuracy of future search results.

[1225] (Application example 1)

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

[1227] To enhance user comfort and efficiency in autonomous vehicles, there is a growing need for systems that can quickly provide up-to-date information about restaurants and services near the user's current location and present optimal options based on the user's search criteria. However, achieving this requires technology that collects information from multiple sources, converts it into a unified format to create a consistent database, and efficiently searches and ranks information that matches the user's search criteria. In particular, when used in autonomous vehicles, it is important that the search criteria input and result presentation be intuitive and user-friendly.

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

[1229] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for the user to input search criteria from inside the vehicle using voice or a touch interface. This allows the user to intuitively input search criteria inside the autonomous vehicle and quickly obtain the latest information on restaurants and other services that match the criteria.

[1230] "Multiple online services" are web-based platforms such as restaurant information services and review sites provided via the Internet.

[1231] "Means of collecting information" refers to the way the server obtains data from various online services using API requests or web scraping.

[1232] "Unified format" refers to converting different data formats obtained from each online service into a common data format (e.g., JSON format).

[1233] A "database" is a digital storage system that converts collected information into a unified format and stores it.

[1234] "User device" refers to an electronic device that allows a user to input and view information, such as a smartphone, tablet, or in-vehicle display.

[1235] "Entered Criteria" refers to information that a user enters into an application by specifying certain filters or search criteria (e.g., budget, type of cuisine, location).

[1236] "Means for ranking information that meets conditions" refers to a method for ranking information in a database based on criteria such as evaluation score or number of reviews, based on conditions entered by the user.

[1237] The "ranking results" are a list of information that best matches the specified conditions, and are presented to the user.

[1238] "Means for returning to the user terminal in the autonomous vehicle" refers to a method for transmitting information processed by the server to the user terminal installed in the autonomous vehicle.

[1239] A "voice or touch interface" is an interface that allows users to input search criteria using voice commands or touch panel operations.

[1240] "Integrity" refers to ensuring the accuracy and consistency of data.

[1241] "Methods for removing incomplete and duplicate data" refers to methods for detecting and removing missing or duplicate records from collected data sets.

[1242] An "entertainment system" is a system installed in an autonomous vehicle that provides information through video and audio.

[1243] "Feedback" refers to opinions such as ratings and comments provided by users after using the service.

[1244] This invention is a system that provides information on restaurants and services based on conditions entered by a user in an autonomous vehicle. The system consists of a server, a user terminal, a database, and an entertainment system.

[1245] Program processing

[1246] 1. Information gathering

[1247] The server sends requests to the APIs of multiple online services (restaurant information services, review sites, etc.) to collect information, with the assistance of web scraping.

[1248] Hardware / Software:

[1249] Hardware used: Server

[1250] Software used: Python, REST API, web scraping tool

[1251] Examples:

[1252] For example, use the Google Places API or Yelp API to obtain information about restaurants around Tokyo Station.

[1253] 2. Data format conversion

[1254] The server converts the collected information into a unified format (e.g., JSON), which allows data from different services to be aligned and stored in a consistent format.

[1255] Hardware / Software:

[1256] Hardware used: Server

[1257] Software used: JSON parser, data conversion module

[1258] Examples:

[1259] Analyze the data obtained from the Google Places API and store it in a database in a unified format.

[1260] 3. Database storage

[1261] The server stores the data in a unified format in a database, which is used for searches and suggestions within the autonomous vehicle.

[1262] Hardware / Software:

[1263] Hardware used: Server, database server

[1264] Software used: SQLite, database management system

[1265] Examples:

[1266] The collected restaurant names, locations, price ranges, ratings, and types of food served are stored in a database.

[1267] 4. Enter search criteria

[1268] Users enter search criteria using the interface (voice or touch panel) inside the autonomous vehicle.

[1269] Hardware / Software:

[1270] Hardware used: Display and microphone inside the autonomous vehicle

[1271] Software used: Voice recognition system, touch interface

[1272] Examples:

[1273] The user speaks, "Please find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen."

[1274] 5. Letter Ranking

[1275] The server searches the database based on the user's input and ranks the results, taking into account factors such as rating score, number of reviews, and price range.

[1276] Hardware / Software:

[1277] Hardware used: Server

[1278] Software used: SQL queries, ranking algorithms

[1279] Examples:

[1280] Based on the criteria "near Tokyo Station," "budget under 3,000 yen," and "Chinese cuisine," the app searches for restaurant information that matches the criteria and sorts them in order of highest rating.

[1281] 6. Displaying the results

[1282] The ranking results are sent back to the user's device and displayed on the display or voice system inside the autonomous vehicle, allowing the user to quickly find restaurants that meet their criteria.

[1283] Hardware / Software:

[1284] Hardware used: Displays and speakers inside the autonomous vehicle

[1285] Software used: Display system, audio output system

[1286] Examples:

[1287] The user will be shown a list of highly rated Chinese restaurants, including "ABC Restaurant" and "XYZ Restaurant."

[1288] Prompt Sentence Examples

[1289] For example, if a user voice-types, "Find a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen," the system will rank and list restaurants that meet the specified criteria.

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

[1291] Step 1:

[1292] The server collects information from multiple online services. Specifically, the server sends requests to the APIs of each online service and receives JSON-formatted data as a response. The input is the API request, and the output is the raw data received from each online service.

[1293] Step 2:

[1294] The server converts the collected information into a unified format. Specifically, a data conversion module in the server converts data provided in different formats into JSON format. The input is raw data, and the output is data converted into a unified format. To create a consistent format, each data field (name, location, price range, rating, type of cuisine, etc.) is aligned to ensure consistency.

[1295] Step 3:

[1296] The server saves the data converted into a unified format in a database. Specifically, the server inserts the data using a database management system such as SQLite. The input is the data converted into a unified format, and the output is the information stored in the database. This completes the dataset for search.

[1297] Step 4:

[1298] The user inputs search criteria into an interface inside the autonomous vehicle. Specifically, the user inputs criteria using voice commands or a touch panel. The input is the search criteria entered by the user (for example, "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen"), and the output is the criteria being sent to the server. The interface includes a voice recognition system and a touch interface.

[1299] Step 5:

[1300] The server searches the database based on the user's input criteria and ranks the information that matches the criteria. Specifically, the server executes an SQL query and sorts the restaurant information by criteria such as rating score, number of reviews, and price range. The input is the search criteria submitted by the user, and the output is a list of ranked restaurant information. This ranking is generated taking into account factors such as rating score and number of reviews.

[1301] Step 6:

[1302] The server returns the ranking results to the user terminal inside the autonomous vehicle. Specifically, the ranking information generated by the server is sent to the user terminal and presented to the user via a display or audio output device. The input is a list of ranked restaurant information, and the output is the information displayed on the user terminal.

[1303] Step 7:

[1304] The user makes a selection based on the presented ranking results and decides on their subsequent actions. Specifically, the user selects a restaurant they like and prepares to head to that location using the autonomous vehicle's navigation system. The input is the user's selection, and the output is navigation information to the selected restaurant.

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

[1306] The present invention provides a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[1307] Program processing

[1308] 1. The server collects information from multiple online services

[1309] The server collects information by sending requests to the APIs of each online service (e.g., restaurant information services, review sites, etc.). In some cases, it is also possible to obtain information using web scraping. This allows the latest restaurant information from each service to be collected efficiently.

[1310] 2. The server converts the collected information into a unified format and stores it in a database.

[1311] The information collected by the server is converted into a unified format (e.g., JSON format) because each service uses a different data format. During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[1312] 3. The user enters the conditions from the terminal.

[1313] Users access applications or websites from devices such as smartphones or PCs and enter search criteria (e.g., budget, genre, location information, etc.). At this time, it is also possible to input or detect the user's emotional state (e.g., joy, sadness, anger, etc.).

[1314] 4. The server recognizes the user's emotions using an emotion engine.

[1315] The server uses an emotion engine to recognize emotions from user input and actions. The emotion engine extracts and analyzes emotion data from the user's text, facial expressions, voice, etc. The recognized emotion data is stored in a database.

[1316] 5. The server queries the database based on the user's criteria and sentiment.

[1317] The server generates an SQL query based on the user's input criteria and the recognized emotion, and searches the database to extract restaurant information that matches the user's criteria and emotion.

[1318] 6. The server evaluates the search results and generates a ranking

[1319] The restaurant information obtained as search results is evaluated based on the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is then formatted in a way that is easy for users to view.

[1320] 7. The server sends the ranking results back to the user's device.

[1321] The generated ranking results are sent back to the user's device and provided in an easily accessible format (e.g., JSON), allowing the user to check the ranking results on their application or website.

[1322] 8. Users act on the results

[1323] Users can select the restaurant they are interested in from the list of suggested restaurants, go directly to the reservation page, check the map information, and even provide feedback after their visit.

[1324] 9. Users provide feedback after their visit

[1325] Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurants they visit and input it into the system. This feedback is sent to the server.

[1326] 10. The server stores user feedback and sentiment data in a database for future searches and suggestions.

[1327] The server stores the feedback and sentiment data received from users in a database and uses it to generate future search results and rankings, thereby improving the system's accuracy and user satisfaction.

[1328] Specific examples

[1329] For example, if a user is searching for a Chinese restaurant near Tokyo Station with a budget of under 3,000 yen, and their emotional state at that time is recognized as "joy," restaurant information appropriate to this emotional state will be suggested. Furthermore, when ranking restaurants, priority will be given to restaurants that have previously received high ratings in the "joy" emotional state. In this way, a system is provided that responds quickly and accurately to the user's desires and emotions, and supports efficient information search and decision-making.

[1330] The processing flow will be explained below.

[1331] Step 1:

[1332] The server sends a request to the API of each online service. Specifically, it issues a request to the API endpoint with access permission to multiple services that provide restaurant information (e.g., restaurant review sites, map services, etc.). If the request is successful, each service returns restaurant information as a response.

[1333] Step 2:

[1334] The server converts the collected information into a unified format. Since the data returned from each service is in a different format, it converts this into a unified data format (e.g., JSON). During the conversion, necessary fields (e.g., store name, address, rating, price range, etc.) are extracted and unnecessary data and formatting errors are removed.

[1335] Step 3:

[1336] The server saves the collected data in a database. The converted unified format data is stored in a database (e.g., MySQL, PostgreSQL, etc.). At this time, care is taken to avoid duplication with existing data, and the latest information is overwritten.

[1337] Step 4:

[1338] The user inputs search criteria from the device. The user accesses an application or website running on their smartphone or PC and inputs search criteria (e.g., budget, genre, location information, etc.). At this time, the user's emotional state (e.g., joy, sadness, anger, etc.) can also be input or detected.

[1339] Step 5:

[1340] The server uses an emotion engine to recognize the user's emotions. The emotion engine extracts and analyzes emotional data from text input, facial expressions, voice, etc. while the user is entering conditions. The recognized emotional data is stored in a database.

[1341] Step 6:

[1342] The server queries the database based on the user's criteria and emotions. The server generates an SQL query based on the criteria entered by the user and the recognized emotion data, and searches the database. This extracts restaurant information that matches the user's criteria and emotions.

[1343] Step 7:

[1344] The server evaluates the search results and generates a ranking. The restaurant information obtained as a search result is evaluated comprehensively, taking into account the rating score, number of reviews, price range, and the user's emotional state, and a ranking is generated. This ranking is formatted in a way that is easy for the user to view.

[1345] Step 8:

[1346] The server returns the ranking results to the user's device. The generated ranking results are returned to the user's device and provided in a format that is easy for the user to access (e.g., JSON). This allows the user to check the ranking results on an application or website.

[1347] Step 9:

[1348] The user acts on the results. The user browses the presented ranking results and selects the restaurant they are interested in. They can then check the details of the selected restaurant, access the reservation page, and check the map information.

[1349] Step 10:

[1350] Users provide feedback after their visit. Users provide feedback (e.g., ratings, reviews, emotional state, etc.) about the restaurant they visited and input it into the system. This feedback is sent to the server.

[1351] Step 11:

[1352] The server stores the user's feedback and emotion data in a database and uses it for future searches and suggestions.The server stores the user's feedback and emotion data in a database and uses it for future search results and rankings.This can improve the system's accuracy and user satisfaction.

[1353] Example 2

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

[1355] Today, when users search for restaurant information online, there is no system that collects information across multiple online services and then organizes and suggests the results based on the user's criteria and sentiment. Users often have to use multiple services separately, making efficient searches difficult due to the scattered information. Furthermore, the lack of suggestions based on user sentiment can lead to lower user satisfaction. Furthermore, feedback from users after a visit is often not utilized in future searches or suggestions.

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

[1357] In this invention, the server includes a means for collecting information from multiple online services, a means for converting the collected information into a unified format and storing it in a database, and a means for users to input their search criteria and emotions. This allows users to efficiently search for restaurant information, and the search results are ranked based on the user's search criteria and emotions, improving user satisfaction. Furthermore, feedback from users' visits can be utilized in their next search and suggestions, improving the accuracy and convenience of the system.

[1358] "Online services" are various services provided via the Internet, such as providing restaurant information and review information.

[1359] "Means of collecting information" refers to the technical methods and systems used to obtain the necessary information and collect data from multiple online services.

[1360] A "uniform format" refers to a standardized data format for converting information provided in different formats and structures into a common format or structure.

[1361] A "database" is a collection of digital data that efficiently stores and manages collected information.

[1362] "Conditions" refer to the search criteria or requirements specified by a user when searching for information.

[1363] "Emotion" is data that indicates the psychological state of the user, and includes emotional states such as joy and sadness.

[1364] "Ranking methods" refers to technical methods and algorithms used to evaluate and rank information based on criteria and sentiment.

[1365] A "terminal" is a device that allows a user to input information and check the results, including smartphones and PCs.

[1366] "Feedback" refers to information such as ratings, reviews, and emotional states provided by users.

[1367] "Methods used in search and suggestions" refers to the technical methods and systems used to reflect feedback information provided by users in the next search or suggestion.

[1368] This invention relates to a system that collects information from multiple online services, aggregates it, and makes suggestions based on the user's conditions and emotions. A specific embodiment of this system will be described below.

[1369] The server first collects information from multiple online services (e.g., restaurant information services, review sites) by sending requests to each service's API. Specifically, it uses Python's "requests" library to obtain the data. If necessary, web scraping tools such as "Beautiful Soup" or "Selenium" can also be used.

[1370] The server then converts the collected information into a unified format and stores it in a database. Examples of software used for this include the Python "pandas" library and "json" module. For example, "pandas" can be used to convert data in different formats into a data frame, and then that data can be converted into "json" format. This allows the data obtained from each service to be formatted into a unified format and stored in a database such as "MongoDB."

[1371] Users access the system's application or website using a device such as a smartphone or PC. They input search criteria (e.g., budget, genre, location, etc.) and their emotional state (e.g., joy, sadness, etc.) at the same time, or have it detected automatically using an emotion recognition API. Emotion recognition can be achieved using services such as "IBM Watson" and "Affectiva."

[1372] The server stores the user's emotional state analyzed by the emotion engine in a database and generates an SQL query based on the user's input conditions and the recognized emotion. For example, by issuing a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" to PostgreSQL, restaurant information matching the conditions and emotion can be extracted from the database.

[1373] The server then evaluates the search results and generates a ranking. This evaluation uses machine learning libraries such as "scikit-learn" to calculate a comprehensive score. The ranking is generated based on the obtained score and formatted in a user-friendly format.

[1374] Finally, the server returns the ranking results to the user's device. The ranking results are returned in JSON format, and the user can check the results on an application or website. The user can select a restaurant they are interested in from the presented list of restaurants, then access the reservation page or check the map information.

[1375] For example, if a user searches for "Chinese restaurants near Tokyo Station with a budget of under 3,000 yen" and their emotional state is recognized as "joy," the system will suggest the most suitable restaurant information based on the user's preferences and emotions. The system can also provide feedback on the restaurants the user has visited, which will be saved in the database and used for future searches and suggestions.

[1376] Example prompt: "The user is looking for a Chinese restaurant near Tokyo Station with a budget of under 3000 yen. Their emotional state is joy. What kind of restaurant would you suggest?"

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

[1378] Program processing flow

[1379] Step 1:

[1380] The server collects information from multiple online services

[1381] The server uses Python's "requests" library to send requests to the APIs of each online service to collect restaurant information. For example, it calls the API of a restaurant information service to obtain data such as restaurant name, address, rating, and price range. It also uses web scraping technology with the "Beautiful Soup" library to extract the necessary information from specific websites.

[1382] (Input): API request and web scraping configuration information

[1383] (Output): Raw data in "JSON" or "HTML" format

[1384] Step 2:

[1385] The server converts the collected information into a unified format and stores it in a database.

[1386] The server uses the pandas library to convert the collected information into a data frame, then uses the json module to format it into a unified format. For example, it maps data from different services into common fields. It also removes unnecessary fields and incorrect data and stores it in a database such as MongoDB.

[1387] (Input): Collected restaurant information (raw data in JSON or HTML format)

[1388] (Output): Restaurant information data in a unified format (stored in a database)

[1389] Step 3:

[1390] The user inputs the condition and emotion from the terminal.

[1391] Users access the system's application or website on their smartphone or PC and enter search criteria (e.g., budget, genre, location, etc.) and emotional state (e.g., joy, sadness, etc.). Emotion input can be done manually or automatically detected using emotion recognition APIs.

[1392] (Input): User's search criteria and emotional state

[1393] (Output): Data input to the system

[1394] Step 4:

[1395] The server recognizes the user's emotions using an emotion engine.

[1396] The server uses emotion recognition APIs such as IBM Watson and Affectiva to extract emotional data from the user's text, facial expressions, and voice. For example, if a user types, "Today is a special day, so I want to have a special meal," the emotion engine will recognize this as "joy." The recognized emotional data is stored in a database.

[1397] (Input): User emotion input data (text, image, voice, etc.)

[1398] (Output): Recognized emotion data (stored in database)

[1399] Step 5:

[1400] The server queries the database based on the user's criteria and sentiment.

[1401] The server generates an SQL query based on the conditions entered by the user and the recognized emotion. For example, it executes a query such as "SELECT FROM restaurants WHERE location='Tokyo Station' AND budget <= 3000 AND genre='Chinese food' AND (emotion='joy')" on PostgreSQL to retrieve relevant restaurant information from the database.

[1402] (Input): User search terms and perceived sentiment

[1403] (Output): Restaurant information that matches the conditions and sentiment (query results)

[1404] Step 6:

[1405] The server evaluates the search results and generates a ranking

[1406] The server uses a machine learning algorithm to perform a comprehensive evaluation of the restaurant information obtained as search results, based on factors such as rating score, number of reviews, price range, and the user's emotional state. This is done using the "scikit-learn" library. Based on the obtained rating score, the restaurant is ranked and formatted in a user-friendly format.

[1407] (Input): Restaurant information from query results

[1408] (Output): Overall ranking information

[1409] Step 7:

[1410] The server sends the ranking results back to the user's device.

[1411] The server returns the generated ranking results in JSON format to the user's device via an HTTP response, allowing the user to view the ranking results in an application or website.

[1412] (Input): Ranking information

[1413] (Output): Sending ranking information to the user's device

[1414] Step 8:

[1415] Users act on the results

[1416] Users can select a restaurant they are interested in from the list of restaurants presented, then directly access the reservation page or check the map information, specifically by displaying the location information using the Google Maps API or clicking on a link to the reservation system.

[1417] (Input): Ranking results

[1418] (Output): User actions (reservations, map check, etc.)

[1419] Step 9:

[1420] Users provide feedback after their visit

[1421] Users provide feedback about the restaurants they visit by entering information such as ratings, reviews, and emotional state using a form on the system's app or website. The provided feedback is then sent to the server.

[1422] (Input): User feedback information

[1423] (Output): Sending feedback information to the system

[1424] Step 10:

[1425] The server stores user feedback and sentiment data in a database for future searches and suggestions.

[1426] The server stores the feedback and emotional data received from users in a database. This data is used for future search results and rankings. For example, stores that have previously received high ratings for the "joy" emotional state will be displayed preferentially.

[1427] (Input): User feedback and sentiment data

[1428] (Output): Feedback and sentiment data stored in a database for future searches and suggestions.

[1429] (Application example 2)

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

[1431] Conventional information suggestion systems are unable to take into account the user's specific emotional state when making information suggestions, resulting in low user satisfaction in many cases. Furthermore, while there is a need to optimize the user experience by utilizing emotional data, no system exists that effectively achieves this. This makes it difficult to make personalized information suggestions that are tailored to each individual user.

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

[1433] In this invention, the server includes means for collecting information from multiple online services, means for converting the collected information into a unified format and storing it in a database, means for the user to input conditions, means for recognizing the user's emotional state, means for searching the database based on the recognized emotion and the input conditions and ranking information that matches the conditions and emotion, and means for returning the ranking results to the user's terminal, thereby enabling personalized information suggestions based on the user's emotions.

[1434] "Online services" are services that provide users with various data and functions provided via the Internet.

[1435] "Methods of collecting information" refers to the methods and tools used to obtain the required data from the designated online services, including the use of APIs and web scraping techniques.

[1436] "Uniform format" refers to a standardized data format for transforming data collected from diverse sources into a consistent format. Examples include JSON and XML.

[1437] A "database" refers to a system for storing collected data and efficiently searching and manipulating it. This includes relational databases and NoSQL databases.

[1438] "Means for entering criteria" refers to the interface through which users enter search criteria or requests into the system, including smartphone apps and website forms.

[1439] "Means of recognizing emotional state" refers to technologies and algorithms that analyze a user's current emotions and extract data, including facial recognition, voice analysis, and text analysis.

[1440] "Ranking methods" refer to algorithms or methods for evaluating and sorting collected data based on specific criteria. They are mechanisms for determining which information to display at the top.

[1441] "Device" refers to any electronic device used by a user to receive or enter information, including smartphones, tablets, and personal computers.

[1442] "Feedback" refers to information that users provide to the system about their experiences and feelings, including ratings, reviews, and additional comments.

[1443] This invention is a system that takes into account the emotional state of the user and makes optimal suggestions to the user based on information collected from online services. The program of this system is configured as follows.

[1444] First, the server collects information from multiple online services. This information is collected through the APIs of each online service (e.g., content streaming services, blogs, etc.). It can also obtain information using web scraping if necessary. This allows the latest information from each service to be collected efficiently.

[1445] The server then converts the collected information into a unified format. Because the data formats from each service are different, the server converts this into a unified format (for example, JSON format). During the conversion, it extracts necessary fields (for example, title, genre, rating, price range, etc.) and removes unnecessary data and formatting errors. The unified data is then stored in a database.

[1446] Users input conditions (e.g., budget, genre, viewing time, etc.) from devices such as smartphones or tablets. In addition, the smartphone's camera, microphone, and text input are used to recognize the user's emotional state. An emotion engine (e.g., Emotion API) is used to extract and analyze emotional data from facial expressions, tone of voice, and text messages.

[1447] The server searches the database based on the recognized emotion and the conditions entered by the user. It generates a ranking by taking into account the evaluation score, number of reviews, genre similarity, and the user's emotional state, etc., the information obtained as search results. This ranking is sent back to the user's device and provided in an easy-to-read format (e.g., JSON format).

[1448] Users can act on the suggested information and provide feedback, which is sent to the server and stored in a database to further optimize future suggestions and search results.

[1449] As a specific example, if a user is searching for "animated movies that can be viewed within a budget of 1,500 yen" and their current emotional state is recognized as "joy," the system will suggest the most suitable animated movie based on this. Furthermore, when ranking the movies, movies that have previously received high ratings in the "joy" emotional state will be displayed preferentially. In this way, a system can be provided that responds quickly and accurately to the user's wishes and emotions, and supports efficient information search and decision-making.

[1450] An example of a prompt for a generative AI model is, "Please suggest some animated movies that are available for viewing within a budget of 1500 yen. Your current emotional state is 'joy.'" Using this prompt allows the system to make optimal suggestions to the user.

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

[1452] Step 1:

[1453] The server collects information using the APIs of multiple online services. Specifically, it sends API requests to obtain the necessary data from movie and music streaming services, blogs, etc. Web scraping is also performed as needed. The input is the API endpoint of each online service, and the output is the obtained information data (e.g., JSON format).

[1454] Step 2:

[1455] The server converts the collected information into a unified format. Specifically, because the data obtained from each service has different formats, it converts them into a unified format (e.g., JSON format). At this time, it extracts necessary fields (e.g., title, genre, rating, price range, etc.) and removes unnecessary data and format errors. The input is the collected information data, and the output is the data converted into a unified format.

[1456] Step 3:

[1457] The server saves the converted data in a database. Specifically, the data converted into a unified format is stored in a relational database or a NoSQL database. The input is the data converted into a unified format, and the output is the data saved in the database.

[1458] Step 4:

[1459] The user inputs search criteria from a device (smartphone or tablet). Specifically, the user inputs search criteria (e.g., genre, budget, viewing time, etc.) through a user interface. The input is search criteria information from the user, and the output is condition data sent to the server.

[1460] Step 5:

[1461] The device uses sensors to recognize the user's emotional state. Specifically, it uses an emotion engine to extract emotional data from data acquired from the smartphone's camera and microphone. The input is the user's facial expression, voice, and text data, and the output is the recognized emotional data.

[1462] Step 6:

[1463] The server searches the database based on the recognized emotion and the conditions entered by the user. Specifically, it generates an SQL query based on this data and extracts matching information from the database. The input is the condition data and emotion data, and the output is the search result data.

[1464] Step 7:

[1465] The server generates a ranking by comprehensively evaluating the search results, taking into account the evaluation score, number of reviews, degree of genre agreement, and the user's emotional state. Specifically, it assigns weights to each item and generates a ranking based on scoring logic. The input is search result data, and the output is ranking data.

[1466] Step 8:

[1467] The server returns the generated ranking results to the user's device. Specifically, it returns the ranking results in an easy-to-read format such as JSON format and displays them on the user interface. The input is the ranking data, and the output is the ranking results displayed on the user's device.

[1468] Step 9:

[1469] The user acts on the proposed information and provides feedback. Specifically, the user inputs ratings and reviews for the content they viewed and sends them to the server. The input is the user's ratings and reviews, and the output is the feedback data sent to the server.

[1470] Step 10:

[1471] The server stores the provided feedback and emotion data in a database for future searches and suggestions. Specifically, it analyzes the feedback data and stores it in the database to adapt the system's algorithms. The input is the feedback and emotion data, and the output is the updated data stored in the database.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1493] The following is further disclosed regarding the above embodiment.

[1494] (Claim 1)

[1495] A means of collecting information from multiple online services;

[1496] A means of converting the collected information into a unified format and storing it in a database;

[1497] a means for the user to input the criteria;

[1498] A means for searching a database based on input conditions and ranking information that matches the conditions;

[1499] A means for returning the ranking results to the user's device;

[1500] A system including:

[1501] (Claim 2)

[1502] 10. The system of claim 1, further comprising means for checking the consistency of the collected information and removing incomplete or duplicate data.

[1503] (Claim 3)

[1504] a way for users to provide feedback after their visit;

[1505] 10. The system of claim 1, further comprising means for storing the provided feedback in a database for use in future searches and suggestions.

[1506] "Example 1"

[1507] (Claim 1)

[1508] A means of collecting information from multiple online services;

[1509] A means of converting the collected information into a unified format and storing it in a database;

[1510] a means for the user to input the criteria;

[1511] A means for searching a database based on input conditions and ranking information that matches the conditions;

[1512] A means for returning the ranking results to the user's device;

[1513] A system including:

[1514] (Claim 2)

[1515] 10. The system of claim 1, further comprising means for checking the consistency of the collected information and removing incomplete or duplicate data.

[1516] (Claim 3)

[1517] 10. The system of claim 1, further comprising means for a user to provide feedback after a visit, and means for storing the provided feedback in a database for use in future searches and suggestions.

[1518] (Claim 4)

[1519] 10. The system of claim 1, further comprising: means for collecting information using a web scraping tool; and means for collecting information from an API of each online service.

[1520] (Claim 5)

[1521] 2. The system according to claim 1, further comprising means for searching the database based on conditions entered by the user and ranking information that matches the conditions, taking into consideration the evaluation score, number of reviews, and price range.

[1522] (Claim 6)

[1523] 10. The system of claim 1, further comprising means for returning the ranking results to the user's terminal and displaying them in an appropriate format in a browser or application.

[1524] "Application Example 1"

[1525] (Claim 1)

[1526] A means of collecting information from multiple online services;

[1527] A means of converting the collected information into a unified format and storing it in a database;

[1528] a means for the user to input the criteria;

[1529] A means for searching a database based on input conditions and ranking information that matches the conditions;

[1530] a means for returning the ranking results to a user terminal in the autonomous vehicle;

[1531] A means for users to input search criteria from inside the car using voice or touch interface,

[1532] A system including:

[1533] (Claim 2)

[1534] 10. The system of claim 1, further comprising means for interfacing with an in-vehicle entertainment system to provide search results to the user visually or audibly.

[1535] (Claim 3)

[1536] 10. The system of claim 1, further comprising means for checking the consistency of the collected information and removing incomplete or duplicate data.

[1537] (Claim 4)

[1538] a way for users to provide feedback after their visit;

[1539] 10. The system of claim 1, further comprising means for storing the provided feedback in a database for use in future searches and suggestions.

[1540] "Example 2: Combining Emotion Engines"

[1541] (Claim 1)

[1542] A means of collecting information from multiple online services;

[1543] A means of converting the collected information into a unified format and storing it in a database;

[1544] a means for a user to input conditions and emotions;

[1545] A means for searching a database based on input conditions and emotions and ranking information that matches the conditions and emotions;

[1546] A means for returning the ranking results to the user's device;

[1547] A system including:

[1548] (Claim 2)

[1549] 10. The system of claim 1, further comprising means for checking the consistency of the collected information and removing incomplete or duplicate data.

[1550] (Claim 3)

[1551] a way for users to provide feedback after their visit;

[1552] 10. The system of claim 1, further comprising means for storing the provided feedback in a database for use in future searches and suggestions.

[1553] "Application example 2 when combining emotion engines"

[1554] (Claim 1)

[1555] A means of collecting information from multiple online services;

[1556] A means of converting the collected information into a unified format and storing it in a database;

[1557] a means for the user to input the criteria;

[1558] a means for recognizing the emotional state of a user;

[1559] A means for searching a database based on the recognized emotion and the input condition, and ranking information that matches the condition and emotion;

[1560] A means for returning the ranking results to the user's device;

[1561] A system including:

[1562] (Claim 2)

[1563] 10. The system of claim 1, further comprising means for checking the consistency of the collected information and removing incomplete or duplicate data.

[1564] (Claim 3)

[1565] a way for users to provide feedback after their visit;

[1566] 10. The system of claim 1, further comprising means for storing the provided feedback and sentiment data in a database for use in future searches and suggestions. [Explanation of symbols]

[1567] 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 of collecting information from multiple online services; A means of converting the collected information into a unified format and storing it in a database; a means for the user to input the criteria; A means for searching a database based on input conditions and ranking information that matches the conditions; A means for returning the ranking results to the user's device; A system including:

2. 10. The system of claim 1, further comprising means for checking the consistency of the collected information and eliminating incomplete or duplicate data.

3. a way for users to provide feedback after their visit; 10. The system of claim 1, further comprising means for storing the provided feedback in a database for use in future searches and suggestions.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A