Verification apparatus, verification method, and verification program

The verification device and method address the challenge of authenticating and correcting false statements in natural language sentences generated by large-scale language models by selectively editing the text based on collected supporting and contradictory evidence, enhancing the reliability of the output.

WO2025094768A1PCT designated stage expired Publication Date: 2025-05-08NAT INST OF INFORMATION & COMM TECH

Patent Information

Application Number
PCT/JP2024/037651
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-02
Filing Date
2024-10-23
Publication Date
2025-05-08

AI Technical Summary

Technical Problem

Existing techniques are unable to effectively verify the authenticity of natural language sentences generated by large-scale language models, particularly in identifying and correcting false statements within the output.

Method used

A verification device, method, and program that extracts target portions from input text, collects supporting and contradictory text from existing datasets, and selectively edits the verified portions based on the relationship between the collected texts, using a combination of question generation, response collection, and semantic network creation to determine the authenticity and accuracy of the text.

Benefits of technology

Enables the verification and appropriate processing of sentences containing false statements, ensuring that only accurate information is maintained or corrected within the output, thereby improving the reliability of natural language processing systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024037651_08052025_PF_FP_ABST
    Figure JP2024037651_08052025_PF_FP_ABST
Patent Text Reader

Abstract

Provided are a verification apparatus, a verification method, and a verification program that are capable of verifying contents of sentences such as outputs of large language models, which superficially appear to be natural but include false contents, and performing an appropriate process. A verification apparatus 64 comprises: a text selection unit 132 which extracts a verification target portion from an inputted text; a support network creation unit 134 and a contradiction network creation unit 136 which are for collecting, from a set of existing texts, a support text which supports the contents of the verification target portion and a contradiction text which contradicts the contents of the verification target portion; and a text editing device 108 which selectively executes, on the basis of whether or not a prescribed relationship is established between the support text and the contradiction text having been collected, a process for maintaining the verification target portion or a process for editing the verification target portion.
Need to check novelty before this filing date? Find Prior Art

Description

Verification device, verification method, and verification program

[0001] This invention relates to natural language processing technology, and in particular to technology for verifying sentences including parts of unknown truth, such as natural language sentences generated by large-scale language models. This application claims priority to Japanese Application No. 2023-188309, filed November 2, 2023, the entire disclosure of which is incorporated herein by reference.

[0002] Large-scale language models are currently attracting a great deal of attention. In particular, some large-scale language models are available online and can output natural language sentences following a prompt when a string of characters called a prompt is input. Such large-scale language models can output a variety of sentences on a variety of topics. Therefore, large-scale language models can be effectively used when people want to obtain information, come up with new ideas, or create sentences.

[0003] However, although the output of a large-scale language model is natural, there is a problem in that the content may be incorrect, because the large-scale language model basically determines the output words by calculating the occurrence probability of each word according to parameters statistically acquired through prior learning.

[0004] A technique for detecting errors in text generated by an information processing device or text created by a human and proposing correction candidates is disclosed in Japanese Patent Laid-Open No. 2003-222299.

[0005] JP 2023-83926 A

[0006] The technology disclosed in Patent Document 1 is intended to correct an expression in a sentence that does not conform to the sentence expression rules so that the expression conforms to the sentence expression rules. When the output is a natural expression, such as the output of a large-scale language model, the technology disclosed in Patent Document 1 cannot be applied.

[0007] It is widely known that the output of large-scale language models may contain falsehoods, but no technology has yet been proposed to correct or identify these falsehoods.

[0008] Therefore, an object of the present invention is to provide a verification device, a verification method, and a verification program that can verify the content of sentences that appear natural on the surface but contain falsehoods, such as the output of a large-scale language model, and perform appropriate processing.

[0009] A verification device according to a first aspect of the present invention includes a target portion extraction means for extracting a portion to be verified from an input sentence, a text collection means for collecting supporting text that supports the content of the portion to be verified and contradicting text that denies it from a collection of existing texts, and a selective editing means for executing a process of editing the portion to be verified in different ways depending on whether a predetermined relationship exists between the set of supporting text and the set of contradicting text collected by the text collection means.

[0010] Preferably, the text collection means includes an answer collection means that generates supporting specific questions for obtaining answers that support the expression of the portion to be verified and contradiction specific questions for obtaining answers that contradict the content of the portion to be verified, and collects supporting text and contradictory text by recursively performing a process of obtaining answers for each of the questions from a set of existing texts.

[0011] More preferably, the rewriting means includes contradictory text selection means for selecting one of the contradictory texts in accordance with a predetermined criterion, insertion point determination means for determining an insertion point in the input sentence where the new corrected text is to be inserted, and insertion means for generating new text based on the contradictory text selected by the contradictory text selection means and inserting the new text at the insertion point.

[0012] More preferably, the rewriting means further includes text adding means for inputting new text into the large-scale language model and adding text output by the large-scale language model subsequent to the new text.

[0013] Preferably, the rewriting means further includes a deletion means for deleting at least a portion of the contradictory text.

[0014] More preferably, the process of editing the portion to be verified includes a text selection process of selecting either contradictory text or supporting text according to predetermined criteria, and an editing process of editing at least a portion of the portion to be verified based on the contradictory text or supporting text selected in the text selection process.

[0015] More preferably, the process of editing the portion to be verified further includes a text addition process of inputting new text into the large-scale language model and adding text output by the large-scale language model subsequent to the new text.

[0016] Preferably, the process of editing the portion to be verified further includes a deletion means for deleting at least a portion of the contradictory text.

[0017] A verification method according to a second aspect of the present invention includes the steps of: a computer extracting a portion to be verified from an input sentence; a computer collecting supporting text that supports the content of the portion to be verified and contradicting text that denies the content from a collection of existing text; and a computer selectively executing a process of editing the portion to be verified according to different methods depending on whether a predetermined relationship exists between the set of supporting text and the set of contradicting text collected in the collecting step.

[0018] A verification program according to a third aspect of the present invention causes a computer to function as a target portion extraction means for extracting a portion to be verified from an input sentence, a text collection means for collecting supporting text that supports the content of the portion to be verified and contradicting text that denies it from a collection of existing texts, and a selective editing means for executing a process of editing the portion to be verified according to different methods depending on whether a predetermined relationship exists between the supporting text and contradicting text collected by the text collection means.

[0019] The above and other objects, features, aspects and advantages of the present invention will become apparent from the following detailed description of the invention taken in conjunction with the accompanying drawings.

[0020] FIG. 1 is a block diagram showing the functional configuration of a dialogue system for text according to a first embodiment of the present invention. FIG. 2 is a block diagram showing the functional configuration of a text selection unit shown in FIG. 1. FIG. 3 is a diagram showing a schematic shape of a semantic network generated by the contradiction network storage unit and the support network storage unit shown in FIG. 1. FIG. 4 is a block diagram showing the functional configuration of the contradiction network storage unit shown in FIG. 1. FIG. 5 is a flowchart showing the control structure of a program implementing the functions of the text editing device shown in FIG. 1. FIG. 6 is a block diagram showing an example of the configuration of a text generation device implementing the process of generating alternative text. FIG. 7 is an external view of a computer implementing a dialogue system according to each embodiment of the present invention. FIG. 8 is a hardware block diagram of the computer shown in FIG. 7. FIG. 9 is a block diagram showing the functional configuration of a dialogue system according to a second embodiment of the present invention. FIG. 10 is a functional block diagram of the network creation unit shown in FIG. 9. FIG. 11 is a flowchart showing the control structure of a program for implementing the network creation unit shown in FIG. 10. FIG. 12 is a flowchart showing the control structure of a recursive program for constructing a semantic network in a modified example of the second embodiment.

[0021] In the following description and drawings, the same components are denoted by the same reference numerals. Therefore, detailed description thereof will not be repeated. In the embodiment described below, each text is actually converted into a token string and then processed. However, for the sake of clarity, the conversion into a token string and the reverse conversion from a token string to text will not be specifically shown in the following description.

[0022] 1 , a dialogue system 50 according to a first embodiment of the present invention includes: a large-scale language model 62 that generates and outputs a response sentence in natural language in response to text input by a user using a text input device 60; a verification device 64 that verifies the content of the response sentence that is output from the large-scale language model 62 and edits and outputs the response sentence as necessary; a web-based question-answering system 66 that is capable of communicating with a number of computers on the Internet 68 and that searches the web for one or more appropriate answers to a received question, and that is used by the verification device 64 to verify the response sentence; and an output device 70 that outputs the edited response sentence output by the verification device 64 as a response to the user's input.

[0023] In this embodiment, the large-scale language model 62 is a separate system from the verification device 64 and is an independent system capable of communicating with the verification device 64 via the Internet. It is also assumed that the text input device 60 is capable of communicating with the large-scale language model 62 and that the output device 70 is located in the same location as the text input device 60. In this embodiment, the web-based question-answering system 66 is also a system independent from the verification device 64 and, like the large-scale language model 62, has the function of processing inputs from various users. It is also assumed that the web-based question-answering system 66 can receive a specified number of answers to a single question and output up to the specified number of answers per question. In this embodiment, each answer output by the web-based question-answering system 66 is assigned a score indicating how appropriate that answer is as an answer to the question. An example of a service equivalent to the web-based question-answering system 66 is "WISDOM X," provided by the applicant of the present application.

[0024] In this embodiment, the large-scale language model 62 and the web-based question-answering system 66 are separate services from the verification device 64. However, they may also be provided within the verification device 64. Furthermore, the web-based question-answering system 66 does not need to search the Internet 68 each time a question is received. For example, the web-based question-answering system 66 may collect and store a large amount of text from the Internet 68 in advance and search for answer candidates to the question within that range. Furthermore, as will be described later, a pre-trained large-scale language model similar to the large-scale language model 62 may be used as part of the web-based question-answering system 66.

[0025] 1.2 Verification Device 64 In this embodiment, the verification device 64 selects processing targets sequentially from the first sentence of the output of the large-scale language model 62 and verifies the output of the large-scale language model 62 by determining whether the content of each processing target is appropriate. The processing target may be a sentence, or, in the case of a compound sentence in which multiple sentences are connected to form a single sentence, each of those sentences may be used as a unit. Furthermore, in the case of a complex sentence in which another sentence is embedded, the embedded sentence may be processed first, and then the entire sentence may be processed. In reality, these processes are intertwined. The method for determining these processing targets may be rule-based, or a pre-trained machine learning model may be used to receive input on a sentence-by-sentence basis, break it down into processing target text, and output the text.

[0026] The verification device 64 includes a semantic network creation device 102 that sequentially selects text to be processed within a sentence output by the large-scale language model 62, collects text that supports the content of the text to be processed (these are referred to as "supporting texts") and text that contradicts the content of the text to be processed (these are referred to as "contradictory texts") using a web-based question-answering system 66, and creates a supporting network, which is a semantic network made up of the supporting texts, and a contradiction network, which is a semantic network made up of the contradictory texts. The supporting network and the contradiction network will be described later with reference to FIG. 3.

[0027] The verification device 64 further includes a contradiction network storage unit 104 and a support network storage unit 106 for storing the contradiction network and the supporting network created by the semantic network creation device 102, respectively; a support / contradiction determination unit 107 for determining whether the target text is supported by or contradicts the web text by calculating a score using a predetermined calculation method for each of the contradiction network stored in the contradiction network storage unit 104 and the supporting network stored in the supporting network storage unit 106; and a text editing device 108 for selectively executing, based on the determination result by the support / contradiction determination unit 107, a process of maintaining the target text as is or a process of making necessary edits to the target text, and outputting the result. The contradiction network storage unit 104 and the support network storage unit 106 may be provided in the same storage device or in different storage devices. Furthermore, these storage devices may be provided in a device separate from or the same as the semantic network creation device 102. In this embodiment, when it is determined that the target text is supported by the web text, the target text is maintained as is. However, the present invention is not limited to such an embodiment. Editing of such text may also be performed. For example, the text to be processed may be underlined in blue or other colors, and a link to the web document with the highest score among the collected set of supporting texts as text supporting the text to be processed may be added. Note that the case where no processing is performed, as in this embodiment, can also be considered a type of "editing process."

[0028] The semantic network creation device 102 includes a text storage unit 130 for storing natural language text output by the large-scale language model 62, a text selection unit 132 for selecting text to be processed from the text stored in the text storage unit 130 and outputting the selected text in sequence, and a support network creation unit 134 and a contradiction network creation unit 136 for creating a support network and a contradiction network, respectively, using the text to be processed selected by the text selection unit 132.

[0029] In this embodiment, the text selection unit 132 has the function of breaking down the text stored in the text storage unit 130 into sentences, and further breaking down each sentence into smaller texts if necessary by applying predetermined rules to each text, and inputting these into the support network creation unit 134 and the contradiction network creation unit 136 in sequence. Of course, the text selection unit 132 may not only break down text based on rules, but also break down the input text into multiple texts using a trained machine learning model.

[0030] 2, the support network creation unit 134 includes a recursive support text collection unit 180 for recursively executing a process of receiving the text to be processed from the text selection unit 132, collecting descriptions that support the content of the text from the web, and outputting them as candidate support texts. The meaning of "recursively executing a process of collecting descriptions that support the content of the text from the web" will be described later.

[0031] The support network creation unit 134 further includes a support text verification unit 182 for verifying whether each candidate support text collected by the recursive support text collection unit 180 appropriately supports the text to be processed, a support text verification model 184 which is a pre-trained machine learning model used by the support text verification unit 182 when verifying candidate support text, and a semantic network addition unit 186 for adding candidate support texts determined to be appropriate by the support text verification unit 182 as new nodes to a semantic network consisting of support texts.

[0032] Referring to Figure 3, in this embodiment, the support network 300 refers to a network (graph) in which the text to be processed is the root node 310, the support texts obtained during the process are nodes, and when a next support text is obtained from a certain support text, the lines connecting these support text nodes are edges. In this case, each edge can be considered to correspond to an edge from a parent node (a node close to the root) to a child node (a node farther from the root). When there are multiple answers to the same question, they can be treated as separate nodes and have separate edges. The process of obtaining the next support text from a certain support text is performed recursively as already explained, and details of this will be described later.

[0033] The recursive supporting text collection unit 180 includes a supporting question generation unit 210 for generating questions (referred to as "support-specific questions") from input text that are expected to produce answers that support the text, a question issuing unit 212 for inputting each of the questions generated by the supporting question generation unit 210 into the Web-based question-answering system 66 (FIG. 1) to cause the Web-based question-answering system 66 to output one or more answers to each question, and an answer receiving unit 214 for receiving one or more answers output by the Web-based question-answering system 66 and outputting them together with information identifying the original question to the supporting text verification unit 182. Note that text verified as appropriate supporting text by the supporting text verification unit 182 is also provided to the supporting question generation unit 210.

[0034] The supporting question generator 210 not only generates questions based on the text provided by the target text selector 132, but also receives text obtained by the recursive supporting text collector 180 and selected by the supporting text verifyer 182, and generates questions from that text. The supporting question generator 210 also generates further questions for text obtained based on answers to questions obtained from the target text. In this way, the recursive supporting text collector 180 operates in such a way that it collects not only the target text, but also text that supports the target text, collecting text that supports that supporting text, and further collecting text that supports that text. In other words, the operation of the recursive supporting text collector 180 is recursive.

[0035] The supporting question generator 210 generates questions as follows: First, the text to be processed is input to the supporting question generator 210. The supporting question generator 210 applies a predetermined rule to the text to be processed to generate one or more questions. In this embodiment, the predetermined rule imposes a constraint that if the text to be processed is an affirmative sentence, the question should be an affirmative question, and if the text to be processed is a negative sentence, the question should be a negative question.

[0036] The questions generated here include, for example, what type questions, yes / no type questions, why type questions, how type questions, and the like.

[0037] For example, suppose the text to be processed is, "If we want to change cars to combat global warming, electric cars would be a good idea."

[0038] A "what" type question is a question that asks "what," such as "What kind of car should we get to combat global warming?" This question is used to check whether information about the content of the original text or alternative information is available on the Web.

[0039] A YES / NO question is a question that can be answered with either YES or NO, such as, "If we were to change our car to combat global warming, would it be better to switch to an electric car?" This question is asked to check whether there is information on the Web that matches the content of the text to be processed, i.e., information that serves as the basis for the content of the text to be processed. Looking at it from another perspective, this question can also be said to be a question asked to check whether there is information on the Web that contradicts the content of the text to be processed.

[0040] A why-type question is a question that asks for a reason, such as, "If you were to change your car to combat global warming, why would you recommend an electric car?" This question is used to check whether there is evidence for the text being processed on the Web.

[0041] Examples of how-type questions include, "How should we convert our cars to electric vehicles to combat global warming?" or "What would happen if we converted our cars to electric vehicles to combat global warming?" These questions are questions that search the web for information about the history or subsequent developments of the event represented by the text being processed, and ask to confirm that information. If such information is available on the web, it is possible to determine whether the content is desirable or not. A natural language processing model can be used to make this determination. Furthermore, a model can also be used to determine who the content is desirable for.

[0042] There are various other possible types of questions, but in this embodiment, the rule for generating questions by the supporting question generator 210 is that the questions must not contradict the content of the text to be processed.

[0043] In the case of a "what" type question, information corresponding to other options may be obtained along with information that matches the text to be processed. For example, information such as "hybrid car" may be obtained along with "electric car." In such cases, it is possible to add text such as "(Some people think hybrid cars are better.)" after the text to be processed.

[0044] 1.2.2 Contradiction Network Creation Unit 136 Referring to FIG. 4 , the contradiction network creation unit 136 includes a negation generation unit 350 that converts the target text received from the text selection unit 132 into a negative form, and a recursive contradictory text collection unit 352 that recursively executes the process of receiving the target text converted into a negative form from the negation generation unit 350, collecting statements supporting the content of the target text, i.e., statements contradicting the original target content, from the Web, and outputting them as candidate contradictory text. Here, the meaning of "recursively executing the process of collecting statements contradictory to the content of the text from the Web" is the same as that described for the supporting question generation unit 210. However, unlike the supporting question generation unit 210, because the original target text has been converted into a negative form, the text collected as a response to a question obtained from the original target text is text that contradicts the original target text (contradiction text). In other words, the negative questions generated by the negation generation unit 350 may be called questions for identifying contradictory text that contradicts the target text (contradiction-identifying questions). Of course, questions other than those listed above can also be used as questions for collecting contradictory text. For example, a contradiction-identifying question can be generated by changing a specific noun, noun phrase, or verb that appears in the text to be processed to a noun, noun phrase, or verb that has the opposite meaning to that noun, noun phrase, or verb. For example, a combination such as "~ is useless" and "~ is useful" or expressions that can be paraphrased as opposites, such as "decreases" and "increases," which are not necessarily antonyms, can also be used.

[0045] The contradiction network creation unit 136 further includes a contradiction text verification unit 354 for verifying whether each contradiction text candidate collected by the recursive contradiction text collection unit 352 is appropriate as a candidate that contradicts the text to be processed; a contradiction text verification model 356, which is a pre-trained machine learning model used by the contradiction text verification unit 354 when verifying the contradiction text candidate; and a semantic network addition unit 358 for adding the contradiction text candidate determined to be appropriate by the contradiction text verification unit 354 as a new node to the semantic network consisting of contradiction text.

[0046] The recursive contradiction text collection unit 352 includes a contradiction question generation unit 370 for generating, from input text, questions (contradiction-identifying questions) that are expected to have answers that contradict the text being processed, a question issuing unit 372 for inputting each of the questions generated by the contradiction question generation unit 370 into the web-based question-answering system 66 ( FIG. 1 ) and causing the web-based question-answering system 66 to output one or more answers to each question, and an answer receiving unit 374 for receiving one or more answers output by the web-based question-answering system 66 and outputting them together with information identifying the original question to the contradiction text verifier 354. Note that text verified by the contradiction text verifier 354 as being appropriate contradiction text is also provided to the contradiction question generation unit 370. A contradiction-identifying question can be obtained, for example, by negating the input text and then transforming it into a question.

[0047] The contradictory question generator 370 not only generates questions based on the text provided by the negative form generator 350, but also generates questions from the questions obtained by the recursive contradictory text collector 352 and the text selected by the contradictory text verification unit 354. The contradictory question generator 370 further generates questions for the text obtained by the recursive text collector 800 based on answers to questions obtained from text obtained by converting the target text into a negative form. The recursive contradictory text collector 352 repeats this process. In other words, the operation of the recursive contradictory text collector 352 is also recursive.

[0048] Note that the text to be processed is converted into a negative form in contradiction network creation unit 136. The processing in recursive contradictory text collection unit 352, and the processing by contradiction text verification unit 354, contradiction text verification model 356, and semantic network addition unit 358 are substantially the same as those in recursive supporting text collection unit 180, supporting text verification unit 182, and semantic network addition unit 186 shown in Figure 2, respectively; however, because the initial input has been converted into a negative form, all of the text obtained by contradiction network creation unit 136 is contradictory text.

[0049] The generation of questions by the contradiction question generator 370 is substantially the same as that by the supporting question generator 210 shown in FIG.

[0050] For example, if the text to be processed is "If you are wondering how we should change our cars to combat global warming, switching to electric cars is a good idea," the negative form generation unit 350 will change this question to "If you are wondering how we should change our cars to combat global warming, switching to electric cars is not a good idea."

[0051] In contrast, a "what" type question refers to a question that asks "what," such as "What kind of car should we buy to combat global warming?" This question is used to check whether there is information on the Web that contradicts the content of the original text or whether there is alternative information.

[0052] An example of a YES / NO question about contradictory text is, "Isn't it a good idea to switch to electric cars as a way to combat global warming?" This question is used to check whether there is information on the web that matches the content that contradicts the text being processed.

[0053] An example of a why-type question is, "If we were to change our car to combat global warming, why wouldn't we switch to an electric car?" This question verifies whether there is any evidence on the Web that contradicts the text being processed.

[0054] Examples of how-type questions are questions such as "How can we avoid switching to electric cars as a measure against global warming?" or "What would happen if we didn't switch to electric cars as a measure against global warming?" These questions are questions that check whether there is information on the Web about the history or subsequent developments of events that contradict the text being processed. If such information is available on the Web, there is a high possibility that the content that contradicts the text being processed is true.

[0055] There are various other possible types of questions. However, unlike the supporting question generator 210 in Fig. 2, the rules for generating questions by the contradiction question generator 370 must be such that they generate questions that will elicit answers that contradict the content of the text being processed. In other words, the rules for generating questions by the contradiction question generator 370 must be such that they generate questions that are consistent with content that contradicts the text being processed.

[0056] The recursive supporting text collection process by the support network creator 134 and the recursive contradictory text collection process by the recursive contradictory text collector 352 must be terminated when an appropriate termination condition is met. For example, the termination condition may be when the number of generated texts or their candidates since the start of text generation reaches an upper limit. Alternatively, the termination condition may be when the number of generated questions since the start of text generation reaches an upper limit. Another possible condition is when the sum of the number of generated texts and the number of questions reaches an upper limit.

[0057] Furthermore, when generating supporting and negative questions, an upper limit may be set on the number of questions generated for one input text, or an upper limit may be set on the number of answers (supporting text candidates or contradictory text candidates) that can be obtained for one question. Furthermore, answers that can be obtained for one question may be limited to those with a certain score (confidence level) or higher.

[0058] Questions are generated while generating a semantic network such as that shown by the support network 300. The network can be generated in either a depth-first or breadth-first order. In the depth-first order, it is desirable to stop searching once a certain depth (layer) is reached and backtrack. In the breadth-first order, network generation itself may be terminated once a certain depth (layer) is reached or once a score above a certain level is not obtained.

[0059] 1.2.3 Support / Contradiction Determination Unit 107 and Text Editing Device 108 Fig. 5 shows the control structure of a program for implementing the support / contradiction determination unit 107 and text editing device 108 shown in Fig. 1 on a computer. Referring to Fig. 5, this program is executed after the generation of both the support network and the contradiction network has been completed. This program includes step 400 of calculating a score Sp to be assigned to the support network and a score Sn to be assigned to the contradiction network, and step 402 of calculating the reliability of the content of the text to be processed based on the scores Sp and Sn calculated in step 400.

[0060] There are various methods for calculating the scores Sp and Sn, including the following:

[0061] A) The sum of the obtained texts (supporting texts or contradicting texts), i.e., the total number of nodes. B) The sum of the number of questions (i.e., edges) generated during the generation of the semantic network. C) The sum of the number of nodes and the number of edges. D) The sum of the scores assigned to each supporting text and the sum of the scores assigned to each contradicting text (The score output by the supporting text verification model 184 for the supporting text can be used as the score for each text. The same applies to the contradicting text. A constant can also be assigned as the score for each text. If this constant is set to "1", the result will be the same as C) above.) E) In calculating the various sums mentioned above, the value obtained by multiplying the score of each node by a weight that decreases as the distance between each node and the root node increases (for example, the number of edges between each node and the root node, or the number of nodes between each node and the root node, can be used as the distance).

[0062] In the above embodiment, the support network creation unit 134 collects only supporting text, and the contradiction network creation unit 136 collects only contradictory text. However, the present invention is not limited to such an embodiment. When calculating the score of each text belonging to each semantic network, for example, when constructing a support network, text that "contradicts part of the supporting text" may be found. In such a case, the effectiveness of the support network will decrease. Similarly, if a contradictory text is found with a "contradiction text" through a contradiction-identifying question regarding the contradiction text, the effectiveness of the contradiction network will decrease. Such contradiction relationships can continue recursively. In this process, a contradiction within a contradiction ultimately works to increase the effectiveness of the network. Furthermore, a "contradiction within a contradiction within a contradiction" works to decrease the effectiveness of the network. It is desirable to take these circumstances into consideration when calculating the scores Sp and Sn.

[0063] For this reason, it is preferable to use two types of processing to calculate the scores of the support network and the contradiction network.

[0064] First, we consider that the contradictory texts for each text in each semantic network are also included as components of that semantic network, in which case it is reasonable to reduce the score of that semantic network according to the score of that text.

[0065] The second approach is to move the text into the other semantic network. In this case, it is reasonable to calculate the score of the semantic network by multiplying the scores of the text belonging to each semantic network by an appropriate weight. Incident text found during the construction of a support network can be added as a child node of any node in the contradiction network. However, it is desirable to move the node according to a certain policy, such as adding it directly below the root node or as a child node of any node at the same level (or one level above) where the text was found.

[0066] In both cases, the idea is the same: the effectiveness score of each semantic network is largely determined by its size, but if there is text in the network that has a meaning that contradicts the meaning of the semantic network (supporting / contradicting), the score is reduced by a value corresponding to that text.

[0067] In addition, as this operation is repeated recursively, the relationship between the resulting text and the truth of the original sentence is thought to become weaker. Therefore, as mentioned above, it is desirable to reduce the impact on the effectiveness of the network according to the number of recursion levels. Taking this into consideration, it is desirable to calculate the score of each semantic network based on its size, using additions and subtractions that take into account the existence of contradictory text identified recursively and the number of recursion levels used to reach that point.

[0068] The simplest way to make a judgment using the support / contradiction judgment unit 107 is to follow the rule that the support network or the contradiction network with the larger score is adopted. For example, if Sp > Sn, it is judged that the content of the text to be processed is reliable, and if Sp < Sn, it is judged that the content of the text to be processed is unreliable. In other words, the ratio of Sp to the sum of Sp and Sn is taken as the reliability. Then, if Sp > 1 / 2, the target text is judged to be reliable, and if Sp < 1 / 2, it is judged to be unreliable.

[0069] In this embodiment, the reliability is calculated using the reliability as described above. However, in this embodiment, the reliability is compared with, for example, a first threshold value greater than 1 / 2 and a second threshold value less than 1 / 2. That is, referring to FIG. 5 , the program further includes step 404, which branches the control flow depending on whether the reliability is greater than the first threshold value, and step 406, which, when the determination in step 404 is affirmative, determines the target text to be processed as reliable and edits the document so that the text corresponding to the node with the highest score among the nodes in the support network (and the URL (Uniform Resource Locator) of that text or a passage containing that text) is embedded in the target text portion of the document in the form of an annotation or link, as an indication of the basis for the target text. Note that in step 406, the document may not be particularly modified (not modifying is also a type of "editing"). Alternatively, the target text portion may be edited by bolding or underlining in green to indicate that the portion is reliable.

[0070] The determination in step 404 is not limited to the above. For example, when the value of score Sp exceeds a predetermined threshold, the determination in step 404 may be positive regardless of the value of score Sn. Conversely, when the value of score Sn exceeds a predetermined threshold, the determination in step 404 may be negative regardless of the value of score Sp. Furthermore, when both values ​​exceed the threshold, the larger value may be adopted. Various other methods are possible for determining based on scores Sp and Sn.

[0071] This program further includes step 408, when the determination in step 404 is negative, branching the flow of control depending on whether the confidence level is less than a second threshold; step 410, when the determination in step 408 is positive, modifying the text to be processed by deleting at least a portion of the text to be processed using the text with the highest score among the contradictory texts and adding alternative text corresponding to the content of the contradictory text to the deleted portion or to another appropriate location determined by the sentence structure of the original sentence; and step 412, when the determination in step 408 is negative, editing the portion of the text to be processed to indicate that the portion cannot be determined to be reliable or unreliable. The editing in step 412 may, for example, leave the relevant string unchanged and underline it in red. In some cases, the relevant string may be left unchanged and, instead, quote the text with the highest score among the contradictory texts in parentheses, followed by a string such as "(Regarding this portion, there is also an opinion that... (quoted portion)...)."

[0072] This program further includes step 414, which is executed after the determination in step 404 is affirmative and the processing of step 406 is completed, or after the determination in step 404 is negative and, as a result of the determination in step 408, the processing of step 410 or step 412 is completed, for updating the text stored in text storage unit 130 with the edited text, and step 416, which selects the text next to the edited portion from the text stored in text storage unit 130 as the text to be processed, instructs text selection unit 132 (see Figure 1) to start the above-mentioned processing, and then terminates processing of the current text to be processed.

[0073] Fig. 6 shows an example of the configuration of a text generator 420 that realizes the process of generating alternative text to be used in step 410 shown in Fig. 5, for example, of the text editing device 108 shown in Fig. 1. Referring to Fig. 6, the text generator 420 includes a text replacement unit 432 that, in response to input 430 including original text stored in the text storage unit 130 and contradictory text, performs editing by deleting a portion of the original text and inserting contradictory text in a predetermined position, and outputs the edited text.

[0074] The input 430 to the text exchange unit 432 includes the original text stored in the text storage unit 130. In this original text, the tokens at the start and end of the text to be processed are labeled. The input 430 also includes the contradiction text to be used during editing. This contradiction text is the highest-scoring contradiction text in the first layer of the contradiction network. The input 430 also includes information indicating the type of question for which this contradiction text was obtained.

[0075] In this embodiment, the text replacement unit 432 performs this process using a text replacement model 436. Inputs 434 to the text replacement model 436 are the target text from the original text, a predetermined length of text before and after the target text (e.g., one sentence each), and the contradictory text that will form the basis for the replacement text. The text replacement model 436 has the function of replacing a portion of the target text from the input text with the contradictory text or a portion of the contradictory text, and outputting the resulting replacement text 438. The text replacement model 436 is pre-trained to determine, based on the type of question, which portion of the target text should be replaced with which portion of the contradictory text, and how the replacement portion should be modified. The manner of replacement by the text replacement model 436 varies depending on the type of question.

[0076] The text generator 420 further includes a prompt creation unit 444 that creates a prompt to be input to the large-scale language model 446 based on the large-scale language model 446, the edited text 440 output by the text exchange unit 432, and information 442 indicating the type of question that formed the basis of the text, and inputs the prompt to the large-scale language model 446; and a text integration unit 450 that integrates the text by adding text 448 output by the large-scale language model 446 to the end of the edited text 440 output by the text exchange unit 432, replaces the original text stored in the text storage unit 130 with the new text, and outputs the resulting edited text 452. As shown in FIG. 1 , the text integration unit 450 also instructs the text selection unit 132 to continue processing the new text from immediately after the edited portion. When the text selection by the text selection unit 132 is finished, the verification process for the text output by the large-scale language model 446 is completed. In addition, if the text to be processed approaches the end of the text stored in the text storage unit 130, the end time may be brought forward by limiting the length of the text output from the large-scale language model 446.

[0077] 2 Operation The dialogue system 50 according to the first embodiment operates as follows: When a user inputs a prompt to the large-scale language model 62 using the text input device 60, the large-scale language model 62 outputs text. This text is stored in the text storage unit 130 as original text.

[0078] The text selection unit 132 selects the first sentence in the text storage unit 130, and if necessary further divides this sentence into portions comprising the text to be processed, and inputs the first portion as the text to be processed to the support network creation unit 134 and the contradiction network creation unit 136.

[0079] The supporting question generator 210 (FIG. 2) of the support network creator 134 generates one or more questions to obtain supporting text based on the input target text. The question generator 212 provides these questions to the web-based question-answering system 66. The web-based question-answering system 66 searches the Internet 68 for one or more answers to each of the provided questions and provides these answers to the answer receiver 214 of the support network creator 134. The answer receiver 214 inputs the answers received from the web-based question-answering system 66 and the text (target text or supporting text) on which the question generator 212 generated the questions into the supporting text verification model 184, and determines whether the answers obtained from the web-based question-answering system 66 support the content of the target text. If the obtained answers support (serve as evidence for) the target text, the answer receiver 214 adopts the answers and provides them to the semantic network adder 186; otherwise, the answer receiver 214 discards the answers.

[0080] The supporting question generator 210 of the support network creator 134 then repeats the above-described method for each answer obtained from the web-based question-answering system 66 and adopted by the supporting text verification unit 182, obtaining each answer and adopting text that supports the underlying supporting text. In this manner, the support network creator 134 performs recursive processing, first obtaining supporting text for the initial input, then obtaining supporting text for that supporting text, and then obtaining supporting text that supports that supporting text. The semantic network addition unit 186 of the support network creator 134 creates a supporting network using the obtained supporting text and stores it in the support network storage unit 106. The support network creator 134 terminates this processing when the total number of obtained supporting texts reaches an upper limit.

[0081] The contradiction network creation unit 136 transforms the input target text into a negated form, and then, similar to the support network creation unit 134, obtains one or more answers to the question from the Web-based question-answering system 66 to collect contradictory text that supports (contradicts) the negated version of the input target text. The contradiction network creation unit 136 then recursively performs a process of obtaining contradictory text from the Web-based question-answering system 66 using the collected contradictory text. The contradiction network creation unit 136 stops collecting contradictory text when the total number of obtained contradictory texts reaches an upper limit. The contradiction network creation unit 136 generates a contradiction network using the collected contradictory text and stores it in the contradiction network storage unit 104.

[0082] Referring to FIG. 5, the support / contradiction determination unit 107 shown in FIG. 1 calculates the obtained support network score Sp and the contradiction network score Sn (step 400). The support / contradiction determination unit 107 calculates the reliability of the target text from Sp and Sn (step 402). If the reliability is greater than the first threshold, the text editing device 108 basically maintains the input target text and outputs it with an embedded reference (link) to the answer (or a passage containing that answer) that provided the highest-scoring support text as evidence. Embedding this reference is not necessarily required. Instead of or in addition to this embedding, a description of, or a reference to, text relating to an alternative to the subject matter described in the target text may be embedded in parentheses after the target text. Note that maintaining the description without changing it is also a type of "editing."

[0083] The text editing device 108 then replaces the original text stored in the text storage unit 130 with the modified text (step 414).The text editing device 108 then instructs the text selection unit 132 to start the next process on the sentence or part of the sentence next to the modified part of the original text as the text to be processed (step 416).

[0084] On the other hand, if the determination in step 404 is negative, the support / contradiction determination unit 107 determines whether the reliability is less than the second threshold value (step 408). If the determination in step 408 is positive, the text editing device 108 executes a process (processing by the text generator 420 in FIG. 6) to modify the source text including the target text using the contradiction text with the highest score among the contradiction texts. Thereafter, control proceeds to step 414. The processes from step 414 onwards have been described above.

[0085] If the determination in step 408 is negative, the text editing device 108 modifies the original text so that an alert message indicating that the text is weakly based is added as an annotation to the portion of the text to be processed. Then, control proceeds to step 414. The processing from step 414 onward has already been described. The annotation may further include a reference to contradictory text that contradicts the text.

[0086] In this way, editing of the original text held in the text storage unit 130 is performed by progressing through the text to be processed one section at a time. When there are no more sections of the final original text that can be edited (or when some other predetermined termination condition is met, such as when the unprocessed portion of the original text falls below a predetermined number of sentences), the processing ends, and the text finally stored in the text storage unit 130 is output as the edited text.

[0087] In the above embodiment, it is assumed that the large-scale language model 62 (FIG. 1) and the large-scale language model 446 (FIG. 6) are separate entities. However, the present invention is not limited to such an embodiment. The large-scale language model 62 and the large-scale language model 446 may be the same entity. Furthermore, each of the large-scale language model 62 and the large-scale language model 446 may be a part of the dialogue system 50, or may be included in a service provided by another entity outside the dialogue system 50.

[0088] Furthermore, in the above embodiment, the text replacement unit 432 shown in FIG. 6 edits the original text using a machine learning model. However, the present invention is not limited to such an embodiment. The original text may be edited using a rule base. Alternatively, a machine learning model that identifies portions of the original text to be deleted, a machine learning model that identifies portions of the original text where modified text should be inserted, or a machine learning model that identifies how the text before and after the inserted text has been changed may be used. Furthermore, each model or rule may be changed depending on the type of question that forms the basis of the supporting text or contradictory text.

[0089] The function of the prompt creation unit 444 differs depending on the type of large-scale language model 446 shown in Figure 6. For example, the text changed by the text exchange unit 432 may be input to the large-scale language model 446 itself, and the large-scale language model 446 may be trained so that it outputs the subsequent text. Alternatively, in order to control the output from the large-scale language model 446, some keyword may be input to the large-scale language model 446 in the form of a prompt.

[0090] In the above-described embodiment, the output of the large-scale language model is maintained or modified depending on whether or not there is evidence in existing text. It is believed that most existing text has been edited or revised by humans. Therefore, even if the output of the large-scale language model appears natural at first glance, if no evidence can be found in the existing text or if contradictory statements are found, as in the above-described embodiment, the output can be determined to be unreliable. Furthermore, by editing such text based on existing evidence as in the above-described embodiment, the reliability of the output of the large-scale language model can be increased.

[0091] Furthermore, in the above embodiment, the reliability of a text is calculated based on the scores of the support network and the contradiction network, and the scores are based on the size of each network. The support network and the contradiction network each contain a considerable number of supporting texts or contradictory texts. Furthermore, most of the supporting texts and contradictory texts also have supporting texts or contradictory texts that serve as their supporting evidence. Therefore, the number of texts included in the support network and the contradiction network is large and the range of such texts is wide. When attempting to determine the reliability of the output of a large-scale language model based on existing text, one method is to embed erroneous or false information in the Web in order to mislead the determination. However, even if such information is embedded in the Web, the amount of erroneous or false information is relatively small compared to other reliable information when a network is collected based on many texts and includes the underlying evidence for each text, as in the case of the support network and the contradiction network. As a result, the above embodiment can reduce the possibility of making an incorrect judgment about the reliability of a text.

[0092] In the above embodiment, even when a text is determined to be reliable, a reference to an existing text or a passage containing that text that serves as the basis for the determination can be embedded in the text. This allows the user to easily confirm the basis for the edited text. As a result, the user can use the output of the large-scale language model with confidence, thereby increasing the usefulness of the large-scale language model.

[0093] In the above embodiment, a web-based question-answering system 66 is used to obtain answers to questions. However, the present invention is not limited to such an embodiment. For example, a language model such as the large-scale language model 62 can provide answers to questions. The likelihood that such answers will be incorrect is higher than with systems such as the web-based question-answering system 66. However, as in this embodiment, if a web-based question-answering system 66 is also used, which allows the obtained answers to be checked for supporting statements, the large-scale language model can be used in addition to a system such as the web-based question-answering system 66. For example, an embodiment can be considered in which questions are provided to the large-scale language model in parallel with the web-based question-answering system 66.

[0094] Most of the machine learning models used in the above-described embodiments are for processing natural language. For training each model, training data corresponding to the function (combination of input and output) of each model in the above-described embodiments may be used.

[0095] 3. Hardware Configuration Fig. 7 is an external view of a computer system 600 that realizes the verification device 64 of the dialogue system 50 according to the first embodiment of the present invention shown in Fig. 1. Fig. 8 is a hardware block diagram of the computer system 600. The hardware configuration of the computer system 600 will be described below.

[0096] 7, this computer system 600 includes a computer 650 having a DVD (Digital Versatile Disc) drive 662, and a keyboard 654, a mouse 656, and a monitor 652 for interacting with a user, all of which are connected to the computer 650. Of course, these are just one example of a configuration for when interaction with an operator becomes necessary, and any general hardware and software (e.g., a touch panel, voice input, or a general pointing device) that can be used for interacting with an operator can also be used.

[0097] 7 and 8 , computer 650 includes, in addition to a DVD drive 662, a CPU (Central Processing Unit) 710, a GPU (Graphics Processing Unit) 712, and a bus 720 connected to the CPU 710, the GPU 712, and the DVD drive 662. Computer 650 further includes a ROM (Read-Only Memory) 714 connected to the bus 720 and storing a boot-up program of computer 650, a RAM (Random Access Memory) 716 connected to the bus 720 and storing instructions constituting a program, a system program, working data, and the like, and an SSD (Solid State Drive) 718 which is a non-volatile memory connected to the bus 720. The SSD 718 is for storing programs executed by the CPU 710 and the GPU 712, as well as data used by the programs executed by the CPU 710 and the GPU 712. The computer 650 further includes a network I / F (Interface) 726 that provides connection to a network that enables communication with other terminals, and a USB port 664 to which a USB (Universal Serial Bus) memory 702 is detachable and that provides communication between the USB memory 702 and each unit within the computer 650.

[0098] The computer 650 further includes an audio I / F 722 that is connected to the microphone 660, the speaker 658, and the bus 720, and has the function of reading out audio signals, video signals, and text data generated by the CPU 710 and stored in the RAM 716 or the SSD 718 in accordance with instructions from the CPU 710, converting the signals to analog, amplifying the signals, and driving the speaker 658, and digitizing the analog audio signals from the microphone 660 and storing them at any address in the RAM 716 or the SSD 718 specified by the CPU 710.

[0099] 1 are stored in, for example, the ROM 714, SSD 718, DVD 700, or USB memory 702 shown in FIG. 8, or in a storage medium of an external device (not shown) connected via the network I / F 726 and the network 704. Typically, these data and parameters are written to the SSD 718 from the outside, and loaded into the RAM 716 when the computer 650 is executed.

[0100] 1 is stored on a DVD 700 inserted into a DVD drive 662 and transferred from the DVD drive 662 to the SSD 718. Alternatively, the program may be stored in a USB memory 702, which may be inserted into a USB port 664 and transferred to the SSD 718. Alternatively, the program may be transmitted to the computer 650 via the network 704 and stored in the SSD 718. Of course, the source program may be input using the keyboard 654, the monitor 652, and the mouse 656, and the compiled object program may be stored in the SSD 718.

[0101] The program is loaded into RAM 716 when executed. If the program is written in a scripting language, the script entered by the operator using keyboard 654 or the like may be stored in SSD 718. In the case of a program that runs on a virtual machine, a program that functions as a virtual machine must be installed in computer 650 in advance. Machine learning models such as deep neural networks are used for the supporting text verification model 184 shown in FIG. 2, the contradictory text verification model 356 shown in FIG. 4, the text exchange model 436 and the large-scale language model 446 shown in FIG. 6, and the like. In computer system 600, machine learning models that have been trained in other devices may be used, or the computer system 600 may be used as a training device to train machine learning models.

[0102] The CPU 710 reads a program from the RAM 716 according to an address indicated by an internal register called a program counter (not shown) and interprets the instructions. The CPU 710 reads data required to execute the instructions from the RAM 716, the SSD 718, or another device according to the address specified by the instruction, and executes the processing specified by the instruction. The CPU 710 stores the execution result data at an address specified by the program, such as the RAM 716, the SSD 718, or a register within the CPU 710. Depending on the address, the execution result data is output from the computer to an external device, for example, via the network I / F 726. The output destination is, for example, the web-based question-answering system 66 shown in FIG. 1. At this time, the program counter value is also updated by the program. The computer program may be loaded directly into the RAM 716 from the DVD 700, the USB memory 702, or via the network 704. Of the programs executed by the CPU 710, some tasks (mainly numerical calculations) are issued to the GPU 712 according to instructions contained in the programs or according to the analysis results obtained when the CPU 710 executes the instructions.

[0103] The program that enables the computer 650 to realize the functions of each unit of the verification device 64 ( FIG. 1 ) according to the embodiment described above includes a plurality of instructions written and arranged to cause the computer 650 to operate to realize those functions. Some of the basic functions required to execute these instructions may be provided by an operating system (OS) or third-party program running on the computer 650, various toolkit modules installed on the computer 650, or a program execution environment. Therefore, the program does not necessarily include all of the functions required to realize the system and method according to this embodiment. The program may include only instructions that execute the operations of the above-described devices and their components by statically linking appropriate functions or modules at compile time or by dynamically calling them at runtime in a controlled manner to achieve the desired results. The method for operating the computer 650 for this purpose is well known. Therefore, a description of the method for operating the computer 650 will not be repeated here.

[0104] The GPU 712 is capable of parallel processing, and can execute a large amount of calculations associated with machine learning and inference simultaneously in parallel or in a pipelined manner. For example, parallel calculation elements discovered in a program when the program is compiled or when the program is executed are dispatched from the CPU 710 to the GPU 712 as needed, and executed. The results are returned to the CPU 710 directly or via a predetermined address in the RAM 716 and assigned to a predetermined variable in the program.

[0105] Second Embodiment 1. Configuration Referring to FIG. 9 , a dialogue system 750 according to the second embodiment includes a text input device 60, a large-scale language model 62 that receives the output of the text input device 60 and outputs a text to be verified, a verification device 760 that verifies the content of a response sentence that is the output of the large-scale language model 62 and edits and outputs the response sentence as necessary, a web-based question-answering system 66 that the verification device 760 uses to verify the response sentence, and an output device 70 that outputs the edited response sentence output by the verification device 760 as a response to a user input.

[0106] The verification device 760 includes a semantic network creation device 770 that sequentially selects text within a sentence output by the large-scale language model 62 and creates a semantic network that includes both supporting text and contradicting text related to the text to be processed, based on the text to be processed; a network storage unit 772 that stores the semantic network created by the semantic network creation device 770; a support / contradiction determination unit 774 that determines whether the text to be processed is reliable, based on the supporting text and contradicting text stored in the network storage unit 772; and a text editing device 108 that edits and outputs the text to be processed, if necessary, in accordance with the determination result by the support / contradiction determination unit 774.

[0107] The semantic network creation device 770 includes the same text storage unit 130 and text selection unit 132 as shown in FIG. 1 , and a network creation unit 780 for creating one or more questions based on the text to be processed selected by the text selection unit 132, providing the questions to the web-based question-answering system 66, collecting text from documents on the web to be output as answers from the web-based question-answering system 66, and creating a semantic network including both supporting text and contradictory text based on the text, and storing the network storage unit 772.

[0108] 10, the network creation unit 780 shown in FIG. 9 includes a recursive text collection unit 800 for collecting many supporting texts and contradicting texts by performing recursive processing, in which a question is generated starting from the target text selected by the text selection unit 132, an answer is obtained using the web-based question-answering system 66, and a new question is generated based on the answer to obtain the next answer; a text verification model 802 that is pre-trained to receive two texts as input and output a score indicating whether one of the texts supports the other; and a text verification unit 804 that provides the target text and the individual texts collected by the recursive text collection unit 800 to the text verification model 802 to determine whether the text collected by the recursive text collection unit 800 supports the target text, and classifies the text collected by the recursive text collection unit 800 into supporting text and contradicting text according to the determination result and outputs the resulting text.

[0109] The text verification model 802 is pre-trained to take as input a string formed by concatenating the first text and the second text with a separation token in between, and to output the probability that the second text is a text that supports the first text and the probability that the second text is a text that contradicts the first text as a score for the second text.

[0110] The recursive text collection unit 800 includes a question generation unit 810 that generates and outputs a plurality of questions based on the input text using the method described in the first embodiment. However, unlike the supporting question generation unit 210 and the contradiction question generation unit 370 in the first embodiment, the question generation unit 810 is not particularly restricted in the questions to be generated, and generates both supporting and contradiction-specific questions for the input text.

[0111] The recursive text collection unit 800 further includes a question issuing unit 212 for inputting the questions generated by the question generating unit 810 into the web-based question answering system 66, and an answer receiving unit 214 for receiving one or more answers output by the web-based question answering system 66 for each question and providing them to the text verification unit 804.

[0112] 2. Implementation by Program Fig. 11 is a flowchart showing the control structure of a recursive program for implementing network creation unit 780 shown in Fig. 10. Referring to Fig. 11, this program is implemented as a recursive function that receives a set of text as argument 840. In this embodiment, the set of text as an argument is prepared as an array, and what is actually passed to the program is the address of that array.

[0113] This program includes step 850 of generating one or more questions by repeatedly executing the question generation process of step 852 for all input text or until the total number of answers plus K times the number of generated questions (K is a positive integer) is greater than a first threshold value; step 854 of executing step 856 of searching for answers to each question using the web-based question-answering system 66 for all questions generated in step 850 or until the total number of answers obtained (cumulative number) is greater than or equal to a second threshold value; step 858 of executing step 860 (described below) for each answer searched for in step 854; step 862 of branching the flow of control after the processing of step 858 is completed depending on whether the total number of answers obtained by the processing up to that point (cumulative number) is greater than a third threshold value; and step 864 of recursively calling itself with the set of answers searched for in step 856 as an argument if the determination in step 862 is negative, and then terminating execution of the program and returning control to the caller. If the determination in step 862 is positive, the program terminates execution and returns control to the caller.

[0114] Step 860 includes step 880 of determining whether the answer being processed is supporting text or contradicting text using the text verification model 802 shown in FIG. 10 and tagging the text with a tag indicating whether it is supporting text or contradicting text, and step 882 of adding the text tagged in step 880 to the semantic network as a child node of the node corresponding to the text that formed the basis of the question, along with the score obtained by the text verification model 802 and the tag obtained in step 880.

[0115] The integer K used as the termination condition in step 852 has the following meaning. In this embodiment, a single input text typically yields multiple questions. Furthermore, each question typically yields multiple answers. As a result, a single process of searching for answers from a single input text yields a very large number of texts. Recursive processing exponentially increases the number of answers obtained. Because such processing requires significant computational costs, the process must be terminated at an appropriate time. In this embodiment, the termination condition is determined when the total number of answers obtained (the cumulative number obtained through multiple recursive processes) exceeds a certain threshold (third threshold). However, in the example shown in FIG. 11 , if the processes in steps 850 and 854 are fully executed when the total number of answers obtained through the processes to date is close to the third threshold, the total number of answers ultimately obtained may significantly exceed the third threshold, resulting in a long processing time. Therefore, in step 850, the number of questions to be generated is limited when the total number of answers obtained so far (the cumulative value) is close to the third threshold. In this embodiment, a constant K (≧1) is assumed as a guideline for the number of answers obtained for one question, and the processing of step 850 is terminated when the total number of answers up to that point + K × the number of input texts becomes greater than the first threshold. The third threshold may or may not be equal to the first threshold, including cases where the constant K is accurately determined (where the number of answers obtained for one question is a fixed number).

[0116] The reason for setting a limit on the processing time is that the termination condition in step 854 is "when the total number of responses (cumulative number) becomes greater than the second threshold value." Generally, the second threshold value should be equal to the third threshold value, but there is no problem if the second threshold value is slightly different from the third threshold value.

[0117] It should be noted that it is not necessary to provide the termination conditions using the respective thresholds added in steps 850 and 854. In that case, the processing time may become longer, but these conditions may not be used when the third threshold is small, for example.

[0118] 3 Operation The dialogue system 750 according to the second embodiment operates as follows: Referring to Fig. 9, a user inputs a prompt via the text input device 60 to the large-scale language model 62. The large-scale language model 62 outputs the text following the prompt. This text is stored in the text storage unit 130.

[0119] The text selection unit 132 first selects the first sentence (or part of the sentence) stored in the text storage unit 130 and provides it to the network creation unit 780 as the text to be processed.

[0120] 10, a recursive text collection unit 800 in the network creation unit 780 generates one or more questions from the text to be processed and inputs the questions to the question issuing unit 212. At this time, a question generation unit 810 generates both a support-specific question and a contradiction-specific question.

[0121] The question issuing unit 212 inputs each of the questions received from the question generating unit 810 into the web-based question answering system 66. The web-based question answering system 66 searches the Internet 68 for each question and outputs text determined to be appropriate as an answer to the question as an answer. The answer receiving unit 214 receives the text of these answers and provides it to the text verifying unit 804.

[0122] The text verification unit 804 combines each of the answer texts received from the answer receiving unit 214 with the processing target text input from the question generation unit 810, sandwiching a separation token between them, and inputs the combined text to the text verification model 802. In response to this input, the text verification model 802 outputs, as scores for the answer text, the probability that the answer text supports the content of the processing target text and the probability that the answer text contradicts the content of the processing target text. Based on the output of the text verification model 802, the text verification unit 804 assigns a tag to the answer text indicating whether the answer text is supporting text or contradicting text, and provides the tag and its score to the semantic network addition unit 806. The text verification unit 804 also inputs the answer text to the question generation unit 810.

[0123] The semantic network adding unit 806 adds the answer text received from the text verifying unit 804 as a new node to the semantic network. At this time, the semantic network adding unit 806 identifies the text that was the source of the question from which the current answer text was obtained, and adds the new node as a child node of the node corresponding to that text.

[0124] Meanwhile, the question generator 810 generates one or more questions based on the new text received from the text verifier 804, and provides each question to the question issuer 212. The question issuer 212 inputs each question to the web-based question-answering system 66. The answer receiver 214 receives the text of one or more answers output by the web-based question-answering system 66 for each question, and provides the text to the text verifier 804.

[0125] Thereafter, the network creation unit 780 repeatedly executes the recursive process described above. When the number of nodes (number of texts) added to the semantic network exceeds the third threshold, the text collection process ends. As a result, the network storage unit 772 shown in FIG. 9 stores a semantic network that includes both supporting text and contradicting text for the target text.

[0126] 9 , the support / contradiction determination unit 774 determines whether the text to be processed, input via the text input device 60, is reliable based on the labels and / or scores assigned to each node in the semantic network stored in the network storage unit 772, and provides the result to the text editing device 108. As in the first embodiment, the text editing device 108 edits the text to be processed as needed to clearly indicate whether the text is reliable or unreliable, or to replace unreliable text in the text to be processed with reliable text obtained during the creation of the semantic network. After completing this editing, the text editing device 108 updates the contents of the text storage unit 130 with the edited text. The text editing device 108 further instructs the text selection unit 132 to select the next text after the processed text from the text stored in the text storage unit 130.

[0127] In response to this instruction, the text selection unit 132 selects the text immediately following the processed text (such as the immediately following sentence) and provides it to the network creation unit 780. The network creation unit 780 creates a new semantic network using this text as a starting point. The above-described process is repeated until the end of the text stored in the text storage unit 130 is reached. According to this embodiment, the semantic network includes both supporting text and contradicting text for the text being processed. Even if contradicting text is obtained from supporting text or supporting text is obtained from contradicting text in the recursive process, it is not necessary to separate them into separate networks. Compared to the first embodiment, this has the advantage of simplifying the process for collecting supporting text and contradicting text.

[0128] The recursive program shown in FIG. 11 can also be used in the first embodiment with a slight modification.

[0129] The semantic network generation process in the second embodiment (the flowchart shown in FIG. 11) is similar to breadth-first search in tree search. That is, in the second embodiment, the root node is generated first, then the child nodes in the second layer are generated, and then the child nodes in the third layer are generated as a collection of child nodes for each node in the second layer. This is the order in which the semantic network is created.

[0130] However, as already mentioned, the creation of a semantic network in this invention is not limited to a breadth-first order. A semantic network may also be created in a depth-first order. Figure 12 shows a schematic flowchart of a program (recursive function) corresponding to Figure 11 for realizing such a modified example.

[0131] Referring to FIG. 12, the arguments 900 of this recursive function include a constant N (>0) that specifies the depth of the layer when adding nodes in the depth direction, and a starting text that serves as the starting point for recursively searching for supporting text and contradictory text in the text being processed.

[0132] This program includes step 910, which branches the flow of control depending on whether the value of argument N is 0. If the determination in step 910 is positive, this program ends execution and returns control to the calling program.

[0133] The program further includes a step 912 of generating one or more questions based on the text of the argument when the determination in step 910 is negative. In step 912, both support-specific and contradiction-specific questions are generated.

[0134] The program further includes step 914, for each question generated in step 912, performing step 916 of searching for one or more answers to the question, and step 918, for each answer searched for in step 914, performing step 920, described below.

[0135] Step 920 includes step 940, in which a model similar to the text verification model 802 used in the second embodiment is used to determine whether the answer to be processed is supporting text or contradicting text for the text to be processed, and the answer to be processed is tagged according to the determination result. In this embodiment, step 940 also assigns a score to the answer, together with the tag, the probability that the answer to be processed is supporting text and the probability that the answer to be processed is contradicting text.

[0136] Step 920 further includes, following step 940, step 942 of adding the tagged and scored answers from step 940 into a semantic network. In step 942, the question for which the answer is to be processed is first identified. The text from which the question originates is then identified. The new text is then added as a child node of the node in the semantic network corresponding to the identified text.

[0137] Step 920 further includes step 944 of recursively calling itself with arguments being a combination of the initially received argument N minus 1, ie, a value N-1, and the answer processed in step 920 .

[0138] For simplicity, the operation of the function whose control structure is shown in Figure 12 will be explained assuming N = 2. First, this function is called. The arguments at that time are N = 2 and the text to be processed (for ease of explanation, this will be called "argument text"). Since the determination in step 910 is negative, step 912 is executed. As a result, one or more questions are generated based on the argument text.

[0139] Next, an answer search process is performed in step 914 based on each of the one or more questions generated in step 912. In this process, one or more answers are obtained for each of the one or more questions, resulting in a large number of answers.

[0140] Further, the process of step 918 is executed for each answer. Specifically, the text of the first answer (referred to as "first text") is selected, the first text is tagged in step 940, and the first text is added as a new node to the semantic network in step 942. Then, this program is recursively called with arguments N-1 (=1) and the first text.

[0141] As a result, step 910 is executed for the new argument. Because the value of the argument is 1, the determination in step 910 is negative, and step 912 and subsequent steps are executed. As a result, multiple answers are obtained based on multiple questions obtained from the first text. Here, the first text of these answers is referred to as the "first-1 text" to indicate that it is the first of the answers obtained from the first text. The first-1 text is also tagged in step 940, and added as a new node to the semantic network in step 942. Furthermore, in step 944, this function is recursively called with the combination of N-2 (= 0) and the first-1 text as arguments.

[0142] In this recursively called function, the determination in step 910 is performed. Because the argument value is 0, the determination in step 910 is affirmative, and execution of this function ends, and control returns to the calling function, i.e., step 944 when argument N=1. Since control returns to step 944, execution of step 944 ends, and the next iteration of step 920 begins. More specifically, for the text following the 1-1 text (referred to as "1-2 text"), processing similar to that for the 1-1 text is performed. Similarly, once processing has been completed for all of the text obtained from the 1 text (1-1 text to 1-final text), execution of step 918 when N=1 ends. As a result, execution of this function when N=1 ends, and control returns to step 944 when N=2. With step 944 completed, the processing of step 918 when N=2 is performed for the second text following the 1 text.

[0143] In this way, by executing the recursive program whose control structure is shown in Figure 12, a semantic network is first created in a depth-first order up to the number of levels specified by the argument N, and by repeating this process, the semantic network is further expanded in the width direction.

[0144] After creating the semantic network in this way, editing of the text to be processed is carried out in the same manner as in the second embodiment.

[0145] In all of the above embodiments, a large amount of calculation is required. However, these calculations can be performed in parallel from a certain stage. Therefore, by using a GPU, it is possible to efficiently verify the input text.

[0146] The embodiments disclosed herein are merely examples, and the present invention is not limited to the above-described embodiments. The scope of the present invention is defined by the claims in the scope of the claims, taking into consideration the description of the detailed description of the invention, and includes all modifications within the meaning and scope equivalent to the wordings described therein.

[0147] 50 Dialogue system 60 Text input device 62, 446 Large-scale language model 64 Verification device 66 Web-based question answering system 68 Internet 70 Output device 102 Semantic network creation device 104 Contradiction network storage unit 106 Support network storage unit 108 Text editing device 130 Text storage unit 132 Text selection unit 134 Support network creation unit 136 Contradiction network creation unit 180 Recursive support text collection unit 182 Support text verification unit 184 Model for supporting text verification 186, 358 Semantic network addition unit 210 Support question generation unit 212, 372 Question issuing unit 214 Answer receiving unit 300 Support network 350 Negative form generation unit 352 Recursive contradictory text collection unit 354 Contradiction text verification unit 356 Model for contradictory text verification 370 Contradiction question generation unit 432 Text exchange unit 436 Model for text exchange 438 Exchanged text 444 Prompt creation unit 450 Text integration unit

Claims

1. A verification device comprising: a target portion extraction means for extracting a portion to be verified from an input sentence; a text collection means for collecting supporting text that supports the content of the portion to be verified and contradictory text that contradicts the content of the portion to be verified from a collection of existing texts; and a selective editing means for executing a process of editing the portion to be verified in different ways depending on whether a predetermined relationship is established between the set of supporting text and the set of contradictory text collected by the text collection means.

2. The verification device of claim 1, wherein the text collection means includes an answer collection means that generates, based on an expression of the portion to be verified, supporting specific questions for obtaining answers that support the content of the portion to be verified and contradiction specific questions for obtaining answers that contradict the portion to be verified, and that collects the supporting text and the contradiction text by recursively executing a process of obtaining answers from the set of existing texts for each of the questions.

3. The verification device described in claim 1, wherein the process of editing the portion to be verified includes: a text selection process of selecting either the contradictory text or the supporting text in accordance with a predetermined criterion; and an editing process of editing at least a portion of the portion to be verified based on the contradictory text or the supporting text selected in the text selection process.

4. The verification device of claim 3, wherein the process of editing the portion to be verified further includes a text addition process of adding, following the new text, text output by the large-scale language model by inputting the new text into the large-scale language model.

5. A verification method comprising the steps of: a computer extracting a portion to be verified from an input sentence; a computer collecting supporting text that supports the content of the portion to be verified and contradictory text that contradicts the content of the portion to be verified from a collection of existing texts; and a computer editing the portion to be verified according to different methods depending on whether a predetermined relationship exists between the set of supporting text and the set of contradictory text collected in the collecting step.

6. A verification program which causes a computer to function as: a target portion extraction means for extracting a portion to be verified from an input sentence; a text collection means for collecting supporting text which supports the content of the portion to be verified and contradictory text which contradicts the content of the portion to be verified from a collection of existing texts; and a selective editing means for editing the portion to be verified in different ways depending on whether a predetermined relationship exists between the set of supporting text and the set of contradictory text collected by the text collection means.

Citation Information

Patent Citations

  • Candidate fact checking method and system

    US20120317046A1

  • Fact verification engine

    US20130268519A1

Cited By

  • Real estate information extraction system, real estate information extraction method, and real estate information extraction program using multiple large-scale language models

    JP7811817B1