A system and method for performing cause analysis of incorrect answers in search extension generation processing.

JP2026137488APending Publication Date: 2026-08-27HITACHI SOFTWARE ENG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025023634
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-17
Publication Date
2026-08-27

AI Technical Summary

Benefits of technology

【0007】 本発明によれば、誤回答の原因を効率的に推定することができる。上記以外の課題、構成、および効果は、以下の実施の形態の説明により明らかにされる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026137488000001_ABST
    Figure 2026137488000001_ABST
Patent Text Reader

Abstract

This system provides a mechanism to estimate the cause of incorrect responses in the search extension generation process. [Solution] As a cause analysis process, one or more processors (1) select one or more candidate chunks from knowledge information based on the model answer to the analysis question, (2) obtain at least one of a similarity score indicating the similarity between the candidate chunk and the model answer, and a fidelity score indicating whether or not the model answer can be derived from the candidate chunk, (3) determine whether or not the chunk necessary for the search extension generation process to generate a model answer is included in the knowledge information based on at least one of the similarity score and fidelity score obtained in (2), and (4) estimate the cause of the incorrect answer in the search extension generation process based on the determination in (3).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to a technique for performing cause analysis processing.

Background Art

[0002] In recent years, in various industries, business efficiency improvement using large language models (LLMs) has been progressing. In particular, in order to improve the accuracy of LLM outputs, a technique called Retrieval-Augmented Generation (RAG), which combines searches from knowledge databases, is often used. However, RAG tends to result in a complex system for combining search processing and generation processing, and when an expected answer cannot be obtained, a great deal of trial and error is required to identify and improve the cause. In this regard, a technique has been disclosed that can identify the cause of incorrect answers in RAG as either that the information required for the answer does not exist in the knowledge database or that there is a lack of stability in the LLM (see Non-Patent Document 1).

Prior Art Documents

Non-Patent Documents

[0003]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] The method described in Non-Patent Document 1 identifies the cause of incorrect responses by analyzing and aggregating the answers obtained by rephrasing the query in various ways without changing its meaning. However, these various ways of rephrasing must be expressed in SQL, making it difficult to apply to general queries. Therefore, there is room for improvement in efficiently identifying the cause of incorrect responses when the expected answer is not obtained in RAG.

[0005] This invention was made in consideration of the above points, and aims to propose a system that can estimate the cause of erroneous responses in the search extension generation process. [Means for solving the problem]

[0006] To solve the above problems, the present invention provides a system for performing cause analysis of erroneous answers in a search extension generation process, comprising one or more processors and a storage device that stores the following: knowledge information including a plurality of chunks, and an analysis question, wherein, as the search extension generation process, any of the one or more processors or a processor included in another system: (A) obtain one or more chunks from the knowledge information based on the analysis question, (B) generate a prompt to send to a large-scale language model based on the analysis question and the chunks obtained in (A), (C) receive a response obtained from the large-scale language model using the prompt generated in (B), and (D) receive Based on the response, an answer is generated for the user, and as part of the cause analysis process, any one of the one or more processors: (1) selects one or more candidate chunks from the knowledge information based on the model answer to the analysis question, (2) obtains at least one of a similarity score indicating the similarity between the candidate chunk and the model answer, and a fidelity score indicating whether or not the model answer can be derived from the candidate chunk, (3) determines whether or not the chunks necessary for the search extension generation process to generate the model answer are included in the knowledge information based on at least one of the similarity score and fidelity score obtained in (2), and (4) estimates the cause of the erroneous answer in the search extension generation process based on the determination in (3). [Effects of the Invention]

[0007] According to the present invention, the cause of incorrect answers can be efficiently estimated. Other problems, configurations, and effects will be clarified by the following description of embodiments. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows an example of the system configuration according to the first embodiment. [Figure 2] This figure shows an example of analytical parameters according to the first embodiment. [Figure 3] This figure shows an example of information input to the cause identification unit according to the first embodiment. [Figure 4] This figure shows an example of processing related to the GC search unit according to the first embodiment. [Figure 5] This figure shows an example of input / output related to the screen display unit according to the first embodiment. [Figure 6] This figure shows an example of the configuration of the cause identification unit according to the second embodiment. [Figure 7] This figure shows an example of analytical parameters according to the second embodiment. [Figure 8] This figure shows an example of the processing related to the cause identification unit according to the second embodiment. [Figure 9] This figure shows an example of a hardware configuration according to the third embodiment. [Modes for carrying out the invention]

[0009] (I) First Embodiment An embodiment of the present invention will be described in detail below. However, the present invention is not limited to this embodiment.

[0010] For example, in the system of the first embodiment, a model answer is used in the cause analysis process to implement a method applicable to any query. The model answer is the expected result as the answer to the query and is prepared by the user. This system searches the knowledge database for information such as documents similar to this model answer and analyzes the results to determine whether the information necessary to answer the query exists in the knowledge database. With this configuration, if the expected answer is not obtained in RAG, the cause of the incorrect answer can be efficiently estimated (e.g., identified).

[0011] Furthermore, in the system of the second embodiment described later, for example, in order to realize a method that can identify the causes of various incorrect answers, the causes of RAG incorrect answers are classified into six types, and five methods for identifying the cause of each incorrect answer are combined. With this configuration, the causes of incorrect answers are not limited to "the information necessary for the answer is not present in the knowledge database," but other causes can also be identified.

[0012] The designations "First," "Second," "Third," etc., used in this specification are for identifying components and do not necessarily limit their number or order. Furthermore, the numbers used to identify components are used on a context-by-context basis, and a number used in one context does not necessarily indicate the same component in another context. Moreover, this does not prevent a component identified by one number from also performing the function of a component identified by another number.

[0013] Next, embodiments of the present invention will be described with reference to the drawings. The following description and drawings are illustrative examples for explaining the present invention, and have been omitted and simplified as appropriate for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural. In the following description, identical elements in the drawings will be numbered the same, and their descriptions will be omitted as appropriate.

[0014] Figure 1 shows an example of the configuration of system 100 in this embodiment. System 100 generates cause identification results based on queries, answers, search results, and model answers. Queries, answers, search results, model answers, and cause identification results will be described later. System 100 is configured to include one or more computers 101. Computer 101 includes a search extension generation unit 110, a startup unit 120, a screen display unit 130, an information input unit 140, and a cause identification unit 150. In this embodiment, an example is shown in which computer 101 is configured as one unit, but each of the search extension generation unit 110, startup unit 120, screen display unit 130, information input unit 140, and cause identification unit 150 may be provided on one or more other computers, and these computers may communicate with each other.

[0015] The search extension generation unit 110 generates answers based on queries. A query is a sentence of inquiry that the user wants to resolve. The search extension generation unit 110 comprises a knowledge database 111, a search extension generation control unit 112, a search execution unit 113, a search result processing unit 114, and an answer generation unit 115.

[0016] The search expansion generation unit 110 is executed at the timing when a query and an execution start instruction (signal) are input via the information input unit 140 operated by the user. When the search expansion generation unit 110 is executed, the search expansion generation control unit 112 is activated. The search expansion generation control unit 112 controls the process of searching for information related to the query from the knowledge database 111 and generating an answer. The knowledge database 111 is a database in which documents such as business documents and manuals containing information necessary for the answer are stored. The documents may be stored in a divided manner. Each document unit to be stored is called a chunk. If additional remarks are needed, the knowledge database 111 may be a vector store that vectorizes (converts into a list of numbers) and stores the data. The search is executed by the search execution unit 113. The search result, which is the output of the search execution unit 113, is a list of chunks. The search result is processed by the search result processing unit 114. The processed result is passed to the answer generation unit 115. The answer generation unit 115 generates an answer using an LLM. The LLM may be included in the answer generation unit 115 or may be provided on the cloud (another computer) available via an API (Application Programming Interface). The above-described process may be a general search expansion generation process.

[0017] In this embodiment, when the answer obtained by the execution of the search expansion generation unit 110 does not match the expected answer, the cause identification unit 150 can identify the cause of the incorrect answer. In addition to the query, answer, and search results obtained in the execution of the search expansion generation unit 110, the inputs to the cause identification unit 150 are the model answer and analysis parameters. The model answer indicates the answer expected for the query. As shown in FIG. 2, the analysis parameters are the parameters used when the cause identification unit 150 is executed. Note that the value of the analysis parameter (parameter value) is described as being specified by the user, but specific parameter values may be hard-coded inside the program of the cause identification unit 150. The model answer is input by the user via the information input unit 140 before or after the execution of the search expansion generation unit 110. After the execution of the search expansion generation unit 110 and the input of the model answer, the input information is complete as shown in FIG. 3. After the input information is complete, the user inputs an instruction to start the execution of the cause identification unit 150 via the information input unit 140.

[0018] The cause identification unit 150 identifies the cause of the incorrect answer based on the query, answer, search results, and model answer. The options for the cause are prepared in advance on the system side. In this embodiment, it is assumed that the options include an option stating that "the information necessary for the answer does not exist in the knowledge database". For example, the options may be two options: an option stating that "the information necessary for the answer does not exist in the knowledge database" and "other causes". In this embodiment, the information necessary for the answer may be referred to as GC (Ground Context).

[0019] The cause identification unit 150 includes a cause identification control unit 151 and a GC search unit 152. The cause identification control unit 151 controls the process related to the identification of the cause of the incorrect answer. The GC search unit 152 determines whether the information (GC) necessary for the answer exists in the knowledge database 111. The process of the GC search unit 152 will be described later using FIG. 4.

[0020] Figure 2 shows an example of analysis parameters (analysis parameter information 200). The analysis parameter information 200 consists of parameter information 210 indicating the number of candidate chunks acquired by the cause identification unit 150, parameter information 220 indicating the threshold for semantic similarity, and parameter information 230 indicating the threshold for fidelity. Candidate chunks, semantic similarity, and fidelity will be described later.

[0021] Furthermore, this embodiment is not limited to the above-described content. For example, the computer 101 may include a threshold determination unit 240 and perform a process to determine at least one of the semantic similarity threshold and the fidelity threshold based on the threshold determination data 250. This process is called the threshold determination process. The threshold determination process will be described later.

[0022] Figure 3 shows an example of information (input information 300) input to the cause identification unit 150. The input information 300 consists of query information 310 indicating a query, answer information 320 indicating an answer, search result information 330 indicating search results, and model answer information 340 indicating a model answer.

[0023] Figure 4 shows an example of the processing related to the GC search unit 152. This processing starts when the user inputs an instruction to start the execution of the cause identification unit 150 via the information input unit 140.

[0024] In step S410, the GC search unit 152 retrieves candidate chunks similar to the model answer from the knowledge database 111. One example of a processing method is to calculate the similarity between the model answer and each chunk in the knowledge database 111 using an embedding model (a model that converts text into numerical vectors), and retrieve them in order from the one with the greatest similarity. Access to the knowledge database 111 is required at this time, but the access method may be one provided by the search extension generation unit 110 (RAG system). The number of chunks retrieved by the GC search unit 152 is specified by the analysis parameters shown in Figure 2. In this embodiment, one or more chunks retrieved by the GC search unit 152 are called candidate chunks. The GC search unit 152 then performs the processing from step S420 to step S440 for each candidate chunk.

[0025] In step S420, the GC search unit 152 calculates the semantic similarity between the candidate chunks and the model answer. For example, the GC search unit 152 may use the numerical vector similarity calculated in step S410 as is, or it may use a dedicated model (e.g., LLM) for calculating semantic similarity. Note that in step S420, unlike step S410, the number of chunks to be calculated is small, so a dedicated model that calculates similarity more accurately than the similarity in step S410 may be used.

[0026] In step S430, the GC search unit 152 calculates the fidelity of the model answer to the candidate chunks. Fidelity is a value indicating whether the model answer's claim can be derived from each candidate chunk. There are several specific calculation methods. For example, the LLM can be asked "Can the model answer be derived from the candidate chunks?". Alternatively, a method for calculating fidelity using frameworks such as RAGAS (Retrieval Augmented Generation Assessment) can be used.

[0027] In step S440, the GC search unit 152 determines whether a candidate chunk is GC based on the semantic similarity and fidelity calculated in steps S420 and S430. An example of a processing method is to use threshold values ​​for semantic similarity and fidelity specified by the analysis parameters shown in Figure 2. That is, if both semantic similarity and fidelity are greater than the thresholds, the candidate chunk is determined to be GC, and if at least one of the semantic similarity and fidelity is less than or equal to the threshold, the candidate chunk is determined not to be GC.

[0028] If no candidate chunks are determined to be GC in step S440, the GC search unit 152 determines that "the information necessary for the answer does not exist in the knowledge database." If one or more candidate chunks are determined to be GC, the GC search unit 152 determines that "the information necessary for the answer exists in the knowledge database."

[0029] Step S440 may be configured to use the processing method described above, or it may be configured to use at least one of semantic similarity and fidelity. Other configurations include one that uses a resource (function, LLM, etc.) that takes semantic similarity and fidelity as input and determines whether or not it is garbage collection (GC). Alternatively, for example, a configuration may be used to determine whether or not it is GC using either semantic similarity or fidelity. In this case, either step S420 or step S430 may not be included.

[0030] To add to that, in typical RAG systems, the knowledge database is often searched for chunks similar to the query, but the GC search unit 152 searches the knowledge database 111 for chunks similar to the model answer. This is a technique that utilizes the fact that the garbage collection (GC) necessary to derive the model answer is often more similar to the model answer than to the query, and therefore, searching based on the model answer can often correctly detect the GC.

[0031] Here, we describe two conditions under which this judgment method is particularly effective. However, these two conditions are not mandatory. The first is that there is one or a small number of garbage collectors (GCs). If this condition is not met, that is, if the correct answer cannot be derived without piecing together many chunks, the semantic similarity between each chunk and the model answer is often not high. The second is that the answer can be generated directly from the GC. If this condition is not met, that is, if complex reasoning is required to generate the answer from the GC, the fidelity of the chunks is often not high. Note that this premise is often met in query systems where respondents do not need specialized knowledge outside of the document.

[0032] Next, the cause identification control unit 151 outputs the cause of the incorrect answer based on the judgment result of the GC search unit 152. More specifically, if the judgment result is "the information necessary for the answer does not exist in the knowledge database," the cause identification control unit 151 outputs a string indicating "the information necessary for the answer does not exist in the knowledge database" as the cause identification result. On the other hand, if the judgment result is "the information necessary for the answer exists in the knowledge database," the cause identification control unit 151 outputs a string indicating "the cause is something other than the information necessary for the answer not existing in the knowledge database" as the cause identification result. The output results (cause identification results, etc.) are displayed by the screen display unit 130 as shown in Figure 5.

[0033] Figure 5 shows an example of input / output related to the screen display unit 130 (screen 500). The upper part of screen 500 displays input / output related to the search extension generation unit 110 (inquiry system), which is an example of a RAG system. The lower part of screen 500 displays input / output related to the cause identification unit 150, which is an example of a cause analysis system for incorrect answers.

[0034] The user enters a question (query) in the input field 511 and presses the query execution button 512, at which point the search extension generation unit 110 is executed and an answer is generated. The answer is displayed in the answer field 513. If the user sees the result and it is not the answer they expected, they enter the model answer in the input field 521 and press the cause analysis execution button 522, which inputs an instruction to start execution and executes the cause identification unit 150. Once the cause identification unit 150 has finished executing, the cause of the incorrect answer, which is its output result, is displayed in the analysis result field 523. Furthermore, as shown at the bottom of screen 500, auxiliary information such as search results obtained during the search extension generation unit 110 may be displayed in the search results field 524. In addition to the cause identification result, the output may also include the "chunk with the greatest semantic similarity to the model answer" obtained as a result of step S420, the "chunk with the greatest fidelity to the model answer" obtained as a result of step S430, etc.

[0035] This embodiment is not limited to the above. For example, a threshold determination process may be performed. In the threshold determination process, the threshold determination unit 240 determines the threshold for semantic similarity and the threshold for fidelity at any timing prior to step S440. This arbitrary timing may be when the system 100 is constructed, between step S430 and step S440, or at any other timing.

[0036] More specifically, the threshold determination unit 240 uses threshold determination data 250 input from the user as input for the threshold determination process. Threshold determination data 250 is a set of threshold determination data elements. Threshold determination data elements include a query, a model answer, and a binary variable X that indicates whether or not the information necessary for the answer exists in the knowledge database 111.

[0037] In the threshold determination process, the threshold determination unit 240 determines the threshold so that the classification accuracy of the threshold determination data 250 is optimal. For example, the threshold determination unit 240 randomly sets two thresholds and repeatedly evaluates the classification accuracy of the threshold determination data 250, and adopts the threshold that yields the highest classification accuracy.

[0038] Here, we describe an example of a method for evaluating classification accuracy. First, the threshold determination unit 240 uses a provisionally set threshold to execute steps S410 to S440 on the threshold determination data 250, and compares the result with a binary variable X. Both the output of step S440 and the binary variable X represent whether or not the information necessary for the answer exists in the knowledge database 111, and the percentage of these matches is defined as the classification accuracy.

[0039] According to this embodiment, the process of analyzing the causes of incorrect answers in the search extension generation process can be performed efficiently.

[0040] (II) Second Embodiment This embodiment describes a configuration that generates cause identification results based on queries, answers, search results, and model answers. There are two main differences from the first embodiment.

[0041] Firstly, the options for the cause of the incorrect answer, which are output by the cause identification unit 150, shall include at least one of the following options in addition to the option "A: The information necessary for the answer is not found in the knowledge database." "B: An option that indicates the query is ambiguous." "C: This option indicates that the search target (knowledge database 111) contains incorrect information." "D: An option that indicates a poor search method." "An option indicating that the output of E:LLM is unstable." "F: Other options that indicate LLM issues" In the first embodiment, it was determined whether the cause was cause A or not, but in this embodiment, the causes of incorrect answers are classified into six types, from cause A to cause F.

[0042] Secondly, the cause identification unit 150 shall include, in addition to the GC search unit 152, at least one of the following four components. An example of the configuration of the cause identification unit 150 is shown in Figure 6. "Query analysis unit 601 for determining whether or not cause B is the case" "Stability analysis unit 602 for determining whether or not cause E is present" "Error detection unit 603 for determining whether or not cause C is true" "Search result analysis unit 604 for determining whether or not cause D is true"

[0043] Furthermore, an example of the analysis parameters of this embodiment (analysis parameter information 700) is shown in Figure 7. The analysis parameter information 700 consists of parameter information 210 to 230, as well as parameter information 710 indicating the number of chunks to search in fuzzy query analysis, and parameter information 720 indicating the number of times to provide a response in stability analysis.

[0044] Next, Figure 8 shows an example of the processing related to the cause identification unit 150 of this embodiment. This processing starts when the user inputs an instruction to start the execution of the cause identification unit 150 via the information input unit 140.

[0045] In step S810, the query analysis unit 601 determines whether the cause is B (the query is ambiguous). An example of the processing method is shown below.

[0046] First, the query analysis unit 601 searches for and retrieves N chunks related to the query. Here, the search is performed using the search execution unit 113. The search execution unit 113 must be accessible from the cause identification unit 150. The number of chunks N to be retrieved during the search is set by the user from the analysis parameters as shown in the parameter information 710 in Figure 7, or hardcoded in the program.

[0047] Next, the query analysis unit 601 generates M answers based on N chunks. The search result processing unit 114 and the answer generation unit 115 are used to generate answers based on the acquired chunks. As a more specific example of the generation method, with M=N, one chunk is input to the search result processing unit 114 and the answer generation unit 115 generates an answer, and this process is executed N times.

[0048] Next, the query analysis unit 601 removes the answers that are clearly incorrect as answers to the query from the M answers generated, leaving L answers. A more specific example of a removal method is to prepare a list of strings that LLMs use when they are unsure, such as "I don't know" or "I can't answer," and remove any answers that contain elements from that list.

[0049] Finally, the query analysis unit 601 determines whether there are any pairs with different meanings among the remaining L answers. For example, the query analysis unit 601 calculates the semantic similarity of each answer, and if there are any pairs with a semantic similarity below a certain value, it determines that there are pairs with different meanings. If there are no pairs with different meanings, the query analysis unit 601 determines that all possible answers are similar and therefore the cause is not B. If there are pairs with different meanings, the query analysis unit 601 determines that the cause is B because multiple answers with different meanings are possible.

[0050] In step S820, the stability analysis unit 602 determines whether or not the cause is E (the LLM output is unstable). An example of the processing method is shown below.

[0051] First, the stability analysis unit 602 generates a query with a random string S added to the beginning, and calls the search result processing unit 114 and the answer generation unit 115 to generate K answers. The string S is, for example, a random string of 10 characters or less. The positive integer K is set by the user from the analysis parameters as shown in the parameter information 720 in Figure 7, or hardcoded in the program.

[0052] Next, the stability analysis unit 602 determines whether the K responses obtained are consistent. For example, in a task where the user selects an answer from multiple options, the responses are considered consistent if the K answer choices match. If it is difficult to automatically determine whether the responses are consistent in natural language, the K outputs are displayed on the screen display unit 130, and the user is asked to determine whether they are consistent. Based on the above, if the K responses are inconsistent, the stability analysis unit 602 determines that the cause is E, and if the K responses are consistent, it determines that the cause is not E.

[0053] In step S830, the GC search unit 152 performs the processing shown in Figure 4. If it is determined that the information necessary for the answer does not exist in the knowledge database 111, the processing in step S840 is performed. If it is determined that the information necessary for the answer exists in the knowledge database 111, the processing in step S850 is performed.

[0054] In step S840, the misinformation determination unit 603 determines whether the data identified in the previous processing as having either cause A (the information necessary for the answer does not exist in the knowledge database 111) or cause C (incorrect information exists in the search target) is due to cause A or cause C. As an example of the processing method, the misinformation determination unit 603 determines whether the LLM's answer is confident or not, and if it is confident, it determines that it is cause C, and if it is not confident, it determines that it is cause A. This is because if incorrect information related to the answer exists in the knowledge database 111, the LLM often believes it and gives a confident incorrect answer.

[0055] One way to determine whether someone is confident or not is to prepare a list of strings that LLMs use when they are unsure of their answer, such as "I don't know" or "I can't answer," in advance, and then determine their confidence level by checking whether or not an element from that list is present in their answer.

[0056] In step S850, the search result analysis unit 604 determines whether the data identified as having cause D (poor search method) or cause F (other LLM causes) in the processing up to this point is cause D or cause F. As an example of the processing method, the search result analysis unit 604 determines whether the search result matches the GC, and if it does not match, it is considered cause D; if it matches, it is considered cause F. As shown in Figure 8, since the GC search unit 152 has determined that the necessary information exists by the time this process is reached, the chunk obtained there can be used as the GC.

[0057] In the first and second embodiments, the cause identification unit 150 accepts a model answer as input. However, in the second embodiment, the query analysis unit 601 and the stability analysis unit 602 do not require a model answer. That is, in Figure 8, if cause B or cause E is identified, a model answer is not required. Therefore, it is also possible to execute the cause identification unit 150 without accepting a model answer as input, and after the query analysis unit 601 and the stability analysis unit 602 have performed their analyses, if the cause is neither B nor E, the user is prompted to input a model answer.

[0058] Furthermore, the cause identification unit 150 includes at least one of the four processes in addition to the GC search unit 152. That is, in Figure 8, the four processes other than the GC search unit 152 can be skipped. In that case, the number of types of causes that can be identified decreases, and those that are not identified are identified as "other causes".

[0059] Furthermore, although this embodiment describes the case where the output of the cause identification unit 150 is one cause, it is also possible to configure the system to output two or more causes of incorrect answers. That is, instead of executing the five processes (steps S810 to S850) in the order shown in Figure 8, it is also possible to execute all or part of the five processes regardless of the cause identification result and output all or part of the cause identification result. For example, even if the query analysis unit 601 identifies cause B, if each of the remaining four processes (steps S820 to S850) is executed and the stability analysis unit 602 identifies cause E, it is also possible to configure the system to output both cause B and cause E, suggesting that there are multiple causes.

[0060] According to this embodiment, the causes of incorrect answers in the search extension generation process can be identified in more detail.

[0061] (III) Third Embodiment This embodiment describes an example of the hardware configuration of system 100.

[0062] Figure 9 shows an example of the hardware configuration of computer 101. Computer 101 is a computer such as a mobile terminal, personal computer, or server device, and is composed of a processor 901, main memory 902, auxiliary memory 903, input device 904, output device 905, communication device 906, etc. Note that computer 101 may include all or some of the above hardware, or it may include other hardware.

[0063] The processor 901 is a device that performs arithmetic processing. Examples of processors 901 include CPUs (Central Processing Units), MPUs (Micro Processing Units), GPUs (Graphics Processing Units), and AI (Artificial Intelligence) chips. As mentioned above, while CPUs and GPUs are examples of processors 901, other semiconductor devices may also be used as the primary entity performing the specified processing.

[0064] The main memory 902 is a device that stores programs, data, etc. Examples of main memory 902 include ROM (Read Only Memory) and RAM (Random Access Memory). ROM includes SRAM (Static Random Access Memory), NVRAM (Non-Volatile RAM), Mask ROM (Mask Read Only Memory), and PROM (Programmable ROM). RAM includes DRAM (Dynamic Random Access Memory).

[0065] The auxiliary storage device 903 includes hard disk drives, flash memory, solid state drives (SSDs), optical storage devices, etc. Optical storage devices include CDs (Compact Discs) and DVDs (Digital Versatile Discs). Programs, data, etc., stored in the auxiliary storage device 903 are read into the main memory device 902 as needed.

[0066] The input device 904 is a user interface that receives information from the user. The input device 904 may be, for example, a keyboard, mouse, card reader, or touch panel.

[0067] The output device 905 is a user interface that outputs various types of information (display output, audio output, print output, etc.). The output device 905 may include, for example, a display device that visualizes various types of information, an audio output device (speaker), a print device, etc. The display device may be an LCD (Liquid Crystal Display), a graphics card, etc.

[0068] The communication device 906 is a communication interface that communicates with other devices via a communication medium. Examples of communication devices 906 include a NIC (Network Interface Card), a wireless communication module, a USB (Universal Serial Bus) module, and a serial communication module. The communication device 906 can also function as an input device 904 that receives information from other devices that are connected to it for communication. Furthermore, the communication device 906 can function as an output device 905 that transmits information to other devices that are connected to it for communication.

[0069] The functions of computer 101 (search extension generation unit 110, startup unit 120, screen display unit 130, information input unit 140, cause identification unit 150, etc.) may be implemented, for example, by the processor 901 reading a program stored in auxiliary storage device 903 into main memory device 902 and executing it (software), or by hardware such as dedicated circuits, or by a combination of software and hardware. One function of computer 101 may be divided into multiple functions, or multiple functions may be combined into one function. In addition, some functions of computer 101 may be provided as separate functions or included in other functions. Furthermore, some functions of computer 101 may be implemented by another computer that can communicate with computer 101.

[0070] (IV) Addendum The above-described embodiments include, for example, the following:

[0071] In the embodiments described above, the present invention was described in terms of its application to a system, but the present invention is not limited to this and can be broadly applied to various other systems, devices, methods, and programs.

[0072] Furthermore, in the embodiments described above, some or all of the program may be installed from the program source onto a device such as a computer. The program source may be, for example, a program distribution server connected via a network or a recording medium readable by a computer (e.g., a non-temporary recording medium). Also, in the above description, two or more programs may be implemented as one program, or one program may be implemented as two or more programs.

[0073] Furthermore, in the above-described embodiment, for the sake of explanation, information relating to system 100 was described using a table, but the data structure is not limited to a table. Information relating to system 100 may be represented by data structures other than tables, such as XML (Extensible Markup Language), YAML (YAML Ain't a Markup Language), hash tables, tree structures, etc.

[0074] Furthermore, the screens illustrated and described in the above-described embodiments are merely examples, and any design is acceptable as long as the information to be received is the same.

[0075] Furthermore, the screens illustrated and described in the above-described embodiments are merely examples, and any design is acceptable as long as the information presented is the same.

[0076] Furthermore, in the above-described embodiment, the output of information is not limited to display on a display device. The output of information may be audio output by a speaker, output to a file, printed on paper media by a printing device, projected onto a screen by a projector, or in any other form.

[0077] Furthermore, in the above description, information such as programs, tables, and files that implement each function can be stored in memory, storage devices such as hard disks and SSDs, or recording media such as IC cards, SD cards, and DVDs.

[0078] The above-described embodiment includes, for example, the following characteristic configurations.

[0079] (i) A system (e.g., system 100) that performs cause analysis processing for incorrect answers in a search extension generation process, comprising: one or more processors (e.g., processor 901), a storage device (e.g., main memory 902, auxiliary storage device 903) that stores: knowledge information containing multiple chunks (e.g., knowledge database 111), an analysis question (e.g., query information 310), wherein, as the search extension generation process, one or more of the above processors, or a processor included in another system, performs: (A) obtaining one or more chunks from the knowledge information based on the analysis question, (B) generating a prompt to send to a large-scale language model (e.g., LLM) based on the analysis question and the chunks obtained in (A), (C) receiving a response (e.g., search result information 330) obtained from the large-scale language model using the prompt generated in (B), and (D) (C) Based on the response received, a response addressed to the user (e.g., response information 320) is generated, and as part of the cause analysis process, one or more of the above processors: (1) select one or more candidate chunks from the knowledge information based on a model answer to the analysis question (e.g., model answer information 340) (e.g., step S410), (2) obtain at least one of the similarity score indicating the similarity between the candidate chunk and the model answer, and the fidelity score indicating whether the model answer can be derived from the candidate chunk (e.g., steps S420, S430), (3) determine whether the chunks necessary for the search extension generation process to generate the model answer are included in the knowledge information based on at least one of the similarity score and fidelity score obtained in (2) (e.g., step S440), and (4) estimate the cause of the incorrect response in the search extension generation process based on the determination in (3).

[0080] In the above configuration, for example, if the user does not obtain the expected answer during the search extension generation process, the cause of the incorrect answer is estimated by determining whether the knowledge information contains the chunks necessary to generate the model answer. Here, the information necessary to derive the answer the user expected is similar to the model answer rather than the analytical question. Therefore, for example, by searching for chunks similar to the model answer, it is possible to accurately determine whether the knowledge information contains the chunks necessary to generate the answer the user expected. Furthermore, the description of the model answer is not limited to computer languages ​​such as SQL, but can also be in natural language such as text. Therefore, according to the above configuration, the cause of the incorrect answer can be estimated efficiently.

[0081] (ii) (3) uses a first threshold (e.g., parameter information 220) and a second threshold (e.g., parameter information 230), and any one of the one or more processors determines whether the chunks necessary for the search extension generation process to generate the model answer are included in the knowledge information, based on whether the similarity is equal to or greater than the first threshold and whether the fidelity is equal to or greater than the second threshold.

[0082] In the above configuration, the decision in (3) is made using a threshold, so it is possible to configure the system with fewer computer resources, reduce the capacity of the storage device, and speed up the processing of the processor compared to using functions, LLMs, etc.

[0083] (iii) Any of the one or more processors described above: (5) Learn the first threshold and the second threshold based on training data (e.g., threshold determination data 250) which includes training questions, model answers to the training questions, and information indicating whether or not the chunks necessary to obtain the model answers exist.

[0084] In the above configuration, for example, the first threshold and the second threshold are learned and determined based on the training data, which improves the accuracy of the judgment in (3).

[0085] (iv) One or more of the above processors will determine at least one of the following four conditions and, based on that determination, estimate the cause of the incorrect response in the search extension generation process. (3-1) Determine whether the above analytical questions are ambiguous (e.g., step S810) (3-2) Determine whether the output of the above large-scale language model is stable (for example, step S820). (3-3) Determine whether or not there is any incorrect information in the above knowledge information (for example, step S840) (3-4)(A) Determine whether the chunks have been properly obtained from the above knowledge information (for example, step S850).

[0086] In the above configuration, the cause of the incorrect answer is estimated based on at least one of the judgments from (3-1) to (3-4), so for example, the user can analyze the cause of the incorrect answer in detail.

[0087] (v) One or more of the above processors make the decision in (3-1), make the decision in (3-2) based on the result of the decision in (3-1), make the decision in (3) based on the result of the decision in (3-2), and make the decision in (3-3) or (3-4) based on the result of the decision in (3) (for example, Figure 8).

[0088] In the above configuration, decisions to estimate the cause of an incorrect answer are made in a specified order, so for example, the user can properly understand the cause of the incorrect answer.

[0089] (vi) The above knowledge information is either the knowledge database itself or a copy of it, used in the search extension generation process described above.

[0090] With the above configuration, processing can be made faster, for example, by using a database.

[0091] Furthermore, the above-described configuration may be modified, rearranged, combined, or omitted as appropriate, as long as it does not exceed the essence of the present invention.

[0092] Please understand that items included in a list in the form "at least one of A, B, and C" can mean (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C). Similarly, items listed in the form "at least one of A, B, or C" can mean (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C). [Explanation of Symbols]

[0093] 100... System, 101... Computer, 150... Cause Identification Unit.

Claims

1. One or more processors, A storage device that stores the following: Knowledge information containing multiple chunks, analytical questions, A system that includes a search extension generation process and performs cause analysis processing for incorrect answers, Here, as part of the search extension generation process, any of the one or more processors, or a processor included in another system, is: (A) Based on the analysis questions, obtain one or more chunks from the knowledge information, (B) Based on the analysis questions and the chunks obtained in (A), a prompt is generated to be sent to the large-scale language model. (C) Using the prompt generated in (B), receive the response obtained from the large-scale language model. Based on the responses received in (D) and (C), a response is generated for the user. As part of the cause analysis process, any one of the one or more processors: (1) Based on the model answers to the analysis questions, select one or more candidate chunks from the knowledge information, (2) Obtain at least one of the following: a similarity score indicating the similarity between the candidate chunk and the model answer, and a fidelity score indicating whether or not the model answer can be derived from the candidate chunk. (3) Based on at least one of the similarity and fidelity obtained in (2), it is determined whether the chunks necessary for the search extension generation process to generate the model answer are included in the knowledge information. (4) Based on the judgment in (3), estimate the cause of the incorrect answer in the search extension generation process. system.

2. The system according to claim 1, (3) Using a first threshold and a second threshold, any of the one or more processors is: Based on whether the similarity is equal to or greater than the first threshold and whether the fidelity is equal to or greater than the second threshold, it is determined whether the chunks necessary for the search extension generation process to generate the model answer are included in the knowledge information. system.

3. The system according to claim 2, Any of the one or more processors mentioned above: (5) The first threshold and the second threshold are learned based on training data which includes training questions, model answers to the training questions, and information indicating whether or not there are chunks necessary to obtain the model answers. system.

4. The system according to claim 1, Any of the one or more processors mentioned above: Determine at least one of the following four factors, and based on that determination, estimate the cause of the incorrect response in the search extension generation process. (3-1) Determine whether the above analytical questions are ambiguous. (3-2) Determine whether the output of the large-scale language model is stable. (3-3) Determine whether or not there is any incorrect information in the aforementioned knowledge information. (3-4) In (A), determine whether the chunks have been properly obtained from the knowledge information. system.

5. The system according to claim 4, Any of the one or more processors mentioned above: (3-1) judgment, Based on the result of the judgment in (3-1), the judgment in (3-2) is made. Based on the result of the judgment in (3-2), make the judgment in (3), Based on the result of the judgment in (3), make the judgment in (3-3) or (3-4). system.

6. The system according to claim 1, The aforementioned knowledge information is either the knowledge database itself or a copy thereof, used in the search extension generation process. system.

7. One or more processors, A storage device that stores the following: Knowledge information containing multiple chunks, analytical questions, A method in a system that performs cause analysis processing for incorrect answers in a search extension generation process, comprising: Here, in the search extension generation process, (A) Based on the analysis questions, one or more chunks are obtained from the knowledge information, (B) Based on the analysis questions and the chunks obtained in (A), prompts are generated to be sent to the large-scale language model. (C) The response obtained from the large-scale language model is received using the prompt generated in (B). Based on the responses received in (D) and (C), a response is generated for the user. As part of the aforementioned cause analysis process, The processor (1) selects one or more candidate chunks from the knowledge information based on the model answer to the analysis question, The processor obtains (2) at least one of a similarity score indicating the similarity between the candidate chunk and the model answer, and a fidelity score indicating whether or not the model answer can be derived from the candidate chunk. The processor determines, based on at least one of the similarity and fidelity obtained in (3)(2), whether the chunks necessary for the search extension generation process to generate the model answer are included in the knowledge information, The processor estimates the cause of the incorrect answer in the search extension generation process based on the judgment in (4) and (3), A method that includes this.

8. A program that causes a computer to perform the method described in claim 7.