system
The system addresses inefficiencies in searching across multiple information systems by integrating data collection, keyword extraction, and index generation, ensuring rapid and efficient information retrieval.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-04-09
AI Technical Summary
Existing systems face challenges in efficiently searching for information dispersed across multiple information systems due to insufficient cooperation between these systems, leading to time-consuming and inefficient information retrieval.
A system that integrates information collection, keyword extraction, index generation, and search methods to facilitate centralized information retrieval from diverse data sources, utilizing natural language processing and data communication protocols to enhance search efficiency.
Enables quick and efficient access to dispersed information, improving operational efficiency by allowing users to obtain necessary information promptly.
Smart Images

Figure 2026062127000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, the method including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance as a response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the modern business environment, there is an increasing need to quickly and efficiently search for information distributed across multiple information systems and platforms. However, due to insufficient cooperation between these systems, it often takes a great deal of time and effort to collect and search for information. There is a demand for an integrated information search system that solves such problems of information dispersion and quickly obtains search results. The present invention aims to solve these problems and provide a system that greatly improves the efficiency of information search.
Means for Solving the Problems
[0005] The present invention is a system that includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to a user's search query based on the generated index, and means for displaying the searched information to the user. Furthermore, by including means for receiving a search query and extracting keywords from that query, efficient searching based on user input is possible. The present invention is also characterized by including data sources composed of multiple information systems using different data formats and protocols, thereby facilitating cooperation between various information systems. As a result, users can centrally search dispersed information and quickly obtain the desired information.
[0006] A "data source" refers to a different information system, database, or platform that provides information.
[0007] "Means of collecting information" refers to technical methods or functions for obtaining necessary information from different data sources.
[0008] "Means of keyword extraction" refers to technical methods or functions for extracting specific words or phrases from collected information.
[0009] "Means of generating an index" refers to a technical method or function that creates a data structure to improve search efficiency based on extracted keywords.
[0010] A "search query" refers to a search request that a user enters into the system.
[0011] "Means of searching" refers to technical methods or functions for finding information corresponding to a user's search query based on a generated index.
[0012] "Means of display" refers to technical methods or functions for providing searched information to users in an easily viewable format.
[0013] "Different data formats" refers to different file formats or data structures used by multiple information systems.
[0014] A "protocol" refers to a set of standardized procedures or rules used for data communication and information exchange between information systems.
[0015] An "information system" refers to a collection of computer programs and hardware used to collect, process, store, and provide information for a specific purpose. [Brief explanation of the drawing]
[0016] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Embodiments for Carrying out the Invention
[0017] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0018] First, the language used in the following description will be explained.
[0019] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be one arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be one type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), etc.
[0020] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0021] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0022] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0024] [First Embodiment]
[0025] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0026] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0029] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0032] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] As shown in Figure 2, in the data processing device 12, specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0036] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0037] This invention provides an integrated information retrieval system that can quickly and efficiently search for information dispersed across multiple information systems. This allows users to obtain necessary information in a short amount of time, significantly improving work efficiency.
[0038] Server Role
[0039] Data acquisition methods
[0040] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[0041] Keyword extraction and index generation means
[0042] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[0043] Search methods
[0044] When a user sends a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[0045] Terminal role
[0046] User-server interface
[0047] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[0048] User roles
[0049] Query Input
[0050] The user enters a query containing the necessary information into the search input field of the terminal. This query is sent to the server via the terminal.
[0051] Check the results
[0052] The search results from the server are displayed on the terminal, and the user obtains the necessary information by reviewing them.
[0053] Specific example
[0054] For example, a user might type "I want to check the details of my Zoom contract for ABC stocks" into their device. This query is sent to the server, which uses its index to search for information matching keywords such as "ABC stocks," "Zoom," and "contract." The search results are then sent back to the device and displayed to the user. By reviewing the displayed information, the user can quickly obtain the information they need.
[0055] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[0056] The following describes the processing flow.
[0057] Step 1: Execution of data collection method
[0058] The server collects information from multiple pre-configured data sources.
[0059] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[0060] Step 2: Execution of keyword extraction method
[0061] The server extracts keywords from the collected information.
[0062] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[0063] Step 3: Execution of the index generation means
[0064] The server generates an index based on the extracted keywords.
[0065] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[0066] Step 4: Submitting search queries
[0067] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[0068] The terminal sends the entered query to the server.
[0069] Step 5: Extracting search keywords
[0070] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[0071] Step 6: Execute search
[0072] The server searches the index based on the extracted keywords.
[0073] Quickly extract information items related to the relevant keyword within the index.
[0074] Step 7: Submit search results
[0075] The server compiles the search results and sends them to the terminal.
[0076] The results are sent to the terminal as a list of information items corresponding to the keywords.
[0077] Step 8: Displaying search results
[0078] The terminal displays the search results received from the server to the user.
[0079] Users review the displayed search results and quickly obtain the information they need.
[0080] In this way, by performing specific actions at each step, users can efficiently search for information and improve the efficiency of their work.
[0081] (Example 1)
[0082] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0083] The problem that this invention aims to solve is to enable users to quickly and efficiently search for information dispersed across multiple information systems and databases, and to obtain the information they need in a short amount of time. Conventional systems have difficulty handling information in different data formats and protocols in an integrated manner, resulting in problems where users cannot efficiently access information. In addition, the parsing of search queries and the speed of information retrieval are insufficient, leading to a decrease in work efficiency.
[0084] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0085] In this invention, the server includes means for collecting information from multiple data sources, means for analyzing the collected information using natural language processing technology to extract keywords and generate an index, means for receiving search queries from users and extracting keywords from those queries, means for quickly searching for information corresponding to the user's search query based on the generated index, and means for displaying the searched information to the user. This enables the centralized integration of information from different information systems and data formats, allowing users to efficiently obtain the information they need.
[0086] "Multiple data sources" refer to information sources from which data can be obtained from multiple origins, such as different information systems, databases, APIs, and cloud services.
[0087] "Means of collecting information" refers to a mechanism in which a server retrieves information from multiple data sources using methods such as API requests, SQL queries, and file readings.
[0088] "Natural language processing technology" refers to the technology used by computers to understand, analyze, and generate natural language that humans use in everyday life, and is used for keyword extraction, text analysis, and other purposes.
[0089] "Keywords" refer to the extraction of important terms from collected information, which are used for identifying and searching for information.
[0090] "Methods for generating an index" refer to a system that classifies and organizes information based on extracted keywords, creating a data structure that enables high-speed searching.
[0091] A "means for receiving search queries" refers to a system that receives search requests sent by users and analyzes their content.
[0092] "Methods for extracting keywords from search queries" refers to analytical techniques for extracting important keywords from the text of received search queries.
[0093] A "means of quickly searching for information" refers to a system that uses an index to quickly search for relevant information based on extracted keywords.
[0094] "Means of displaying searched information to the user" refers to a mechanism for displaying search results in an appropriate format on the user's device.
[0095] "Different data formats and protocols" refers to data formats such as text, CSV, JSON, and XML, as well as communication protocols such as HTTP, FTP, and JDBC, and includes technologies that integrate and handle these.
[0096] Modes for carrying out the invention
[0097] This invention provides an integrated information retrieval system that can quickly and efficiently search for information dispersed across multiple information systems. This system allows users to obtain necessary information in a short amount of time, significantly improving work efficiency.
[0098] Server Role
[0099] The server first has means of collecting information from multiple data sources. These data sources include databases, APIs, and cloud storage. This collection is done using Python's requests library and JDBC connections, among other things. The server also has means of analyzing the collected information using natural language processing (NLP) techniques and extracting keywords. Specifically, NLP techniques such as NLTK and Spacy are used.
[0100] Based on keywords extracted from the collected data, the server generates an index. Search engines such as Elasticsearch® and Solr are used to generate the index. This creates a data structure that enables high-speed searching.
[0101] When a user sends a search query to the server, the server receives the query and extracts keywords from it. This analysis of the search query also utilizes NLP (Neuro-Linguistic Programming) technology. Based on the keywords, the server searches its index and quickly extracts relevant information. The search results are organized in JSON format and sent to the terminal.
[0102] Terminal role
[0103] The device provides an interface for the user to enter search queries. Typically, a web browser or mobile application is used. Once the user enters a search query, the device sends it to the server. This transmission is performed using JavaScript's fetch function or the axios library. The search results returned from the server are then displayed to the user on the device.
[0104] User roles
[0105] The user enters the necessary information into the search input field on their device. For example, they might enter, "I want to check the contract details for XX stock's online meeting service." This causes the device to send the search query to the server. When the search results returned from the server are displayed on the device, the user reviews them. For example, they can view detailed information about the contract details for XX stock's online meeting service.
[0106] Specific example
[0107] For example, a user might enter "I want to check the contract details for XX stock's online meeting service" into their terminal. This query is sent to the server, which uses its index to extract keywords such as "XX stock," "online meeting," and "contract." The server searches the index and extracts the relevant information in a short time. The extracted search results are sent back to the terminal and displayed to the user. By checking this information, the user can quickly obtain the information they need.
[0108] Concrete examples of prompt sentences for generative AI models
[0109] "Please create a program for a system that can comprehensively search information distributed across multiple information systems. The system will have a server that periodically collects data, extracts keywords using NLP technology to create an index, and quickly returns relevant information based on user search queries."
[0110] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[0111] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0112] System program processing flow
[0113] Server Role
[0114] Step 1:
[0115] Connect to the data source. The server sends HTTP requests to the API endpoint or connects to the database using JDBC. The input is the URL and connection information for each data source, and the output is a confirmation of a successful connection and that the data is ready to be retrieved.
[0116] Step 2:
[0117] The server collects data. It executes queries to retrieve the necessary information from data sources. For example, it executes requests to retrieve data from a RESTful API or SQL queries. The input is the query for each connected data source, and the output is the retrieved raw data. Specifically, it executes the SQL query SELECT FROM contracts WHERE date > '2023-01-01' and retrieves the results.
[0118] Step 3:
[0119] The collected data is temporarily stored. The server saves the acquired data to local temporary storage (e.g., an SQLite database or file system). The input is the acquired raw data, and the output is the data stored in temporary storage.
[0120] Step 4:
[0121] The server analyzes the collected data using natural language processing (NLP) techniques. The input is raw data read from temporary storage, and the output is the analyzed keywords. Specifically, it uses NLTK and Spacy to extract nouns and important phrases from the text.
[0122] Step 5:
[0123] An index is generated. The server generates an index based on the extracted keywords and stores it in Elasticsearch or Solr. The input is the extracted keywords, and the output is the generated index. This creates a data structure that enables fast searching.
[0124] Step 6:
[0125] The server receives search queries from users. The server receives search queries sent by users from their terminals as HTTP requests. The input is the user's search query text, and the output is internal data for parsing the search query.
[0126] Step 7:
[0127] The system analyzes search queries. The server extracts keywords from the received search queries. The input is the text of the search query, and the output is the extracted keywords. Specifically, the analysis is performed using an NLP library such as Spacy.
[0128] Step 8:
[0129] The system searches an index. The server searches an index created based on the extracted keywords and extracts the corresponding information. The input is the extracted keywords, and the output is the search results data. Elasticsearch's query functionality is used for the search process.
[0130] Step 9:
[0131] The server organizes the search results and sends them to the device. The server organizes the search results into a user-friendly format and sends them to the device in JSON format. The input is the search results data, and the output is the search results data in JSON format.
[0132] Terminal role
[0133] Step 1:
[0134] Provides a search input field. The terminal displays a form for the user to enter a search query. Input is the user's action, and output is the screen display for entering the search query.
[0135] Step 2:
[0136] The search query is sent to the server. The terminal sends the user's entered search query to the server using JavaScript's fetch function or the axios library. The input is the user's search query text, and the output is an HTTP request to the server.
[0137] Step 3:
[0138] The terminal receives and displays search results from the server. The terminal receives the search results in JSON format sent back from the server and displays them to the user. The input is the search result data received from the server, and the output is the search results displayed to the user.
[0139] User roles
[0140] Step 1:
[0141] Enter the search query. The user enters the necessary information into the search input field on the terminal. The input is the user's query text, and the output is the search query displayed on the terminal.
[0142] Step 2:
[0143] Click the search button. The user enters a query and then clicks the search button to send the query to the server. The input is the user's click action, and the output is the search request sent to the server.
[0144] Step 3:
[0145] Review the search results. The user reviews the search results displayed on their device and obtains the necessary information. The input is the search results displayed on the device, and the output is the information obtained.
[0146] (Application Example 1)
[0147] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0148] In managing the operation of autonomous vehicles, it is necessary to quickly and accurately acquire a wide variety of information in real time and make appropriate decisions based on that information in order for the vehicles to operate safely and efficiently. However, because the information is dispersed across multiple data sources, there is a problem in that it is difficult to quickly search for and acquire the necessary information. In addition, the inability to acquire information necessary for preventive maintenance and emergency response in a timely manner may impair safety and efficiency.
[0149] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0150] In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for the user to search for information in real time and reflect it in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs. This enables the rapid searching and acquisition of necessary information for the operation management of autonomous vehicles, thereby improving the safety and efficiency of the vehicles.
[0151] A "data source" refers to a system or platform that provides an information infrastructure or source for collecting information.
[0152] "Means of collecting information" refers to methods and processes for obtaining and aggregating necessary information from multiple data sources.
[0153] "A method for extracting keywords and generating an index" refers to a method of automatically selecting important terms from collected information and creating a data structure that enables efficient searching based on those terms.
[0154] "Search methods" refer to methods that use generated indexes to efficiently find information corresponding to the user's search queries.
[0155] "Means of displaying information to the user" refers to methods or devices for displaying searched information in a way that allows the user to visually confirm it.
[0156] A "means of searching for information in real time" refers to a method for immediately searching for and providing necessary information in response to evolving situations.
[0157] "Means of reflecting in control algorithms" refers to methods of reflecting the retrieved information in the operation management and control systems of autonomous vehicles in order to appropriately adjust their operation.
[0158] "A means of searching for vehicle maintenance information and proposing preventative measures" refers to a method of analyzing collected vehicle condition data and proposing necessary maintenance and countermeasures before problems occur.
[0159] "Means for searching for and providing response information in the event of an accident or malfunction" refers to a method for quickly finding and providing information on appropriate actions and repair services when a vehicle encounters an accident or breakdown.
[0160] Modes for carrying out the invention
[0161] Server Role
[0162] The server implements a system that includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for users to search for information in real time and reflect it in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs.
[0163] Specifically, the server performs the following processes:
[0164] 1. Data Collection
[0165] The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). This information is integrated based on various data formats and data communication protocols.
[0166] 2. Keyword extraction and index generation
[0167] Keywords are automatically extracted from the collected information, and an index is generated based on them. This index is a data structure for streamlining searches, associating keywords related to each information item.
[0168] 3. Real-time search
[0169] When the server receives a search query from a user, it searches its index based on the query's content and quickly extracts the relevant information. This enables real-time information retrieval.
[0170] 4. Implementation of control algorithm
[0171] The retrieved information is immediately reflected in the control algorithms of the autonomous vehicle, allowing for appropriate operational adjustments.
[0172] 5. Preventive maintenance
[0173] The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated, thereby minimizing vehicle downtime.
[0174] 6. Emergency Response
[0175] In the event of an accident or malfunction, we will quickly search for and provide appropriate response information.
[0176] Terminal role
[0177] The terminal functions as the user's interface and performs the following processes:
[0178] 1. Query Input
[0179] The user enters a search query containing the necessary information through their device. This query is then sent to the server.
[0180] 2. Results display
[0181] The search results returned from the server are displayed to the user. This allows the user to easily obtain the information they need.
[0182] User roles
[0183] The user's role is to enter search queries through their device and review the returned information.
[0184] One specific use case is that if an accident occurs ahead, you can simply voice-input "accident road construction," and the system will search for the optimal avoidance route based on that information and reflect it in the operation management system.
[0185] Hardware and software to be used
[0186] Hardware: Onboard computer and communication equipment in autonomous vehicles.
[0187] Software: Python, Requests library, JSON
[0188] Example of a prompt:
[0189] There is an accident ahead. Please search for the best alternative route.
[0190] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0191] Step 1: Data Collection
[0192] Subject: Server
[0193] Specific explanation: The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). Specifically, it uses the Python Requests library to retrieve data in JSON format from external APIs. In this step, the data collection method sends HTTP requests and collects the data returned as responses.
[0194] Input: List of URLs for the configured data sources
[0195] Output: Information collected from multiple data sources (in JSON format)
[0196] Step 2: Keyword extraction and index generation
[0197] Subject: Server
[0198] Specific explanation: The server automatically extracts keywords from the collected information and generates an index. For example, it uses natural language processing (NLP) techniques to extract important words from text data. It uses the Python NLTK library to extract nouns and specific keywords from sentences and add them to the index. This index is stored in a database and used in subsequent search processes.
[0199] Input: Collected information (JSON format)
[0200] Output: Generated index (association of keywords and information)
[0201] Step 3: Receive search queries and extract keywords
[0202] Subject: terminal
[0203] Specific explanation: The device receives search queries from users and extracts keywords from those queries. For example, if a user enters the search query "accident road construction" via voice input, it is converted into text. The device then analyzes this text and extracts important keywords. A generative AI model could be used for this analysis.
[0204] Input: User's search query (text format)
[0205] Output: Extracted keywords
[0206] Step 4: Search Process
[0207] Subject: Server
[0208] Detailed explanation: The server searches its index based on keywords generated from the received search query. In this step, it efficiently finds information related to the keywords from a pre-generated index. The search algorithm is designed to prioritize extracting the information most relevant to the search query.
[0209] Input: Extracted keywords
[0210] Output: Search results (related information)
[0211] Step 5: Displaying search results
[0212] Subject: terminal
[0213] Specific explanation: The terminal displays the search results returned from the server to the user. Specifically, it displays the search results in a user-friendly format, making the information immediately available. This display includes formats such as text, images, and links.
[0214] Input: Search results (related information)
[0215] Output: Displayed search results (in a visually easy-to-read format)
[0216] Step 6: Real-time information reflected in the control algorithm
[0217] Subject: Server
[0218] Specific explanation: The server incorporates the acquired real-time information into the control algorithm of the autonomous vehicle. In this step, the retrieved information immediately influences the vehicle's operation control. For example, if there is an accident ahead, the server calculates the optimal avoidance route based on that information and sends instructions to the operating system.
[0219] Input: Real-time information (search results)
[0220] Output: Updated control algorithm
[0221] Step 7: Propose preventative maintenance
[0222] Subject: Server
[0223] Specific explanation: The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated. In this step, the collected maintenance data is analyzed to identify parts that are likely to fail and generate an optimal maintenance plan.
[0224] Input: Vehicle maintenance information (collected data)
[0225] Output: Proposal for preventative maintenance
[0226] Step 8: Provide emergency response information
[0227] Subject: Server
[0228] Specific explanation: In the event of an accident or malfunction, the server quickly searches for response information and provides it to users. This step provides emergency response procedures and information on the nearest repair service to help users respond quickly.
[0229] Input: Emergency response information (collected data)
[0230] Output: Emergency response information (procedure manuals, repair service information)
[0231] Specific example:
[0232] If an accident occurs ahead, simply inputting "accident road construction" via voice input will allow the system to search for the optimal avoidance route based on that information and reflect it in the operational management system.
[0233] Example of a prompt:
[0234] There is an accident ahead. Please search for the best alternative route.
[0235] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0236] This invention provides a more advanced user experience by combining an integrated information retrieval system, capable of quickly and efficiently searching for information dispersed across multiple information systems, with an emotion engine that recognizes user emotions. This allows users to obtain necessary information in a short time, while also enabling the provision of optimal information tailored to the user's emotions.
[0237] Server Role
[0238] Data acquisition methods
[0239] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[0240] Keyword extraction and index generation means
[0241] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[0242] Search methods
[0243] When a user sends a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[0244] Terminal role
[0245] User-server interface
[0246] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[0247] Emotion engine interface
[0248] The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on these analysis results, it adjusts the priority and display method of search results.
[0249] User roles
[0250] Query Input
[0251] The user enters a query containing the necessary information into the search input field of their device. For example, they might enter, "I want to check the details of ABC stock's Zoom contract." This query is then sent to the server via the device.
[0252] Provision of emotional data
[0253] When users enter queries, they provide emotional data such as voice input and facial expressions. This emotional data is analyzed by an emotion engine to understand the user's emotional state.
[0254] Check the results
[0255] Search results from the server are displayed on the terminal, allowing the user to review them. Because the search results are optimized for the user's emotional state, the results are tailored by the emotion engine, enabling a more satisfying information experience.
[0256] Specific example
[0257] For example, suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device. If, through voice input, the system detects a sense of urgency ("I want to know quickly"), the emotion engine analyzes this emotion and assigns the tag "urgent." The server then prioritizes displaying search results in a format that is easier to understand quickly, taking this tag into consideration. The search results are then sent back to the device and displayed to the user. By reviewing the displayed search results, the user can quickly obtain the necessary information.
[0258] The information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby accelerating information acquisition for users and improving operational efficiency. At the same time, by combining it with an emotion engine, it becomes possible to provide optimal information tailored to the user's emotions, further enhancing the user experience.
[0259] The following describes the processing flow.
[0260] Step 1: Execution of data collection method
[0261] The server collects information from multiple pre-configured data sources.
[0262] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[0263] Step 2: Execution of keyword extraction method
[0264] The server extracts keywords from the collected information.
[0265] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[0266] Step 3: Execution of the index generation means
[0267] The server generates an index based on the extracted keywords.
[0268] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[0269] Step 4: Submitting search queries
[0270] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[0271] The terminal sends the entered query to the server.
[0272] Step 5: Obtaining user sentiment data
[0273] When a user enters a query, the emotion engine analyzes the user's voice and facial expressions.
[0274] The emotion engine recognizes the user's emotional state and acquires that data.
[0275] Step 6: Keyword Extraction
[0276] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[0277] Step 7: Adjusting search results based on sentiment data
[0278] The server adjusts the priority of search results based on sentiment data obtained from the sentiment engine.
[0279] For example, if a user is showing signs of impatience, prioritize information that can be understood more quickly.
[0280] Step 8: Execute search
[0281] The server searches the index based on the adjusted priority.
[0282] Quickly extract information items related to the relevant keyword within the index.
[0283] Step 9: Submit search results
[0284] The server compiles the search results and sends them to the terminal.
[0285] The result is transmitted to the terminal as a list of information items corresponding to the keywords.
[0286] Step 10: Display of search results
[0287] The terminal displays the search results received from the server to the user.
[0288] The user checks the displayed search results and quickly obtains the necessary information.
[0289] With this process, the user can not only efficiently search for information, but also receive optimal information provided according to the emotion by the emotion engine.
[0290] (Example 2)
[0291] Next, Example 2 will be described. In the following description, the data processing device 12 is referred to as a "server", and the smart device 14 is referred to as a "terminal".
[0292] In a conventional information search system, it has been difficult to quickly and efficiently obtain necessary information from a plurality of distributed information sources. Furthermore, there has been a problem that the priority of search results cannot be set based on the user's emotional state, resulting in low user satisfaction.
[0293] The specific processing by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting data from a plurality of information sources, means for extracting keywords from the collected data to generate an index, means for searching for information corresponding to a search query based on the index, means for analyzing emotion data to set the priority of the detected search results, and means for adjusting and displaying the search results according to the user's emotional state. Thereby, it becomes possible to provide quick and appropriate information reflecting the emotional state based on the user's input.
[0294] An "information source" is a data provider from which data is obtained from different information systems, databases, or platforms.
[0295] "Data collection means" refers to methods or devices for periodically collecting information from multiple sources.
[0296] A "keyword extraction method" is a method or device for automatically finding important words and phrases from collected data.
[0297] An "index generation means" is a method or apparatus for creating a data structure that enables efficient searching based on extracted keywords.
[0298] A "search tool" refers to a method or device for finding relevant information by referring to an index based on a search query from a user.
[0299] "Emotional data analysis means" refers to methods and devices for identifying and analyzing emotions from user input or voice data.
[0300] "Search result priority setting means" refers to a method or apparatus for ranking search results based on the user's emotional state or other conditions.
[0301] "Search result display means" refers to methods or devices for displaying adjusted search results in an easy-to-understand manner for the user.
[0302] This invention is a system that collects data from multiple information sources, extracts keywords from the collected data to generate an index, and uses that index to search for information corresponding to the user's search query. Furthermore, it is a system that can analyze the user's emotional data, set the priority of search results according to their emotional state, and display adjusted search results.
[0303] Hardware and software configuration
[0304] Server
[0305] The server includes data collection means, keyword extraction means, index generation means, search means, and sentiment data analysis means. As data collection means, a data streaming platform, a cloud storage service, etc. can be used. Specific software examples include tools such as "Apache (registered trademark) Kafka", "MySQL (registered trademark)", and "API".
[0306] For keyword extraction means, "NLTK" and "spaCy" can be used as natural language processing tools. For index generation means and search means, an index generation and search engine such as "Elasticsearch" can be used. For sentiment data analysis means, sentiment recognition software such as "sentiment analysis API" can be used.
[0307] Specific description of operations
[0308] The server uses data collection means to regularly collect data from "multiple information sources". For example, fetch necessary business data from an in-house database or an external API. This collected data is temporarily stored in a database.
[0309] Next, the server automatically extracts keywords from the collected data using natural language processing tools such as "NLTK" and "spaCy". Based on these keywords, "Elasticsearch" generates an index for efficient search.
[0310] When receiving a search query, the server searches the "Elasticsearch" index based on the query and extracts the corresponding information. At the same time, it analyzes the user's sentiment data and sets the priority of the search results. For example, when the user inputs a query such as "want to check the contract content of ABC stock's zoom" and a sentiment of anxiety is detected from the voice data, the server adjusts the ranking of the search results and preferentially returns information with high importance.
[0311] Terminal configuration and operation
[0312] The terminal functions as an interface between the user and the server. It incorporates input fields and speech recognition capabilities, receiving user queries and sending them to the server. It also analyzes the search results returned from the server, converts them into a user-friendly format, and displays them on the user interface.
[0313] For example, if a user enters "I want to check the details of my Zoom contract for ABC stocks" into a text input field and simultaneously uses voice input, the device will send this query and voice data together to the server. The search results returned from the server will be parsed by the device and displayed to the user in an appropriate format.
[0314] Specific example
[0315] Suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device, and their voice input also detects an urgent feeling of "I want to know quickly." In this case, an emotion analysis API analyzes this emotion data and assigns the tag "urgent." The server takes this tag into consideration and prioritizes displaying search results in a format that can be understood more quickly. For example, the server uses Elasticsearch to quickly retrieve relevant data from its index and sends the most important search results back to the device in JSON format. The device then analyzes this data, converts it into a format that is easy for the user interface to read, and displays it to the user.
[0316] As an example of a prompt, if you enter "I want to check the details of ABC Stock's Zoom contract" and provide "I want to know quickly" as voice data, you can obtain search results that reflect the user's emotional state.
[0317] As described above, the present invention is a system that collects data from multiple information sources and quickly provides optimal information tailored to the user's emotional state.
[0318] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0319] Step 1: Data Collection
[0320] The server periodically collects data from multiple sources. This involves retrieving information using tools such as Apache Kafka and RESTful APIs. Specifically, the server fetches business data from MySQL databases and external APIs, and this data is temporarily sent to cloud storage. The input data consists of responses from each data source, while the output data is raw, unprocessed data stored in cloud storage.
[0321] Step 2: Keyword Extraction
[0322] The server extracts keywords from the collected data. It utilizes natural language processing tools such as "NLTK" and "spaCy." Specifically, the server reads data from cloud storage and automatically applies text analysis algorithms to extract important keywords. The input data is raw data from cloud storage, and the output data is a list of extracted keywords.
[0323] Step 3: Index Generation
[0324] The server generates an index based on the extracted keywords. It uses Elasticsearch to create the index. Specifically, the server sends the extracted keyword list to Elasticsearch to generate the index. The input data is the keyword list, and the output data is the index data stored in Elasticsearch.
[0325] Step 4: Query Reception
[0326] The terminal receives the user's search query and sends it to the server. For example, if the user enters "I want to check the details of my Zoom contract for ABC stocks," the terminal sends this text input to the server as an "HTTP POST request." Furthermore, if there is voice input, it is converted to text using speech recognition and sent together. The input data consists of the user's text and voice data, and the output data is the HTTP request sent to the server.
[0327] Step 5: Query Processing and Sentiment Analysis
[0328] The server parses the received query and searches the index. Simultaneously, it utilizes a sentiment analysis API to analyze the transmitted sentiment data. Specifically, the server sends the query to Elasticsearch and uses the `match` function to retrieve relevant index data. Furthermore, it analyzes the emotional state from the audio data and assigns tags such as "urgent" to the results. The input data consists of the HTTP request and audio data, while the output data consists of the sentiment analysis results and index search results.
[0329] Step 6: Prioritizing Search Results
[0330] The server prioritizes search results based on sentiment analysis results. Specifically, if the sentiment analysis API detects an impatient emotion such as "I want to know quickly," it adds the tag "urgent" to the search results and adjusts the ranking. The input data consists of sentiment analysis results and index search results, while the output data consists of search results with assigned priorities.
[0331] Step 7: Displaying search results
[0332] The terminal displays the search results returned from the server to the user. Specifically, the terminal parses the search results received in "JSON format," converts them into a user-friendly format, and displays them in the user interface. The input data is the search results from the server, and the output data is the search results displayed in the user interface. This allows the user to confirm and act upon the necessary information.
[0333] Through this series of processes, users can quickly obtain appropriate information, and optimal information delivery tailored to their emotional state is achieved.
[0334] (Application Example 2)
[0335] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0336] In today's information society, users are required to quickly obtain necessary data from numerous information sources, but there is also an increasing demand for information that takes into account the user's emotional state. Conventional search systems simply provide information without considering the user's emotional state, hindering improvements in the user experience. Therefore, a system is needed that analyzes the user's emotions in real time and provides optimal search results based on that analysis.
[0337] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for recognizing and analyzing the user's emotions, and means for optimizing the search results based on the recognized emotions. As a result, the user can quickly obtain the most appropriate information tailored to their emotional state.
[0338] A "data source" refers to various systems, databases, or platforms that provide information.
[0339] "Keywords" are important words or phrases extracted from collected information and are used for index generation and searching.
[0340] An "index" is a data structure that associates keywords related to each information item in order to efficiently search for information.
[0341] A "search query" is a sentence or phrase that a user enters into the system to search for something.
[0342] An "emotion engine" is a system or algorithm for recognizing and analyzing a user's emotions.
[0343] "Optimization" refers to selecting and adjusting the most effective means and methods for a specific purpose.
[0344] "Display means" refers to devices or interfaces used to visually present search results to the user.
[0345] The following system configuration and processing procedure will be described as embodiments for carrying out this invention.
[0346] System Configuration
[0347] 1. Server
[0348] Data collection method: The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which information is retrieved.
[0349] Keyword extraction and index generation method: The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching.
[0350] Search method: When a user sends a search query to the server, the server searches its index based on that query and extracts the relevant information.
[0351] Emotion analysis method: An emotion engine is used to recognize and analyze the user's emotions.
[0352] Optimization method: Optimize search results based on recognized emotions and provide information to the user in the most optimal format.
[0353] 2. Terminal
[0354] User-server interface: The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned by the server to the user. This interface allows the user to easily operate the system.
[0355] Emotion Engine Interface: The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on these analysis results, it adjusts the priority and display method of search results.
[0356] Processing procedure and hardware / software used
[0357] Hardware: Smartphones, smart glasses, head-mounted displays
[0358] Software: Facial expression analysis library (OpenCV), speech analysis library (Google® Speech API), data collection tools (Web scraping tool, REST API integration)
[0359] The server first collects necessary information from multiple data sources, extracts keywords from the collected information, and generates an index. When a user enters a search query through their terminal, the server also extracts keywords from that query and performs a search based on the index. Simultaneously, the sentiment engine analyzes the user's emotions and optimizes search results according to their emotional state.
[0360] Specific example
[0361] For example, a user, after a long day at work, uses their smartphone to voice-input "I want to relax." Simultaneously, the emotion engine recognizes that the user is showing signs of stress through facial expression analysis. The emotion engine generates keywords related to "relax" and "stress relief" and sends them to the server. Based on this, the server searches for relevant videos from multiple video platforms (such as video streaming services) and displays them preferentially.
[0362] Example of a prompt
[0363] "Recommend videos that are best suited for users who want to relax."
[0364] This embodiment of the invention allows users to quickly obtain information and content that is best suited to their emotions.
[0365] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0366] Step 1:
[0367] The server periodically collects information from multiple pre-configured data sources. The input is a list of configured data sources, and the output is the collected raw data. This information collection is performed using web scraping tools and REST API integration.
[0368] Step 2:
[0369] The server automatically extracts keywords from the collected information. The input is the collected raw information data, and the output is the extracted keywords. Natural language processing techniques (e.g., NLTK) are used for this keyword extraction.
[0370] Step 3:
[0371] The server generates an index based on the extracted keywords. The input is the extracted keywords, and the output is the generated index. This index is a data structure that enables efficient searching, associating relevant keywords with each information item.
[0372] Step 4:
[0373] The user enters a search query using a terminal. The input is the user's search query, and the output is the sending of this query from the terminal to the server. This query input supports both text and voice input.
[0374] Step 5:
[0375] The device uses an emotion engine to analyze user input and voice data in order to recognize user emotions. Input consists of user voice data and facial expression data, while output is the analyzed emotion data. This emotion recognition utilizes facial expression analysis (e.g., OpenCV) and voice analysis (e.g., Google Speech API).
[0376] Step 6:
[0377] The server searches its index based on the user's search query and sentiment data, extracts relevant information, and optimizes the search results based on the recognized sentiment. The input is the user's search query, sentiment data, and the generated index, while the output is the optimized search results. In this way, the server adjusts the search results according to the user's sentiment.
[0378] Step 7:
[0379] The device displays optimized search results to the user. The input is the optimized search results sent from the server, and the output is the search results displayed on the device. This allows the user to quickly obtain information that aligns with their emotions.
[0380] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0381] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0382] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0383] [Second Embodiment]
[0384] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0385] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0386] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0387] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0388] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0389] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0390] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0391] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0392] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0393] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0394] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0395] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0396] This invention provides an integrated information retrieval system that can quickly and efficiently search for information dispersed across multiple information systems. This allows users to obtain necessary information in a short amount of time, significantly improving work efficiency.
[0397] Server Role
[0398] Data acquisition methods
[0399] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[0400] Keyword extraction and index generation means
[0401] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[0402] Search methods
[0403] When a user submits a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[0404] Terminal role
[0405] User-server interface
[0406] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[0407] User roles
[0408] Query Input
[0409] The user enters a query containing the necessary information into the search input field of the terminal. This query is sent to the server via the terminal.
[0410] Check the results
[0411] The search results from the server are displayed on the terminal, and the user obtains the necessary information by reviewing them.
[0412] Specific example
[0413] For example, a user might type "I want to check the details of my Zoom contract for ABC stocks" into their device. This query is sent to the server, which uses its index to search for information matching keywords such as "ABC stocks," "Zoom," and "contract." The search results are then sent back to the device and displayed to the user. By reviewing the displayed information, the user can quickly obtain the information they need.
[0414] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[0415] The following describes the processing flow.
[0416] Step 1: Execution of data collection method
[0417] The server collects information from multiple pre-configured data sources.
[0418] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[0419] Step 2: Execution of keyword extraction method
[0420] The server extracts keywords from the collected information.
[0421] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[0422] Step 3: Execution of the index generation means
[0423] The server generates an index based on the extracted keywords.
[0424] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[0425] Step 4: Submitting search queries
[0426] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[0427] The terminal sends the entered query to the server.
[0428] Step 5: Extracting search keywords
[0429] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[0430] Step 6: Execute search
[0431] The server searches the index based on the extracted keywords.
[0432] Quickly extract information items related to the relevant keyword within the index.
[0433] Step 7: Submit search results
[0434] The server compiles the search results and sends them to the terminal.
[0435] The results are sent to the terminal as a list of information items corresponding to the keywords.
[0436] Step 8: Displaying search results
[0437] The terminal displays the search results received from the server to the user.
[0438] Users review the displayed search results and quickly obtain the information they need.
[0439] In this way, by performing specific actions at each step, users can efficiently search for information and improve the efficiency of their work.
[0440] (Example 1)
[0441] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0442] The problem that this invention aims to solve is to enable users to quickly and efficiently search for information dispersed across multiple information systems and databases, and to obtain the information they need in a short amount of time. Conventional systems have difficulty handling information in different data formats and protocols in an integrated manner, resulting in problems where users cannot efficiently access information. In addition, the parsing of search queries and the speed of information retrieval are insufficient, leading to a decrease in work efficiency.
[0443] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0444] In this invention, the server includes means for collecting information from multiple data sources, means for analyzing the collected information using natural language processing technology to extract keywords and generate an index, means for receiving search queries from users and extracting keywords from those queries, means for quickly searching for information corresponding to the user's search query based on the generated index, and means for displaying the searched information to the user. This enables the centralized integration of information from different information systems and data formats, allowing users to efficiently obtain the information they need.
[0445] "Multiple data sources" refer to information sources from which data can be obtained from multiple origins, such as different information systems, databases, APIs, and cloud services.
[0446] "Means of collecting information" refers to a mechanism in which a server retrieves information from multiple data sources using methods such as API requests, SQL queries, and file readings.
[0447] "Natural language processing technology" refers to the technology used by computers to understand, analyze, and generate natural language that humans use in everyday life, and is used for keyword extraction, text analysis, and other purposes.
[0448] "Keywords" refer to the extraction of important terms from collected information, which are used for identifying and searching for information.
[0449] "Methods for generating an index" refer to a system that classifies and organizes information based on extracted keywords, creating a data structure that enables high-speed searching.
[0450] A "means for receiving search queries" refers to a system that receives search requests sent by users and analyzes their content.
[0451] "Methods for extracting keywords from search queries" refers to analytical techniques for extracting important keywords from the text of received search queries.
[0452] A "means of quickly searching for information" refers to a system that uses an index to quickly search for relevant information based on extracted keywords.
[0453] "Means of displaying searched information to the user" refers to a mechanism for displaying search results in an appropriate format on the user's device.
[0454] "Different data formats and protocols" refers to data formats such as text, CSV, JSON, and XML, as well as communication protocols such as HTTP, FTP, and JDBC, and includes technologies that integrate and handle these.
[0455] Modes for carrying out the invention
[0456] This invention provides an integrated information retrieval system that enables rapid and efficient searching of information dispersed across multiple information systems. This system allows users to obtain necessary information in a short time, significantly improving work efficiency.
[0457] Server Role
[0458] The server first has means of collecting information from multiple data sources. These data sources include databases, APIs, and cloud storage. This collection is done using Python's requests library and JDBC connections, among other things. The server also has means of analyzing the collected information using natural language processing (NLP) techniques and extracting keywords. Specifically, NLP techniques such as NLTK and Spacy are used.
[0459] Based on keywords extracted from the collected data, the server generates an index. Search engines such as Elasticsearch and Solr are used to generate the index. This creates a data structure that enables fast searching.
[0460] When a user sends a search query to the server, the server receives the query and extracts keywords from it. This analysis of the search query also utilizes NLP (Neuro-Linguistic Programming) technology. Based on the keywords, the server searches its index and quickly extracts relevant information. The search results are organized in JSON format and sent to the terminal.
[0461] Terminal role
[0462] The device provides an interface for the user to enter search queries. Typically, a web browser or mobile application is used. Once the user enters a search query, the device sends it to the server. This transmission is performed using JavaScript's fetch function or the axios library. The search results returned from the server are then displayed to the user on the device.
[0463] User roles
[0464] The user enters the necessary information into the search input field on their device. For example, they might enter, "I want to check the contract details for XX stock's online meeting service." This causes the device to send the search query to the server. When the search results returned from the server are displayed on the device, the user reviews them. For example, they can view detailed information about the contract details for XX stock's online meeting service.
[0465] Specific example
[0466] For example, a user might enter "I want to check the contract details for XX stock's online meeting service" into their terminal. This query is sent to the server, which uses its index to extract keywords such as "XX stock," "online meeting," and "contract." The server searches the index and extracts the relevant information in a short time. The extracted search results are sent back to the terminal and displayed to the user. By checking this information, the user can quickly obtain the information they need.
[0467] Concrete examples of prompt sentences for generative AI models
[0468] "Please create a program for a system that can comprehensively search information distributed across multiple information systems. The system will have a server that periodically collects data, extracts keywords using NLP technology to create an index, and quickly returns relevant information based on user search queries."
[0469] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[0470] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0471] System program processing flow
[0472] Server Role
[0473] Step 1:
[0474] Connect to the data source. The server sends HTTP requests to the API endpoint or connects to the database using JDBC. The input is the URL and connection information for each data source, and the output is a confirmation of a successful connection and that the data is ready to be retrieved.
[0475] Step 2:
[0476] The server collects data. It executes queries to retrieve the necessary information from data sources. For example, it executes requests to retrieve data from a RESTful API or SQL queries. The input is the query for each connected data source, and the output is the retrieved raw data. Specifically, it executes the SQL query SELECT FROM contracts WHERE date > '2023-01-01' and retrieves the results.
[0477] Step 3:
[0478] The collected data is temporarily stored. The server saves the acquired data to local temporary storage (e.g., an SQLite database or file system). The input is the acquired raw data, and the output is the data stored in temporary storage.
[0479] Step 4:
[0480] The server analyzes the collected data using natural language processing (NLP) techniques. The input is raw data read from temporary storage, and the output is the analyzed keywords. Specifically, it uses NLTK and Spacy to extract nouns and important phrases from the text.
[0481] Step 5:
[0482] An index is generated. The server generates an index based on the extracted keywords and stores it in Elasticsearch or Solr. The input is the extracted keywords, and the output is the generated index. This creates a data structure that enables fast searching.
[0483] Step 6:
[0484] The server receives search queries from users. The server receives search queries sent by users from their terminals as HTTP requests. The input is the user's search query text, and the output is internal data for parsing the search query.
[0485] Step 7:
[0486] The system analyzes search queries. The server extracts keywords from the received search queries. The input is the text of the search query, and the output is the extracted keywords. Specifically, the analysis is performed using an NLP library such as Spacy.
[0487] Step 8:
[0488] The system searches an index. The server searches an index created based on the extracted keywords and extracts the corresponding information. The input is the extracted keywords, and the output is the search results data. Elasticsearch's query functionality is used for the search process.
[0489] Step 9:
[0490] The server organizes the search results and sends them to the device. The server organizes the search results into a user-friendly format and sends them to the device in JSON format. The input is the search results data, and the output is the search results data in JSON format.
[0491] Terminal role
[0492] Step 1:
[0493] Provides a search input field. The terminal displays a form for the user to enter a search query. Input is the user's action, and output is the screen display for entering the search query.
[0494] Step 2:
[0495] The search query is sent to the server. The terminal sends the search query entered by the user to the server using JavaScript's fetch function or the axios library. The input is the user's search query text, and the output is an HTTP request to the server.
[0496] Step 3:
[0497] The terminal receives and displays search results from the server. The terminal receives the search results in JSON format sent back from the server and displays them to the user. The input is the search result data received from the server, and the output is the search results displayed to the user.
[0498] User roles
[0499] Step 1:
[0500] Enter the search query. The user enters the necessary information into the search input field on the terminal. The input is the user's query text, and the output is the search query displayed on the terminal.
[0501] Step 2:
[0502] Click the search button. The user enters a query and then clicks the search button to send the query to the server. The input is the user's click operation, and the output is the search request sent to the server.
[0503] Step 3:
[0504] Review the search results. The user reviews the search results displayed on their device and obtains the necessary information. The input is the search results displayed on the device, and the output is the information obtained.
[0505] (Application Example 1)
[0506] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0507] In managing the operation of autonomous vehicles, it is necessary to quickly and accurately acquire a wide variety of information in real time and make appropriate decisions based on that information in order for the vehicles to operate safely and efficiently. However, because the information is dispersed across multiple data sources, there is a problem in that it is difficult to quickly search for and acquire the necessary information. In addition, the inability to acquire information necessary for preventive maintenance and emergency response in a timely manner may impair safety and efficiency.
[0508] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0509] In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for the user to search for information in real time and reflect it in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs. This enables the rapid searching and acquisition of necessary information for the operation management of autonomous vehicles, thereby improving the safety and efficiency of the vehicles.
[0510] A "data source" refers to a system or platform that provides an information infrastructure or source for collecting information.
[0511] "Means of collecting information" refers to methods and processes for obtaining and aggregating necessary information from multiple data sources.
[0512] "A method for extracting keywords and generating an index" refers to a method of automatically selecting important terms from collected information and creating a data structure that enables efficient searching based on those terms.
[0513] "Search methods" refer to methods that use generated indexes to efficiently find information corresponding to the user's search queries.
[0514] "Means of displaying information to the user" refers to methods or devices for displaying searched information in a way that allows the user to visually confirm it.
[0515] A "means of searching for information in real time" refers to a method for immediately searching for and providing necessary information in response to evolving situations.
[0516] "Means of reflecting in control algorithms" refers to methods of reflecting the retrieved information in the operation management and control systems of autonomous vehicles in order to appropriately adjust their operation.
[0517] "A means of searching for vehicle maintenance information and proposing preventative measures" refers to a method of analyzing collected vehicle condition data and proposing necessary maintenance and countermeasures before problems occur.
[0518] "Means for searching for and providing response information in the event of an accident or malfunction" refers to a method for quickly finding and providing information on appropriate actions and repair services when a vehicle encounters an accident or breakdown.
[0519] Modes for carrying out the invention
[0520] Server Role
[0521] The server implements a system that includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for users to search for information in real time and reflect that in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs.
[0522] Specifically, the server performs the following processes:
[0523] 1. Data Collection
[0524] The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). This information is integrated based on various data formats and data communication protocols.
[0525] 2. Keyword extraction and index generation
[0526] Keywords are automatically extracted from the collected information, and an index is generated based on them. This index is a data structure for streamlining searches, associating keywords related to each information item.
[0527] 3. Real-time search
[0528] When the server receives a search query from a user, it searches its index based on the query's content and quickly extracts the relevant information. This enables real-time information retrieval.
[0529] 4. Implementation of control algorithm
[0530] The retrieved information is immediately reflected in the control algorithms of the autonomous vehicle, allowing for appropriate operational adjustments.
[0531] 5. Preventive maintenance
[0532] The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated, thereby minimizing vehicle downtime.
[0533] 6. Emergency Response
[0534] In the event of an accident or malfunction, we will quickly search for and provide appropriate response information.
[0535] Terminal role
[0536] The terminal functions as the user's interface and performs the following processes:
[0537] 1. Query Input
[0538] The user enters a search query containing the necessary information through their device. This query is then sent to the server.
[0539] 2. Results display
[0540] The search results returned from the server are displayed to the user. This allows the user to easily obtain the information they need.
[0541] User roles
[0542] The user's role is to enter search queries through their device and review the returned information.
[0543] One specific use case is that if an accident occurs ahead, you can simply voice-input "accident road construction," and the system will search for the optimal avoidance route based on that information and reflect it in the operation management system.
[0544] Hardware and software to be used
[0545] Hardware: Onboard computer and communication equipment in autonomous vehicles.
[0546] Software: Python, Requests library, JSON
[0547] Example of a prompt:
[0548] There is an accident ahead. Please search for the best alternative route.
[0549] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0550] Step 1: Data Collection
[0551] Subject: Server
[0552] Specific explanation: The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). Specifically, it uses the Python Requests library to retrieve data in JSON format from external APIs. In this step, the data collection method sends HTTP requests and collects the data returned as responses.
[0553] Input: List of URLs for the configured data sources
[0554] Output: Information collected from multiple data sources (in JSON format)
[0555] Step 2: Keyword extraction and index generation
[0556] Subject: Server
[0557] Specific explanation: The server automatically extracts keywords from the collected information and generates an index. For example, it uses natural language processing (NLP) techniques to extract important words from text data. It uses the Python NLTK library to extract nouns and specific keywords from sentences and add them to the index. This index is stored in a database and used in subsequent search processes.
[0558] Input: Collected information (JSON format)
[0559] Output: Generated index (association of keywords and information)
[0560] Step 3: Receive search queries and extract keywords
[0561] Subject: terminal
[0562] Specific explanation: The device receives search queries from users and extracts keywords from those queries. For example, if a user enters the search query "accident road construction" via voice input, it is converted into text. The device then analyzes this text and extracts important keywords. A generative AI model could be used for this analysis.
[0563] Input: User's search query (text format)
[0564] Output: Extracted keywords
[0565] Step 4: Search Process
[0566] Subject: Server
[0567] Detailed explanation: The server searches its index based on keywords generated from the received search query. In this step, it efficiently finds information related to the keywords from a pre-generated index. The search algorithm is designed to prioritize extracting the information most relevant to the search query.
[0568] Input: Extracted keywords
[0569] Output: Search results (related information)
[0570] Step 5: Displaying search results
[0571] Subject: terminal
[0572] Specific explanation: The terminal displays the search results returned from the server to the user. Specifically, it displays the search results in a user-friendly format, making the information immediately available. This display includes formats such as text, images, and links.
[0573] Input: Search results (related information)
[0574] Output: Displayed search results (in a visually easy-to-read format)
[0575] Step 6: Real-time information reflected in the control algorithm
[0576] Subject: Server
[0577] Specific explanation: The server incorporates the acquired real-time information into the control algorithm of the autonomous vehicle. In this step, the retrieved information immediately influences the vehicle's operation control. For example, if there is an accident ahead, the server calculates the optimal avoidance route based on that information and sends instructions to the operating system.
[0578] Input: Real-time information (search results)
[0579] Output: Updated control algorithm
[0580] Step 7: Propose preventative maintenance
[0581] Subject: Server
[0582] Specific explanation: The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated. In this step, the collected maintenance data is analyzed to identify parts that are likely to fail and generate an optimal maintenance plan.
[0583] Input: Vehicle maintenance information (collected data)
[0584] Output: Proposal for preventative maintenance
[0585] Step 8: Provide emergency response information
[0586] Subject: Server
[0587] Specific explanation: In the event of an accident or malfunction, the server quickly searches for response information and provides it to users. This step provides emergency response procedures and information on the nearest repair service to help users respond quickly.
[0588] Input: Emergency response information (collected data)
[0589] Output: Emergency response information (procedure manuals, repair service information)
[0590] Specific example:
[0591] If an accident occurs ahead, simply inputting "accident road construction" via voice input will allow the system to search for the optimal avoidance route based on that information and reflect it in the operational management system.
[0592] Example of a prompt:
[0593] There is an accident ahead. Please search for the best alternative route.
[0594] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0595] This invention provides a more advanced user experience by combining an integrated information retrieval system, capable of quickly and efficiently searching for information dispersed across multiple information systems, with an emotion engine that recognizes user emotions. This allows users to obtain necessary information in a short time, while also enabling the provision of optimal information tailored to the user's emotions.
[0596] Server Role
[0597] Data acquisition methods
[0598] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[0599] Keyword extraction and index generation means
[0600] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[0601] Search methods
[0602] When a user submits a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[0603] Terminal role
[0604] User-server interface
[0605] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[0606] Emotion engine interface
[0607] The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on these analysis results, it adjusts the priority and display method of search results.
[0608] User roles
[0609] Query Input
[0610] The user enters a query containing the necessary information into the search input field of their device. For example, they might enter, "I want to check the details of ABC stock's Zoom contract." This query is then sent to the server via the device.
[0611] Provision of emotional data
[0612] When users enter queries, they provide emotional data such as voice input and facial expressions. This emotional data is analyzed by an emotion engine to understand the user's emotional state.
[0613] Check the results
[0614] Search results from the server are displayed on the terminal, allowing the user to review them. Because the search results are optimized for the user's emotional state, the results are tailored by the emotion engine, enabling a more satisfying information delivery.
[0615] Specific example
[0616] For example, suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device. If, through voice input, the system detects a sense of urgency ("I want to know quickly"), the emotion engine analyzes this emotion and assigns the tag "urgent." The server then prioritizes displaying search results in a format that is easier to understand quickly, taking this tag into consideration. The search results are then sent back to the device and displayed to the user. By reviewing the displayed search results, the user can quickly obtain the necessary information.
[0617] The information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby accelerating information acquisition for users and improving operational efficiency. At the same time, by combining it with an emotion engine, it becomes possible to provide optimal information tailored to the user's emotions, further enhancing the user experience.
[0618] The following describes the processing flow.
[0619] Step 1: Execution of data collection method
[0620] The server collects information from multiple pre-configured data sources.
[0621] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[0622] Step 2: Execution of keyword extraction method
[0623] The server extracts keywords from the collected information.
[0624] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[0625] Step 3: Execution of the index generation means
[0626] The server generates an index based on the extracted keywords.
[0627] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[0628] Step 4: Submitting search queries
[0629] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[0630] The terminal sends the entered query to the server.
[0631] Step 5: Obtaining user sentiment data
[0632] When a user enters a query, the emotion engine analyzes the user's voice and facial expressions.
[0633] The emotion engine recognizes the user's emotional state and acquires that data.
[0634] Step 6: Extracting search keywords
[0635] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[0636] Step 7: Adjusting search results based on sentiment data
[0637] The server adjusts the priority of search results based on sentiment data obtained from the sentiment engine.
[0638] For example, if a user is showing signs of impatience, prioritize information that can be understood more quickly.
[0639] Step 8: Execute search
[0640] The server searches the index based on the adjusted priority.
[0641] Quickly extract information items related to the relevant keyword within the index.
[0642] Step 9: Submit search results
[0643] The server compiles the search results and sends them to the terminal.
[0644] The results are sent to the terminal as a list of information items corresponding to the keywords.
[0645] Step 10: Displaying search results
[0646] The terminal displays the search results received from the server to the user.
[0647] Users review the displayed search results and quickly obtain the information they need.
[0648] This process allows users to not only search for information efficiently, but also receive optimal information tailored to their emotions through an emotion-driven engine.
[0649] (Example 2)
[0650] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0651] Conventional information retrieval systems have made it difficult to quickly and efficiently obtain necessary information from multiple distributed information sources. Furthermore, they lack the ability to prioritize search results based on the user's emotional state, resulting in low user satisfaction.
[0652] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting data from multiple information sources, means for extracting keywords from the collected data and generating an index, means for searching for information corresponding to a search query based on the index, means for analyzing sentiment data to set the priority of the detected search results, and means for adjusting and displaying the search results according to the user's emotional state. This makes it possible to provide quick and appropriate information that reflects the emotional state based on the user's input.
[0653] An "information source" is a data provider from which data is obtained from different information systems, databases, or platforms.
[0654] "Data collection means" refers to methods or devices for periodically collecting information from multiple sources.
[0655] A "keyword extraction method" is a method or device for automatically finding important words and phrases from collected data.
[0656] An "index generation means" is a method or apparatus for creating a data structure that enables efficient searching based on extracted keywords.
[0657] A "search tool" refers to a method or device for finding relevant information by referring to an index based on a search query from a user.
[0658] "Emotional data analysis means" refers to methods and devices for identifying and analyzing emotions from user input or voice data.
[0659] "Search result priority setting means" refers to a method or apparatus for ranking search results based on the user's emotional state or other conditions.
[0660] "Search result display means" refers to methods or devices for displaying adjusted search results in an easy-to-understand manner for the user.
[0661] This invention is a system that collects data from multiple information sources, extracts keywords from the collected data to generate an index, and uses that index to search for information corresponding to the user's search query. Furthermore, it is a system that can analyze the user's emotional data, set the priority of search results according to their emotional state, and display adjusted search results.
[0662] Hardware and software configuration
[0663] server
[0664] The server includes data collection means, keyword extraction means, index generation means, search means, and sentiment data analysis means. Data collection means can include data streaming platforms and cloud storage services. Specific software examples include tools such as "Apache Kafka," "MySQL," and "APIs."
[0665] For keyword extraction, natural language processing tools such as "NLTK" and "spaCy" can be used. For index generation and search, index generation and search engines such as "Elasticsearch" can be used. For sentiment data analysis, sentiment recognition software such as "Sentiment Analysis API" can be used.
[0666] Detailed description of the operation
[0667] The server periodically collects data from "multiple sources" using data collection methods. For example, it fetches necessary business data from internal databases and external APIs. This collected data is temporarily stored in the database.
[0668] Next, the server uses natural language processing tools such as "NLTK" and "spaCy" to automatically extract keywords from the collected data. Based on these keywords, "Elasticsearch" generates an index for efficient searching.
[0669] When a search query is received, the server searches the Elasticsearch index based on that query and extracts the relevant information. At the same time, it analyzes the user's sentiment data and sets the priority of the search results. For example, if a user enters a query such as "I want to check the details of my Zoom contract for ABC stocks," and a sense of urgency is detected in the voice data, the server will adjust the ranking of the search results and return the most important information first.
[0670] Terminal configuration and operation
[0671] The terminal functions as an interface between the user and the server. It incorporates input fields and speech recognition capabilities, receiving user queries and sending them to the server. It also analyzes the search results returned from the server, converts them into a user-friendly format, and displays them on the user interface.
[0672] For example, if a user enters "I want to check the details of my Zoom contract for ABC stocks" into a text input field and simultaneously uses voice input, the device will send this query and voice data together to the server. The search results returned from the server will be parsed by the device and displayed to the user in an appropriate format.
[0673] Specific example
[0674] Suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device, and their voice input also detects an urgent feeling of "I want to know quickly." In this case, an emotion analysis API analyzes this emotion data and assigns the tag "urgent." The server takes this tag into consideration and prioritizes displaying search results in a format that can be understood more quickly. For example, the server uses Elasticsearch to quickly retrieve relevant data from its index and sends the most important search results back to the device in JSON format. The device then analyzes this data, converts it into a format that is easy for the user interface to read, and displays it to the user.
[0675] As an example of a prompt, by entering "I want to check the details of my Zoom contract for ABC stocks" and providing "I want to know quickly" as voice data, search results that reflect the user's emotional state can be obtained.
[0676] As described above, the present invention is a system that collects data from multiple information sources and quickly provides optimal information tailored to the user's emotional state.
[0677] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0678] Step 1: Data Collection
[0679] The server periodically collects data from multiple sources. This involves retrieving information using tools such as Apache Kafka and RESTful APIs. Specifically, the server fetches business data from MySQL databases and external APIs, and this data is temporarily sent to cloud storage. The input data consists of responses from each data source, while the output data is raw, unprocessed data stored in cloud storage.
[0680] Step 2: Keyword Extraction
[0681] The server extracts keywords from the collected data. It utilizes natural language processing tools such as "NLTK" and "spaCy." Specifically, the server reads data from cloud storage and automatically applies text analysis algorithms to extract important keywords. The input data is raw data from cloud storage, and the output data is a list of extracted keywords.
[0682] Step 3: Index Generation
[0683] The server generates an index based on the extracted keywords. It uses Elasticsearch to create the index. Specifically, the server sends the extracted keyword list to Elasticsearch to generate the index. The input data is the keyword list, and the output data is the index data stored in Elasticsearch.
[0684] Step 4: Query Reception
[0685] The terminal receives the user's search query and sends it to the server. For example, if the user enters "I want to check the details of my Zoom contract for ABC stocks," the terminal sends this text input to the server as an "HTTP POST request." Furthermore, if there is voice input, it is converted to text using speech recognition and sent together. The input data consists of the user's text and voice data, and the output data is the HTTP request sent to the server.
[0686] Step 5: Query Processing and Sentiment Analysis
[0687] The server parses the received query and searches the index. Simultaneously, it utilizes a sentiment analysis API to analyze the transmitted sentiment data. Specifically, the server sends the query to Elasticsearch and uses the `match` function to retrieve relevant index data. Furthermore, it analyzes the emotional state from the audio data and assigns tags such as "urgent" to the results. The input data consists of the HTTP request and audio data, while the output data consists of the sentiment analysis results and index search results.
[0688] Step 6: Prioritizing Search Results
[0689] The server prioritizes search results based on sentiment analysis results. Specifically, if the sentiment analysis API detects an impatient emotion such as "I want to know quickly," it adds the tag "urgent" to the search results and adjusts the ranking. The input data consists of sentiment analysis results and index search results, while the output data consists of search results with assigned priorities.
[0690] Step 7: Displaying search results
[0691] The terminal displays the search results returned from the server to the user. Specifically, the terminal parses the search results received in "JSON format," converts them into a user-friendly format, and displays them in the user interface. The input data is the search results from the server, and the output data is the search results displayed in the user interface. This allows the user to confirm and act upon the necessary information.
[0692] Through this series of processes, users can quickly obtain appropriate information, and optimal information delivery tailored to their emotional state is achieved.
[0693] (Application Example 2)
[0694] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0695] In today's information society, users are required to quickly obtain necessary data from numerous information sources, but there is also an increasing demand for information that takes into account the user's emotional state. Conventional search systems simply provide information without considering the user's emotional state, hindering improvements in the user experience. Therefore, a system is needed that analyzes the user's emotions in real time and provides optimal search results based on that analysis.
[0696] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for recognizing and analyzing the user's emotions, and means for optimizing the search results based on the recognized emotions. As a result, the user can quickly obtain the most appropriate information tailored to their emotional state.
[0697] A "data source" refers to various systems, databases, or platforms that provide information.
[0698] "Keywords" are important words or phrases extracted from collected information and are used for index generation and searching.
[0699] An "index" is a data structure that associates keywords related to each information item in order to efficiently search for information.
[0700] A "search query" is a sentence or phrase that a user enters into the system to search for something.
[0701] An "emotion engine" is a system or algorithm for recognizing and analyzing a user's emotions.
[0702] "Optimization" refers to selecting and adjusting the most effective means and methods for a specific purpose.
[0703] "Display means" refers to devices or interfaces used to visually present search results to the user.
[0704] The following system configuration and processing procedure will be described as embodiments for carrying out this invention.
[0705] System Configuration
[0706] 1. Server
[0707] Data collection method: The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which information is retrieved.
[0708] Keyword extraction and index generation method: The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching.
[0709] Search method: When a user sends a search query to the server, the server searches its index based on that query and extracts the relevant information.
[0710] Emotion analysis method: An emotion engine is used to recognize and analyze the user's emotions.
[0711] Optimization method: Optimize search results based on recognized emotions and provide information to the user in the most optimal format.
[0712] 2. Terminal
[0713] User-Server Interface: The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned by the server to the user. This interface allows the user to easily operate the system.
[0714] Emotion Engine Interface: The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on these analysis results, it adjusts the priority and display method of search results.
[0715] Processing procedure and hardware / software used
[0716] Hardware: Smartphones, smart glasses, head-mounted displays
[0717] Software: Facial expression analysis library (OpenCV), speech analysis library (Google Speech API), data collection tools (Web scraping tools, REST API integration)
[0718] The server first collects necessary information from multiple data sources, extracts keywords from the collected information, and generates an index. When a user enters a search query through their terminal, the server also extracts keywords from that query and performs a search based on the index. Simultaneously, the sentiment engine analyzes the user's emotions and optimizes search results according to their emotional state.
[0719] Specific example
[0720] For example, a user, after a long day at work, uses their smartphone to voice-input "I want to relax." Simultaneously, the emotion engine recognizes that the user is showing signs of stress through facial expression analysis. The emotion engine generates keywords related to "relax" and "stress relief" and sends them to the server. Based on this, the server searches for relevant videos from multiple video platforms (such as video streaming services) and displays them preferentially.
[0721] Example of a prompt
[0722] "Recommend videos that are best suited for users who want to relax."
[0723] This embodiment of the invention allows users to quickly obtain information and content that is best suited to their emotions.
[0724] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0725] Step 1:
[0726] The server periodically collects information from multiple pre-configured data sources. The input is a list of configured data sources, and the output is the collected raw data. This information collection is performed using web scraping tools and REST API integration.
[0727] Step 2:
[0728] The server automatically extracts keywords from the collected information. The input is the collected raw information data, and the output is the extracted keywords. Natural language processing techniques (e.g., NLTK) are used for this keyword extraction.
[0729] Step 3:
[0730] The server generates an index based on the extracted keywords. The input is the extracted keywords, and the output is the generated index. This index is a data structure for efficient searching, associating relevant keywords with each information item.
[0731] Step 4:
[0732] The user enters a search query using a terminal. The input is the user's search query, and the output is the sending of this query from the terminal to the server. This query input supports both text and voice input.
[0733] Step 5:
[0734] The device uses an emotion engine to analyze user input and voice data in order to recognize user emotions. Input consists of user voice data and facial expression data, while output is the analyzed emotion data. This emotion recognition utilizes facial expression analysis (e.g., OpenCV) and voice analysis (e.g., Google Speech API).
[0735] Step 6:
[0736] The server searches its index based on the user's search query and sentiment data, extracts relevant information, and optimizes the search results based on the recognized sentiment. The input is the user's search query, sentiment data, and the generated index, while the output is the optimized search results. In this way, the server adjusts the search results according to the user's sentiment.
[0737] Step 7:
[0738] The device displays optimized search results to the user. The input is the optimized search results sent from the server, and the output is the search results displayed on the device. This allows the user to quickly obtain information that aligns with their emotions.
[0739] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0740] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0741] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0742] [Third Embodiment]
[0743] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0744] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0745] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0746] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0747] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0748] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0749] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0750] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0751] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0752] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0753] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0754] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0755] This invention provides an integrated information retrieval system that can quickly and efficiently search for information dispersed across multiple information systems. This allows users to obtain necessary information in a short amount of time, significantly improving work efficiency.
[0756] Server Role
[0757] Data acquisition methods
[0758] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[0759] Keyword extraction and index generation means
[0760] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[0761] Search methods
[0762] When a user submits a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[0763] Terminal role
[0764] User-server interface
[0765] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[0766] User roles
[0767] Query Input
[0768] The user enters a query containing the necessary information into the search input field of the terminal. This query is sent to the server via the terminal.
[0769] Check the results
[0770] The search results from the server are displayed on the terminal, and the user obtains the necessary information by reviewing them.
[0771] Specific example
[0772] For example, a user might type "I want to check the details of my Zoom contract for ABC stocks" into their device. This query is sent to the server, which uses its index to search for information matching keywords such as "ABC stocks," "Zoom," and "contract." The search results are then sent back to the device and displayed to the user. By reviewing the displayed information, the user can quickly obtain the information they need.
[0773] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[0774] The following describes the processing flow.
[0775] Step 1: Execution of data collection method
[0776] The server collects information from multiple pre-configured data sources.
[0777] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[0778] Step 2: Execution of keyword extraction method
[0779] The server extracts keywords from the collected information.
[0780] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[0781] Step 3: Execution of the index generation means
[0782] The server generates an index based on the extracted keywords.
[0783] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[0784] Step 4: Submitting search queries
[0785] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[0786] The terminal sends the entered query to the server.
[0787] Step 5: Extracting search keywords
[0788] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[0789] Step 6: Execute search
[0790] The server searches the index based on the extracted keywords.
[0791] Quickly extract information items related to the relevant keyword within the index.
[0792] Step 7: Submit search results
[0793] The server compiles the search results and sends them to the terminal.
[0794] The results are sent to the terminal as a list of information items corresponding to the keywords.
[0795] Step 8: Displaying search results
[0796] The terminal displays the search results received from the server to the user.
[0797] Users review the displayed search results and quickly obtain the information they need.
[0798] In this way, by performing specific actions at each step, users can efficiently search for information and improve the efficiency of their work.
[0799] (Example 1)
[0800] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0801] The problem that this invention aims to solve is to enable users to quickly and efficiently search for information dispersed across multiple information systems and databases, and to obtain the information they need in a short amount of time. Conventional systems have difficulty handling information in different data formats and protocols in an integrated manner, resulting in problems where users cannot efficiently access information. In addition, the parsing of search queries and the speed of information retrieval are insufficient, leading to a decrease in work efficiency.
[0802] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0803] In this invention, the server includes means for collecting information from multiple data sources, means for analyzing the collected information using natural language processing technology to extract keywords and generate an index, means for receiving search queries from users and extracting keywords from those queries, means for quickly searching for information corresponding to the user's search query based on the generated index, and means for displaying the searched information to the user. This enables the centralized integration of information from different information systems and data formats, allowing users to efficiently obtain the information they need.
[0804] "Multiple data sources" refer to information sources from which data can be obtained from multiple origins, such as different information systems, databases, APIs, and cloud services.
[0805] "Means of collecting information" refers to a mechanism in which a server retrieves information from multiple data sources using methods such as API requests, SQL queries, and file readings.
[0806] "Natural language processing technology" refers to the technology used by computers to understand, analyze, and generate natural language that humans use in everyday life, and is used for keyword extraction, text analysis, and other purposes.
[0807] "Keywords" refer to the extraction of important terms from collected information, which are used for identifying and searching for information.
[0808] "Methods for generating an index" refer to a system that classifies and organizes information based on extracted keywords, creating a data structure that enables high-speed searching.
[0809] A "means for receiving search queries" refers to a system that receives search requests sent by users and analyzes their content.
[0810] "Methods for extracting keywords from search queries" refers to analytical techniques for extracting important keywords from the text of received search queries.
[0811] A "means of quickly searching for information" refers to a system that uses an index to quickly search for relevant information based on extracted keywords.
[0812] "Means of displaying searched information to the user" refers to a mechanism for displaying search results in an appropriate format on the user's device.
[0813] "Different data formats and protocols" refers to data formats such as text, CSV, JSON, and XML, as well as communication protocols such as HTTP, FTP, and JDBC, and includes technologies that integrate and handle these.
[0814] Modes for carrying out the invention
[0815] This invention provides an integrated information retrieval system that enables rapid and efficient searching of information dispersed across multiple information systems. This system allows users to obtain necessary information in a short time, significantly improving work efficiency.
[0816] Server Role
[0817] The server first has means of collecting information from multiple data sources. These data sources include databases, APIs, and cloud storage. This collection is done using Python's requests library and JDBC connections, among other things. The server also has means of analyzing the collected information using natural language processing (NLP) techniques and extracting keywords. Specifically, NLP techniques such as NLTK and Spacy are used.
[0818] Based on keywords extracted from the collected data, the server generates an index. Search engines such as Elasticsearch and Solr are used to generate the index. This creates a data structure that enables fast searching.
[0819] When a user sends a search query to the server, the server receives the query and extracts keywords from it. This analysis of the search query also utilizes NLP (Neuro-Linguistic Programming) technology. Based on the keywords, the server searches its index and quickly extracts relevant information. The search results are organized in JSON format and sent to the terminal.
[0820] Terminal role
[0821] The device provides an interface for the user to enter search queries. Typically, a web browser or mobile application is used. Once the user enters a search query, the device sends it to the server. This transmission is performed using JavaScript's fetch function or the axios library. The search results returned from the server are then displayed to the user on the device.
[0822] User roles
[0823] The user enters the necessary information into the search input field on their device. For example, they might enter, "I want to check the contract details for XX stock's online meeting service." This causes the device to send the search query to the server. When the search results returned from the server are displayed on the device, the user reviews them. For example, they can view detailed information about the contract details for XX stock's online meeting service.
[0824] Specific example
[0825] For example, a user might enter "I want to check the contract details for XX stock's online meeting service" into their terminal. This query is sent to the server, which uses its index to extract keywords such as "XX stock," "online meeting," and "contract." The server searches the index and extracts the relevant information in a short time. The extracted search results are sent back to the terminal and displayed to the user. By checking this information, the user can quickly obtain the information they need.
[0826] Concrete examples of prompt sentences for generative AI models
[0827] "Please create a program for a system that can comprehensively search information distributed across multiple information systems. The system will have a server that periodically collects data, extracts keywords using NLP technology to create an index, and quickly returns relevant information based on user search queries."
[0828] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[0829] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0830] System program processing flow
[0831] Server Role
[0832] Step 1:
[0833] Connect to the data source. The server sends HTTP requests to the API endpoint or connects to the database using JDBC. The input is the URL and connection information for each data source, and the output is a confirmation of a successful connection and that the data is ready to be retrieved.
[0834] Step 2:
[0835] The server collects data. It executes queries to retrieve the necessary information from data sources. For example, it executes requests to retrieve data from a RESTful API or SQL queries. The input is the query for each connected data source, and the output is the retrieved raw data. Specifically, it executes the SQL query SELECT FROM contracts WHERE date > '2023-01-01' and retrieves the results.
[0836] Step 3:
[0837] The collected data is temporarily stored. The server saves the acquired data to local temporary storage (e.g., an SQLite database or file system). The input is the acquired raw data, and the output is the data stored in temporary storage.
[0838] Step 4:
[0839] The server analyzes the collected data using natural language processing (NLP) techniques. The input is raw data read from temporary storage, and the output is the analyzed keywords. Specifically, it uses NLTK and Spacy to extract nouns and important phrases from the text.
[0840] Step 5:
[0841] An index is generated. The server generates an index based on the extracted keywords and stores it in Elasticsearch or Solr. The input is the extracted keywords, and the output is the generated index. This creates a data structure that enables fast searching.
[0842] Step 6:
[0843] The server receives search queries from users. The server receives search queries sent by users from their terminals as HTTP requests. The input is the user's search query text, and the output is internal data for parsing the search query.
[0844] Step 7:
[0845] The system analyzes search queries. The server extracts keywords from the received search queries. The input is the text of the search query, and the output is the extracted keywords. Specifically, the analysis is performed using an NLP library such as Spacy.
[0846] Step 8:
[0847] The system searches an index. The server searches an index created based on the extracted keywords and extracts the corresponding information. The input is the extracted keywords, and the output is the search results data. Elasticsearch's query functionality is used for the search process.
[0848] Step 9:
[0849] The server organizes the search results and sends them to the device. The server organizes the search results into a user-friendly format and sends them to the device in JSON format. The input is the search results data, and the output is the search results data in JSON format.
[0850] Terminal role
[0851] Step 1:
[0852] Provides a search input field. The terminal displays a form for the user to enter a search query. Input is the user's action, and output is the screen display for entering the search query.
[0853] Step 2:
[0854] The search query is sent to the server. The terminal sends the search query entered by the user to the server using JavaScript's fetch function or the axios library. The input is the user's search query text, and the output is an HTTP request to the server.
[0855] Step 3:
[0856] The terminal receives and displays search results from the server. The terminal receives the search results in JSON format sent back from the server and displays them to the user. The input is the search result data received from the server, and the output is the search results displayed to the user.
[0857] User roles
[0858] Step 1:
[0859] Enter the search query. The user enters the necessary information into the search input field on the terminal. The input is the user's query text, and the output is the search query displayed on the terminal.
[0860] Step 2:
[0861] Click the search button. The user enters a query and then clicks the search button to send the query to the server. The input is the user's click operation, and the output is the search request sent to the server.
[0862] Step 3:
[0863] Review the search results. The user reviews the search results displayed on their device and obtains the necessary information. The input is the search results displayed on the device, and the output is the information obtained.
[0864] (Application Example 1)
[0865] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0866] In managing the operation of autonomous vehicles, it is necessary to quickly and accurately acquire a wide variety of information in real time and make appropriate decisions based on that information in order for the vehicles to operate safely and efficiently. However, because the information is dispersed across multiple data sources, there is a problem in that it is difficult to quickly search for and acquire the necessary information. In addition, the inability to acquire information necessary for preventive maintenance and emergency response in a timely manner may impair safety and efficiency.
[0867] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0868] In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for the user to search for information in real time and reflect it in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs. This enables the rapid searching and acquisition of necessary information for the operation management of autonomous vehicles, thereby improving the safety and efficiency of the vehicles.
[0869] A "data source" refers to a system or platform that provides an information infrastructure or source for collecting information.
[0870] "Means of collecting information" refers to methods and processes for obtaining and aggregating necessary information from multiple data sources.
[0871] "A method for extracting keywords and generating an index" refers to a method of automatically selecting important terms from collected information and creating a data structure that enables efficient searching based on those terms.
[0872] "Search methods" refer to methods that use generated indexes to efficiently find information corresponding to the user's search queries.
[0873] "Means of displaying information to the user" refers to methods or devices for displaying searched information in a way that allows the user to visually confirm it.
[0874] A "means of searching for information in real time" refers to a method for immediately searching for and providing necessary information in response to evolving situations.
[0875] "Means of reflecting in control algorithms" refers to methods of reflecting the retrieved information in the operation management and control systems of autonomous vehicles in order to appropriately adjust their operation.
[0876] "A means of searching for vehicle maintenance information and proposing preventative measures" refers to a method of analyzing collected vehicle condition data and proposing necessary maintenance and countermeasures before problems occur.
[0877] "Means for searching for and providing response information in the event of an accident or malfunction" refers to a method for quickly finding and providing information on appropriate actions and repair services when a vehicle encounters an accident or breakdown.
[0878] Modes for carrying out the invention
[0879] Server Role
[0880] The server implements a system that includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for users to search for information in real time and reflect that in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs.
[0881] Specifically, the server performs the following processes:
[0882] 1. Data Collection
[0883] The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). This information is integrated based on various data formats and data communication protocols.
[0884] 2. Keyword extraction and index generation
[0885] Keywords are automatically extracted from the collected information, and an index is generated based on them. This index is a data structure for streamlining searches, associating keywords related to each information item.
[0886] 3. Real-time search
[0887] When the server receives a search query from a user, it searches its index based on the query's content and quickly extracts the relevant information. This enables real-time information retrieval.
[0888] 4. Implementation of control algorithm
[0889] The retrieved information is immediately reflected in the control algorithms of the autonomous vehicle, allowing for appropriate operational adjustments.
[0890] 5. Preventive maintenance
[0891] The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated, thereby minimizing vehicle downtime.
[0892] 6. Emergency Response
[0893] In the event of an accident or malfunction, we will quickly search for and provide appropriate response information.
[0894] Terminal role
[0895] The terminal functions as the user's interface and performs the following processes:
[0896] 1. Query Input
[0897] The user enters a search query containing the necessary information through their device. This query is then sent to the server.
[0898] 2. Results display
[0899] The search results returned from the server are displayed to the user. This allows the user to easily obtain the information they need.
[0900] User roles
[0901] The user's role is to enter search queries through their device and review the returned information.
[0902] One specific use case is that if an accident occurs ahead, you can simply voice-input "accident road construction," and the system will search for the optimal avoidance route based on that information and reflect it in the operation management system.
[0903] Hardware and software to be used
[0904] Hardware: Onboard computer and communication equipment in autonomous vehicles.
[0905] Software: Python, Requests library, JSON
[0906] Example of a prompt:
[0907] There is an accident ahead. Please search for the best alternative route.
[0908] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0909] Step 1: Data Collection
[0910] Subject: Server
[0911] Specific explanation: The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). Specifically, it uses the Python Requests library to retrieve data in JSON format from external APIs. In this step, the data collection method sends HTTP requests and collects the data returned as responses.
[0912] Input: List of URLs for the configured data sources
[0913] Output: Information collected from multiple data sources (in JSON format)
[0914] Step 2: Keyword extraction and index generation
[0915] Subject: Server
[0916] Specific explanation: The server automatically extracts keywords from the collected information and generates an index. For example, it uses natural language processing (NLP) techniques to extract important words from text data. It uses the Python NLTK library to extract nouns and specific keywords from sentences and add them to the index. This index is stored in a database and used in subsequent search processes.
[0917] Input: Collected information (JSON format)
[0918] Output: Generated index (association of keywords and information)
[0919] Step 3: Receive search queries and extract keywords
[0920] Subject: terminal
[0921] Specific explanation: The device receives search queries from users and extracts keywords from those queries. For example, if a user enters the search query "accident road construction" via voice input, it is converted into text. The device then analyzes this text and extracts important keywords. A generative AI model could be used for this analysis.
[0922] Input: User's search query (text format)
[0923] Output: Extracted keywords
[0924] Step 4: Search Process
[0925] Subject: Server
[0926] Detailed explanation: The server searches its index based on keywords generated from the received search query. In this step, it efficiently finds information related to the keywords from a pre-generated index. The search algorithm is designed to prioritize extracting the information most relevant to the search query.
[0927] Input: Extracted keywords
[0928] Output: Search results (related information)
[0929] Step 5: Displaying search results
[0930] Subject: terminal
[0931] Specific explanation: The terminal displays the search results returned from the server to the user. Specifically, it displays the search results in a user-friendly format, making the information immediately available. This display includes formats such as text, images, and links.
[0932] Input: Search results (related information)
[0933] Output: Displayed search results (in a visually easy-to-read format)
[0934] Step 6: Real-time information reflected in the control algorithm
[0935] Subject: Server
[0936] Specific explanation: The server incorporates the acquired real-time information into the control algorithm of the autonomous vehicle. In this step, the retrieved information immediately influences the vehicle's operation control. For example, if there is an accident ahead, the server calculates the optimal avoidance route based on that information and sends instructions to the operating system.
[0937] Input: Real-time information (search results)
[0938] Output: Updated control algorithm
[0939] Step 7: Propose preventative maintenance
[0940] Subject: Server
[0941] Specific explanation: The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated. In this step, the collected maintenance data is analyzed to identify parts that are likely to fail and generate an optimal maintenance plan.
[0942] Input: Vehicle maintenance information (collected data)
[0943] Output: Proposal for preventative maintenance
[0944] Step 8: Provide emergency response information
[0945] Subject: Server
[0946] Specific explanation: In the event of an accident or malfunction, the server quickly searches for response information and provides it to users. This step provides emergency response procedures and information on the nearest repair service to help users respond quickly.
[0947] Input: Emergency response information (collected data)
[0948] Output: Emergency response information (procedure manuals, repair service information)
[0949] Specific example:
[0950] If an accident occurs ahead, simply inputting "accident road construction" via voice input will allow the system to search for the optimal avoidance route based on that information and reflect it in the operational management system.
[0951] Example of a prompt:
[0952] There is an accident ahead. Please search for the best alternative route.
[0953] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0954] This invention provides a more advanced user experience by combining an integrated information retrieval system, capable of quickly and efficiently searching for information dispersed across multiple information systems, with an emotion engine that recognizes user emotions. This allows users to obtain necessary information in a short time, while also enabling the provision of optimal information tailored to the user's emotions.
[0955] Server Role
[0956] Data acquisition methods
[0957] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[0958] Keyword extraction and index generation means
[0959] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[0960] Search methods
[0961] When a user submits a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[0962] Terminal role
[0963] User-server interface
[0964] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[0965] Emotion engine interface
[0966] The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on these analysis results, it adjusts the priority and display method of search results.
[0967] User roles
[0968] Query Input
[0969] The user enters a query containing the necessary information into the search input field of their device. For example, they might enter, "I want to check the details of ABC stock's Zoom contract." This query is then sent to the server via the device.
[0970] Provision of emotional data
[0971] When users enter queries, they provide emotional data such as voice input and facial expressions. This emotional data is analyzed by an emotion engine to understand the user's emotional state.
[0972] Check the results
[0973] Search results from the server are displayed on the terminal, allowing the user to review them. Because the search results are optimized for the user's emotional state, the results are tailored by the emotion engine, enabling a more satisfying information delivery.
[0974] Specific example
[0975] For example, suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device. If, through voice input, the system detects a sense of urgency ("I want to know quickly"), the emotion engine analyzes this emotion and assigns the tag "urgent." The server then prioritizes displaying search results in a format that is easier to understand quickly, taking this tag into consideration. The search results are then sent back to the device and displayed to the user. By reviewing the displayed search results, the user can quickly obtain the necessary information.
[0976] The information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby accelerating information acquisition for users and improving operational efficiency. At the same time, by combining it with an emotion engine, it becomes possible to provide optimal information tailored to the user's emotions, further enhancing the user experience.
[0977] The following describes the processing flow.
[0978] Step 1: Execution of data collection method
[0979] The server collects information from multiple pre-configured data sources.
[0980] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[0981] Step 2: Execution of keyword extraction method
[0982] The server extracts keywords from the collected information.
[0983] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[0984] Step 3: Execution of the index generation means
[0985] The server generates an index based on the extracted keywords.
[0986] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[0987] Step 4: Submitting search queries
[0988] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[0989] The terminal sends the entered query to the server.
[0990] Step 5: Obtaining user sentiment data
[0991] When a user enters a query, the emotion engine analyzes the user's voice and facial expressions.
[0992] The emotion engine recognizes the user's emotional state and acquires that data.
[0993] Step 6: Extracting search keywords
[0994] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[0995] Step 7: Adjusting search results based on sentiment data
[0996] The server adjusts the priority of search results based on sentiment data obtained from the sentiment engine.
[0997] For example, if a user is showing signs of impatience, prioritize information that can be understood more quickly.
[0998] Step 8: Execute search
[0999] The server searches the index based on the adjusted priority.
[1000] Quickly extract information items related to the relevant keyword within the index.
[1001] Step 9: Submit search results
[1002] The server compiles the search results and sends them to the terminal.
[1003] The results are sent to the terminal as a list of information items corresponding to the keywords.
[1004] Step 10: Displaying search results
[1005] The terminal displays the search results received from the server to the user.
[1006] Users review the displayed search results and quickly obtain the information they need.
[1007] This process allows users to not only search for information efficiently, but also receive optimal information tailored to their emotions through an emotion-driven engine.
[1008] (Example 2)
[1009] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1010] Conventional information retrieval systems have made it difficult to quickly and efficiently obtain necessary information from multiple distributed information sources. Furthermore, they lack the ability to prioritize search results based on the user's emotional state, resulting in low user satisfaction.
[1011] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting data from multiple information sources, means for extracting keywords from the collected data and generating an index, means for searching for information corresponding to a search query based on the index, means for analyzing sentiment data to set the priority of the detected search results, and means for adjusting and displaying the search results according to the user's emotional state. This makes it possible to provide quick and appropriate information that reflects the emotional state based on the user's input.
[1012] An "information source" is a data provider from which data is obtained from different information systems, databases, or platforms.
[1013] "Data collection means" refers to methods or devices for periodically collecting information from multiple sources.
[1014] A "keyword extraction method" is a method or device for automatically finding important words and phrases from collected data.
[1015] An "index generation means" is a method or apparatus for creating a data structure that enables efficient searching based on extracted keywords.
[1016] A "search tool" refers to a method or device for finding relevant information by referring to an index based on a search query from a user.
[1017] "Emotional data analysis means" refers to methods and devices for identifying and analyzing emotions from user input or voice data.
[1018] "Search result priority setting means" refers to a method or apparatus for ranking search results based on the user's emotional state or other conditions.
[1019] "Search result display means" refers to methods or devices for displaying adjusted search results in an easy-to-understand manner for the user.
[1020] This invention is a system that collects data from multiple information sources, extracts keywords from the collected data to generate an index, and uses that index to search for information corresponding to the user's search query. Furthermore, it is a system that can analyze the user's emotional data, set the priority of search results according to their emotional state, and display adjusted search results.
[1021] Hardware and software configuration
[1022] server
[1023] The server includes data collection means, keyword extraction means, index generation means, search means, and sentiment data analysis means. Data collection means can include data streaming platforms and cloud storage services. Specific software examples include tools such as "Apache Kafka," "MySQL," and "APIs."
[1024] For keyword extraction, natural language processing tools such as "NLTK" and "spaCy" can be used. For index generation and search, index generation and search engines such as "Elasticsearch" can be used. For sentiment data analysis, sentiment recognition software such as "Sentiment Analysis API" can be used.
[1025] Detailed description of the operation
[1026] The server periodically collects data from "multiple sources" using data collection methods. For example, it fetches necessary business data from internal databases and external APIs. This collected data is temporarily stored in the database.
[1027] Next, the server uses natural language processing tools such as "NLTK" and "spaCy" to automatically extract keywords from the collected data. Based on these keywords, "Elasticsearch" generates an index for efficient searching.
[1028] When a search query is received, the server searches the Elasticsearch index based on that query and extracts the relevant information. At the same time, it analyzes the user's sentiment data and sets the priority of the search results. For example, if a user enters a query such as "I want to check the details of my Zoom contract for ABC stocks," and a sense of urgency is detected in the voice data, the server will adjust the ranking of the search results and return the most important information first.
[1029] Terminal configuration and operation
[1030] The terminal functions as an interface between the user and the server. It incorporates input fields and speech recognition capabilities, receiving user queries and sending them to the server. It also analyzes the search results returned from the server, converts them into a user-friendly format, and displays them on the user interface.
[1031] For example, if a user enters "I want to check the details of my Zoom contract for ABC stocks" into a text input field and simultaneously uses voice input, the device will send this query and voice data together to the server. The search results returned from the server will be parsed by the device and displayed to the user in an appropriate format.
[1032] Specific example
[1033] Suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device, and their voice input also detects an urgent feeling of "I want to know quickly." In this case, an emotion analysis API analyzes this emotion data and assigns the tag "urgent." The server takes this tag into consideration and prioritizes displaying search results in a format that can be understood more quickly. For example, the server uses Elasticsearch to quickly retrieve relevant data from its index and sends the most important search results back to the device in JSON format. The device then analyzes this data, converts it into a format that is easy for the user interface to read, and displays it to the user.
[1034] As an example of a prompt, by entering "I want to check the details of my Zoom contract for ABC stocks" and providing "I want to know quickly" as voice data, search results that reflect the user's emotional state can be obtained.
[1035] As described above, the present invention is a system that collects data from multiple information sources and quickly provides optimal information tailored to the user's emotional state.
[1036] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1037] Step 1: Data Collection
[1038] The server periodically collects data from multiple sources. This involves retrieving information using tools such as Apache Kafka and RESTful APIs. Specifically, the server fetches business data from MySQL databases and external APIs, and this data is temporarily sent to cloud storage. The input data consists of responses from each data source, while the output data is raw, unprocessed data stored in cloud storage.
[1039] Step 2: Keyword Extraction
[1040] The server extracts keywords from the collected data. It utilizes natural language processing tools such as "NLTK" and "spaCy." Specifically, the server reads data from cloud storage and automatically applies text analysis algorithms to extract important keywords. The input data is raw data from cloud storage, and the output data is a list of extracted keywords.
[1041] Step 3: Index Generation
[1042] The server generates an index based on the extracted keywords. It uses Elasticsearch to create the index. Specifically, the server sends the extracted keyword list to Elasticsearch to generate the index. The input data is the keyword list, and the output data is the index data stored in Elasticsearch.
[1043] Step 4: Query Reception
[1044] The terminal receives the user's search query and sends it to the server. For example, if the user enters "I want to check the details of my Zoom contract for ABC stocks," the terminal sends this text input to the server as an "HTTP POST request." Furthermore, if there is voice input, it is converted to text using speech recognition and sent together. The input data consists of the user's text and voice data, and the output data is the HTTP request sent to the server.
[1045] Step 5: Query Processing and Sentiment Analysis
[1046] The server parses the received query and searches the index. Simultaneously, it utilizes a sentiment analysis API to analyze the transmitted sentiment data. Specifically, the server sends the query to Elasticsearch and uses the `match` function to retrieve relevant index data. Furthermore, it analyzes the emotional state from the audio data and assigns tags such as "urgent" to the results. The input data consists of the HTTP request and audio data, while the output data consists of the sentiment analysis results and index search results.
[1047] Step 6: Prioritizing Search Results
[1048] The server prioritizes search results based on sentiment analysis results. Specifically, if the sentiment analysis API detects an impatient emotion such as "I want to know quickly," it adds the tag "urgent" to the search results and adjusts the ranking. The input data consists of sentiment analysis results and index search results, while the output data consists of search results with assigned priorities.
[1049] Step 7: Displaying search results
[1050] The terminal displays the search results returned from the server to the user. Specifically, the terminal parses the search results received in "JSON format," converts them into a user-friendly format, and displays them in the user interface. The input data is the search results from the server, and the output data is the search results displayed in the user interface. This allows the user to confirm and act upon the necessary information.
[1051] Through this series of processes, users can quickly obtain appropriate information, and optimal information delivery tailored to their emotional state is achieved.
[1052] (Application Example 2)
[1053] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1054] In today's information society, users are required to quickly obtain necessary data from numerous information sources, but there is also an increasing demand for information that takes into account the user's emotional state. Conventional search systems simply provide information without considering the user's emotional state, hindering improvements in the user experience. Therefore, a system is needed that analyzes the user's emotions in real time and provides optimal search results based on that analysis.
[1055] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for recognizing and analyzing the user's emotions, and means for optimizing the search results based on the recognized emotions. As a result, the user can quickly obtain the most appropriate information tailored to their emotional state.
[1056] A "data source" refers to various systems, databases, or platforms that provide information.
[1057] "Keywords" are important words or phrases extracted from collected information and are used for index generation and searching.
[1058] An "index" is a data structure that associates keywords related to each information item in order to efficiently search for information.
[1059] A "search query" is a sentence or phrase that a user enters into the system to search for something.
[1060] An "emotion engine" is a system or algorithm for recognizing and analyzing a user's emotions.
[1061] "Optimization" refers to selecting and adjusting the most effective means and methods for a specific purpose.
[1062] "Display means" refers to devices or interfaces used to visually present search results to the user.
[1063] The following system configuration and processing procedure will be described as embodiments for carrying out this invention.
[1064] System Configuration
[1065] 1. Server
[1066] Data collection method: The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which information is retrieved.
[1067] Keyword extraction and index generation method: The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching.
[1068] Search method: When a user sends a search query to the server, the server searches its index based on that query and extracts the relevant information.
[1069] Emotion analysis method: An emotion engine is used to recognize and analyze the user's emotions.
[1070] Optimization method: Optimize search results based on recognized emotions and provide information to the user in the most optimal format.
[1071] 2. Terminal
[1072] User-server interface: The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned by the server to the user. This interface allows the user to easily operate the system.
[1073] Emotion Engine Interface: The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on this analysis, it adjusts the priority and display method of search results.
[1074] Processing procedure and hardware / software used
[1075] Hardware: Smartphones, smart glasses, head-mounted displays
[1076] Software: Facial expression analysis library (OpenCV), speech analysis library (Google Speech API), data collection tools (Web scraping tools, REST API integration)
[1077] The server first collects necessary information from multiple data sources, extracts keywords from the collected information, and generates an index. When a user enters a search query through their terminal, the server also extracts keywords from that query and performs a search based on the index. Simultaneously, the sentiment engine analyzes the user's emotions and optimizes search results according to their emotional state.
[1078] Specific example
[1079] For example, a user, after a long day at work, uses their smartphone to voice-input "I want to relax." Simultaneously, the emotion engine recognizes that the user is showing signs of stress through facial expression analysis. The emotion engine generates keywords related to "relax" and "stress relief" and sends them to the server. Based on this, the server searches for relevant videos from multiple video platforms (such as video streaming services) and displays them preferentially.
[1080] Example of a prompt
[1081] "Recommend videos that are best suited for users who want to relax."
[1082] This embodiment of the invention allows users to quickly obtain information and content that is best suited to their emotions.
[1083] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1084] Step 1:
[1085] The server periodically collects information from multiple pre-configured data sources. The input is a list of configured data sources, and the output is the collected raw data. This information collection is performed using web scraping tools and REST API integration.
[1086] Step 2:
[1087] The server automatically extracts keywords from the collected information. The input is the collected raw information data, and the output is the extracted keywords. Natural language processing techniques (e.g., NLTK) are used for this keyword extraction.
[1088] Step 3:
[1089] The server generates an index based on the extracted keywords. The input is the extracted keywords, and the output is the generated index. This index is a data structure for efficient searching, associating relevant keywords with each information item.
[1090] Step 4:
[1091] The user enters a search query using a terminal. The input is the user's search query, and the output is the sending of this query from the terminal to the server. This query input supports both text and voice input.
[1092] Step 5:
[1093] The device uses an emotion engine to analyze user input and voice data in order to recognize user emotions. Input consists of user voice data and facial expression data, while output is the analyzed emotion data. This emotion recognition utilizes facial expression analysis (e.g., OpenCV) and voice analysis (e.g., Google Speech API).
[1094] Step 6:
[1095] The server searches its index based on the user's search query and sentiment data, extracts relevant information, and optimizes the search results based on the recognized sentiment. The input is the user's search query, sentiment data, and the generated index, while the output is the optimized search results. In this way, the server adjusts the search results according to the user's sentiment.
[1096] Step 7:
[1097] The device displays optimized search results to the user. The input is the optimized search results sent from the server, and the output is the search results displayed on the device. This allows the user to quickly obtain information that aligns with their emotions.
[1098] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1099] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1100] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1101] [Fourth Embodiment]
[1102] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1103] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1104] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1105] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1106] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1107] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1108] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1109] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1110] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1111] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1112] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1113] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1114] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1115] This invention provides an integrated information retrieval system that can quickly and efficiently search for information dispersed across multiple information systems. This allows users to obtain necessary information in a short amount of time, significantly improving work efficiency.
[1116] Server Role
[1117] Data acquisition methods
[1118] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[1119] Keyword extraction and index generation means
[1120] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[1121] Search methods
[1122] When a user submits a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[1123] Terminal role
[1124] User-server interface
[1125] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[1126] User roles
[1127] Query Input
[1128] The user enters a query containing the necessary information into the search input field of the terminal. This query is sent to the server via the terminal.
[1129] Check the results
[1130] The search results from the server are displayed on the terminal, and the user obtains the necessary information by reviewing them.
[1131] Specific example
[1132] For example, a user might type "I want to check the details of my Zoom contract for ABC stocks" into their device. This query is sent to the server, which uses its index to search for information matching keywords such as "ABC stocks," "Zoom," and "contract." The search results are then sent back to the device and displayed to the user. By reviewing the displayed information, the user can quickly obtain the information they need.
[1133] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[1134] The following describes the processing flow.
[1135] Step 1: Execution of data collection method
[1136] The server collects information from multiple pre-configured data sources.
[1137] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[1138] Step 2: Execution of keyword extraction method
[1139] The server extracts keywords from the collected information.
[1140] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[1141] Step 3: Execution of the index generation means
[1142] The server generates an index based on the extracted keywords.
[1143] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[1144] Step 4: Submitting search queries
[1145] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[1146] The terminal sends the entered query to the server.
[1147] Step 5: Extracting search keywords
[1148] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[1149] Step 6: Execute search
[1150] The server searches the index based on the extracted keywords.
[1151] Quickly extract information items related to the relevant keyword within the index.
[1152] Step 7: Submit search results
[1153] The server compiles the search results and sends them to the terminal.
[1154] The results are sent to the terminal as a list of information items corresponding to the keywords.
[1155] Step 8: Displaying search results
[1156] The terminal displays the search results received from the server to the user.
[1157] Users review the displayed search results and quickly obtain the information they need.
[1158] In this way, by performing specific actions at each step, users can efficiently search for information and improve the efficiency of their work.
[1159] (Example 1)
[1160] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1161] The problem that this invention aims to solve is to enable users to quickly and efficiently search for information dispersed across multiple information systems and databases, and to obtain the information they need in a short amount of time. Conventional systems have difficulty handling information in different data formats and protocols in an integrated manner, resulting in problems where users cannot efficiently access information. In addition, the parsing of search queries and the speed of information retrieval are insufficient, leading to a decrease in work efficiency.
[1162] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1163] In this invention, the server includes means for collecting information from multiple data sources, means for analyzing the collected information using natural language processing technology to extract keywords and generate an index, means for receiving search queries from users and extracting keywords from those queries, means for quickly searching for information corresponding to the user's search query based on the generated index, and means for displaying the searched information to the user. This enables the centralized integration of information from different information systems and data formats, allowing users to efficiently obtain the information they need.
[1164] "Multiple data sources" refer to information sources from which data can be obtained from multiple origins, such as different information systems, databases, APIs, and cloud services.
[1165] "Means of collecting information" refers to a mechanism in which a server retrieves information from multiple data sources using methods such as API requests, SQL queries, and file readings.
[1166] "Natural language processing technology" refers to the technology used by computers to understand, analyze, and generate natural language that humans use in everyday life, and is used for keyword extraction, text analysis, and other purposes.
[1167] "Keywords" refer to the extraction of important terms from collected information, which are used for identifying and searching for information.
[1168] "Methods for generating an index" refer to a system that classifies and organizes information based on extracted keywords, creating a data structure that enables high-speed searching.
[1169] A "means for receiving search queries" refers to a system that receives search requests sent by users and analyzes their content.
[1170] "Methods for extracting keywords from search queries" refers to analytical techniques for extracting important keywords from the text of received search queries.
[1171] A "means of quickly searching for information" refers to a system that uses an index to quickly search for relevant information based on extracted keywords.
[1172] "Means of displaying searched information to the user" refers to a mechanism for displaying search results in an appropriate format on the user's device.
[1173] "Different data formats and protocols" refers to data formats such as text, CSV, JSON, and XML, as well as communication protocols such as HTTP, FTP, and JDBC, and includes technologies that integrate and handle these.
[1174] Modes for carrying out the invention
[1175] This invention provides an integrated information retrieval system that enables rapid and efficient searching of information dispersed across multiple information systems. This system allows users to obtain necessary information in a short time, significantly improving work efficiency.
[1176] Server Role
[1177] The server first has means of collecting information from multiple data sources. These data sources include databases, APIs, and cloud storage. This collection is done using Python's requests library and JDBC connections, among other things. The server also has means of analyzing the collected information using natural language processing (NLP) techniques and extracting keywords. Specifically, NLP techniques such as NLTK and Spacy are used.
[1178] Based on keywords extracted from the collected data, the server generates an index. Search engines such as Elasticsearch and Solr are used to generate the index. This creates a data structure that enables fast searching.
[1179] When a user sends a search query to the server, the server receives the query and extracts keywords from it. This analysis of the search query also utilizes NLP (Neuro-Linguistic Programming) technology. Based on the keywords, the server searches its index and quickly extracts relevant information. The search results are organized in JSON format and sent to the terminal.
[1180] Terminal role
[1181] The device provides an interface for the user to enter search queries. Typically, a web browser or mobile application is used. Once the user enters a search query, the device sends it to the server. This transmission is performed using JavaScript's fetch function or the axios library. The search results returned from the server are then displayed to the user on the device.
[1182] User roles
[1183] The user enters the necessary information into the search input field on their device. For example, they might enter, "I want to check the contract details for XX stock's online meeting service." This causes the device to send the search query to the server. When the search results returned from the server are displayed on the device, the user reviews them. For example, they can view detailed information about the contract details for XX stock's online meeting service.
[1184] Specific example
[1185] For example, a user might enter "I want to check the contract details for XX stock's online meeting service" into their terminal. This query is sent to the server, which uses its index to extract keywords such as "XX stock," "online meeting," and "contract." The server searches the index and extracts the relevant information in a short time. The extracted search results are sent back to the terminal and displayed to the user. By checking this information, the user can quickly obtain the information they need.
[1186] Concrete examples of prompt sentences for generative AI models
[1187] "Please create a program for a system that can comprehensively search information distributed across multiple information systems. The system will have a server that periodically collects data, extracts keywords using NLP technology to create an index, and quickly returns relevant information based on user search queries."
[1188] Thus, the information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby enabling users to obtain information more quickly and improving operational efficiency.
[1189] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1190] System program processing flow
[1191] Server Role
[1192] Step 1:
[1193] Connect to the data source. The server sends HTTP requests to the API endpoint or connects to the database using JDBC. The input is the URL and connection information for each data source, and the output is a confirmation of a successful connection and that the data is ready to be retrieved.
[1194] Step 2:
[1195] The server collects data. It executes queries to retrieve the necessary information from data sources. For example, it executes requests to retrieve data from a RESTful API or SQL queries. The input is the query for each connected data source, and the output is the retrieved raw data. Specifically, it executes the SQL query SELECT FROM contracts WHERE date > '2023-01-01' and retrieves the results.
[1196] Step 3:
[1197] The collected data is temporarily stored. The server saves the acquired data to local temporary storage (e.g., an SQLite database or file system). The input is the acquired raw data, and the output is the data stored in temporary storage.
[1198] Step 4:
[1199] The server analyzes the collected data using natural language processing (NLP) techniques. The input is raw data read from temporary storage, and the output is the analyzed keywords. Specifically, it uses NLTK and Spacy to extract nouns and important phrases from the text.
[1200] Step 5:
[1201] An index is generated. The server generates an index based on the extracted keywords and stores it in Elasticsearch or Solr. The input is the extracted keywords, and the output is the generated index. This creates a data structure that enables fast searching.
[1202] Step 6:
[1203] The server receives search queries from users. The server receives search queries sent by users from their terminals as HTTP requests. The input is the user's search query text, and the output is internal data for parsing the search query.
[1204] Step 7:
[1205] The system analyzes search queries. The server extracts keywords from the received search queries. The input is the text of the search query, and the output is the extracted keywords. Specifically, the analysis is performed using an NLP library such as Spacy.
[1206] Step 8:
[1207] The system searches an index. The server searches an index created based on the extracted keywords and extracts the corresponding information. The input is the extracted keywords, and the output is the search results data. Elasticsearch's query functionality is used for the search process.
[1208] Step 9:
[1209] The server organizes the search results and sends them to the device. The server organizes the search results into a user-friendly format and sends them to the device in JSON format. The input is the search results data, and the output is the search results data in JSON format.
[1210] Terminal role
[1211] Step 1:
[1212] Provides a search input field. The terminal displays a form for the user to enter a search query. Input is the user's action, and output is the screen display for entering the search query.
[1213] Step 2:
[1214] The search query is sent to the server. The terminal sends the search query entered by the user to the server using JavaScript's fetch function or the axios library. The input is the user's search query text, and the output is an HTTP request to the server.
[1215] Step 3:
[1216] The terminal receives and displays search results from the server. The terminal receives the search results in JSON format sent back from the server and displays them to the user. The input is the search result data received from the server, and the output is the search results displayed to the user.
[1217] User roles
[1218] Step 1:
[1219] Enter the search query. The user enters the necessary information into the search input field on the terminal. The input is the user's query text, and the output is the search query displayed on the terminal.
[1220] Step 2:
[1221] Click the search button. The user enters a query and then clicks the search button to send the query to the server. The input is the user's click operation, and the output is the search request sent to the server.
[1222] Step 3:
[1223] Review the search results. The user reviews the search results displayed on their device and obtains the necessary information. The input is the search results displayed on the device, and the output is the information obtained.
[1224] (Application Example 1)
[1225] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1226] In managing the operation of autonomous vehicles, it is necessary to quickly and accurately acquire a wide variety of information in real time and make appropriate decisions based on that information in order for the vehicles to operate safely and efficiently. However, because the information is dispersed across multiple data sources, there is a problem in that it is difficult to quickly search for and acquire the necessary information. In addition, the inability to acquire information necessary for preventive maintenance and emergency response in a timely manner may impair safety and efficiency.
[1227] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1228] In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for the user to search for information in real time and reflect it in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs. This enables the rapid searching and acquisition of necessary information for the operation management of autonomous vehicles, thereby improving the safety and efficiency of the vehicles.
[1229] A "data source" refers to a system or platform that provides an information infrastructure or source for collecting information.
[1230] "Means of collecting information" refers to methods and processes for obtaining and aggregating necessary information from multiple data sources.
[1231] "A method for extracting keywords and generating an index" refers to a method of automatically selecting important terms from collected information and creating a data structure that enables efficient searching based on those terms.
[1232] "Search methods" refer to methods that use generated indexes to efficiently find information corresponding to the user's search queries.
[1233] "Means of displaying information to the user" refers to methods or devices for displaying searched information in a way that allows the user to visually confirm it.
[1234] A "means of searching for information in real time" refers to a method for immediately searching for and providing necessary information in response to evolving situations.
[1235] "Means of reflecting in control algorithms" refers to methods of reflecting the retrieved information in the operation management and control systems of autonomous vehicles in order to appropriately adjust their operation.
[1236] "A means of searching for vehicle maintenance information and proposing preventative measures" refers to a method of analyzing collected vehicle condition data and proposing necessary maintenance and countermeasures before problems occur.
[1237] "Means for searching for and providing response information in the event of an accident or malfunction" refers to a method for quickly finding and providing information on appropriate actions and repair services when a vehicle encounters an accident or breakdown.
[1238] Modes for carrying out the invention
[1239] Server Role
[1240] The server implements a system that includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for users to search for information in real time and reflect that in the control algorithm, means for searching for vehicle maintenance information and proposing preventive measures, and means for searching for and providing response information when an accident or malfunction occurs.
[1241] Specifically, the server performs the following processes:
[1242] 1. Data Collection
[1243] The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). This information is integrated based on various data formats and data communication protocols.
[1244] 2. Keyword extraction and index generation
[1245] Keywords are automatically extracted from the collected information, and an index is generated based on them. This index is a data structure for streamlining searches, associating keywords related to each information item.
[1246] 3. Real-time search
[1247] When the server receives a search query from a user, it searches its index based on the query's content and quickly extracts the relevant information. This enables real-time information retrieval.
[1248] 4. Implementation of control algorithm
[1249] The retrieved information is immediately reflected in the control algorithms of the autonomous vehicle, allowing for appropriate operational adjustments.
[1250] 5. Preventive maintenance
[1251] The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated, thereby minimizing vehicle downtime.
[1252] 6. Emergency Response
[1253] In the event of an accident or malfunction, we will quickly search for and provide appropriate response information.
[1254] Terminal role
[1255] The terminal functions as the user's interface and performs the following processes:
[1256] 1. Query Input
[1257] The user enters a search query containing the necessary information through their device. This query is then sent to the server.
[1258] 2. Results display
[1259] The search results returned from the server are displayed to the user. This allows the user to easily obtain the information they need.
[1260] User roles
[1261] The user's role is to enter search queries through their device and review the returned information.
[1262] One specific use case is that if an accident occurs ahead, you can simply voice-input "accident road construction," and the system will search for the optimal avoidance route based on that information and reflect it in the operation management system.
[1263] Hardware and software to be used
[1264] Hardware: Onboard computer and communication equipment in autonomous vehicles.
[1265] Software: Python, Requests library, JSON
[1266] Example of a prompt:
[1267] There is an accident ahead. Please search for the best alternative route.
[1268] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1269] Step 1: Data Collection
[1270] Subject: Server
[1271] Specific explanation: The server periodically retrieves information from multiple pre-configured data sources (e.g., traffic data, vehicle maintenance data, emergency response data, etc.). Specifically, it uses the Python Requests library to retrieve data in JSON format from external APIs. In this step, the data collection method sends HTTP requests and collects the data returned as responses.
[1272] Input: List of URLs for the configured data sources
[1273] Output: Information collected from multiple data sources (in JSON format)
[1274] Step 2: Keyword extraction and index generation
[1275] Subject: Server
[1276] Specific explanation: The server automatically extracts keywords from the collected information and generates an index. For example, it uses natural language processing (NLP) techniques to extract important words from text data. It uses the Python NLTK library to extract nouns and specific keywords from sentences and add them to the index. This index is stored in a database and used in subsequent search processes.
[1277] Input: Collected information (JSON format)
[1278] Output: Generated index (association of keywords and information)
[1279] Step 3: Receive search queries and extract keywords
[1280] Subject: terminal
[1281] Specific explanation: The device receives search queries from users and extracts keywords from those queries. For example, if a user enters the search query "accident road construction" via voice input, it is converted into text. The device then analyzes this text and extracts important keywords. A generative AI model could be used for this analysis.
[1282] Input: User's search query (text format)
[1283] Output: Extracted keywords
[1284] Step 4: Search Process
[1285] Subject: Server
[1286] Detailed explanation: The server searches its index based on keywords generated from the received search query. In this step, it efficiently finds information related to the keywords from a pre-generated index. The search algorithm is designed to prioritize extracting the information most relevant to the search query.
[1287] Input: Extracted keywords
[1288] Output: Search results (related information)
[1289] Step 5: Displaying search results
[1290] Subject: terminal
[1291] Specific explanation: The terminal displays the search results returned from the server to the user. Specifically, it displays the search results in a user-friendly format, making the information immediately available. This display includes formats such as text, images, and links.
[1292] Input: Search results (related information)
[1293] Output: Displayed search results (in a visually easy-to-read format)
[1294] Step 6: Real-time information reflected in the control algorithm
[1295] Subject: Server
[1296] Specific explanation: The server incorporates the acquired real-time information into the control algorithm of the autonomous vehicle. In this step, the retrieved information immediately influences the vehicle's operation control. For example, if there is an accident ahead, the server calculates the optimal avoidance route based on that information and sends instructions to the operating system.
[1297] Input: Real-time information (search results)
[1298] Output: Updated control algorithm
[1299] Step 7: Propose preventative maintenance
[1300] Subject: Server
[1301] Specific explanation: The server searches for vehicle maintenance information and suggests preventative measures if problems are anticipated. In this step, the collected maintenance data is analyzed to identify parts that are likely to fail and generate an optimal maintenance plan.
[1302] Input: Vehicle maintenance information (collected data)
[1303] Output: Proposal for preventative maintenance
[1304] Step 8: Provide emergency response information
[1305] Subject: Server
[1306] Specific explanation: In the event of an accident or malfunction, the server quickly searches for response information and provides it to users. This step provides emergency response procedures and information on the nearest repair service to help users respond quickly.
[1307] Input: Emergency response information (collected data)
[1308] Output: Emergency response information (procedure manuals, repair service information)
[1309] Specific example:
[1310] If an accident occurs ahead, simply inputting "accident road construction" via voice input will allow the system to search for the optimal avoidance route based on that information and reflect it in the operational management system.
[1311] Example of a prompt:
[1312] There is an accident ahead. Please search for the best alternative route.
[1313] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1314] This invention provides a more advanced user experience by combining an integrated information retrieval system, capable of quickly and efficiently searching for information dispersed across multiple information systems, with an emotion engine that recognizes user emotions. This allows users to obtain necessary information in a short time, while also enabling the provision of optimal information tailored to the user's emotions.
[1315] Server Role
[1316] Data acquisition methods
[1317] The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which it retrieves information.
[1318] Keyword extraction and index generation means
[1319] The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching. The index is a data structure for quickly searching information, associating relevant keywords with each information item.
[1320] Search methods
[1321] When a user submits a search query to the server, the server searches its index based on that query and extracts the relevant information. Keywords are also extracted from the query, and the index is searched effectively based on these keywords.
[1322] Terminal role
[1323] User-server interface
[1324] The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned from the server to the user. This interface allows the user to easily operate the system.
[1325] Emotion engine interface
[1326] The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on these analysis results, it adjusts the priority and display method of search results.
[1327] User roles
[1328] Query Input
[1329] The user enters a query containing the necessary information into the search input field of their device. For example, they might enter, "I want to check the details of ABC stock's Zoom contract." This query is then sent to the server via the device.
[1330] Provision of emotional data
[1331] When users enter queries, they provide emotional data such as voice input and facial expressions. This emotional data is analyzed by an emotion engine to understand the user's emotional state.
[1332] Check the results
[1333] Search results from the server are displayed on the terminal, allowing the user to review them. Because the search results are optimized for the user's emotional state, the results are tailored by the emotion engine, enabling a more satisfying information delivery.
[1334] Specific example
[1335] For example, suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device. If, through voice input, the system detects a sense of urgency ("I want to know quickly"), the emotion engine analyzes this emotion and assigns the tag "urgent." The server then prioritizes displaying search results in a format that is easier to understand quickly, taking this tag into consideration. The search results are then sent back to the device and displayed to the user. By reviewing the displayed search results, the user can quickly obtain the necessary information.
[1336] The information retrieval system of the present invention centrally collects information from multiple distributed information systems and efficiently searches for it, thereby accelerating information acquisition for users and improving operational efficiency. At the same time, by combining it with an emotion engine, it becomes possible to provide optimal information tailored to the user's emotions, further enhancing the user experience.
[1337] The following describes the processing flow.
[1338] Step 1: Execution of data collection method
[1339] The server collects information from multiple pre-configured data sources.
[1340] For example, the server retrieves information from "Data Source A," "Data Source B," and "Data Source C," and saves each piece of data to local storage.
[1341] Step 2: Execution of keyword extraction method
[1342] The server extracts keywords from the collected information.
[1343] For each information item, important words and phrases are identified using text analysis technology and extracted as keywords.
[1344] Step 3: Execution of the index generation means
[1345] The server generates an index based on the extracted keywords.
[1346] An index is a data structure that represents the mapping between keywords and related information items. This allows for more efficient subsequent searches.
[1347] Step 4: Submitting search queries
[1348] The user enters a query into the search input field on their device. For example, they might enter, "I want to check the details of ABC Stock's Zoom contract."
[1349] The terminal sends the entered query to the server.
[1350] Step 5: Obtaining user sentiment data
[1351] When a user enters a query, the emotion engine analyzes the user's voice and facial expressions.
[1352] The emotion engine recognizes the user's emotional state and acquires that data.
[1353] Step 6: Extracting search keywords
[1354] The server extracts keywords from the received query. For example, it might extract the keywords "ABC stock," "zoom," and "contract."
[1355] Step 7: Adjusting search results based on sentiment data
[1356] The server adjusts the priority of search results based on sentiment data obtained from the sentiment engine.
[1357] For example, if a user is showing signs of impatience, prioritize information that can be understood more quickly.
[1358] Step 8: Execute search
[1359] The server searches the index based on the adjusted priority.
[1360] Quickly extract information items related to the relevant keyword within the index.
[1361] Step 9: Submit search results
[1362] The server compiles the search results and sends them to the terminal.
[1363] The results are sent to the terminal as a list of information items corresponding to the keywords.
[1364] Step 10: Displaying search results
[1365] The terminal displays the search results received from the server to the user.
[1366] Users review the displayed search results and quickly obtain the information they need.
[1367] This process allows users to not only search for information efficiently, but also receive optimal information tailored to their emotions through an emotion-driven engine.
[1368] (Example 2)
[1369] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1370] Conventional information retrieval systems have made it difficult to quickly and efficiently obtain necessary information from multiple distributed information sources. Furthermore, they lack the ability to prioritize search results based on the user's emotional state, resulting in low user satisfaction.
[1371] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting data from multiple information sources, means for extracting keywords from the collected data and generating an index, means for searching for information corresponding to a search query based on the index, means for analyzing sentiment data to set the priority of the detected search results, and means for adjusting and displaying the search results according to the user's emotional state. This makes it possible to provide quick and appropriate information that reflects the emotional state based on the user's input.
[1372] An "information source" is a data provider from which data is obtained from different information systems, databases, or platforms.
[1373] "Data collection means" refers to methods or devices for periodically collecting information from multiple sources.
[1374] A "keyword extraction method" is a method or device for automatically finding important words and phrases from collected data.
[1375] An "index generation means" is a method or apparatus for creating a data structure that enables efficient searching based on extracted keywords.
[1376] A "search tool" refers to a method or device for finding relevant information by referring to an index based on a search query from a user.
[1377] "Emotional data analysis means" refers to methods and devices for identifying and analyzing emotions from user input or voice data.
[1378] "Search result priority setting means" refers to a method or apparatus for ranking search results based on the user's emotional state or other conditions.
[1379] "Search result display means" refers to methods or devices for displaying adjusted search results in an easy-to-understand manner for the user.
[1380] This invention is a system that collects data from multiple information sources, extracts keywords from the collected data to generate an index, and uses that index to search for information corresponding to the user's search query. Furthermore, it is a system that can analyze the user's emotional data, set the priority of search results according to their emotional state, and display adjusted search results.
[1381] Hardware and software configuration
[1382] server
[1383] The server includes data collection means, keyword extraction means, index generation means, search means, and sentiment data analysis means. Data collection means can include data streaming platforms and cloud storage services. Specific software examples include tools such as "Apache Kafka," "MySQL," and "APIs."
[1384] For keyword extraction, natural language processing tools such as "NLTK" and "spaCy" can be used. For index generation and search, index generation and search engines such as "Elasticsearch" can be used. For sentiment data analysis, sentiment recognition software such as "Sentiment Analysis API" can be used.
[1385] Detailed description of the operation
[1386] The server periodically collects data from "multiple sources" using data collection methods. For example, it fetches necessary business data from internal databases and external APIs. This collected data is temporarily stored in the database.
[1387] Next, the server uses natural language processing tools such as "NLTK" and "spaCy" to automatically extract keywords from the collected data. Based on these keywords, "Elasticsearch" generates an index for efficient searching.
[1388] When a search query is received, the server searches the Elasticsearch index based on that query and extracts the relevant information. At the same time, it analyzes the user's sentiment data and sets the priority of the search results. For example, if a user enters a query such as "I want to check the details of my Zoom contract for ABC stocks," and a sense of urgency is detected in the voice data, the server will adjust the ranking of the search results and return the most important information first.
[1389] Terminal configuration and operation
[1390] The terminal functions as an interface between the user and the server. It incorporates input fields and speech recognition capabilities, receiving user queries and sending them to the server. It also analyzes the search results returned from the server, converts them into a user-friendly format, and displays them on the user interface.
[1391] For example, if a user enters "I want to check the details of my Zoom contract for ABC stocks" into a text input field and simultaneously uses voice input, the device will send this query and voice data together to the server. The search results returned from the server will be parsed by the device and displayed to the user in an appropriate format.
[1392] Specific example
[1393] Suppose a user enters the query "I want to check the details of my Zoom contract for ABC stocks" into their device, and their voice input also detects an urgent feeling of "I want to know quickly." In this case, an emotion analysis API analyzes this emotion data and assigns the tag "urgent." The server takes this tag into consideration and prioritizes displaying search results in a format that can be understood more quickly. For example, the server uses Elasticsearch to quickly retrieve relevant data from its index and sends the most important search results back to the device in JSON format. The device then analyzes this data, converts it into a format that is easy for the user interface to read, and displays it to the user.
[1394] As an example of a prompt, by entering "I want to check the details of my Zoom contract for ABC stocks" and providing "I want to know quickly" as voice data, search results that reflect the user's emotional state can be obtained.
[1395] As described above, the present invention is a system that collects data from multiple information sources and quickly provides optimal information tailored to the user's emotional state.
[1396] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1397] Step 1: Data Collection
[1398] The server periodically collects data from multiple sources. This involves retrieving information using tools such as Apache Kafka and RESTful APIs. Specifically, the server fetches business data from MySQL databases and external APIs, and this data is temporarily sent to cloud storage. The input data consists of responses from each data source, while the output data is raw, unprocessed data stored in cloud storage.
[1399] Step 2: Keyword Extraction
[1400] The server extracts keywords from the collected data. It utilizes natural language processing tools such as "NLTK" and "spaCy." Specifically, the server reads data from cloud storage and automatically applies text analysis algorithms to extract important keywords. The input data is raw data from cloud storage, and the output data is a list of extracted keywords.
[1401] Step 3: Index Generation
[1402] The server generates an index based on the extracted keywords. It uses Elasticsearch to create the index. Specifically, the server sends the extracted keyword list to Elasticsearch to generate the index. The input data is the keyword list, and the output data is the index data stored in Elasticsearch.
[1403] Step 4: Query Reception
[1404] The terminal receives the user's search query and sends it to the server. For example, if the user enters "I want to check the details of my Zoom contract for ABC stocks," the terminal sends this text input to the server as an "HTTP POST request." Furthermore, if there is voice input, it is converted to text using speech recognition and sent together. The input data consists of the user's text and voice data, and the output data is the HTTP request sent to the server.
[1405] Step 5: Query Processing and Sentiment Analysis
[1406] The server parses the received query and searches the index. Simultaneously, it utilizes a sentiment analysis API to analyze the transmitted sentiment data. Specifically, the server sends the query to Elasticsearch and uses the `match` function to retrieve relevant index data. Furthermore, it analyzes the emotional state from the audio data and assigns tags such as "urgent" to the results. The input data consists of the HTTP request and audio data, while the output data consists of the sentiment analysis results and index search results.
[1407] Step 6: Prioritizing Search Results
[1408] The server prioritizes search results based on sentiment analysis results. Specifically, if the sentiment analysis API detects an impatient emotion such as "I want to know quickly," it adds the tag "urgent" to the search results and adjusts the ranking. The input data consists of sentiment analysis results and index search results, while the output data consists of search results with assigned priorities.
[1409] Step 7: Displaying search results
[1410] The terminal displays the search results returned from the server to the user. Specifically, the terminal parses the search results received in "JSON format," converts them into a user-friendly format, and displays them in the user interface. The input data is the search results from the server, and the output data is the search results displayed in the user interface. This allows the user to confirm and act upon the necessary information.
[1411] Through this series of processes, users can quickly obtain appropriate information, and optimal information delivery tailored to their emotional state is achieved.
[1412] (Application Example 2)
[1413] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1414] In today's information society, users are required to quickly obtain necessary data from numerous information sources, but there is also an increasing demand for information that takes into account the user's emotional state. Conventional search systems simply provide information without considering the user's emotional state, hindering improvements in the user experience. Therefore, a system is needed that analyzes the user's emotions in real time and provides optimal search results based on that analysis.
[1415] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting information from multiple data sources, means for extracting keywords from the collected information and generating an index, means for searching for information corresponding to the user's search query based on the generated index, means for displaying the searched information to the user, means for recognizing and analyzing the user's emotions, and means for optimizing the search results based on the recognized emotions. As a result, the user can quickly obtain the most appropriate information tailored to their emotional state.
[1416] A "data source" refers to various systems, databases, or platforms that provide information.
[1417] "Keywords" are important words or phrases extracted from collected information and are used for index generation and searching.
[1418] An "index" is a data structure that associates keywords related to each information item in order to efficiently search for information.
[1419] A "search query" is a sentence or phrase that a user enters into the system to search for something.
[1420] An "emotion engine" is a system or algorithm for recognizing and analyzing a user's emotions.
[1421] "Optimization" refers to selecting and adjusting the most effective means and methods for a specific purpose.
[1422] "Display means" refers to devices or interfaces used to visually present search results to the user.
[1423] The following system configuration and processing procedure will be described as embodiments for carrying out this invention.
[1424] System Configuration
[1425] 1. Server
[1426] Data collection method: The server periodically collects information from multiple pre-configured data sources. Each data source involves a different information system, database, or platform from which information is retrieved.
[1427] Keyword extraction and index generation method: The server automatically extracts keywords from the collected information. Based on these extracted keywords, the server generates an index to enable efficient searching.
[1428] Search method: When a user sends a search query to the server, the server searches its index based on that query and extracts the relevant information.
[1429] Emotion analysis method: An emotion engine is used to recognize and analyze the user's emotions.
[1430] Optimization method: Optimize search results based on recognized emotions and provide information to the user in the most optimal format.
[1431] 2. Terminal
[1432] User-server interface: The terminal receives the user's search query and sends it to the server. Furthermore, it displays the search results returned by the server to the user. This interface allows the user to easily operate the system.
[1433] Emotion Engine Interface: The device incorporates an emotion engine that recognizes the user's emotions and analyzes user input and voice data. Based on this analysis, it adjusts the priority and display method of search results.
[1434] Processing procedure and hardware / software used
[1435] Hardware: Smartphones, smart glasses, head-mounted displays
[1436] Software: Facial expression analysis library (OpenCV), speech analysis library (Google Speech API), data collection tools (Web scraping tools, REST API integration)
[1437] The server first collects necessary information from multiple data sources, extracts keywords from the collected information, and generates an index. When a user enters a search query through their terminal, the server also extracts keywords from that query and performs a search based on the index. Simultaneously, the sentiment engine analyzes the user's emotions and optimizes search results according to their emotional state.
[1438] Specific example
[1439] For example, a user, after a long day at work, uses their smartphone to voice-input "I want to relax." Simultaneously, the emotion engine recognizes that the user is showing signs of stress through facial expression analysis. The emotion engine generates keywords related to "relax" and "stress relief" and sends them to the server. Based on this, the server searches for relevant videos from multiple video platforms (such as video streaming services) and displays them preferentially.
[1440] Example of a prompt
[1441] "Recommend videos that are best suited for users who want to relax."
[1442] This embodiment of the invention allows users to quickly obtain information and content that is best suited to their emotions.
[1443] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1444] Step 1:
[1445] The server periodically collects information from multiple pre-configured data sources. The input is a list of configured data sources, and the output is the collected raw data. This information collection is performed using web scraping tools and REST API integration.
[1446] Step 2:
[1447] The server automatically extracts keywords from the collected information. The input is the collected raw information data, and the output is the extracted keywords. Natural language processing techniques (e.g., NLTK) are used for this keyword extraction.
[1448] Step 3:
[1449] The server generates an index based on the extracted keywords. The input is the extracted keywords, and the output is the generated index. This index is a data structure for efficient searching, associating relevant keywords with each information item.
[1450] Step 4:
[1451] The user enters a search query using a terminal. The input is the user's search query, and the output is the sending of this query from the terminal to the server. This query input supports both text and voice input.
[1452] Step 5:
[1453] The device uses an emotion engine to analyze user input and voice data in order to recognize user emotions. Input consists of user voice data and facial expression data, while output is the analyzed emotion data. This emotion recognition utilizes facial expression analysis (e.g., OpenCV) and voice analysis (e.g., Google Speech API).
[1454] Step 6:
[1455] The server searches its index based on the user's search query and sentiment data, extracts relevant information, and optimizes the search results based on the recognized sentiment. The input is the user's search query, sentiment data, and the generated index, while the output is the optimized search results. In this way, the server adjusts the search results according to the user's sentiment.
[1456] Step 7:
[1457] The device displays optimized search results to the user. The input is the optimized search results sent from the server, and the output is the search results displayed on the device. This allows the user to quickly obtain information that aligns with their emotions.
[1458] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1459] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1460] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1461] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1462] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1463] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1464] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1465] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1466] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1467] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1468] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1469] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1470] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1471] 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.
[1472] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1473] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1474] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1475] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1476] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1477] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1478] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.
[1479] The following is further disclosed regarding the embodiments described above.
[1480] (Claim 1)
[1481] Means of collecting information from multiple data sources,
[1482] A method for extracting keywords from collected information and generating an index,
[1483] A means of searching for information corresponding to the user's search query based on the generated index,
[1484] A system that includes means for displaying searched information to the user.
[1485] (Claim 2)
[1486] The system according to claim 1, further comprising means for receiving a search query and extracting keywords from the query.
[1487] (Claim 3)
[1488] The system according to claim 1, characterized in that the data source consists of multiple information systems using different data formats and protocols.
[1489] "Example 1"
[1490] (Claim 1)
[1491] Means of collecting information from multiple data sources,
[1492] A means of analyzing collected information using natural language processing technology, extracting keywords, and generating an index,
[1493] A means of receiving search queries from users and extracting keywords from those queries,
[1494] A means of quickly retrieving information corresponding to the user's search query based on the generated index,
[1495] A system that includes means for displaying searched information to the user.
[1496] (Claim 2)
[1497] The system according to claim 1, characterized in that the data source consists of multiple information systems using different data formats and protocols.
[1498] (Claim 3)
[1499] The system according to claim 1, wherein the search means further includes means for extracting keywords from a search query using natural language processing techniques.
[1500] "Application Example 1"
[1501] (Claim 1)
[1502] Means of collecting information from multiple data sources,
[1503] A method for extracting keywords from collected information and generating an index,
[1504] A means of searching for information corresponding to the user's search query based on the generated index,
[1505] A means of displaying the searched information to the user,
[1506] A means for users to search for information in real time and reflect that in the control algorithm,
[1507] A means of searching for vehicle maintenance information and suggesting preventative measures,
[1508] A system that includes means for searching for and providing response information in the event of an accident or malfunction.
[1509] (Claim 2)
[1510] The system according to claim 1, further comprising means for receiving a search query and extracting keywords from the query.
[1511] (Claim 3)
[1512] The system according to claim 1, characterized in that the data source consists of multiple information systems that use different data formats and data communication protocols.
[1513] "Example 2 of combining an emotion engine"
[1514] (Claim 1)
[1515] Means of collecting data from multiple sources,
[1516] A method for extracting keywords from collected data and generating an index,
[1517] A means of searching for information corresponding to a search query based on an index,
[1518] A means of analyzing sentiment data to set the priority of detected search results,
[1519] A system that includes means for adjusting and displaying search results according to the user's emotional state.
[1520] (Claim 2)
[1521] The system according to claim 1, further comprising means for receiving a search query and extracting keywords from the query.
[1522] (Claim 3)
[1523] The system according to claim 1, characterized in that the information source consists of multiple information systems using different data formats and communication protocols.
[1524] "Application example 2 when combining with an emotional engine"
[1525] (Claim 1)
[1526] Means of collecting information from multiple data sources,
[1527] A method for extracting keywords from collected information and generating an index,
[1528] A means of searching for information corresponding to the user's search query based on the generated index,
[1529] A means of displaying the searched information to the user,
[1530] A means of recognizing and analyzing user emotions,
[1531] A system that includes means for optimizing search results based on recognized emotions.
[1532] (Claim 2)
[1533] The system according to claim 1, further comprising means for receiving a search query and extracting keywords from the query.
[1534] (Claim 3)
[1535] The system according to claim 1, characterized in that the data source consists of multiple information systems using different data formats and protocols. [Explanation of Symbols]
[1536] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. Means of collecting information from multiple data sources, A method for extracting keywords from collected information and generating an index, A means of searching for information corresponding to the user's search query based on the generated index, A system that includes means for displaying searched information to the user.
2. The system according to claim 1, further comprising means for receiving a search query and extracting keywords from the query.
3. The system according to claim 1, characterized in that the data source consists of multiple information systems that use different data formats and protocols.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A