Method, program, information processing device, and information processing system
The method enhances search accuracy by combining information graph and vector search with large language models to analyze user queries, offering personalized and precise search results.
Patent Information
- Application Number
- JP2024209142
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-11-29
AI Technical Summary
Existing search techniques using knowledge graphs struggle with improving the accuracy of search results.
A method involving a computer system that executes a first search process using an information graph, a second search process using a vector search, and generates search results using at least one language model for one or both processes, leveraging large language models like GPT and Gemini for advanced query analysis and personalized results.
Improves the accuracy and personalization of search results by better understanding user intent and providing highly relevant information.
Smart Images

Figure 0007761190000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a method, a program, an information processing device, and an information processing system. [Background technology]
[0002] Conventionally, search techniques using knowledge graph technology have been known. For example, by utilizing knowledge graphs, it is possible to efficiently search for highly relevant information and provide it to users.
[0003] The following Patent Publication No. 2021-140246 (Patent Document 1) discloses an information processing device that includes a calculation unit that performs string processing on each of one or more words input as a query and a string of an entity, and associates the words after string processing with the string of the entity after string processing that contains at least a part of the words after string processing, thereby calculating an index value indicating the degree of association between the query and the entity, and a determination unit that determines the entity to be associated with the query based on the calculated index value. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2021-140246 Summary of the Invention [Problem to be solved by the invention]
[0005] In Patent Document 1, it is possible to appropriately evaluate the search intent of a query entered by a user and determine an entity corresponding to the query, but there is room for improvement in terms of improving the accuracy of search results.
[0006] An object of the present disclosure is to provide a technique for improving the accuracy of search results. [Means for solving the problem]
[0007] One embodiment of the present disclosure is a method executed by a computer having a processor and a memory, wherein the processor executes the following steps: a first step of accepting input of a first query; a second step of executing a first search process using an information graph based on the first query; a third step of executing a second search process using a vector search based on the first query; and a fourth step of generating search results using at least one language model for at least one of the first search process and the second search process. [Effects of the Invention]
[0008] The present disclosure can improve the accuracy of search results. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing an example of the overall configuration of a search system 1. As shown in FIG. [Figure 2] FIG. 2 is a block diagram showing the functional configuration of first device 10. As shown in FIG. [Figure 3] FIG. 3 is a block diagram showing the functional configuration of the server 20. As shown in FIG. [Figure 4] FIG. 4 is a diagram showing the data structure of the vector search database 2021. [Figure 5] FIG. 5 is a diagram showing the data structure of the entity database 2022. [Figure 6] FIG. 6 is a diagram showing the data structure of the edge database 2023. [Figure 7] FIG. 7 is a diagram showing the data structure of the query database 2024. As shown in FIG. [Figure 8] FIG. 8 is a diagram showing the data structure of the answer result database 2025. [Figure 9] FIG. 9 is a diagram showing the data structure of the user database 2026. [Figure 10]FIG. 10 is a diagram relating to a search process using an information graph. [Figure 11] FIG. 11 is a diagram relating to a search process using a vector search. [Figure 12] FIG. 12 is a diagram relating to a search process using an information graph and vector search. [Figure 13] FIG. 13 is a diagram relating to a search process using an information graph. [Figure 14] FIG. 14 is a diagram relating to a search process using a vector search. [Figure 15] FIG. 15 is a diagram relating to a search process using an information graph and vector search. [Figure 16] FIG. 16 is a diagram showing the answers to the search results. [Figure 17] Figure 17 shows the results of the search. [Figure 18] FIG. 18 is a diagram relating to a knowledge graph. [Figure 19] FIG. 19 is a diagram relating to a document graph. [Figure 20] FIG. 20 is a diagram relating to an information graph. DETAILED DESCRIPTION OF THE INVENTION
[0010] The following describes embodiments of the present disclosure. The embodiments of the present disclosure will be described with reference to the drawings. In addition, in the description of the embodiments of the present disclosure, the same components are denoted by the same reference numerals. The names and functions of the components are also the same. Therefore, detailed descriptions thereof will not be repeated.
[0011] <Outline of the first embodiment> A search system 1 according to an embodiment of the present disclosure provides services related to search processing. Specifically, for example, the search system 1 receives a query, performs search processing for the query using vector search, information graph, language model, or any combination thereof, and outputs a search response result for the query. The search system 1 accepts a text query related to a user's search, for example, at a user terminal. The user terminal is realized by a device such as a PC, a smartphone, or a tablet. The user accesses the search system 1 through such a terminal.
[0012] In this embodiment, the language model may be configured as a large language model (LLM) that is trained on a large amount of text data obtained from internet articles, blog posts, news sites, books, academic papers, websites, etc. Specifically, the language model may include language models such as GPT (Generative Pretrained Transformer), Gemini (registered trademark), Claude (registered trademark), etc. GPT, Gemini, etc. are all examples of LLMs, and are pre-trained based on large amounts of text data. These models demonstrate high performance in natural language understanding, generation, etc. A large-scale language model (LLM) has the function of generating and outputting relevant text data in response to a given prompt. Specifically, the purpose of a large-scale language model is to determine the direction of the output result based on the content of the prompt and generate appropriate text data corresponding to the prompt. By utilizing these language models, the search system 1 can precisely analyze user queries and provide highly relevant search results. Furthermore, these models can learn users' past search history, behavioral patterns, etc., and provide personalized search results for each user. It should be noted that the language model may exchange data with the search system 1 through communication such as an API related to the language model.
[0013] By utilizing language models, search engines can better understand the meaning of queries and extract relevant information efficiently. Furthermore, language models can also provide personalized search results to individual users by learning from their past search history, behavioral patterns, etc. As described above, the search system 1 uses advanced analysis techniques including language models to provide users with quick and accurate search results, thereby improving the accuracy of the search experience.
[0014] The search system 1 analyzes the received query and performs search processing using a search engine to search for appropriate information from related databases, information sources, etc. Note that the search engine may use a language model in addition to natural language processing technology, machine learning technology, etc., when analyzing the query. A search engine can use, for example, a language model to analyze a text query received from a user. A language model is trained in advance on a large amount of text data and is characterized by its ability to understand the context of a query and accurately grasp the user's intent.
[0015] The following describes an example of a search system 1 that receives a query from a user terminal and executes a search process for the query.
[0016] <1.1 Overall system configuration> Fig. 1 is a block diagram showing an example of the overall configuration of a search system 1 according to this embodiment. As shown in Fig. 1, the search system 1 includes a first device 10 and a server 20. These devices are connected to each other via a network 80 so as to be able to communicate with each other.
[0017] The example in FIG. 1 shows a first device 10. The first device 10 is a terminal device that can use the search system 1. The first device 10 is a terminal device for receiving search queries and the like from a user. The first device 10 is realized by, for example, a PC, a smartphone, a tablet, or the like. In this embodiment, a user refers to a user who uses the search system 1 through the first device 10.
[0018] The first device 10 accesses the server 20 in response to, for example, an input from a user. The first device 10, for example, requests predetermined information from the server 20 and receives a response from the server 20. Then, the first device 10 outputs search results based on the information received from the server 20.
[0019] The first device 10 executes a program to provide the user with an environment for operating the search system 1. The first device 10 reads and executes the program to establish a communication connection between the first device 10 and the server 20. The first device 10 then transmits and receives data related to the search system 1 between the first device 10 and the server 20.
[0020] The first device 10 includes a communication IF (Interface) 12, an input device 13, an output device 14, a memory 15, a storage unit 16, and a processor 19.
[0021] The communication IF 12 is an interface for inputting and outputting signals so that the first device 10 can communicate with an external device.
[0022] The input device 13 is a device for receiving an input operation from the first device 10. The device for receiving an input operation includes, for example, a touch panel, a touch pad, a pointing device such as a mouse, a keyboard, and the like.
[0023] The output device 14 is a device (such as a display or speaker) for presenting information to the primary device 10.
[0024] The memory 15 is for temporarily storing programs and data to be processed by the programs, etc. The memory 15 is, for example, a volatile memory such as a DRAM (Dynamic Random Access Memory).
[0025] The storage unit 16 is for storing data and includes, for example, a flash memory, an HDD (Hard Disk Drive), and the like.
[0026] The processor 19 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, a register, a peripheral circuit, and the like.
[0027] The server 20 is a device that manages information related to the search system 1. For example, the server 20 manages information and the like that is necessary when performing search processing in the search system 1. The server 20 transmits data necessary for the search system 1 to the first device 10 as appropriate, thereby causing the first device 10 to output search result answers and the like.
[0028] The server 20 includes a communication IF 22 , an input / output IF 23 , a memory 25 , a storage 26 , and a processor 29 .
[0029] The communication IF 22 is an interface for inputting and outputting signals so that the server 20 can communicate with external devices.
[0030] The input / output IF 23 functions as an input device for receiving an input operation from the first device 10. The input / output IF 23 also functions as an interface with an output device for presenting information to the first device 10.
[0031] The memory 25 is for temporarily storing programs and data to be processed by the programs, etc. The memory 25 is, for example, a volatile memory such as a DRAM (Dynamic Random Access Memory).
[0032] The storage 26 is for storing data and includes, for example, a flash memory, a hard disk drive (HDD), and the like.
[0033] The processor 29 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, registers, peripheral circuits, and the like.
[0034] <1.2 Functional Configuration of the First Device 10> 2 is a diagram showing the functional configuration of first device 10. First device 10 includes antenna 111, first wireless communication unit 121, processor 19, operation reception unit 130, memory 15, storage unit 16, display 132, audio processing unit 140, microphone 141, and speaker 142.
[0035] Antenna 111 radiates the signal emitted by first device 10 into space as a radio wave. Antenna 111 also receives the radio wave from space and provides the received signal to first wireless communication unit 121.
[0036] First wireless communication unit 121 performs modulation / demodulation processing and the like to transmit and receive signals via an antenna or the like so that first device 10 can communicate with other communication devices. First wireless communication unit 121 is a communication module for wireless communication that includes a tuner, a high-frequency circuit, and the like, and performs modulation / demodulation and frequency conversion of wireless signals transmitted and received by first device 10, and provides received signals to processor 19.
[0037] Processor 19 controls the operation of first device 10 by reading and executing programs stored in storage unit 16. Processor 19 is realized by, for example, an application processor.
[0038] The operation reception unit 130 has a mechanism for receiving input operations from a user. The operation reception unit 130 is realized as a pointing device such as a mouse, touchpad, or touch panel, a keyboard, a controller, or an imaging means for sensing the user's body movements as input operations. For example, the operation reception unit 130 senses the user's body movements, such as the movements of body parts such as hands, or the user's facial expressions, and receives these body part movements as input operations. The operation reception unit 130 determines the type of operation, such as whether the user's operation is a flick operation, a tap operation, or a drag operation, based on the coordinates at which the input operation is received, such as when the user touches a finger on a touch panel or the like.
[0039] The storage unit 16 is configured by a flash memory, a RAM (Random Access Memory), etc., and stores programs used by the first device 10, various data received by the first device 10 from the server 20, etc.
[0040] The storage unit 16 stores query information 161 and answer result information 162. The query information 161 stores information about a query related to a search transmitted using the first device 10. Specifically, the query information 161 includes the content of the search query input by the user, transmission date and time information, and the like. The answer result information 162 stores search answer results and the like generated based on a query by the search system 1. Specifically, the answer result information 162 includes the content of the search answer results, the date and time when the search results were generated, and the like.
[0041] Display 132 displays data such as text, audio, images, and videos under the control of processor 19. Display 132 is realized by a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) display.
[0042] The audio processing unit 140 modulates and demodulates audio signals. The audio processing unit 140 modulates a signal provided from a microphone 141 and provides the modulated signal to the processor 19. The audio processing unit 140 also provides the audio signal to a speaker 142.
[0043] The microphone 141 receives an audio input and provides an audio signal corresponding to the audio input to the audio processing unit 140 .
[0044] Speaker 142 converts the audio signal provided from audio processor 140 into audio and outputs the audio to the outside of first device 10.
[0045] The processor 19 operates according to a program to function as an input operation receiving unit 191, a transmitting / receiving unit 192, a data processing unit 193, and a notification control unit 194. The input operation receiving unit 191 performs processing to receive a user's input operation to an input device such as an operation receiving unit. When the operation receiving unit 130 is, for example, a touch device, the input operation receiving unit 191 determines the type of operation, such as whether the user's operation is a flick operation or a drag operation, based on information about the coordinates where the user has touched the touch device with a finger or the like. Transmitting / receiving unit 192 performs processing for first device 10 to transmit and receive data to and from an external device such as a server in accordance with a communication protocol. Data processing unit 193 performs a process of performing calculations on data that first device 10 has accepted as input in accordance with a program, and outputs the calculation results to a memory or the like. The notification control unit 194 performs processing to present information to the user, such as processing to display a display image on the display 132, processing to output sound from the speaker 142, and processing to generate vibrations from a vibrator or the like.
[0046] <1.3 Functional configuration of server 20> 3 is a diagram showing the functional configuration of the server 20. As shown in FIG. 3, the server 20 functions as a communication unit 201, a storage unit 202, and a control unit 203.
[0047] The communication unit 201 performs processing for the server 20 to communicate with external devices.
[0048] The storage unit 202 stores various databases such as a vector search database 2021, an entity database 2022, an edge database 2023, a query database 2024, an answer result database 2025, and a user database 2026.
[0049] The vector search database 2021, the entity database 2022, the edge database 2023, the query database 2024, the answer result database 2025, and the user database 2026 will be described in detail below.
[0050] The control unit 203 is realized by the processor 29 reading a program stored in the storage unit 202 and executing instructions included in the program. The control unit 203 performs functions shown as a reception control module 2031 and a transmission control module 2032 by operating in accordance with the program.
[0051] The reception control module 2031 controls the process by which the server 20 receives signals from external devices in accordance with a communication protocol.
[0052] The transmission control module 2032 controls the process in which the server 20 transmits signals to external devices in accordance with a communication protocol.
[0053] <2 Data Structure> Figures 4, 5, 6, 7, 8, 8, and 9 are diagrams showing the data structures of databases stored in the server 20. Note that Figures 4, 5, 6, 7, 8, and 9 are examples and do not exclude data not listed.
[0054] FIG. 4 is a diagram showing the data structure of the vector search database 2021. The vector search database 2021 is a database for managing information related to vector searches in the search system 1. Each record in the vector search database 2021 in FIG. 4 includes an item "vector search ID," an item "document title," an item "document body," and an item "document vector." Note that while documents are used as an example here, they are not limited to documents.
[0055] The item "Vector Search ID" is a unique ID for each service that is required when managing each service issued by the server 20 in the search system 1. The item "Vector Search ID" is assigned an ID such as "VD001" or "VD002", for example.
[0056] The item "Document Title" indicates the title related to the document. For example, the item "Document Title" may be "XXX Company's Initiatives" or "Development of XXX Technology."
[0057] The "document body" item contains text information, including the specific content of the document, detailed explanations, etc. The document body is converted into a format suitable for vector search, and may be divided into sections with a certain number of characters, a summary of the text may be generated, or important keywords may be extracted and saved. This processing makes it possible to efficiently search and evaluate the content of the document. The "document body" item may contain content such as "In the efforts of XXX company, ..." or "In order to develop XXX technology, through XXX, etc., XXX is ...".
[0058] The item "Document Vector" represents the content (main text) of a document in vector format and is used when performing vector search. By using vector format, it becomes possible to search for similar documents and evaluate the relevance of information with high accuracy. The item "Document Vector" is represented as a vector of numerical values, for example, "[0.123, 0.456, 0.789]" or "[0.234, 0.567, 0.890]".
[0059] The vector search database 2021 allows the search system 1 to efficiently manage document content in vector format, enabling it to search for similar documents and evaluate information relevance with high accuracy. This makes it possible to quickly and accurately provide highly relevant documents when a user enters a query. Furthermore, the use of vector format enables high-speed searches within large document databases, improving the responsiveness of the search system. In addition, the vector search database 2021, when combined with machine learning, natural language processing, and other technologies, enables more advanced search functions and the provision of context-based search results, improving the user search experience. Using vector search, it is possible to numerically analyze complex relationships between data and obtain highly accurate search results.
[0060] 5 is a diagram showing the data structure of the entity database 2022. The entity database 2022 is a database for managing information about entities in the information graph of the search system 1. Each record in the entity database 2022 includes an "entity ID" item, a "name" item, a "type" item, and a "description" item.
[0061] An entity is a concept used in information graphs, etc. It refers to an individual entity or object that has specific information in an information graph. Specific examples of entities include people, places, organizations, events, and objects. Entities can also be associated with information such as names and attributes (properties). For example, the entity "Galileo Galilei" can be associated with attributes such as "date of birth," "place of birth," and "achievements."
[0062] Furthermore, information graphs also represent relationships (edges) between entities, which specifically indicate various relationships between entities, such as ownership, location, membership, employment, parent-child relationships, influence relationships, collaboration relationships, and chronological order. For example, an edge can indicate that there is a relationship such as "place of birth" between an entity "Taro Tanaka" and another entity "Tokyo." These relationships can be expressed as relationships between entities through the items "source," "target," and "type" in the edge database 2023 described below. By using information graphs, it is possible to systematically analyze complex relationships between data and obtain logical search results.
[0063] The item "Entity ID" indicates identification information issued by the server 20 for the search system 1. Specifically, the item "Entity ID" is a unique ID required for managing in the search system 1. The item "Entity ID" is assigned an ID such as "ET001", "ET002", or "ET003", for example.
[0064] The item "Name" indicates the name of the entity. Examples of the item "Name" include "XXX Company" and "XXX Technology."
[0065] The item "type" indicates the category of the entity, the type of the entity, etc. Examples of the item "type" include "company," "technology," "person," and "research."
[0066] The item "Description" is text information including the specific content of the entity, a detailed explanation, etc. The item "Description" may be, for example, "In the efforts of XXX company, ..." or "Aiming to develop XXX technology, ...".
[0067] The existence of the entity database 2022 allows the search system 1 to efficiently manage entity information and clearly grasp the relationships between entities. This makes it possible to quickly and accurately provide related entity information when a user enters a query. Furthermore, the existence of the entity database 2022 makes it possible to realize advanced search functions that utilize information graphs and functions that visually display complex relationships between entities, thereby significantly improving the convenience and accuracy of the search system.
[0068] Fig. 6 is a diagram showing the data structure of the edge database 2023. The edge database 2023 is a database for managing edge information in the information graph of the search system 1. The edge database 2023 in Fig. 6 includes an item "edge ID", an item "source", an item "target", an item "type", and an item "description".
[0069] The item "Edge ID" indicates identification information issued by the server 20 for the search system 1. Specifically, the item "Edge ID" is a unique ID required when managing edges in the search system 1. The item "Edge ID" is assigned an ID such as "EG001" or "EG002", for example.
[0070] The "source" item is an essential element when constructing a relationship between entities, and is used to clearly identify the entity that is the starting point of an edge. Specifically, the "source" item indicates the entity ID that is the starting point of an edge in the search system 1. Examples of the "source" item include "ET001" and "ET002".
[0071] The "target" item is an essential element when building relationships between entities, and is used to clearly identify the entity that is the end point of an edge. Specifically, the "target" item indicates the entity ID that is the end point of an edge in the search system 1. The "target" item is an important element for clarifying which entity the edge is heading towards. By using this ID, it is possible to accurately grasp the relationships between entities in the information graph. The "source" item is, for example, "ET001" or "ET003".
[0072] The item "type" indicates the type, category, etc. of the edge. The "type" item specifically indicates various relationships between entities, such as ownership, location, membership, employment, parent-child, influence, collaboration, and chronological order. Examples of the "type" item include "use," "affiliation," "joint research," "place of origin," "employment," and "parent-child."
[0073] The item "Description" is text information including the specific content of the edge, a detailed explanation, etc. Examples of the item "Description" include "XXX company uses XXX technology..." and "XXX is the representative of XXX company."
[0074] The existence of the edge database 2023 enables the search system 1 to efficiently manage relationships between entities and clearly grasp the connections between entities in the information graph. This makes it possible to quickly and accurately provide relationship information between related entities when a user enters a query. Furthermore, the existence of the edge database 2023 makes it possible to record in detail the various relationships between entities and realize advanced search and analysis functions based on the records, further improving the convenience and accuracy of the search system.
[0075] Furthermore, by adding a new edge to the edge database 2023, it is possible to expand the structure of the information graph and analyze the data relationships in more detail. When new technology, knowledge, etc. is discovered, by adding the information to the edge database 2023, the relationships between new entities can be reflected in the information graph.
[0076] This improves the accuracy of searches on the information graph, making it possible to provide more accurate answers to the information users are looking for. Furthermore, by dynamically updating the structure of the information graph, it becomes possible to always provide search results based on the latest knowledge, data, etc.
[0077] Fig. 7 is a diagram showing the data structure of the query database 2024. The query database 2024 is a database for managing query information in the search system 1. The query database 2024 in Fig. 7 includes an item "Query ID", an item "User ID", an item "Query", and an item "Date and Time".
[0078] The item "Query ID" indicates identification information issued by the server 20 in the search system 1. Specifically, it is a unique ID required for managing queries. For example, IDs such as "QE001" and "QE002" are assigned to the item "Query ID."
[0079] The item "user ID" indicates identification information issued by the server 20 in the search system 1. Specifically, it is a unique ID required for managing users. For example, an ID such as "US001" or "US002" is assigned to the item "user ID."
[0080] The item "query" is text information indicating a question, request, etc. made to the search system 1. The item "query" may be received from a first device used by the user as shown in the example of this embodiment, or may be received from a system, service, etc. different from the search system 1. Examples of the item "query" include "Tell me about the goals of the company that XXX is the representative of" and "Tell me about XXX."
[0081] The "date and time" item indicates the date and time when the query was issued. The "date and time" item is recorded in a format such as "2027 / 12 / 23 10:00:00" or "2028 / 01 / 02", for example.
[0082] The existence of the query database 2024 makes it possible to refer to the history of past queries and to analyze the user's search behavior, trends, etc., thereby improving the accuracy and convenience of the search system. Furthermore, if a user database exists, the search system can link the query database 2024 to the user database, thereby providing the user with more personalized search results.
[0083] Fig. 8 is a diagram showing the data structure of the answer result database 2025. The answer result database 2025 is a database for managing answer results in the search system 1. Each record in the answer result database 2025 in Fig. 8 includes an item "answer result ID", an item "query ID", and an item "answer".
[0084] The item "Answer result ID" indicates identification information issued by the server 20 in the search system 1. Specifically, it is a unique ID required when managing answer results. The item "Answer result ID" is assigned an ID such as "AS001" or "AS002", for example.
[0085] The item "Query ID" is as described above.
[0086] The item "Answer" is information indicating the answer result generated by the search system 1 when it performs a search process or the like in response to the query of the item "Query ID." The item "Answer" is, for example, "The goal of the company that XXX is the representative of is XXX," or "The person that XXX respects is XXX."
[0087] The existence of the database 2025 of answer results makes it possible to refer to past search results, answer history, etc., thereby improving the accuracy and convenience of the search system.
[0088] Fig. 9 is a diagram showing the data structure of the user database 2026. The user database 2026 is a database for managing answer results in the search system 1. Each record of the user database 2026 in Fig. 9 includes the items "user ID" and "name".
[0089] The item "User ID" is as described above.
[0090] The item "Name" indicates the name of the user, such as "Taro Tanaka" or "Hanako Yamada."
[0091] The existence of the user database 2026 makes it possible to refer to past search results, response history, etc. for each user, thereby improving the accuracy and convenience of the search system.
[0092] In addition to the databases listed above, the server 20 may also include a trained database that stores trained models, a prompt database that stores prompts, a feedback database that saves feedback information on search response results from users, and the like.
[0093] <Operation of the First Embodiment> The following describes the operation of each device that constitutes the search system 1. The following description will be given taking as an example a case where a query is received from a user.
[0094] 10 is a diagram showing the flow of search processing using an information graph. The detailed flow of the search processing based on FIG. 10 will be described below.
[0095] First, the server 20 receives a query from a user. Based on this query, the server 20 executes a search process using an information graph. The information graph is as described above.
[0096] The information graph used here may be either a knowledge graph or a document graph, or a combination of both, for performing search processing. The server 20 performs search processing based on the query, utilizing information from the entity database 2022, the edge database 2023, etc. This allows the server 20 to identify the entities, edges, etc. that are most relevant to the query.
[0097] A knowledge graph is a type of graph structure for expressing relationships between various data, and is composed of entities and the relationships (edges) between them. Knowledge graphs are used during search processing in the search system 1. Details of knowledge graphs and specific examples of knowledge graphs are explained in detail in FIG. 18.
[0098] A document graph is a type of graph structure for expressing relationships between documents, and is composed of documents (entities) and their relationships (edges). The document graph is used during search processing in the search system 1. Details of the document graph and specific examples of the knowledge graph are explained in detail in FIG. 19.
[0099] The data obtained as a result of the search using the information graph is then processed using one or more language models, and the server 20 generates a search response result, such as in text format, from this process.
[0100] The generated answer results are stored in the answer results database 2025 .
[0101] The search process in Fig. 10 is indicated by (1) in the drawing. The (1) indicating the search process in Fig. 10 is also used in Fig. 12 as (1) since it has the same meaning.
[0102] 11 is a diagram showing the flow of search processing by vector search. The detailed flow of the search processing based on FIG.
[0103] First, the server 20 receives a query from a user. Based on this query, the server 20 executes a search process using a vector search.
[0104] When performing a search process using a vector search, the server 20 converts the query into a vector. Then, the server 20 compares the converted query with the "document vector" and other data items in the vector search database 2021 to search for highly relevant information and the like.
[0105] The server 20 then processes the data resulting from the vector search using one or more language models.
[0106] The data resulting from the search process is then processed through one or more language models, and the server 20 generates a search response, such as in text format, from this process.
[0107] The generated answer results are stored in the answer results database 2025 .
[0108] The search process in Fig. 11 is indicated as (2) in the drawing. The (2) indicating the search process in Fig. 11 is also used in Fig. 12 as it has the same meaning.
[0109] Fig. 12 is a diagram relating to search processing using an information graph and vector search. A detailed flow of the search processing based on Fig. 12 will be described below.
[0110] First, the server 20 receives a query from a user. Based on this query, the server 20 executes two search processes in parallel. Below, the two parallel search processes are divided into one search process and the other search process, and each search process is explained separately.
[0111] One search process is the search process shown in FIGS. First, the server 20 searches the information graph based on the query using the entity database 2022, the edge database 2023, etc. Then, the server 20 generates a search response result. Regarding the other search process, after the search process (1) in FIG. 10, the server 20 performs a search process of vector search based on FIG. 11. When performing the search process (2) in FIG. 11, the query can be expanded by combining the query entered by the user with the answer results obtained from the information graph. In other words, by adding related concepts, information, etc. obtained from the information graph to the original query received from the user, it is possible to obtain more accurate and comprehensive search results. An example of this is also described in FIG. 17. The server 20 converts the query into a vector, performs a search process for the vector search using a vector search database 2021 or the like, and generates a search response result.
[0112] The other search process only performs the search process (2) shown in Figure 11. The server 20 converts the query into a vector, performs vector search processing using a vector search database 2021, etc., and generates search response results. This concludes the explanation of the two parallel search processes.
[0113] Next, the server 20 receives the results of the two parallel search processes and integrates these results. Specifically, the server 20 processes the text of the search results using the following method to generate an integrated sentence. A specific example of the integration method is described below.
[0114] One method is for the server 20 to simply combine the text of the two search results and then generate a summary using natural language processing techniques, etc. This allows for the extraction of important information while concisely summarizing the overall content.
[0115] Alternatively, the server 20 may compare the text of two search results to identify any overlapping information. The server 20 may then remove the overlapping portions and modify, smooth, or otherwise modify the remaining text to create a natural flow. This allows the server 20 to generate easy-to-read text while eliminating redundancy.
[0116] Furthermore, the server 20 can segment (divide) the texts of the two search results by topic, extract information related to each topic, and reconstruct them as new sentences. This allows the server 20 to generate sentences with a logical structure organized by topic.
[0117] The server 20 can also evaluate the priority of information contained in the text of the two search results and generate a new sentence by selecting information with a higher priority, thereby enabling the server 20 to create a sentence that emphasizes information with a higher degree of importance.
[0118] In addition, the server 20 can cluster sentences, paragraphs, etc. contained in the text of the two search results based on semantic similarity, and select representative sentences, paragraphs, etc. from each cluster to generate a new sentence, which allows the server 20 to create a semantically coherent sentence.
[0119] Furthermore, the server 20 can selectively integrate the text of two search results based on the user's preferences, interests, etc. For example, if it is known that the user is interested in a particular topic, it will preferentially extract information related to that topic to generate a personalized sentence.
[0120] As described above, by utilizing technologies such as natural language processing and machine learning, the server 20 can perform two search processing operations. The server 20 may select the most appropriate method from the above or combine them depending on the situation.
[0121] The server 20 then processes the data resulting from the above search results through one or more language models, which analyze the data and generate answers in natural language. Through this process, the server 20 generates the search results as a final answer in text format.
[0122] The generated answer results are stored in the answer results database 2025 .
[0123] Figure 13 is a diagram related to search processing using an information graph. To summarize Figure 13, a process for generating hypothetical answers is added before executing the search processing of Figure 10. The detailed flow of the search processing based on Figure 13 will be explained below.
[0124] The server 20 receives a query from a user. First, the server 20 performs a process to generate a hypothetical answer based on the query. The process to generate a hypothetical answer is performed by executing, for example, the process of HyDE. Note that although the description is given using HyDE, a similar process may be performed by a device other than HyDE.
[0125] Hypothetical Document Embeddings (HyDE) processing generates hypothetical answers to user queries, which allows for a deeper understanding of the query intent and the provision of information that is more relevant to the user. The HyDE process consists of two main steps: 1. Query analysis: HyDE first performs a detailed analysis of the query entered by the user. This process focuses on identifying the keywords and context contained in the query and accurately understanding the user's search intent and information needs. The results of the query analysis form the basis for the next step, which is to generate hypothetical answers. 2. Generate hypothetical answers: Based on the information obtained from the query analysis, a hypothetical answer is generated. This hypothetical answer is composed of content that clarifies the intent of the query and includes the information the user is looking for. The hypothetical answer may be generated using a language model, etc. This allows the answer to be expressed in natural sentences that are in line with the context. HyDE's process can provide more accurate and user-friendly information through hypothetical answers.
[0126] After performing the HyDE processing, the server 20 executes a search process using the information graph of Fig. 10. Specifically, the information graph is searched based on the HyDE processing result.
[0127] The server 20 then processes the data resulting from the search using the information graph with one or more language models, generating a search response in text format or the like.
[0128] The generated search answer results are stored in an answer results database 2025 .
[0129] Figure 14 is a diagram related to search processing using vector search. To summarize Figure 14, a process for generating hypothetical answers is added before executing the search processing of Figure 11. The detailed flow of the search processing based on Figure 14 will be explained below.
[0130] First, the server 20 receives a query from a user. Next, the server 20 performs a process to generate a hypothetical answer based on the query. The process to generate a hypothetical answer is performed by executing, for example, the process of HyDE. Note that although the description is given using HyDE, a similar process may be performed by a device other than HyDE.
[0131] After HyDE processing, the server 20 executes a vector search based on Fig. 11. Specifically, based on the results of HyDE processing, the query is converted into a vector and compared with existing vectors in the vector search database 2021 to identify highly relevant data.
[0132] The server 20 then processes the data resulting from the vector search through one or more language models, generating a search response, such as in text format.
[0133] The generated search answer results are stored in an answer results database 2025 .
[0134] Figure 15 is a diagram related to search processing using information graphs and vector search. To summarize Figure 15, it is the same as the search processing in Figure 12, but with the addition of a process for generating hypothetical answers. The detailed flow of the search processing based on Figure 15 is explained below.
[0135] First, the server 20 receives a query from a user. Based on this query, the server 20 executes two search processes in parallel. Below, the two parallel search processes are divided into one search process and the other search process, and each search process will be explained.
[0136] One search process is the search process shown in FIGS. The server 20 executes the search process (3) in Figure 13. After executing the search process (3) in Figure 13, the server 20 then executes the search process (4) in Figure 14. When executing the search process in Figure 14, the query can be expanded by combining the query entered by the user with the answer results obtained from the information graph. In other words, by adding related concepts, information, etc. obtained from the information graph to the original query received from the user, it is possible to obtain more accurate and comprehensive search results. The server 20 performs these search processes and generates search response results.
[0137] The other search process only performs the search process shown in Fig. 14. This concludes the explanation of the two parallel search processes.
[0138] Next, the server 20 receives the results of the two parallel search processes and integrates them. Specifically, the server 20 processes the text of the search results using the method described above to generate an integrated sentence. The integration method is as shown in FIG. 12.
[0139] The server 20 then processes the data resulting from the search results through one or more language models, which analyze the data and generate answers in natural language. Through this process, the server 20 generates the search results as a final answer.
[0140] The generated answer results are stored in the answer results database 2025 .
[0141] An example of the search process used in this embodiment has been shown above in Figures 10 to 15. This is just an example, and other search processes may also be used.
[0142] Furthermore, in addition to the processing methods shown in FIGS. 10 to 15, RAG may be used in the search processing of this embodiment. RAG (Retrieval-Augmented Generation) is a technology that improves the accuracy of search responses by combining text generation using LLM with a search for external information. For example, when using LLM, RAG may search a database for related information, such as data handled in work or business, and incorporate it into the generation process. This makes it possible to utilize an internal knowledge base, etc., to provide accurate responses that match the business context.
[0143] Fig. 16 is a diagram relating to a response to a search result. Fig. 16 is a diagram relating to a flow diagram of processing of a response to a search result. The following describes an example in which a query is received from a user.
[0144] In step S16011, as a first step, the first device 10 accepts input of information related to a first query from the user. The query here refers to text data or the like including information the user wants to know, content they want to search for, etc. An example of the first query is, "Please tell me about the goals of the company that XXX is the representative of."
[0145] In step S16021, the server 20 receives input of information related to the first query from the first device 10. Specifically, the server 20 stores the information related to the first query received from the user in each item of the query database 2024. The query database 2024 includes items such as "query ID," "user ID," "query," and "date and time."
[0146] In step S16022, the server 20 executes the search processes shown in Figures 10 to 15 as the second, third, and fourth steps based on the first query. Note that the search processes shown in Figures 10 to 15 can be used independently, or multiple processes can be used in combination to achieve a more advanced search.
[0147] In step S16023, the server 20 outputs the response results of the search executed in step S16022. The response results of the search are stored in the response result database 2025. The server 20 outputs the results by referencing information in the response result database 2025, etc. In step S16023, the server 20 may output the answer result in text format or the like to the first device 10. The answer result is displayed in text format, for example, on the screen on which the user entered the query, allowing the user to check the search answer result on the same screen on which the user entered the query.
[0148] Figure 17 is a diagram related to the search result response. To summarize, Figure 17 focuses on the results related to the search processing in Figure 16 and shows the search results in a simplified manner. Figure 17 shows a diagram of the processing of search results using both information graphs and vector search as an example of search processing.
[0149] S17001 in FIG. 17 shows a query received as input from a user. In this example, it is assumed that the query received from the user is, "Please tell me about the goals of the company where XXX is the representative." The server 20 executes a search process based on this query, the search results obtained using an information graph in S17002 shown below, and the information in the database for vector search in S17003. This search process may be considered to be, for example, the search process shown in FIG. 12.
[0150] S17002 is the response result of a search using an information graph. This search response result is, for example, the result obtained by executing the search process in FIG. 10. The search response result may be, for example, "The goal of the company where XXX is the representative is XXX." A specific example of this search response result will be used in the following explanation.
[0151] S17003 indicates a vector search database. The vector search database stores multiple pieces of data related to a query. The structure of the vector search database can be considered to be similar to Vector Search Database 2021. Examples of multiple pieces of data related to a query stored in the vector search database of S17003 are as follows: "XXX company's efforts..." "We aim to develop XXX technology, through XXX, etc., to do XXX..." "XXX, represented by XXX, will begin a business specializing in XXX in the XXX field on XX / XX / 20XX..." "We will conduct collaborative research with academia to achieve the goal of XXX..."
[0152] Based on this information, the server 20 performs a search process that combines both an information graph and a vector search, as shown in FIG. 12, and generates a search response result.
[0153] S17004 shows the search result. For example, the search result might be something like, "The goal of the company represented by XXX is to achieve XXX in the XXX field. To achieve the XXX goal, we are conducting joint research with academia, XXX..."
[0154] The answer result for search S17004 is more detailed and valuable information than the answer result for search S17002, "The goal of the company represented by XXX is XXX." There are several reasons for this. First, in S17004, multiple pieces of related information obtained by the vector search are integrated, broadening the scope of the information and making it more comprehensive. Second, because it is based on the information graph and the results of the vector search, deeper analysis is possible, resulting in a more comprehensive understanding of the user's query. Furthermore, because answers are generated in natural language using a language model, it is possible to provide detailed information that is easy for the user to understand. In this way, by using the search processing described in this embodiment, it is possible to generate search results with higher search accuracy.
[0155] FIG. 18 is a diagram relating to a knowledge graph. A knowledge graph is a type of graph structure for expressing relationships between various data, and is composed of entities and the relationships (edges) between them. A knowledge graph is a type of information graph. A knowledge graph is used in the search system 1 during search processing.
[0156] Figure 18 shows an example of a visualized knowledge graph. In Figure 18, S18001 shows person A as an entity. Furthermore, S18002 shows an edge, which indicates a relationship such as "likes" between person A and product A. In this case, it means a relationship such as "person A "likes" product A." In this way, knowledge graphs have the advantage of making it easy to intuitively understand the relationships between data.
[0157] By using a knowledge graph for search processing, the search system 1 can instantly search and analyze related entities and edges in response to a user's query, and can logically trace the relationships between things to provide an answer, making it possible to provide accurate answer results. This improves the accuracy of search results and increases user satisfaction.
[0158] FIG. 19 is a diagram relating to a document graph. A document graph is a type of graph structure for expressing relationships between documents, and is composed of documents (entities) and their relationships (edges). One of its characteristics is that the document itself is an entity. A document graph is a type of information graph. The document graph is used during search processing in the search system 1.
[0159] Figure 19 shows an example of visualizing a document graph. In Figure 19, S19001 shows document A as an entity. Furthermore, S19002 shows an edge, indicating that document A and document E have a "supplementary" relationship. In this case, it means that document E is used as a "supplement" to document A. In this way, document graphs have the advantage of making it easy to intuitively understand the relationships between data.
[0160] By using document graphs for search processing, similar to knowledge graphs, the search system 1 can instantly search and analyze related entities (documents) and edges in response to user queries, and can logically trace the relationships between things to provide accurate answers, thereby improving the accuracy of search results and increasing user satisfaction. The server 20 can, for example, search and analyze the relationships between multiple document data (e.g., citation relationships between research papers, relationships between legal provisions, etc.), and generate search response results by logically tracing the relationships between things.
[0161] FIG. 20 is a diagram relating to an information graph. FIG. 20 shows a type of graph structure (hereinafter referred to as a combination graph) that combines elements of a knowledge graph and a document graph. It is used to visually represent the interrelationships between information and documents. This combination graph is composed of entities and their relationships (edges). In addition to entity information in the knowledge graph (e.g., people, companies, products), entities can also include documents (e.g., research papers, laws and regulations) that may themselves be defined as entities. This structure makes it possible to combine the advantages of both knowledge graphs and information graphs. The combination graph is used during search processing in the search system 1. The server 20 can construct a combination graph for, for example, a combination of a user database, a product database, a research paper database, a technical document database, etc., and generate search response results based on the information in the combination graph.
[0162] Figure 20 shows an example of a visualized combination graph. S18001 in Figure 20 is as described above. S20001 in Figure 20 shows document C as an entity. Also, S20002 shows an edge, which indicates a relationship such as "mention" between person A and document C. In this case, it means a relationship such as "person A 'mentions' document C."
[0163] By using a combination graph for search processing, similar to knowledge graphs and document graphs, the search system 1 can instantly search and analyze related entities (documents) and edges in response to user queries, and can logically trace the relationships between things to provide accurate answers. This further improves the accuracy of search results and increases user satisfaction. The server 20 can search and analyze, for example, the relationships between multiple document data (e.g., citation relationships between research papers, relationships between legal provisions, etc.), and multiple relationships between these and information about users, information about products, etc., and can logically trace the relationships between things to generate search response results.
[0164] We have explained information graphs, including document graphs, knowledge graphs, and combination graphs, above. The flexible data structure of information graphs makes it easy to add and manage new information, documents, relationships, etc., improving the scalability and adaptability of the system. Furthermore, by centrally managing information and documents from different data sources, the search system 1 can search and analyze the relevance of a wider range of information and documents. This also potentially leads to improved accuracy of search results. Furthermore, because information graphs can describe the relationships between entities and edges in detail, they can accurately analyze complex information and relationships contained in long texts. This characteristic makes them advantageous in highly specialized use cases. These characteristics enable the search system 1 to generate highly accurate search results for queries that include highly specialized content. This allows users to receive more reliable information, which is expected to further improve their satisfaction.
[0165] <Modification> The server 20 may collect feedback on the search results. The feedback information provided by the user is used to improve the performance of the search system 1. The feedback information is important data for evaluating the relevance of the search results, the quality of the answers, the user satisfaction level, etc.
[0166] The feedback information may be stored in a database of the server 20. This allows past feedback data to be referenced and reflected in future search processes. By utilizing the feedback information, the search system 1 can be continuously improved and provide better services to users.
[0167] In order to improve the accuracy of search results and user satisfaction, the search system 1 may perform learning based on past queries, their answer results, and feedback information. This learning process utilizes information such as the query database 2024, the answer result database 2025, the user database 2026, and the feedback database. The server 20 refers to these databases and analyzes patterns of past queries and their answer results to improve the accuracy of answers to future queries for each user.
[0168] For example, if multiple different answers are generated for the same query, the answer that received the highest user rating will be prioritized, and by learning this trend, the accuracy of answers for subsequent queries will be improved. Through this process, the search system 1 can dynamically improve itself and provide more appropriate, high-quality answers to users.
[0169] Finally, the server 20 may evaluate the overall performance of the search system 1. The overall performance takes into consideration indicators such as search speed, accuracy of response results, and user satisfaction. Based on these evaluation results, the search system 1 may tune the system, implement improvements, etc. as necessary.
[0170] Through these processes, Search System 1 can maintain high performance at all times and provide users with fast and accurate search results. Through a cycle of continuous improvement and feedback, the system dynamically evolves and provides optimal information that meets user needs.
[0171] Although several embodiments of the present disclosure have been described above, these embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and modifications are intended to be included in the scope of the inventions and their equivalents as defined in the claims, as well as in the scope and spirit of the inventions. [Explanation of symbols]
[0172] 1: Search system 10: First device 12: Communication IF 13: Input device 14: Output device 15: Memory 16: Storage section 19: Processor 20: Server 22: Communication IF 23: Input / output interface 25: Memory 26: Storage 29: Processor 80: Network 111: Antenna 121: First radio communication unit 130: Operation reception section 132: Display 140: Audio processing unit 141:Mike 142:Speaker 161: Query information 162: Answer result information 191: Input operation reception unit 192: Transmitter / receiver 193: Data processing section 194: Notification control unit 201: Communications Department 202: Storage section 203: Control unit 2021: Vector Search Database 2022: Database of entities 2023: Databases at the Edge 2024: Database of queries 2025: Database of response results 2026: User database 2031: Receiving control module 2032: Transmission control module
Claims
1. 1. A computer-implemented method comprising a processor and a memory, the method comprising: the processor: a first step of accepting input of a first query; a second step of performing a first search operation using an information graph including entities and relationships between the entities based on the first query; a third step of expanding the first query based on a result of the first search process, converting the expanded query into a vector, and performing a second search process using a vector search; a fourth step of integrating results of the first search process and the second search process to generate search results using at least one language model; How to do it.
2. In the second step, The method of claim 1 , wherein the information graph is a knowledge graph or a document graph.
3. In the second step, The method of claim 2 , wherein the entities of the knowledge graph are documents.
4. generating hypothetical answers from the first query using a language model; The method of claim 1 , wherein the hypothetical answers are used to perform a search of the information graph.
5. A program comprising: The program is for causing the processor of a computer having a processor and a memory to: a first step of accepting input of a first query; a second step of performing a first search operation using an information graph including entities and relationships between the entities based on the first query; a third step of expanding the first query based on a result of the first search process, converting the expanded query into a vector, and performing a second search process using a vector search; a fourth step of integrating results of the first search process and the second search process to generate search results using at least one language model; A program that executes.
6. An information processing device including a control unit and a storage unit, The control unit a first means for accepting input of a first query; second means for performing a first search operation based on the first query using an information graph including entities and relationships between the entities; a third means for expanding the first query based on a result of the first search process, converting the expanded query into a vector, and executing a second search process by vector search; a fourth means for integrating results of the first search process and the second search process and generating search results using at least one language model; An information processing device comprising:
7. An information processing system including an information processing device, The information processing device, a first means for accepting input of a first query; second means for performing a first search operation based on the first query using an information graph including entities and relationships between the entities; a third means for expanding the first query based on a result of the first search process, converting the expanded query into a vector, and executing a second search process by vector search; a fourth means for integrating results of the first search process and the second search process and generating search results using at least one language model; An information processing system comprising:
Citation Information
Patent Citations
JP140246A
Autonomous provision of retrospective search results with conversational assistant context
JP2019537801A
JPP7538364B
Conversation device
WO2020054451A1