Methods, programs, information processing devices, and information processing systems

The method enhances search accuracy and personalization by combining information graph and vector search with large language models to analyze user queries, addressing the limitations of existing knowledge graph-based search technologies.

JP2026095269AActive Publication Date: 2026-06-10EXAWIZARDS INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
EXAWIZARDS INC
Filing Date
2024-11-29
Publication Date
2026-06-10

AI Technical Summary

Technical Problem

Existing search technologies using knowledge graphs struggle with improving the accuracy of search results.

Method used

A method involving a computer system that performs a first search process using an information graph, a second process using 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 enhanced query analysis and personalized results.

Benefits of technology

Improves the accuracy and personalization of search results by deeply understanding user intent and providing highly relevant information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026095269000001_ABST
    Figure 2026095269000001_ABST
Patent Text Reader

Abstract

To improve the accuracy of search results. [Solution] A method performed by a computer comprising a processor and memory, wherein the processor performs the following steps: a first step of receiving input of a first query; a second step of performing a first search process using an information graph based on the first query; a third step of performing a second search process using 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.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method, a program, an information processing apparatus, and an information processing system.

Background Art

[0002] Conventionally, search techniques using knowledge graph technology have been known. For example, by utilizing a knowledge graph, it is possible to efficiently search for highly relevant information and provide it to a user.

[0003] Japanese Unexamined Patent Application Publication No. 2021-140246 (Patent Document 1) discloses an information processing apparatus including 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 word after the string processing with the string of the entity after the string processing that includes at least a part of the word after the string processing, thereby calculating an index value indicating the degree of association between the query and the entity, and a determination unit that determines an entity associated with the query based on the calculated index value.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] In Patent Document 1, it is possible to appropriately evaluate the search intention of a query input by a user and determine an entity corresponding to the query, but there is room for improvement in improving the accuracy of search results.

[0006] An object of the present disclosure is to provide a method for improving the accuracy of search results.

Means for Solving the Problems

[0007] One embodiment shown in this disclosure is a method performed by a computer comprising a processor and memory, wherein the processor performs a first step of receiving input of a first query; a second step of performing a first search process using an information graph based on the first query; a third step of performing a second search process using 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] This disclosure can improve the accuracy of search results. [Brief explanation of the drawing]

[0009] [Figure 1] Figure 1 is a block diagram showing an example of the overall configuration of search system 1. [Figure 2] Figure 2 is a block diagram showing the functional configuration of the first device 10. [Figure 3] Figure 3 is a block diagram showing the functional configuration of server 20. [Figure 4] Figure 4 shows the data structure of the vector search database 2021. [Figure 5] Figure 5 shows the data structure of the entity database 2022. [Figure 6] Figure 6 shows the data structure of the edge database 2023. [Figure 7] Figure 7 shows the data structure of the query database 2024. [Figure 8] Figure 8 shows the data structure of the 2025 database containing the response results. [Figure 9] Figure 9 shows the data structure of the user database 2026. [Figure 10]FIG. 10 is a diagram related to search processing using an information graph. [Figure 11] FIG. 11 is a diagram related to search processing using vector search. [Figure 12] FIG. 12 is a diagram related to search processing using an information graph and vector search. [Figure 13] FIG. 13 is a diagram related to search processing using an information graph. [Figure 14] FIG. 14 is a diagram related to search processing using vector search. [Figure 15] FIG. 15 is a diagram related to search processing using an information graph and vector search. [Figure 16] FIG. 16 is a diagram related to answering search results. [Figure 17] FIG. 17 is a diagram related to answering search results [Figure 18] FIG. 18 is a diagram related to a knowledge graph. [Figure 19] FIG. 19 is a diagram related to a document graph. [Figure 20] FIG. 20 is a diagram related to an information graph.

Mode for Carrying Out the Invention

[0010] The following is an embodiment of the present disclosure. The description of the embodiment of the present disclosure will be made while referring to the drawings. Also, in the description of the embodiment of the present disclosure, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.

[0011] <Summary of the First Embodiment> A search system 1 shown in an embodiment of the present disclosure provides a service related to search processing. Specifically, for example, the search system 1 receives a query, and performs search processing on the query using any one or a combination of vector search, information graph, language model, etc., and outputs an answer result of the search for the query. The search system 1 receives, for example, a text query related to the item searched by the user on the user terminal. The user terminal is realized by devices such as a PC, smartphone, tablet, etc. The user accesses the search system 1 through these terminals.

[0012] In this embodiment, the language model may be configured as a large language model (LLM: Large Language Model). This large language model is trained on a large amount of text data obtained from articles on the Internet, blog posts, news sites, books, academic papers, websites, etc. Specifically, the language model can include language models such as GPT (Generative Pretrained Transformer), Gemini (registered trademark), Claude (registered trademark), etc. GPT, Gemini, etc. are all examples of LLM and are pre-trained based on a large amount of text data. This exhibits high performance in natural language understanding, generation, etc. The large language model (LLM) has a function of generating and outputting relevant text data according to a given prompt. Specifically, in the large language model, it determines the direction of the output result based on the content of the prompt and aims to generate appropriate text data corresponding to the prompt. By utilizing these language models, etc., the search system 1 can precisely analyze the user's query and provide highly relevant search results. Furthermore, these models can also learn the user's past search history, behavior patterns, etc. and provide search results personalized for individual users. It should be noted that the language model may exchange data through communication with APIs related to the search system 1 and the language model.

[0013] By utilizing language models, search engines can gain a deeper understanding of query meaning and efficiently extract highly relevant information. Furthermore, language models can learn from users' past search history and behavioral patterns, enabling them to provide personalized search results to individual users. As described above, search system 1 can provide users with fast and accurate search results by using advanced analytical techniques, including language models, thereby improving the accuracy of the search experience.

[0014] Search system 1 analyzes the received query and performs search processing using a search engine to retrieve appropriate information from relevant databases, information sources, etc. The search engine may also use language models in addition to natural language processing techniques and machine learning techniques when analyzing queries. Search engines can utilize language models, for example, to analyze text-based queries received from users. Language models are pre-trained on large amounts of text data and are adept at understanding the context of queries and accurately grasping user intent.

[0015] The following example illustrates a search system 1 that receives queries from a user's terminal and performs search processing for those queries.

[0016] <1.1 System Configuration Diagram> Figure 1 is a block diagram showing an example of the overall configuration of the search system 1 of this embodiment. As shown in Figure 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 that they can communicate with one another.

[0017] Figure 1 shows an example of the 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 that receives queries and the like from the user for searching. The first device 10 can be implemented as, for example, a PC, smartphone, tablet, etc. In this embodiment, the user is a user who uses the search system 1 through the first device 10.

[0018] The first device 10, for example, accesses the server 20 in response to user input. The first device 10 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 provides the user with an environment for operating the search system 1 by executing a program. The first device 10 establishes a communication connection with the server 20 by reading and executing a program. The first device 10 then sends 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 interface 12, an input device 13, an output device 14, a memory 15, a storage unit 16, and a processor 19.

[0021] The communication IF12 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 input operations from the first device 10. The device for receiving input operations includes, for example, a touch panel, a touchpad, 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 first device 10.

[0024] Memory 15 is for temporarily storing programs and data processed by programs, etc. Memory 15 is a volatile memory such as DRAM (Dynamic Random Access Memory).

[0025] The storage unit 16 is for storing data. The storage unit 16 includes, for example, flash memory, an HDD (Hard Disk Drive), etc.

[0026] The processor 19 is hardware for executing the instruction set described in the program, and consists of an arithmetic unit, registers, peripheral circuits, etc.

[0027] Server 20 is a device that manages information related to the search system 1. For example, Server 20 manages information necessary when performing search processing in the search system 1. Server 20 transmits the data necessary for the search system 1 to the first device 10 as needed, causing the first device 10 to output search results and other responses.

[0028] The server 20 includes a communication interface 22, an input / output interface 23, memory 25, storage 26, and a processor 29.

[0029] Communication IF22 is an interface for inputting and outputting signals so that the server 20 can communicate with external devices.

[0030] The input / output IF23 functions as an input device for receiving input operations from the first device 10. Furthermore, the input / output IF23 functions as an interface with an output device for presenting information to the first device 10.

[0031] Memory 25 is for temporarily storing programs and data processed by programs, etc. Memory 25 is a volatile memory such as DRAM (Dynamic Random Access Memory).

[0032] Storage 26 is for storing data. Storage 26 includes, for example, flash memory, HDD (Hard Disk Drive), etc.

[0033] The processor 29 is hardware for executing the instruction set described in the program, and consists of an arithmetic unit, registers, peripheral circuits, etc.

[0034] <1.2 Functional configuration of the first device 10> Figure 2 shows the functional configuration of the first device 10. The first device 10 includes an antenna 111, a first wireless communication unit 121, a processor 19, an operation reception unit 130, a memory 15, a storage unit 16, a display 132, an audio processing unit 140, a microphone 141, and a speaker 142.

[0035] Antenna 111 radiates the signal emitted by the first device 10 into space as radio waves. Antenna 111 also receives radio waves from space and provides the received signal to the first wireless communication unit 121.

[0036] The first wireless communication unit 121 performs modulation and demodulation processing, etc., to enable the first device 10 to communicate with other communication equipment by sending and receiving signals via an antenna, etc. The first wireless communication unit 121 is a communication module for wireless communication that includes a tuner, high-frequency circuits, etc., and modulates and demodulates the wireless signals sent and received by the first device 10, and converts the frequency, and provides the received signal to the processor 19.

[0037] The processor 19 controls the operation of the first device 10 by reading and executing a program stored in the memory unit 16. The processor 19 is implemented, for example, by an application processor.

[0038] The operation reception unit 130 has a mechanism for receiving input operations from the user. The operation reception unit 130 can be implemented as a pointing device such as a mouse, touchpad, or touch panel, a keyboard, a controller, or a shooting means that senses the user's body movements as input operations. For example, the operation reception unit 130 senses the movements of body parts such as the user's hands, or the user's facial expressions, and accepts these movements of body parts as input operations. Based on the coordinates at which the user has received the input operation, such as by touching a touch panel with their finger, 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.

[0039] The storage unit 16 is composed of flash memory, RAM (Random Access Memory), etc., and stores programs used by the first device 10, and various data that the first device 10 receives from the server 20.

[0040] The memory unit 16 stores query information 161 and response result information 162. Query information 161 stores information about the search query transmitted using the first device 10. Specifically, query information 161 includes the content of the search query entered by the user, transmission date and time information, etc. The response result information 162 stores the search results generated by the search system 1 based on the query. Specifically, the response result information 162 includes the content of the search results, the date and time the search results were generated, etc.

[0041] The display 132 displays data such as text, audio, images, and videos in accordance with the control of the processor 19. The display 132 is implemented by a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence).

[0042] The audio processing unit 140 modulates and demodulates the audio signal. The audio processing unit 140 modulates the signal received from the microphone 141 and provides the modulated signal to the processor 19. The audio processing unit 140 also provides the audio signal to the speaker 142.

[0043] The microphone 141 receives audio input and provides the audio signal corresponding to the audio input to the audio processing unit 140.

[0044] The speaker 142 converts the audio signal provided by the audio processing unit 140 into sound and outputs the sound to the outside of the first device 10.

[0045] The processor 19 operates according to the program, performing functions 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 processes input operations from the user to an input device such as an operation receiving unit. If 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 the coordinate information of where the user's finger or the like has made contact with the touch device. The transmitting / receiving unit 192 performs processing to enable the first device 10 to send and receive data with an external device such as a server in accordance with a communication protocol. The data processing unit 193 performs calculations on the data received as input by the first device 10 according to the program and outputs the calculation results to memory or the like. The notification control unit 194 performs processes to present information to the user, such as displaying an image on the display 132, outputting sound to the speaker 142, and generating vibrations in a vibrator or the like.

[0046] <1.3 Functional Configuration of Server 20> Figure 3 shows the functional configuration of server 20. As shown in Figure 3, server 20 functions as a communication unit 201, a storage unit 202, and a control unit 203.

[0047] The communications unit 201 performs processing to enable the server 20 to communicate with external devices.

[0048] The memory unit 202 stores various databases, including 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.

[0049] Details of 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 later.

[0050] The control unit 203 is realized when the processor 29 reads a program stored in the memory unit 202 and executes instructions contained in the program. By operating according to the program, the control unit 203 performs the functions indicated as the receive control module 2031 and the transmit control module 2032.

[0051] The receive control module 2031 controls the process by which the server 20 receives signals from external devices according to a communication protocol.

[0052] The transmission control module 2032 controls the process by which the server 20 transmits signals to external devices according to a communication protocol.

[0053] <2 Data Structure> Figures 4, 5, 6, 7, 8, and 9 show the data structure of the database stored by server 20. Note that Figures 4, 5, 6, 7, 8, and 9 are examples and do not exclude data not shown.

[0054] Figure 4 shows 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 search system 1. Each record in the vector search database 2021 in Figure 4 includes the fields "Vector Search ID", "Document Title", "Document Body", and "Document Vector". Although a document is used as an example here, it does not have to be a document.

[0055] The item "Vector Search ID" is a unique ID for each service required when managing each service issued by Server 20 in Search System 1. For example, the "Vector Search ID" may be assigned an ID such as "VD001" or "VD002".

[0056] The "Document Title" field indicates the title related to the document. For example, the "Document Title" field might be "XXX Company's Initiatives" or "Development of XXX Technology."

[0057] The "Document Body" field contains text information including the specific content and detailed explanations of the document. The document body is converted into a format suitable for vector searching; this may involve dividing it into sections of a certain length, generating summaries, and extracting and saving important keywords. This processing allows for efficient searching and evaluation of the document's content. Examples of content in the "Document Body" field include phrases such as, "In the efforts of XXX Company,..." or "Aiming to develop XXX technology, through XXX, etc., we have achieved things like XXX..."

[0058] The "Document Vector" field represents the document content (body text) in vector format and is used when performing vector searches. Using vector format allows for highly accurate evaluation of similar documents and information relevance. The "Document Vector" field is represented by numerical vectors such as "[0.123,0.456,0.789]" and "[0.234,0.567,0.890]".

[0059] The Vector Search Database 2021 allows Search System 1 to efficiently manage document content in vector format, enabling highly accurate evaluation of similar document searches and information relevance. This allows the system to quickly and accurately provide highly relevant documents when a user enters a query. Furthermore, using the vector format enables high-speed searching within a large document database, improving the responsiveness of the search system. In addition, by combining Vector Search Database 2021 with machine learning and natural language processing technologies, it enables more advanced search functions and the provision of context-based search results, improving the user's search experience. Vector search allows for the numerical analysis of complex relationships between data, resulting in highly accurate search results.

[0060] Figure 5 shows the data structure of the entity database 2022. The entity database 2022 is a database for managing entity information in the information graph of search system 1. Each record in the entity database 2022 includes the fields "Entity ID", "Name", "Type", and "Description".

[0061] An entity is a concept used in information graphs and the like. It refers to individual entities, objects, etc., that possess specific information within an information graph. Specifically, entities can include people, places, organizations, events, objects, etc. 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 origin," and "achievements."

[0062] Furthermore, information graphs also represent the relationships (edges) between entities. Specifically, edges indicate various relationships between entities, such as ownership, location, membership, employment, parent-child relationships, influence, cooperation, and temporal order. For example, an edge can indicate that there is a relationship such as "place of origin" between the entity "Taro Tanaka" and the other entity "Tokyo". These relationships can be expressed through fields such as "Source," "Target," and "Type" in the Edge Database 2023, which will be discussed later. By using information graphs, it is possible to systematically analyze the complex relationships between data and obtain logical search results.

[0063] The "Entity ID" field indicates the identification information issued by the server 20 for the search system 1. Specifically, the "Entity ID" field is a unique ID required for managing the search system 1. For example, the "Entity ID" field may be assigned IDs such as "ET001", "ET002", and "ET003".

[0064] The "Name" field indicates the name of the entity. For example, the "Name" field could be "XXX Company" or "XXX Technology".

[0065] The "Type" field indicates the category or type of entity. Examples of "Type" fields include "Company," "Technology," "Person," and "Research."

[0066] The "Description" field contains text information that includes the specific content and detailed description of the entity. For example, the "Description" field might include phrases like "In the efforts of XXX Company, ..." or "Aiming to develop XXX technology, ...".

[0067] The existence of Entity Database 2022 allows Search System 1 to efficiently manage entity information and clearly understand the relationships between entities. This enables the system to quickly and accurately provide relevant entity information when a user enters a query. Furthermore, Entity Database 2022 enables advanced search functions utilizing information graphs and functions that visually display complex relationships between entities, significantly improving the usability and accuracy of the search system.

[0068] Figure 6 shows the data structure of the edge database 2023. The edge database 2023 is a database for managing edge information in the information graph of search system 1. The edge database 2023 in Figure 6 includes the fields "Edge ID", "Source", "Target", "Type", and "Description".

[0069] The item "Edge ID" indicates identification information issued by server 20 for search system 1. Specifically, the item "Edge ID" is a unique ID required for managing edges in search system 1. For example, the item "Edge ID" may be assigned an ID such as "EG001" or "EG002".

[0070] The "Source" field is an essential element in building relationships between entities and is used to clearly identify the entity that serves as the starting point for an edge. Specifically, in search system 1, the "Source" field indicates the entity ID that serves as the starting point for an edge. Examples of "Source" fields include "ET001" and "ET002".

[0071] The "Target" field is an essential element in building relationships between entities and is used to clearly identify the entity that is the endpoint of an edge. Specifically, in search system 1, the "Target" field indicates the entity ID that is the endpoint of the edge. The "Target" field is an important element for clarifying which entity the edge is heading towards. By using this ID, the relationships between entities in the information graph can be accurately understood. The "Source" field is, for example, "ET001" and "ET003".

[0072] The "Type" field indicates the type, category, etc., of the edge. The "Type" item specifically indicates diverse relationships between entities, such as ownership, location, membership, employment, parent-child relationships, influence, cooperation, and chronological order. Examples of "Type" items include "Usage," "Affiliation," "Joint Research," "Place of Origin," "Employment," and "Parent-Child."

[0073] The "Description" field contains text information, including specific details and explanations of the edge. Examples of the "Description" field include phrases like, "XXX company uses XXX technology..." or "XXX serves as the representative of XXX company."

[0074] The presence of the Edge Database 2023 allows Search System 1 to efficiently manage relationships between entities and clearly understand the connections between entities within the information graph. This enables the system to quickly and accurately provide relationship information between relevant entities when a user enters a query. Furthermore, the Edge Database 2023 allows for detailed recording of diverse relationships between entities, enabling advanced search and analysis functions based on this information, further improving the usability and accuracy of the search system.

[0075] Furthermore, by adding new edges to the Edge Database 2023, the structure of the information graph can be expanded, allowing for a more detailed analysis of data relationships. When new technologies, knowledge, etc., are discovered, adding that information to the Edge Database 2023 allows the relationships between new entities to be reflected in the information graph.

[0076] This improves the search accuracy of the information graph, enabling the system to provide more precise answers to the information users are seeking. Furthermore, the dynamic updating of the information graph structure ensures that search results are always based on the latest knowledge and data.

[0077] Figure 7 shows the data structure of the query database 2024. The query database 2024 is a database for managing query information in search system 1. The query database 2024 in Figure 7 includes the fields "Query ID", "User ID", "Query", and "Date and Time".

[0078] The "Query ID" field indicates identification information issued by server 20 in search system 1. Specifically, it is a unique ID required when managing queries. For example, the "Query ID" field may be assigned IDs such as "QE001" or "QE002".

[0079] The "User ID" field in search system 1 represents identification information issued by server 20. Specifically, it is a unique ID required for user management. For example, the "User ID" field may be assigned IDs such as "US001" or "US002".

[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 it 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 where XXX is the representative" and "Tell me about XXX".

[0081] The "Date and Time" field indicates the date and time the query was issued. The "Date and Time" field is recorded in a format such as "2027 / 12 / 23 10:00:00" or "2028 / 01 / 02".

[0082] The existence of the Query Database 2024 allows for the referencing of past query history, enabling analysis of user search behavior and trends to improve the accuracy and usability of the search system. Furthermore, if a user database exists, the search system can link the Query Database 2024 with the user database, allowing for more personalized search results to be provided to users.

[0083] Figure 8 shows the data structure of the response results database 2025. The response results database 2025 is a database for managing the response results in search system 1. Each record in the response results database 2025 in Figure 8 includes the fields "Response Result ID", "Query ID", and "Response".

[0084] The item "Response Result ID" indicates identification information issued by server 20 in search system 1. Specifically, it is a unique ID required when managing the response results. For example, the item "Response Result ID" may be assigned an ID such as "AS001" or "AS002".

[0085] The "Query ID" field is as described above.

[0086] The item "Answer" is information that indicates the answer result generated by search system 1 after performing search processing on the query item "Query ID". For example, the item "Answer" may include statements such as, "The goal of the company where XXX serves as representative is XXX," or "The person XXX respects is XXX."

[0087] Having a database of response results (2025) allows users to refer to past search results and response history, improving the accuracy and usability of the search system.

[0088] Figure 9 shows the data structure of user database 2026. User database 2026 is a database for managing the response results in search system 1. Each record in user database 2026 in Figure 9 includes the fields "User ID" and "Name".

[0089] The "User ID" field is as described above.

[0090] The "Name" field represents the user's name. For example, the "Name" field could be "Taro Tanaka" or "Hanako Yamada".

[0091] Having a user database 2026 allows for referencing each user's past search results, response history, etc., improving the accuracy and usability of the search system.

[0092] In addition to the databases described above, the server 20 may also include a trained database for storing trained models, a prompt database for storing prompts, a feedback database for storing user response information, and so on.

[0093] <Operation of the First Embodiment> Next, we will explain the operation of each component of search system 1. The following explanation will use the case where the system receives queries from a user as an example.

[0094] Figure 10 shows the flow of the search process using an information graph. The detailed flow of the search process based on Figure 10 is described below.

[0095] First, server 20 receives a query from the user. Based on this query, server 20 performs a search process using an information graph. The information graph is as described above.

[0096] The information graph used here may be a knowledge graph, a document graph, or a combination of both for search processing. Based on the query, Server 20 performs the search processing by utilizing information from the entity database 2022, the edge database 2023, etc. This allows 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 used to represent the relationships between various data, and it consists of entities and the relationships (edges) between them. In search system 1, the knowledge graph is used during the search process. Further details about the knowledge graph, including specific examples, are explained in detail in Figure 18.

[0098] A document graph is a type of graph structure used to represent the relationships between documents, and it consists of documents (entities) and their relationships (edges). The document graph is used in the search process in search system 1. Further details about document graphs and specific examples of knowledge graphs are explained in detail in Figure 19.

[0099] The data obtained from the search process using the information graph is then subjected to processing by one or more language models. Server 20 generates the search results in text format or other formats through this process.

[0100] The generated response results will be stored in the response results database 2025.

[0101] Note that the search process in Figure 10 is indicated as (1) in the diagram. The same meaning is conveyed in Figure 12 as well, using (1).

[0102] Figure 11 shows the flow of the search process using vector search. The detailed flow of the search process based on Figure 11 is described below.

[0103] First, server 20 receives a query from the user. Based on this query, server 20 performs a search process using vector search.

[0104] When performing a search using vector search, server 20 converts the query into a vector. Server 20 then compares the converted query with the "Document Vector" and other items in the vector search database 2021 to find highly relevant information.

[0105] Next, server 20 processes the data obtained from the search process using vector search with one or more language models.

[0106] The data obtained from the search process is then processed by one or more language models. Server 20 generates the search results in text format or other formats through this process.

[0107] The generated response results will be stored in the response results database 2025.

[0108] Note that the search process in Figure 11 is indicated as (2) in the diagram. The same meaning is conveyed in Figure 12 as well, using (2).

[0109] Figure 12 is a diagram illustrating the search process using an information graph and vector search. The detailed flow of the search process based on Figure 12 is described below.

[0110] First, server 20 receives a query from the user. Based on this query, server 20 executes two search processes in parallel. Below, the two parallel search processes are explained separately as one search process and the other search process.

[0111] The other search process performs the search operations shown in Figures 10 and 11. First, server 20 searches the information graph using entity database 2022, edge database 2023, etc., based on the query. Then, server 20 generates the search results. Regarding the other search process, after the search process (1) in Figure 10, the server 20 performs a vector search based on Figure 11. When performing the search process (2) in Figure 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 becomes possible to obtain more accurate and comprehensive search results. This example is also explained in Figure 17. Server 20 converts the query into a vector, performs a vector search using the vector search database 2021, etc., and generates the search response.

[0112] The other search process performs only the search process (2) shown in Figure 11. Server 20 converts the query into a vector, performs a vector search using the vector search database 2021, etc., and generates the search results. This concludes the explanation of the two parallel search processes.

[0113] Next, server 20 receives the results of the two parallel search processes described above and integrates them. Specifically, server 20 processes the text of the search results using the following method and generates an integrated document. Specific examples of the integration method are described below.

[0114] One approach is for server 20 to simply combine the texts of the two search results and then generate a summary using natural language processing techniques. This allows for the extraction of important information while concisely summarizing the overall content.

[0115] Alternatively, server 20 compares the text of the two search results and identifies duplicate information. Then, server 20 removes the duplicate parts and modifies and smooths the remaining text to make it flow more naturally. In this way, server 20 can generate easy-to-read text while eliminating redundancy.

[0116] Furthermore, server 20 can segment (divide) the text of the two search results by topic, extract information related to each topic, and then reconstruct it as a new document. This allows server 20 to generate a logically structured document organized by topic.

[0117] Furthermore, server 20 can evaluate the priority of the information contained in the text of the two search results and generate a new text by selecting the information with the highest priority. This allows server 20 to create text that emphasizes the most important information.

[0118] In addition, server 20 can cluster sentences, paragraphs, etc., contained in the text of the two search results based on their semantic similarity, and select representative sentences, paragraphs, etc., from each cluster to generate a new text. This allows server 20 to create a semantically coherent text.

[0119] Furthermore, the server 20 can selectively merge the text of two search results based on the user's preferences and interests. For example, if it is known that the user is interested in a particular topic, it will prioritize extracting information related to that topic and generate personalized text.

[0120] As described above, by utilizing technologies such as natural language processing and machine learning, server 20 can perform two search processes. Server 20 may select or combine the most suitable method from the above options depending on the situation.

[0121] Next, server 20 processes the data obtained as a result of processing the search results described above through one or more language models. The language models analyze this data and generate responses in natural language. Through this process, server 20 generates the search results as the final response in text format.

[0122] The generated response results will be stored in the response results database 2025.

[0123] Figure 13 illustrates the search process using an information graph. In essence, Figure 13 adds a process for generating hypothetical answers before executing the search process shown in Figure 10. The detailed flow of the search process based on Figure 13 is described below.

[0124] Server 20 receives queries from users. First, Server 20 processes these queries to generate hypothetical answers. This process of generating hypothetical answers is performed, for example, by executing processes using HyDE. Although HyDE is used as an example here, other methods that perform similar processing may also be used.

[0125] HyDE (Hypothetical Document Embeddings) processing generates hypothetical answers to user queries. This method leverages hypothetical answers to gain a deeper understanding of the query's intent and provide more relevant information to the user. The HyDE process consists of the following two main steps: 1. Query analysis: HyDE first performs a detailed analysis of the query entered by the user. This process focuses on identifying keywords, context, and other elements included 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: generating hypothetical answers. 2. Generating hypothetical answers: Based on the information obtained from query analysis, a hypothetical answer is generated. This hypothetical answer embodies the intent of the query and contains the information the user is seeking. The hypothetical answer may be generated using a language model or similar method. This ensures that the answer is expressed in natural, contextual language. HyDE's processing can provide more accurate and user-friendly information through hypothetical responses.

[0126] After processing with HyDE, server 20 executes a search process using the information graph shown in Figure 10. Specifically, it searches the information graph based on the results of the HyDE processing.

[0127] Next, server 20 processes the data obtained from the search process using the information graph with one or more language models. Through this process, server 20 generates the search results in text format or other formats.

[0128] The generated search results are stored in the 2025 database of search results.

[0129] Figure 14 is a diagram illustrating a search process using vector search. In summary, Figure 14 adds a process for generating hypothetical answers before executing the search process shown in Figure 11. The detailed flow of the search process based on Figure 14 is described below.

[0130] First, server 20 receives a query from the user. Next, server 20 processes this query to generate a hypothetical answer. This process of generating a hypothetical answer is performed, for example, by executing a process using HyDE. Although HyDE is used as an example here, other software can be used to perform similar processing.

[0131] After processing with HyDE, server 20 performs a vector search based on Figure 11. Specifically, it converts the query into a vector based on the HyDE processing results and compares it with existing vectors in the vector search database 2021 to identify highly relevant data.

[0132] Next, server 20 processes the data obtained from the search process using vector search with one or more language models. Through this process, server 20 generates the search results in text format or other formats.

[0133] The generated search results are stored in the 2025 database of search results.

[0134] Figure 15 illustrates a search process using an information graph and vector search. In essence, Figure 15 adds a process for generating hypothetical answers to the search process shown in Figure 12. The detailed flow of the search process based on Figure 15 is described below.

[0135] First, server 20 receives a query from the user. Based on this query, server 20 executes two search processes in parallel. The following describes the two parallel search processes, divided into one search process and the other search process.

[0136] The other search process performs the search operations shown in Figures 13 and 14. Server 20 executes the search process (3) shown in Figure 13. After executing the search process (3) shown in Figure 13, Server 20 then executes the search process (4) shown in Figure 14. When performing the search process shown 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 relevant concepts, information, etc., obtained from the information graph to the original query received from the user, it becomes possible to obtain more accurate and comprehensive search results. Server 20 performs these search processes and generates search results.

[0137] The other search process performs only the search process shown in Figure 14. This concludes the explanation of the two parallel search processes.

[0138] Next, server 20 receives the results of the two parallel search processes described above and integrates these results. Specifically, server 20 processes the text of the search results using the method shown above and generates an integrated document. The integration method is shown in Figure 12.

[0139] Next, server 20 processes the data obtained from processing the search results through one or more language models. The language models analyze this data and generate responses in natural language. Through this process, server 20 generates the search results as the final response.

[0140] The generated response results will be stored in the response results database 2025.

[0141] Figures 10 to 15 above show an example of the search process used in this embodiment. This is just one example, and other search processes may be used.

[0142] Furthermore, RAG may be used in the search process of this embodiment, as shown in the processing methods in Figures 10 to 15 above. RAG (Retrieval-Augmented Generation) is a technology that improves the accuracy of search responses by combining the retrieval of external information with text generation using LLM. For example, when using LLM, RAG may retrieve relevant information such as data handled in work and business from a database and incorporate it into the generation process. This makes it possible to provide accurate responses that are appropriate to the business context by utilizing the company's knowledge base, etc.

[0143] Figure 16 is a diagram relating to the search results. Figure 16 is a flowchart illustrating the processing of the search results. The following explanation uses the case of receiving a query from a user as an example.

[0144] In step S16011, as the first step, the first device 10 receives input from the user regarding the first query. Here, a query refers to text data, etc., that contains the information the user wants to know or the content they want to search for. The first query is, for example, "Tell me about the goals of the company where XXX is the representative."

[0145] In step S16021, the server 20 receives input 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 the respective fields of the query database 2024. The query database 2024 includes fields such as "Query ID", "User ID", "Query", and "Date and Time".

[0146] In step S16022, the server 20 performs the search processes shown in Figures 10 to 15 described above, based on the first query, as the second, third, and fourth steps. The search processes shown in Figures 10 to 15 can be used individually, or multiple processes can be combined to achieve more advanced searches.

[0147] In step S16023, the server 20 outputs the search results performed in step S16022. The search results are stored in the search results database 2025. The server 20 outputs the results by referring to information such as the search results database 2025. In step S16023, the server 20 may output the response result in text format or the like using the first device 10. The response result is displayed in text format, for example, on the screen where the user entered the query. This allows the user to check the search results on the same screen where they entered the query.

[0148] Figure 17 is a diagram illustrating the results of the search. In summary, Figure 17 focuses on the results related to the search process in Figure 16 and provides a simplified representation of the search results. As an example of a search process, Figure 17 shows a diagram illustrating the processing of search results using both an information graph and a vector search.

[0149] S17001 in Figure 17 shows a query received from the user. In this case, we assume that the user has submitted the query, "Please tell me about the goals of the company where XXX is the representative." Based on this query, the search results obtained using the information graph in S17002 shown below, and the database information from the vector search in S17003, the server 20 executes a search process. This search process can be thought of as, for example, the search process shown in Figure 12.

[0150] S17002 is the result of a search using an information graph. This search result is, for example, the result obtained by performing the search process shown in Figure 10. The search result may be something like, "The goal of the company where XXX is the representative is XXX." A concrete example of this search result will be used in later explanations.

[0151] S17003 represents a vector search database. The vector search database is assumed to store multiple data related to the query. The structure of the vector search database can be considered similar to that of the vector search database 2021. Examples of the multiple data related to the query stored in the S17003 vector search database include the following: • "In the initiatives of XXX Company,..." "We aim to develop XXX technology, and through XXX and other means, we will achieve things like XXX..." "XXX, represented by XXX, will launch a business specializing in XXX within the XXX field starting on [Date]..." "We are conducting collaborative research with academia with the aim of achieving goals such as 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 Figure 12, to generate search results.

[0153] S17004 represents the search results. The search results may look something like this: "The goal of the company where XXX serves as representative is to XXX in the XXX field. To achieve the goal of XXX, they are conducting collaborative research with academia, XXX..."

[0154] The search result for S17004 provides more detailed and valuable information than the search result for S17002, which states, "The goal of the company where XXX serves as representative is XXX." This is due to several reasons. First, in S17004, multiple related pieces of information obtained through vector search are integrated, broadening the scope of information and resulting in more comprehensive content. Second, because it is based on information graphs and vector search results, deeper analysis is possible, leading to a comprehensive understanding of the user's query. Furthermore, since the answer is generated in natural language using a language model, it is possible to provide information that is easy for the user to understand and is also detailed. Thus, by using the search process described in this embodiment, it becomes possible to generate search results with higher accuracy.

[0155] Figure 18 is a diagram related to the knowledge graph. A knowledge graph is a type of graph structure used to represent the relationships between various data, and it consists of entities and the relationships (edges) between them. A knowledge graph is a type of information graph. A knowledge graph is used in search system 1 during the search process.

[0156] Figure 18 shows an example of a knowledge graph visualization. In Figure 18, S18001 represents Person A as an entity. S18002 represents an edge indicating a "likes" relationship between Person A and Product A. In this case, it means that "Person A 'likes' Product A." Thus, knowledge graphs have the advantage of making relationships between data points easy to understand intuitively.

[0157] By using a knowledge graph for search processing, search system 1 can instantly search and analyze relevant entities and edges in response to user queries, logically tracing the relationships between things to provide accurate answers. This improves the accuracy of search results and increases user satisfaction.

[0158] Figure 19 is a diagram relating to a document graph. A document graph is a type of graph structure used to represent the relationships between documents, and it consists of documents (entities) and their relationships (edges). One of its characteristics is that the documents themselves are entities. A document graph is a type of information graph. A document graph is used in the search process in search system 1.

[0159] Figure 19 shows an example of a document graph visualization. In Figure 19, S19001 represents document A as an entity. S19002 shows an edge indicating a "supplementary" relationship between document A and document E. In this case, it means that "document E is used as a 'supplement' to document A." Thus, document graphs have the advantage of making the relationships between data more intuitive.

[0160] By using a document graph for search processing, similar to a knowledge graph, search system 1 can instantly search and analyze relevant entities (documents) and edges in response to user queries, logically tracing the relationships between things to provide accurate answers. This improves the accuracy of search results and increases user satisfaction. Server 20 can, for example, search and analyze the relationships between multiple document data (e.g., citation relationships in research papers, relationships between legal provisions, etc.) and generate search results by logically tracing the relationships between things.

[0161] Figure 20 is a diagram relating to an information graph. Figure 20 shows a type of graph structure (hereinafter referred to as a combined 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 combined graph consists of entities and their relationships (edges). Entities may include not only information about entities in the knowledge graph (e.g., people, companies, products), but also documents themselves (e.g., research papers, laws and regulations) which may be defined as entities. This structure makes it possible to have the advantages of both knowledge graphs and information graphs. The combined graph is used in the search system 1 during search processing. Server 20 can construct a combined graph for combinations such as a user database, a product database, a research paper database, a technical document database, etc., and generate search results based on the information in that combined graph.

[0162] Figure 20 shows an example of a combinational graph visualization. S18001 in Figure 20 is as described above. S20001 in Figure 20 represents document C as an entity. S20002 shows that there is a "mention" relationship between person A and document C as an edge. In this case, it means that "person A is 'mentioning' document C."

[0163] By performing search processing using a combination graph, search system 1, similar to knowledge graphs and document graphs, can instantly search and analyze related entities (documents) and edges in response to user queries, logically tracing the relationships between things to provide accurate results. This further improves the accuracy of search results and increases user satisfaction. Server 20 can search and analyze multiple relationships between documents (for example, citation relationships in research papers, relationships between legal provisions, etc.), and between those documents and information about users, product information, etc., and generate search results by logically tracing the relationships between things.

[0164] The above describes information graphs, including document graphs, knowledge graphs, and combination graphs. The flexible data structure of information graphs allows for easy addition and management of new information, documents, and relationships, thereby improving the system's scalability and adaptability. Furthermore, by centrally managing information and documents from different data sources, the search system 1 can search and analyze a wider range of information and document relationships. This can potentially lead to improved accuracy in 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 is advantageous even in highly specialized use cases. Due to these characteristics, search system 1 can generate highly accurate search results even for queries containing highly specialized content. As a result, users can receive more reliable information, and further improvements in user satisfaction can be expected.

[0165] <Variation> Server 20 may collect feedback on search results. This feedback information will be used to improve the performance of search system 1. The feedback information will be important data for evaluating the relevance of search results, the quality of answers, user satisfaction, etc.

[0166] The feedback information may be stored in the server 20's database. This allows past feedback data to be referenced and reflected in future search processing. By utilizing the feedback information, the search system 1 can be continuously improved, enabling it to provide better services to users.

[0167] Search system 1 may learn from past queries, their answers, and feedback information to improve the accuracy of search results and user satisfaction. This learning process utilizes information from databases such as query database 2024, answer result database 2025, user database 2026, and feedback database. Server 20 refers to these databases and analyzes patterns in past queries and their answers 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 system prioritizes the answer that received the highest user rating and learns this trend to improve the accuracy of answers for subsequent queries. Through this process, search system 1 dynamically improves itself and can provide users with more appropriate and higher-quality answers.

[0169] Finally, server 20 may evaluate the overall performance of search system 1. Overall performance may take into account indicators such as search speed, accuracy of results, and user satisfaction. Based on these evaluation results, search system 1 may implement system tuning, improvement measures, etc., as necessary.

[0170] Through these processes, search system 1 can consistently maintain high performance and provide users with fast and accurate search results. Through a continuous cycle of improvement and feedback, the system dynamically evolves, enabling it to provide optimal information tailored to user needs.

[0171] While several embodiments of this disclosure have been described above, these embodiments can be implemented in a variety of other forms, and various omissions, substitutions, and modifications are permitted without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents. [Explanation of symbols]

[0172] 1: Search System 10: First apparatus 12: Communication Interface 13: Input device 14: Output device 15: Memory 16: Storage part 19: Processor 20: Server 22: Communication IF 23: Input / Output Interface 25: Memory 26: Storage 29: Processor 80: Network 111: Antenna 121: 1st Radio Communication Section 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: Transceiver Unit 193: Data Processing Unit 194: Notification Control Unit 201: Communications Department 202: Storage section 203: Control Unit 2021: Vector Search Database 2022: Entity Database 2023: Edge Database 2024: Query Database 2025: Database of response results 2026: User Database 2031: Receiver control module 2032: Transmitter control module

Claims

1. A method performed by a computer having a processor and memory, The aforementioned processor, The first step is to accept input for the first query, A second step is to perform a first search process using an information graph based on the first query mentioned above, A third step is to perform a second search process using vector search based on the first query, 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, How to do it.

2. In the second step described above, The method according to claim 1, characterized in that the information graph is a knowledge graph or a document graph.

3. In the second step described above, The method according to claim 2, characterized in that the entities of the knowledge graph are documents.

4. Based on the above query, The method according to claim 1, characterized by combining the step of obtaining a hypothetical answer using the language model with the step of generating search results.

5. A program to be executed on a computer having a processor and memory, The program is transmitted to the computer's processor, The first step is to accept input for the first query, A second step is to perform a first search process using an information graph based on the first query mentioned above, A third step is to perform a second search process using vector search based on the first query, 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, A program that executes something.

6. An information processing device comprising a control unit and a storage unit, The control unit, The first means of receiving input for the first query, A second means that performs a first search process using an information graph based on the first query, A third means that performs a second search process using vector search based on the first query, A fourth means for generating search results using at least one language model for at least one of the first search process and the second search process, An information processing device that performs this task.

7. An information processing system executed by an information processing device, The first means of receiving input for the first query, A second means that performs a first search process using an information graph based on the first query, A third means that performs a second search process using vector search based on the first query, A fourth means for generating search results using at least one language model for at least one of the first search process and the second search process, An information processing system equipped with the following features.