JP2025076620A - Verification device, verification method, and verification program - Google Patents
Verification device, verification method, and verification program Download PDFInfo
- Publication number
- JP2025076620A JP2025076620A JP2023188309A JP2023188309A JP2025076620A JP 2025076620 A JP2025076620 A JP 2025076620A JP 2023188309 A JP2023188309 A JP 2023188309A JP 2023188309 A JP2023188309 A JP 2023188309A JP 2025076620 A JP2025076620 A JP 2025076620A
- Authority
- JP
- Japan
- Prior art keywords
- text
- supporting
- verification
- question
- contradiction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
【課題】大規模言語モデルの出力のように、表面上は自然な文であっても虚偽を含むものについて、その内容について検証し、適切な処理が行える検証装置、検証方法、及び検証プログラムを提供する。【解決手段】検証装置64は、入力された文章から、検証対象部分を抽出するテキスト選択部132と、検証対象部分の内容を支持する支持テキストと、検証対象部分の内容と矛盾する矛盾テキストとを既存のテキストの集合から収集するための支持ネットワーク作成部134及び矛盾ネットワーク作成部136と、収集された支持テキスト及び矛盾テキストの間に所定の関係が成立するか否かに従って、検証対象部分を維持する処理と、検証対象部分を編集する処理とを選択的に実行するテキスト編集装置108とを含む。【選択図】図1[Problem] To provide a verification device, verification method, and 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. [Solution] A verification device (64) includes a text selection unit (132) that extracts a verification target portion from an input sentence, a support network creation unit (134) and a contradiction network creation unit (136) that collect, from a collection of existing texts, supporting text that supports the content of the verification target portion and contradiction text that contradicts the content of the verification target portion, and a text editing device (108) that selectively executes a process of maintaining the verification target portion and a process of editing the verification target portion depending on whether a predetermined relationship is established between the collected supporting text and contradiction text. [Selected Figure] Figure 1
Description
この発明は、自然言語処理技術に関し、特に、大規模言語モデルにより生成された自然言語の文章のように、真偽が不明な部分を含む文章などを検証するための技術に関する。 This invention relates to natural language processing technology, and in particular to technology for verifying sentences that include parts whose truth is unknown, such as natural language sentences generated by large-scale language models.
現在、大規模言語モデルが非常に注目されている。特に、大規模言語モデルの中には、オンラインで利用可能であり、プロンプトと呼ばれる文字列を入力することにより、そのプロンプトに続く自然言語文を出力するものがある。そうした大規模言語モデルは、多様な話題に対して様々な文を出力できる。そのため、人々が情報を得たり、新たなアイディアを得たり、文章を作成したりする際に大規模言語モデルを有効に利用できる。 Currently, large-scale language models are attracting a great deal of attention. In particular, some large-scale language models are available online, and when a character string called a prompt is input, they output a natural language sentence following the prompt. Such large-scale language models can output a variety of sentences for a variety of topics. Therefore, large-scale language models can be effectively used when people obtain information, get new ideas, and create sentences.
しかし、大規模言語モデルの出力は、自然な文ではあるものの、その内容が誤りであることがあるという問題がある。基本的には、大規模言語モデルは、予め行われた学習により統計的に獲得したパラメータに従い、各単語の出現確率を計算して出力単語を定めているに過ぎないためである。 However, the output of a large-scale language model, although it is a natural sentence, can contain errors. This is because large-scale language models basically only determine the output words by calculating the probability of each word's occurrence according to parameters acquired statistically through prior learning.
情報処理装置により生成された文章、又は人間により作成された文章について、誤りを検出し、訂正候補を提案する技術として、後掲の特許文献1に開示された技術がある。 Technology for detecting errors and suggesting correction candidates in text generated by an information processing device or in text created by a human being is disclosed in Patent Document 1, which is listed below.
特許文献1に開示された技術は、文章内に文章表現ルールに適合しない表現があるときに、その表現の部分を文章表現ルールに適合するように修正するためのものである。大規模言語モデルの出力のように、出力が自然な表現であるときには、特許文献1に開示された技術は適用できない。 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.
大規模言語モデルの出力に虚偽が含まれる可能性があることは広く知られているが、その虚偽の部分を修正したり指摘したりするための技術はまだ提案されていない。 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 point out these falsehoods.
それゆえにこの発明の目的は、大規模言語モデルの出力のように、表面上は自然な文であっても虚偽を含むものについて、その内容について検証し、適切な処理が行える検証装置、検証方法、及び検証プログラムを提供することである。 The object of the present invention is therefore to provide a verification device, verification method, and 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.
この発明の第1の局面に係る検証装置は、入力された文章から、検証対象部分を抽出する対象部分抽出手段と、検証対象部分の内容を支持する支持テキストと、否定する矛盾テキストとを既存のテキストの集合から収集するためのテキスト収集手段と、テキスト収集手段により収集された支持テキストの集合及び矛盾テキストの集合の間に所定の関係が成立するか否かに従って、異なる方法により検証対象部分を編集する処理を実行する選択的編集手段とを含む。 The verification device according to the 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 a different manner depending on whether a predetermined relationship is established between the collection of supporting text and the collection of contradicting text collected by the text collection means.
好ましくは、テキスト収集手段は、検証対象部分の表現を支持する回答を得るための支持特定質問と、検証対象部分の内容と矛盾する回答を得るための矛盾特定質問とを生成し、それら各質問について、既存のテキストの集合から回答を得る処理を再帰的に実行することにより、支持テキストと矛盾テキストとを収集する回答収集手段とを含む。 Preferably, the text collection means includes an answer collection means that generates support-specific questions for obtaining answers that support the expression of the part to be verified and contradiction-specific questions for obtaining answers that contradict the content of the part to be verified, and collects supporting text and contradictory text by recursively executing a process of obtaining answers from a set of existing texts for each of the questions.
より好ましくは、書換手段は、矛盾テキストのいずれかを所定の基準に従って選択する矛盾テキスト選択手段と、入力された文章のうち、修正後の新たなテキストが挿入される挿入箇所を決定する挿入箇所決定手段と、矛盾テキスト選択手段により選択された矛盾テキストに基づいて新たなテキストを生成し挿入箇所に挿入する挿入手段とを含む。 More preferably, the rewriting means includes a contradictory text selection means for selecting one of the contradictory texts according to a predetermined criterion, an insertion point determination means for determining an insertion point in the input sentence where the new corrected text is to be inserted, and an 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.
さらに好ましくは、書換手段はさらに、新たなテキストを大規模言語モデルに入力することにより大規模言語モデルが出力するテキストを、新たなテキストに続けて追加するテキスト追加手段を含む。 More preferably, the rewriting means further includes a text adding means for inputting new text into the large-scale language model and adding the text output by the large-scale language model following the new text.
好ましくは、書換手段は、さらに、矛盾テキストの少なくとも一部を削除する削除手段を含む。 Preferably, the rewriting means further includes a deletion means for deleting at least a portion of the contradictory text.
より好ましくは、検証対象部分を編集する処理は、矛盾テキスト又は支持テキストのいずれかを所定の基準に従って選択するテキスト選択処理と、検証対象部分の少なくとも一部を、テキスト選択処理において選択された矛盾テキスト又は支持テキストに基づいて編集する編集処理とを含む。 More preferably, the process of editing the portion to be verified includes a text selection process for selecting either the contradictory text or the supporting text according to a predetermined criterion, and an editing process for 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.
さらに好ましくは、検証対象部分を編集する処理は、さらに、新たなテキストを大規模言語モデルに入力することにより大規模言語モデルが出力するテキストを、新たなテキストに続けて追加するテキスト追加処理を含む。 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 the text output by the large-scale language model immediately following the new text.
好ましくは、検証対象部分を編集する処理は、さらに、矛盾テキストの少なくとも一部を削除する削除手段を含む。 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.
この発明の第2の局面に係る検証方法は、コンピュータが、入力された文章から、検証対象部分を抽出するステップと、コンピュータが、検証対象部分の内容を支持する支持テキストと、否定する矛盾テキストとを既存のテキストの集合から収集するステップと、コンピュータが、収集するステップにおいて収集された支持テキストの集合及び矛盾テキストの集合の間に所定の関係が成立するか否かに従って、異なる方法に従って検証対象部分を編集する処理を選択的に実行するステップとを含む。 The verification method according to the second aspect of the present invention includes a step in which the computer extracts a portion to be verified from an input sentence, a step in which the computer collects 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 step in which the computer selectively executes a process of editing the portion to be verified according to different methods depending on whether a predetermined relationship is established between the collection of supporting text and the collection of contradicting text collected in the collection step.
この発明の第3の局面に係る検証プログラムは、コンピュータを、入力された文章から、検証対象部分を抽出する対象部分抽出手段と、検証対象部分の内容を支持する支持テキストと、否定する矛盾テキストとを既存のテキストの集合から収集するためのテキスト収集手段と、テキスト収集手段により収集された支持テキスト及び矛盾テキストの間に所定の関係が成立するか否かに従って、異なる方法に従って検証対象部分を編集する処理を実行する選択的編集手段として機能させる。 The verification program according to the 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 is established between the supporting text and contradicting text collected by the text collection means.
この発明の上記及び他の目的、特徴、局面及び利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。 The above and other objects, features, aspects and advantages of the present invention will become apparent from the following detailed description of the present invention taken in conjunction with the accompanying drawings.
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下に記載する実施形態において、各テキストは実際にはトークン列に変換して処理される。しかし、説明を分かりやすくするために、トークン列への変換及びトークン列からテキストへの逆変換などについては、以下の説明においては具体的には示さない。 In the following description and drawings, the same parts are given the same reference numbers. Therefore, detailed description thereof will not be repeated. Note that in the embodiment described below, each text is actually converted into a token string and then processed. However, to make the description easier to understand, 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.
第1実施形態
1 構成
1.1 対話システム50
図1を参照して、この発明の第1実施形態に係る対話システム50は、ユーザがテキスト入力装置60を用いて入力したテキストに応答して、自然言語による応答文を生成し出力する大規模言語モデル62と、大規模言語モデル62の出力である応答文の内容を検証し、必要に応じて応答文を編集して出力するための検証装置64と、検証装置64が応答文の検証に使用するための、インターネット68上の多数のコンピュータと通信可能であり、受けた質問に対する適切な1又は複数の回答をウェブ上から検索するためのウェブベース質問応答システム66と、検証装置64が出力した編集後の応答文をユーザの入力に対する応答として出力するための出力装置70とを含む。
First embodiment 1 Configuration 1.1
Referring to FIG. 1, a
この実施形態においては、大規模言語モデル62は、検証装置64とは別のシステムであり、検証装置64とインターネットを介して通信可能な、独立したシステムである。またテキスト入力装置60は大規模言語モデル62と通信可能であり、出力装置70はテキスト入力装置60と同じ位置に存在していることが想定されている。また、この実施形態において、ウェブベース質問応答システム66も検証装置64とは独立したシステムであり、大規模言語モデル62と同様、様々なユーザからの入力を処理する機能を持っている。なお、ウェブベース質問応答システム66は、一つの質問に対する回答の個数の指定を受けて、一つの質問に対しては指定された個数の回答を上限として出力することが可能だと想定されている。また、この実施形態においては、ウェブベース質問応答システム66が出力する各回答には、その回答が質問に対する回答としてどの程度ふさわしいかを示すスコアが付されている。ウェブベース質問応答システム66に相当するサービスとしては、例えば本願の出願人が提供している「WISDOM X」がある。
In this embodiment, the large-
なお、大規模言語モデル62及びウェブベース質問応答システム66は、この実施形態においては、検証装置64とは別のサービスである。しかし、検証装置64の内部にこれらが備えられていてもよい。また、ウェブベース質問応答システム66としては、質問を受けると、その都度、インターネット68を検索するのではなくてもよい。例えばウェブベース質問応答システム66は、予めインターネット68から多くのテキストを収集して保存しておき、その範囲内において質問に対する回答候補を検索してもよい。また、後述するように、ウェブベース質問応答システム66の一部として、大規模言語モデル62と同様の、予め学習済の大規模言語モデルを利用してもよい。
In this embodiment, the large-
1.2 検証装置64
この実施形態において、検証装置64は、大規模言語モデル62の出力の先頭文から順番に処理対象を選択し、各処理対象についてその内容が適切か否かを判定することにより大規模言語モデル62の出力の検証を行う。なお、処理対象としては、文単位でもよいし、重文のように複数個の文が接続されて1文となっている場合には、それら各文を単位としてもよい。また、複文のように1つの文に他の文が埋め込まれている場合には、埋め込まれた文について最初に処理し、次に全体について処理するようにしてもよい。実際には、これらの処理が絡み合って行われることになる。これら処理対象を定める方法としては、ルールベースでもよいし、1文単位の入力を受け、処理対象となるテキストに分解して出力するように予め学習済の機械学習モデルを使用してもよい。
1.2
In this embodiment, the
検証装置64は、大規模言語モデル62の出力する文内の処理対象のテキストを順に選択し、処理対象のテキストに基づき、その処理対象の内容を支持するテキスト(これらを「支持テキスト」という。)、及び処理対象の内容と矛盾するテキスト(これらを「矛盾テキスト」という。)を、ウェブベース質問応答システム66を使用して収集し、支持テキストからなる意味的ネットワークである支持ネットワーク、及び矛盾テキストからなる意味的ネットワークである矛盾ネットワークを作成するための意味的ネットワーク作成装置102を含む。支持ネットワーク及び矛盾ネットワークについては、図3を参照して後述する。
The
検証装置64はさらに、意味的ネットワーク作成装置102が作成する矛盾ネットワーク及び支持ネットワークをそれぞれ記憶するための矛盾ネットワーク記憶部104及び支持ネットワーク記憶部106と、矛盾ネットワーク記憶部104に記憶された矛盾ネットワーク及び支持ネットワーク記憶部106に記憶された支持ネットワークの各々に対して所定の計算方法によりスコアを計算することにより、処理対象のテキストがウェブ上のテキストにより支持されているか、ウェブ上のテキストと矛盾しているかを判定するための支持・矛盾判定部107と、支持・矛盾判定部107による判定結果に従って、処理対象のテキストをそのまま維持する処理と、処理対象のテキストに対して必要な編集を行う処理とを選択的に実行して出力するためのテキスト編集装置108とを含む。矛盾ネットワーク記憶部104及び支持ネットワーク記憶部106は、同じ記憶装置内に設けられてもよいし、互いに異なる記憶装置内に設けられてもよい。またこれら記憶装置は、意味的ネットワーク作成装置102と別の装置内に設けられてもよいし、同じ装置内に設けられてもよい。なお、この実施形態においては、処理対象のテキストがウェブ上のテキストにより支持されていると判定されたときに、処理対象のテキストについてはそのまま維持している。しかし、この発明はそのような実施形態には限定されない。そうしたテキストについても編集を行ってもよい。例えば、処理対象のテキストに青などの下線を引き、収集された支持テキストの集合のうち、処理対象のテキストを支持するテキストとして最もスコアの高いウェブ上の文書へのリンクを付与するようにしてもよい。なお、この実施形態のように何もしない場合も、一つの「編集処理」と考えることができる。
The
意味的ネットワーク作成装置102は、大規模言語モデル62の出力する自然言語のテキストを記憶するためのテキスト記憶部130と、テキスト記憶部130に記憶されたテキストのうち、処理対象のテキストを選択して順に出力するためのテキスト選択部132と、テキスト選択部132により選択された処理対象のテキストを使用して、それぞれ支持ネットワーク及び矛盾ネットワークを作成するため支持ネットワーク作成部134及び矛盾ネットワーク作成部136とを含む。
The semantic
テキスト選択部132は、この実施形態においては、テキスト記憶部130に記憶されているテキストを文単位に分解し、さらに、各テキストに対して所定のルールを適用することにより、必要ならばその文をより小さなテキストに分解し、支持ネットワーク作成部134及び矛盾ネットワーク作成部136の各々に順に入力する機能を持つ。もちろん、テキスト選択部132としては、ルールベースでテキストを分解するだけではなく、学習済の機械学習モデルを用いて、入力されたテキストを複数のテキストに分解するようにしてもよい。
In this embodiment, the
1.2.1 支持ネットワーク作成部134
図2を参照して、支持ネットワーク作成部134は、テキスト選択部132から処理対象のテキストを受取り、そのテキストの内容を支持する記載をウェブから収集し、支持テキストの候補として出力する処理を、再帰的に実行するための再帰的支持テキスト収集部180を含む。ここで、「テキストの内容を支持する記載をウェブから収集する処理を、再帰的に実行する」ことの意味については後述する。
1.2.1 Support
2, support
支持ネットワーク作成部134はさらに、再帰的支持テキスト収集部180により収集された支持テキストの各候補が、処理対象のテキストを適切に支持するものか否かを検証するための支持テキスト検証部182と、支持テキスト検証部182が支持テキストの候補の検証を行う際に使用する、予め学習済の機械学習モデルである支持テキスト検証用モデル184と、支持テキスト検証部182により適切と判定された支持テキストの候補を、支持テキストからなる意味的ネットワークに新たなノードとして追加するための意味的ネットワーク追加部186とを含む。
The support
図3を参照して、この実施形態において、支持ネットワーク300とは、処理対象のテキストをルートノード310、処理の途中で得られた支持テキストをノード、ある支持テキストから次の支持テキストが得られた場合、これら支持テキストのノードを互いに結ぶ線をエッジとするネットワーク(グラフ)のことをいう。この場合、各エッジは、親ノード(ルートに近いノード)から子ノード(ルートから遠いノード)へのエッジに対応すると考えることができる。同じ質問に対して回答が複数ある場合には、それらを別ノードとし、エッジも別々のものとすればよい。ある支持テキストから次の支持テキストを得る処理は、既に説明したように再帰的に行われるが、その詳細については後述する。
Referring to FIG. 3, in this embodiment, the
再帰的支持テキスト収集部180は、入力されたテキストから、そのテキストを支持するような回答が期待できる質問(「支持特定質問」と呼ぶ。)を生成するための支持質問生成部210と、支持質問生成部210により生成された質問の各々をウェブベース質問応答システム66(図1)に入力することにより、ウェブベース質問応答システム66から各質問に対する1又は複数の回答を出力させるための質問発行部212と、ウェブベース質問応答システム66が出力する1又は複数の回答を受信し、元になった質問を特定する情報とともに支持テキスト検証部182に出力するための回答受信部214とを含む。なお、支持テキスト検証部182により適切な支持テキストと検証されたテキストは支持質問生成部210にも与えられる。
The recursive supporting
支持質問生成部210は、処理対象のテキスト選択部132から与えられたテキストに基づいて質問を生成するだけではなく、再帰的支持テキスト収集部180により得られた質問であって、支持テキスト検証部182により選択されたテキストの入力を受け、そのテキストからも質問を生成する。支持質問生成部210はまた、処理対象のテキストから得られた質問の回答に基づいて得られたテキストについてもさらに質問を生成する。このように、再帰的支持テキスト収集部180は、処理対象のテキストだけではなく、処理対象のテキストを支持するテキストについても、その支持テキストを支持するテキストを収集し、さらにそのテキストを支持するテキストを集める、というように動作する。すなわち、再帰的支持テキスト収集部180の動作は再帰的である。
The supporting
支持質問生成部210による質問の生成は以下のように行われる。支持質問生成部210には、最初に処理対象のテキストが入力される。支持質問生成部210は、この処理対象のテキストに対して、所定のルールを適用して1又は複数個の質問を生成する。この実施形態においては、所定のルールには、処理対象のテキストが肯定文なら肯定形の質問となるように、否定文なら否定形の質問文となるようにする、という制約が課される。
Questions are generated by the supporting
ここで生成される質問としては、例えば何型質問、YES/NO型質問、なぜ型質問、どのようにして型質問などがある。 The questions that are generated here include, for example, what type questions, yes/no type questions, why type questions, how type questions, etc.
例えば、処理対象のテキストが「地球温暖化対策で自動車をどのように変えたらいいかというと、電気自動車にするのがいい」というものだったとする。 For example, suppose the text to be processed is, "If we want to change our cars to combat global warming, we should make them electric cars."
何型質問とは、例えば「地球温暖化対策で自動車を何にするのがいい?」というように「何」を聞く質問のことをいう。この質問は、もとのテキストの内容に関する情報又はその代替となる情報がウェブ上にあるかを確認する質問である。 A "what" type question is one that asks "what," such as "What type of car should we get to combat global warming?" This type of question is used to check whether information about the content of the original text or alternative information is available on the Web.
YES/NO型質問とは、例えば、「地球温暖化対策で自動車をどのように変えたらいいかというと、電気自動車にするのがいいか?」というように、YES又はNOで回答できる質問のことをいう。この質問は、処理対象のテキストの内容と合致する情報、すなわち処理対象のテキストの内容の根拠となる情報がウェブ上にあるか否かを確認するための質問である。またこの質問は、見方を変えれば、処理対象のテキストの内容と矛盾する情報がウェブ上にあるか否かを確認するための質問であるということもできる。 A YES/NO question is one that can be answered with a YES or NO, such as, "If we want to change our cars to combat global warming, should we switch to electric cars?" This question is asked to check whether there is information on the web that matches the content of the text to be processed, that is, 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 that checks whether there is information on the web that contradicts the content of the text to be processed.
なぜ型質問とは、例えば、「地球温暖化対策で自動車を変えるとすると、電気自動車にするのがいいのはなぜなのか?」というように、理由を聞く質問のことをいう。この質問は、ウェブ上に処理対象のテキストの根拠があるか否かを確認する質問である。 A why-type question is one that asks for a reason, such as, "If you were to change your car to combat global warming, why would an electric car be a good choice?" This question is used to check whether there is evidence of the text being processed on the web.
どのようにして型質問とは、例えば、「地球温暖化対策で自動車をどのように電気自動車に変えるのがいい?」又は「地球温暖化対策で自動車を電気自動車にするとどうなる?」のような質問である。こうした質問は、処理対象のテキストにより表される事象の経緯又はその後の展開に関する情報をウェブ上において探し、その内容を確認するための質問である。こうした情報がウェブ上にあれば、その内容が望ましいものか否かについて判定ができる。この判定には、自然言語処理のためのモデルを用いることができる。さらに、内容が誰にとって望ましいのかについても同様にモデルを用いて判定できる。 Examples of how-type questions are questions such as "How should we change our cars to electric vehicles to combat global warming?" or "What would happen if we changed our cars to electric vehicles to combat global warming?" These types of questions are used to search the web for information about the history or subsequent developments of the event represented by the text being processed, and to confirm that content. 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 for whom the content is desirable.
質問のタイプとしては、これら以外にも様々なものが可能である。ただし、この実施形態においては、支持質問生成部210により質問を生成する際のルールとしては、処理対象のテキストの内容と矛盾するものであってはならないことを前提としている。
There are many other possible types of questions. However, in this embodiment, the rule for generating questions by the supporting
なお、何型質問の場合には、処理対象のテキストと合致する情報とあわせて、他の選択肢に相当する情報が得られる場合がある。例えば「電気自動車」とともに「ハイブリッド自動車」のような情報が得られる場合がある。そうした場合には、処理対象のテキストの後ろに、例えば「(ハイブリッド自動車がよいという意見もあります。)」のようなテキストを追加するような処理も可能である。 In the case of a "what" type question, information corresponding to other options may be obtained along with information that matches the text being processed. For example, information such as "hybrid car" may be obtained along with "electric car." In such a case, it is possible to process the text being processed by adding text such as "(Some people also think that hybrid cars are better.)" after the text being processed.
1.2.2 矛盾ネットワーク作成部136
図4を参照して、矛盾ネットワーク作成部136は、テキスト選択部132から受けた処理対象のテキストを否定形に変換する否定形生成部350と、否定形生成部350から、否定形に変換された処理対象のテキストを受取り、そのテキストの内容を支持する記載、すなわち元の処理対象の内容と矛盾する記載をウェブから収集し、矛盾テキストの候補として出力する処理を、再帰的に実行するための再帰的矛盾テキスト収集部352を含む。ここで、「テキストの内容と矛盾する記載をウェブから収集する処理を、再帰的に実行する」ことの意味については、支持質問生成部210に対して説明したものと同様である。ただし、元になる処理対象のテキストが否定形に変換されているため、そのテキストから得られた質問文に対する回答として収集されるテキストは、元の処理対象テキストと矛盾するテキスト(矛盾テキスト)となる点が支持質問生成部210と異なる。すなわち、否定形生成部350が生成する否定形の質問文は、処理対象のテキストと矛盾する矛盾テキストを特定するための質問(矛盾特定質問)と呼んでもよい。もちろん、矛盾テキストを収集するための質問としてはこれ以外の質問を利用することもできる。例えば、処理対象テキストに出現する特定の名詞、名詞句又は動詞を、その名詞、名詞句又は動詞と反対の意味を持つ名詞、名詞句又は動詞に変えることにより矛盾特定質問を生成してもよい。たとえば「~は無駄だ。」という表現と「~は有用だ。」という表現のような組み合わせ、必ずしも反対語ではないが「減少する。」と「増える。」など、互いに逆の意味として言い換えできるようなものを用いてもよい。
1.2.2 Contradiction
4, the contradiction
矛盾ネットワーク作成部136はさらに、再帰的矛盾テキスト収集部352により収集された矛盾テキストの各候補が、処理対象のテキストと矛盾するものとして適切か否かを検証するための矛盾テキスト検証部354と、矛盾テキスト検証部354が矛盾テキストの候補の検証を行う際に使用する、予め学習済の機械学習モデルである矛盾テキスト検証用モデル356と、矛盾テキスト検証部354により適切と判定された矛盾テキストの候補を、矛盾テキストからなる意味的ネットワークに新たなノードとして追加するための意味的ネットワーク追加部358とを含む。
The contradiction
再帰的矛盾テキスト収集部352は、入力されたテキストから、処理対象のテキストと矛盾する回答が期待される質問(矛盾特定質問)を生成するための矛盾質問生成部370と、矛盾質問生成部370により生成された質問の各々をウェブベース質問応答システム66(図1)に入力することにより、ウェブベース質問応答システム66から各質問に対する1又は複数の回答を出力させるための質問発行部372と、ウェブベース質問応答システム66が出力する1又は複数の回答を受信し、元になった質問を特定する情報とともに矛盾テキスト検証部354に出力するための回答受信部374とを含む。なお、矛盾テキスト検証部354により適切な矛盾テキストであると検証されたテキストは、矛盾質問生成部370にも与えられる。矛盾特定質問は、例えば、入力されたテキストを否定形にした上で質問に変形することにより得られる。
The recursive contradictory
矛盾質問生成部370は、否定形生成部350から与えられたテキストに基づいて質問を生成するだけではなく、再帰的矛盾テキスト収集部352により得られた質問であって矛盾テキスト検証部354により選択されたテキストからも質問を生成する。矛盾質問生成部370は、さらに、処理対象のテキストを否定形に変換したテキストから得られた質問の回答に基づいて再帰的テキスト収集部800により得られたテキストについても、さらに質問を生成する。再帰的矛盾テキスト収集部352は、こうした処理を繰り返す。すなわち、再帰的矛盾テキスト収集部352の動作も再帰的である。
The
なお、矛盾ネットワーク作成部136において、処理対象となるテキストが否定形に変換される。再帰的矛盾テキスト収集部352における処理と、矛盾テキスト検証部354、矛盾テキスト検証用モデル356、及び意味的ネットワーク追加部358による処理は、実質的に、それぞれ、図2に示す再帰的支持テキスト収集部180、支持テキスト検証部182及び意味的ネットワーク追加部186と同じだが、最初の入力が否定形に変換されているため、矛盾ネットワーク作成部136により得られるテキストはいずれも矛盾テキストとなる。
The text to be processed is converted to a negative form in the contradiction
矛盾質問生成部370による質問の生成は、図2に示す支持質問生成部210によるものと実質的に同じである。
The generation of questions by the
例えば、処理対象のテキストが「地球温暖化対策で自動車をどのように変えたらいいかというと、電気自動車にするのがいい」というものだったとする。否定形生成部350により、この質問が「地球温暖化対策で自動車をどのように変えたらいいかというと、電気自動車にするのはよくない」となる。
For example, suppose the text to be processed is, "When it comes to how cars should be changed to combat global warming, electric cars are a good idea." The negative
これに対する何型質問とは、例えば「地球温暖化対策で自動車を何にするのがよくない?」というように「何」を聞く質問のことをいう。この質問は、もとのテキストの内容を否定する情報又はその代替となる情報がウェブ上にあるかを確認する質問となる。 A "what" type question is one that asks "what," such as "What kind of car would be a good way 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 alternative information.
矛盾テキストに関するYES/NO型質問とは、例えば、「地球温暖化対策で自動車を電気自動車にするのはよくないか?」となる。処理対象のテキストを否定した内容と合致する情報がウェブ上にあるか否かを確認するための質問である。 An example of a yes/no question about contradictory text is, "Isn't it a good idea to switch to electric cars as a measure against global warming?" This is a question to check whether there is information on the web that matches the negation of the text being processed.
なぜ型質問は、例えば、「地球温暖化対策で自動車を変えるとすると、電気自動車にするのがよくないのはなぜなのか?」となる。この質問は、ウェブ上に処理対象のテキストを否定する根拠があるか否かを確認する質問である。 An example of a why-type question would be, "If we were to change our car to combat global warming, why would it be bad to switch to an electric car?" This question is used to check whether there is evidence on the web that denies the text being processed.
どのようにして型質問とは、例えば、「地球温暖化対策で自動車をどのようにして電気自動車に変えない?」又は「地球温暖化対策で自動車を電気自動車にしないとどうなる?」のような質問となる。こうした質問は、処理対象のテキストを否定する事象の経緯又はその後の展開に関する情報がウェブ上にあるか否かを確認する質問である。こうした情報がウェブ上にあれば、処理対象のテキストを否定した内容が事実である可能性が高い。 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 types of questions are used to check whether there is information on the Web about the history or subsequent developments of an event that negates the text being processed. If such information is available on the Web, then there is a high possibility that the content that negates the text being processed is a fact.
質問のタイプとしては、これら以外にも様々なものが可能である。ただし、図2の支持質問生成部210とは異なり、矛盾質問生成部370により質問を生成する際のルールは、処理対象のテキストの内容と矛盾するような回答を得るための質問を生成するものでなければならない。別の言い方をすれば、矛盾質問生成部370により質問を生成する際のルールは、処理対象のテキストと矛盾した内容と整合する質問を生成するようなものでなければならない。
There are many other possible types of questions. However, unlike the supporting
なお、支持ネットワーク作成部134による再帰的な支持テキストの収集処理、及び再帰的矛盾テキスト収集部352による再帰的な矛盾テキストの収集処理は、適切な終了条件が充足された時点で終了させる必要がある。終了条件としては、例えば、テキストの生成を開始してから生成されたテキスト又はその候補の数が上限に達したとき、という条件が可能である。又は、テキストの生成を開始してから生成された質問の数が上限に達したとき、という条件も終了条件として可能である。他には、生成されたテキストの数と質問の数との和が上限に達したとき、という条件も可能である。
The recursive support text collection process by the support
また、支持質問及び否定質問の生成時に、1つの入力対象のテキストについて生成される質問の数に上限を設けたり、1つの質問に対して得られる回答(支持テキストの候補又は矛盾テキストの候補)の数に上限を設けたりしてもよい。さらに、1つの質問に対して得られる回答については、一定のスコア(信頼度)以上のものに限定してもよい。 When generating supporting and negative questions, an upper limit may be placed on the number of questions that can be generated for one input text, or on the number of answers (candidate supporting text or candidate contradictory text) 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) or higher.
質問の生成は、支持ネットワーク300により示されるような意味的ネットワークを生成しながら行われる。この際、ネットワークを生成する順序として、深さ方向優先と幅方向優先との双方が可能である。深さ方向優先の場合には、一定の深さ(層)に達した時点でその先の探索をやめてバックトラックさせることが望ましい。また幅方向優先の場合には、一定の深さ(層)に達した時点において、又は一定以上のスコアが得られなかった時点において、ネットワークの生成自体を終了させるようにしてもよい。
Questions are generated while generating a semantic network such as that shown by the
1.2.3 支持・矛盾判定部107及びテキスト編集装置108
図1に示す支持・矛盾判定部107及びテキスト編集装置108をコンピュータにより実現するためのプログラムの制御構造を図5に示す。図5を参照して、このプログラムは、支持ネットワークと矛盾ネットワークとの双方の生成が完了した後に実行される。このプログラムは、支持ネットワークに付与されるスコアSpと、矛盾ネットワークに付与されるスコアSnとを算出するステップ400と、ステップ400において算出されたスコアSp及びSnにより、処理対象のテキストの内容の信頼度を算出するステップ402とを含む。
1.2.3 Support/Contradiction Determination Unit 107 and
Fig. 5 shows a control structure of a program for implementing the support/contradiction determination unit 107 and the
スコアSp及びSnの算出方法としては様々なものが考えられる。例えば、以下のようなものが考えられる。 There are various possible methods for calculating the scores Sp and Sn. For example, the following methods are possible:
A)得られたテキスト(支持テキスト又は矛盾テキスト)、すなわちノードの数の総和
B)意味的ネットワークの生成途中において生成された質問(すなわちエッジ)の数の総和
C)ノードの数とエッジの数との総和
D)各支持テキストに付与されるスコアの総和と、各矛盾テキストに付与されるスコアの総和(各テキストのスコアとしては、支持テキストについて支持テキスト検証用モデル184により出力されたスコアを用いることができる。矛盾テキストについても同様。各テキストのスコアとして定数を割り当てることもできる。この定数を「1」とすると、上記C)と同様となる。)
E)上記した種々の総和の算出において、各ノードとルートノードとの距離(距離としては、例えば各ノードとルートノードとの間に介在するエッジの数、また各ノードとルートノードとの間に介在するノードの数などを用いることができる。)が大きくなるに従って小さくなるような重みを、各ノードのスコアに乗じて得た値
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
E) In the calculation of the various sums described above, 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, etc. can be used as the distance) is multiplied by the score of each node.
なお、上記実施形態においては、支持ネットワーク作成部134は支持テキストのみを、矛盾ネットワーク作成部136は矛盾テキストのみを収集している。しかし、この発明はそのような実施形態には限定されない。各意味的ネットワークに属する各テキストのスコアを計算するにあたり、例えば支持ネットワークの構築の際に、「支持テキストの一部と矛盾する」テキストが見つかる場合もある。そうした場合は支持ネットワークの有効性が減少することになる。「矛盾テキスト」に関しても、その矛盾テキストに関する矛盾特定質問等によって、それと矛盾するテキストが見つかった場合には、同様に、矛盾ネットワークの有効性が減少することになる。こうした矛盾の関係は再帰的に続けることができる。その過程において、矛盾の矛盾は、結局、ネットワークの有効性を増やす方向に働く。また、「矛盾の矛盾の矛盾」はネットワークの有効性を減らす方向に働く。スコアSp及びSnの計算においてはこれらの事情を考慮することが望ましい。
In the above embodiment, the support
こうしたことから、支持ネットワーク、矛盾ネットワークのスコアの計算については、二通りの処理を行うと好ましい。 For this reason, it is preferable to use two different processes to calculate the scores of the support network and contradiction network.
第1は、これら各意味的ネットワークの中の各テキストに関する矛盾テキストもその意味的ネットワークの構成要素に含まれると考えることである。この場合、その意味的ネットワークのスコアについては、そのテキストのスコアに応じて減じることが合理的である。 The first is to consider that the contradictory texts for each text in each of these semantic networks are also included as components of that semantic network. In this case, it is reasonable to reduce the score of the semantic network according to the score of that text.
第2は、上記したようなテキストを、他方の意味的ネットワークの中に移動する、という考え方である。この場合には、例えば各意味的ネットワークに属するテキストのスコアに適切な重みを乗じたものの総和をその意味的ネットワークのスコアとするような操作が合理的である。なお、例えば支持ネットワーク構築の際に見つかった矛盾テキストは、矛盾ネットワーク内の任意のノードの子ノードとして追加すればよい。ただし、例えばルートノードの直下に追加する、そのテキストが見つかった階層と同じ階層(又は一つ上の改装)の任意のノードの子ノードとして追加する、など、一定の方針に従ってノードの移動を行うことが望ましい。 The second is the idea of moving the text mentioned above into the other semantic network. In this case, it is reasonable to operate it so that the score of the semantic network is the sum of the scores of the text belonging to each semantic network multiplied by an appropriate weight. Incident text found, for example, when constructing 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 under the root node, or adding it as a child node of any node at the same level (or one level above) as the level where the text was found.
第1の場合も第2の場合も、考え方としては同じである。すなわち、各意味的ネットワークの有効性を示すスコアは、おおむねそのサイズにより決定される。しかし、ネットワーク内に、その意味的ネットワークの意味(支持/矛盾)に反する意味を持つテキストがあった場合には、そのスコアは、そのテキストに応じた値だけ減じられるようにするということである。 In both the first and second cases, the idea is the same: the score indicating the effectiveness of each semantic network is determined largely by its size. However, if there is text in the network whose meaning contradicts the meaning of the semantic network (supporting/contradicting), the score is reduced by an amount corresponding to that text.
加えて、再帰的にこうした操作を繰り返すと、得られるテキストとオリジナルの文章の真偽との間の関係が薄くなっていくと考えられる。したがって、上記したとおり、再帰の段数に従って、ネットワークの有効性への影響は減らしていくことが望ましい。こうした点も考慮すると、各意味的ネットワークのスコアについては、サイズを基本としつつ、再帰的に特定される矛盾テキストの存在と、そこに至るまでの再帰の段数等を考慮した加減算等を行って計算することが望ましい。 In addition, it is believed that when these operations are repeated recursively, the relationship between the obtained text and the truth of the original sentence becomes weaker. Therefore, as mentioned above, it is desirable to reduce the impact on the effectiveness of the network according to the number of recursive stages. Taking this into consideration, it is desirable to calculate the score of each semantic network based on its size, while also performing additions and subtractions that take into account the presence of contradictory text identified recursively and the number of recursive stages leading up to that point.
支持・矛盾判定部107による判定において、最も単純なのは、支持ネットワークと矛盾ネットワークとのうち、スコアの大きな方を採用する、というルールに従うことである。例えばSp>Snであれば、処理対象のテキストの内容には信頼がおける、と判断し、Sp<Snであれば処理対象のテキストの内容には信頼がおけない、と判断すればよい。すなわち、SpとSnとの和に対するSpの割合を信頼度とする。そして、Sp>1/2なら対象テキストは信頼できると判定し、Sp<1/2なら信頼できないと判定する。 The simplest method for the support/contradiction determination unit 107 to make a judgment 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 determined that the content of the text to be processed is reliable, and if Sp<Sn, it is determined 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. If Sp>1/2, the target text is determined to be reliable, and if Sp<1/2, it is determined to be unreliable.
この実施形態においては、信頼度の計算は上記したとおりの信頼度を使用する。しかし、この信頼度と比較される対象として、この実施形態においては、例えば1/2より大きな第1しきい値と、1/2より小さな第2しきい値とを設ける。すなわち、図5を参照して、このプログラムはさらに、信頼度が第1しきい値より大きいか否かに従って制御の流れを分岐させるステップ404と、ステップ404における判定が肯定的なときに、処理対象のテキストを信頼できるものとし、支持ネットワークのノードの中で最もスコアが高かったノードに対応するテキスト(及びそのテキスト又はそのテキストを含むパッセージのURL(Uniform Resource Locator))を、その処理対象のテキストの根拠を示すものとして文書内のその処理対象のテキスト部分に注釈又はリンクなどの形で埋めこむよう文書を編集するステップ406とを含む。なお、ステップ406においては、特に文書を変更しないようにしてもよい(変更しないことも「編集」の一種である。)。又は、その部分に信頼がおけることを示すように、処理対象のテキスト部分を太字で示したり、緑の下線を引いたりする編集を行ってもよい。
In this embodiment, the reliability is calculated using the reliability as described above. However, in this embodiment, for example, a first threshold value larger than 1/2 and a second threshold value smaller than 1/2 are set as targets to be compared with the reliability. That is, referring to FIG. 5, the program further includes
なお、ステップ404の判定は上記したものに限らない。例えば、スコアSpの値が所定のしきい値を超えているときには、スコアSnの値にかかわらず、ステップ404の判定が肯定となるようにしてもよい。逆に、スコアSnの値が所定のしきい値を超えているときには、スコアSpの値にかかわらず、ステップ404の判定が否定となるようにしてもよい。さらに、両者ともその値がしきい値を超えているときには、値が大きな方を採用するようにしてもよい。スコアSp及びSnによる判定については、これ以外にも様々な方法が考えられる。
The judgment in
このプログラムはさらに、ステップ404における判定が否定的な時に、信頼度が第2しきい値より小さいか否かに従って制御の流れを分岐させるステップ408と、ステップ408における判定が肯定的なときに、矛盾テキストの中で最もスコアが高かったものを用いて、処理対象のテキストの少なくとも一部を削除し、削除された部分、又はそのほか、もとの文の文型から定まる適切な箇所に、矛盾テキストの内容に従った代替テキストを追加することにより、処理対象のテキストを変更するステップ410と、ステップ408における判定が否定的なときに、処理対象のテキスト部分に、その部分は信頼がおけるともおけないとも判断できないことを示すような、何らかの編集を行うステップ412とを含む。ステップ412における編集としては、例えば、該当する文字列は変更せず、その部分に赤い下線を引いたりすることが考えられる。場合によっては、該当する文字列は変更せずに、その後にかっこ書きで矛盾テキストの中で最もスコアの高かったテキストを引用し、「(この部分については、…(引用部分)…のような意見もある。)」というような文字列を追加してもよい。
This program further includes
このプログラムはさらに、ステップ404における判定が肯定的でかつステップ406の処理が完了した後、又は、ステップ404における判定が否定的で、かつステップ408における判定の結果、ステップ410又はステップ412の処理が完了した後に実行され、編集後のテキストにより、テキスト記憶部130に記憶されているテキストを更新するステップ414と、テキスト記憶部130に記憶されているテキストのうち、編集箇所の次のテキストを処理対象として選択し、上記した処理を開始するようにテキスト選択部132(図1を参照)に指示した後、現在の処理対象のテキストに対する処理を終了するステップ416とを含む。
This program further includes
図6は、例えば図1に示すテキスト編集装置108のうち、図5に示すステップ410において使用される代替テキストを生成する処理を実現するテキスト生成装置420の構成の1例を示す。図6を参照して、テキスト生成装置420は、テキスト記憶部130に記憶されている原テキスト、及び矛盾テキストなどを含む入力430に応答して、原テキストの一部を削除し、所定位置に矛盾テキストを挿入する編集を行って出力するためのテキスト交換部432を含む。
Figure 6 shows an example of the configuration of a
テキスト交換部432への入力430は、テキスト記憶部130に記憶されている原テキストを含む。この原テキストのうち、処理対象のテキストの開始位置及び終了位置のトークンにはそれぞれラベルが付されている。入力430はさらに、編集の際に使用される矛盾テキストを含む。この矛盾テキストは、矛盾ネットワークの第1層に含まれる矛盾テキストのうち、最もスコアが高いものである。入力430はさらに、この矛盾テキストが得られたときの質問の種類を示す情報を含む。
The
テキスト交換部432は、この実施形態においては、テキスト交換用モデル436を使用してこの処理を行う。テキスト交換用モデル436への入力434は、原テキストのうち、処理対象のテキストと、その前後の所定長(例えば前後1文ずつ)のテキストと、交換されるテキストの元になる矛盾テキストとである。テキスト交換用モデル436は、入力されたテキストのうち、処理対象のテキストの一部を、矛盾テキスト又は矛盾テキストの一部により置き換えて交換後テキスト438として出力する機能を持つ。テキスト交換用モデル436は、処理対象のどの部分を矛盾テキストのどの部分により置換するか、及び、置換される部分の前後をどのように修正すべきかについて、質問の種類により決めるように予め訓練されている。テキスト交換用モデル436による交換の態様は、質問の種類により異なる。
In this embodiment, the
テキスト生成装置420はさらに、大規模言語モデル446と、テキスト交換部432が出力する編集後のテキスト440と、そのテキストの基礎となった質問の種類を示す情報442とに基づき、大規模言語モデル446への入力となるプロンプトを作成し、大規模言語モデル446に入力するためのプロンプト作成部444と、大規模言語モデル446の出力するテキスト448を、テキスト交換部432から出力される編集後のテキスト440の末尾に追加することによりテキストを統合し、テキスト記憶部130に記憶されている原テキストを新たなテキストにより置換し、編集後テキスト452として出力する処理を行うためのテキスト統合部450とを含む。テキスト統合部450はまた、図1に示すように、テキスト選択部132に対して、新たなテキストにおいて、編集箇所の直後から処理を続行するように指示を行う。テキスト選択部132によって選択されるテキストが終了すれば、大規模言語モデル62の出力するテキストに対する検証処理が終了する。なお、処理対象のテキストがテキスト記憶部130に記憶されているテキストの末尾に近づいた場合には、大規模言語モデル446から出力されるテキストの長さを制限することにより、終了時期を早めるようにしてもよい。
The
2 動作
上記第1実施形態に係る対話システム50は以下のように動作する。ユーザがテキスト入力装置60を用いて大規模言語モデル62にプロンプトを入力することにより、大規模言語モデル62はテキストを出力する。このテキストは原テキストとしてテキスト記憶部130に記憶される。
2 Operation The
テキスト選択部132は、テキスト記憶部130の先頭の文を選択し、必要ならさらにこの文を処理対象のテキストからなる部分に分割して、その先頭部分を処理対象のテキストとして支持ネットワーク作成部134及び矛盾ネットワーク作成部136に入力する。
The
支持ネットワーク作成部134の支持質問生成部210(図2)は、入力された処理対象のテキストに基づいて、支持テキストを得るための1又は複数の質問を生成する。質問発行部212がそれらの質問をウェブベース質問応答システム66に与える。ウェブベース質問応答システム66は、与えられた各質問に対する1又は複数の回答をインターネット68において検索し、支持ネットワーク作成部134の回答受信部214に与える。回答受信部214は、ウェブベース質問応答システム66から受信した回答と、質問発行部212が質問を生成する基礎としたテキスト(処理対象のテキスト又は支持テキスト)とを支持テキスト検証用モデル184に入力し、ウェブベース質問応答システム66から得られた回答が、その基礎となったテキストの内容を支持するものか否かを判定する。回答受信部214は、得られた回答が、基礎となったテキストを支持する(根拠となる)ものである場合には、その回答を採用し意味的ネットワーク追加部186に与え、そうでない場合にはその回答を破棄する。
The supporting question generator 210 (FIG. 2) of the
支持ネットワーク作成部134の支持質問生成部210はさらに、ウェブベース質問応答システム66から得られた回答のうち、支持テキスト検証部182により採用された回答の各々についてさらに上記した方法を繰り返し、それぞれ回答を得て、その基礎となる支持テキストを支持するテキストを採用する。このように支持ネットワーク作成部134は、最初の入力に対する支持テキストを求め、さらにその支持テキストに対する支持テキストを求め、さらにその支持テキストを支持する支持テキストを求める、というように再帰的な処理を行う。支持ネットワーク作成部134の意味的ネットワーク追加部186は、取得した支持テキストにより支持ネットワークを作成し、支持ネットワーク記憶部106に格納する。支持ネットワーク作成部134は、得られた支持テキストの総数が上限に達した時点においてこの処理を終了する。
The supporting
矛盾ネットワーク作成部136は、入力された処理対象のテキストを否定形に変形した後、支持ネットワーク作成部134と同様に、その質問に対する1又は複数の回答をウェブベース質問応答システム66から得ることにより、入力された処理対象のテキストを否定形に変形したテキストを支持する(処理対象のテキストと矛盾する)矛盾テキストを収集する。矛盾ネットワーク作成部136はさらに、収集された矛盾テキストを使用して、ウェブベース質問応答システム66から矛盾テキストを得る処理を再帰的に実行する。矛盾ネットワーク作成部136は、得られた矛盾テキストの総数が上限に達した時点において矛盾テキストの収集を終了する。矛盾ネットワーク作成部136は、収集された矛盾テキストを用いて矛盾ネットワークを生成し、矛盾ネットワーク記憶部104に格納する。
The contradiction
図5を参照して、図1に示すテキスト編集装置108は、得られた支持ネットワークのスコアSpと矛盾ネットワークのスコアSnとを算出する(ステップ400)。テキスト編集装置108はSpとSnとから、処理対象のテキストの信頼度を算出する(ステップ402)。信頼度が第1しきい値より大きければ、テキスト編集装置108は基本的に、入力された処理対象のテキストを維持し、根拠として最もスコアの高い支持テキストを与えた回答(又はその回答を含むパッセージ)への参照(リンク)を埋め込んで出力する。この参照の埋め込みは必ずしも必要ではない。この埋め込みに替えて、又は埋め込みに加えて、処理対象のテキストの後ろに、かっこ書きで、処理対象のテキストに記載された事物に対する代替事物に関するテキストに関する記載、又はそのテキストへの参照を埋め込んでもよい。なお、記載を変更せず維持することも「編集」の一種である。
Referring to FIG. 5, the
テキスト編集装置108は、この後、変更後のテキストにより、テキスト記憶部130に記憶された原テキストを置換する(ステップ414)。さらにテキスト編集装置108は、原テキストのうち、変更箇所の次の文又はその一部を処理対象のテキストとして次の処理を開始するようにテキスト選択部132に指示する(ステップ416)。
The
一方、ステップ404における判定が否定的なときには、テキスト編集装置108は、信頼度が第2しきい値より小さいか否かを判定する(ステップ408)。ステップ408における判定が肯定的なら、テキスト編集装置108は矛盾テキストのうち、最も高いスコアの矛盾テキストを用いて、処理対象のテキストを含む原テキストを変更する処理(図6のテキスト生成装置420による処理)を実行する。この後、制御はステップ414に進む。ステップ414以下の処理については既に説明したとおりである。
On the other hand, if the determination in
ステップ408における判定が否定的なときには、テキスト編集装置108は、処理対象となるテキストの箇所に、そのテキストの根拠が薄弱であることを示すアラート表示を注釈として追加するよう、原テキストを変更する。この後、制御はステップ414に進む。ステップ414以下の処理については既に説明したとおりである。なお、注釈にはさらに、そのテキストと矛盾するような矛盾テキストへの参照を埋めこむようにしてもよい。
If the determination in
こうして、テキスト記憶部130に保持されている原テキストに対する編集処理が処理対象のテキストを1箇所ずつ進めることにより行われる。最終的な原テキストのうち、さらに編集を行うことができる箇所がなくなった時点(又はそれ以外の所定の終了条件、例えば原テキストのうち未処理の部分が所定の文数以下となったとき、という条件が充足された時点)で処理は終了し、テキスト記憶部130に最終的に保存されているテキストが編集後のテキストとして出力される。
In this way, the editing process for the original text held in the
上記実施形態においては、大規模言語モデル62(図1)と大規模言語モデル446(図6)とは別個のものであることを想定している。しかしこの発明はそのような実施形態には限定されない。両者が同一であってもよい。また、大規模言語モデル62及び大規模言語モデル446の各々について、対話システム50の一部であってもよいし、対話システム50の外部の他の主体により提供されているサービスに含まれるものであってもよい。
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. However, the present invention is not limited to such an embodiment. The two may be the same. Furthermore, each of the large-
さらに、上記実施形態においては、図6に示すテキスト交換部432は機械学習モデルにより、原テキストを編集する。しかしこの発明はそのような実施形態には限定されない。ルールベースにより原テキストを編集するようにしてもよい。又は、原テキストの削除部分を特定する機械学習モデル、原テキストのうち、変更後のテキストの挿入箇所を特定する機械学習モデル、テキスト挿入後の前後のテキストの変更態様を特定する機械学習モデルなどを使用してもよい。また、各モデル又はルールを、支持テキスト又は矛盾テキストの基礎となった質問の種類により変更するようにしてもよい。
Furthermore, in the above embodiment, the
なお、図6に示す大規模言語モデル446がどのようなものかにより、プロンプト作成部444の機能は異なってくる。例えば、テキスト交換部432により変更されたテキストそのものを大規模言語モデル446に入力することにより、大規模言語モデル446がその続きのテキストを出力するように大規模言語モデル446の訓練を行ってもよい。又は、大規模言語モデル446からの出力を制御するために、何らかのキーワードをプロンプトの形で大規模言語モデル446に入力するようにしてもよい。
The function of the
上記した実施形態においては、大規模言語モデルの出力を、既存のテキストに根拠となる記載があるか否かに従ってそのまま維持したり、修正したりする。既存のテキストの大部分は人間により編集又は見直しされたものであると考えられる。したがって、大規模言語モデルの出力が、一見したときには自然に見えたとしても、上記実施形態のように既存のテキストに根拠が見いだせなかったり、矛盾する記載が見つかったりすれば、その出力が信頼できないものであると判定できる。また、上記実施形態のようにそうしたテキストを既存の根拠ある記載に基づいて編集することにより、大規模言語モデルの出力の信頼性を高めることができる。 In the above-described embodiment, the output of the large-scale language model is maintained as is or modified depending on whether or not there is a supporting description in the 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 supporting description can be found in the existing text or a contradictory description is found, as in the above-described embodiment, it can be determined that the output is unreliable. Furthermore, by editing such text based on existing supporting descriptions as in the above-described embodiment, the reliability of the output of the large-scale language model can be increased.
また、上記実施形態においては、テキストの信頼度を支持ネットワークと矛盾ネットワークとのスコアに基づいて算出しており、そのスコアは各ネットワークのサイズを基準としている。支持ネットワーク及び矛盾ネットワークは、それぞれかなりの数の支持テキスト又は矛盾テキストを含むことになる。しかも、支持テキスト及び矛盾テキストの大部分は、さらにその根拠となる支持テキスト及び矛盾テキストを持つ。したがって、支持ネットワーク及び矛盾ネットワークに含まれるテキストの数は大きく、しかもその範囲は広い。大規模言語モデルの出力の信頼度を既存のテキストに基づいて判定しようとする場合、その判定を誤らせるために、誤った情報、偽の情報をウェブに埋めこむという方法がある。しかし、そうした試みによりウェブに埋め込まれた情報であっても、支持ネットワーク及び矛盾ネットワークのように、多くのテキストに基づいて、かつ各テキストのさらに元となる根拠までネットワークとして収集する場合には、他の信頼できる情報と比較して、誤った情報、偽の情報の量は相対的に小さくなる。その結果、上記実施形態においてテキストが信頼できるかどうかについての判断が誤ったものになる可能性を小さくできる。 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 support texts or contradiction texts. Moreover, most of the support texts and contradiction texts further have support texts and contradiction texts that serve as their basis. Therefore, the number of texts contained in the support network and the contradiction network is large and the range is wide. When attempting to determine the reliability of the output of a large-scale language model based on existing texts, there is a method of embedding erroneous information and false information in the web in order to make the determination incorrect. However, even if the information embedded in the web by such an attempt is based on many texts and even the basis on which each text is based is collected as a network, as in the support network and the contradiction network, the amount of erroneous information and false information is relatively small compared to other reliable information. As a result, the possibility of an incorrect judgment on whether a text is reliable in the above embodiment can be reduced.
上記実施形態においては、テキストが信頼できるものであると判定されたときであっても、その根拠となる既存のテキスト又はそのテキストを含むパッセージへの参照をテキストに埋めこむことができる。そのため、ユーザは、編集後のテキストについてその根拠を容易に確認できる。その結果、ユーザは大規模言語モデルの出力を、信頼をもって利用でき、大規模言語モデルの有用性を高めることができる。 In the above embodiment, even when a text is determined to be reliable, a reference to an existing text on which the text is based or to a passage containing the text 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, and the usefulness of the large-scale language model can be increased.
なお、上記実施の形態において、質問に対する回答を得るために、ウェブベース質問応答システム66を使用している。しかし、この発明はそのような実施形態には限定されない。例えば、大規模言語モデル62のような言語モデルの場合、質問に対して回答を与えることも可能である。そうした回答が誤りである可能性は、ウェブベース質問応答システム66などのシステムと比較して高い。しかし、この実施形態のように、得られた回答について、さらにその根拠となる記載が確認できるウェブベース質問応答システム66を併用するのであれば、大規模言語モデルもウェブベース質問応答システム66のようなシステムに加えて使用することが可能である。たとえば、質問をウェブベース質問応答システム66と並行して大規模言語モデルにも与えるような実施形態が考えられる。
In the above embodiment, a web-based question-answering
上記した実施形態において使用する機械学習モデルの大部分は、自然言語を処理するためのものである。各モデルの学習には、上記実施形態における各モデルの機能(入力及び出力の組み合わせ)に応じた学習データを使用すればよい。 Most of the machine learning models used in the above-described embodiments are for processing natural language. To train each model, training data corresponding to the function (combination of input and output) of each model in the above-described embodiments may be used.
3 ハードウェア構成
図7は、例えば図1に示すこの発明の第1実施形態に関する対話システム50のうち、検証装置64を実現するコンピュータシステム600の外観図である。図8は、コンピュータシステム600のハードウェアブロック図である。以下、コンピュータシステム600のハードウェア構成を説明する。
3. Hardware Configuration Fig. 7 is an external view of a
図7を参照して、このコンピュータシステム600は、DVD(Digital Versatile Disc)ドライブ662を有するコンピュータ650と、いずれもコンピュータ650に接続された、ユーザと対話するためのキーボード654、マウス656、及びモニタ652とを含む。もちろんこれらはオペレータとの対話が必要となったときのための構成の一例であって、オペレータとの対話に利用できる一般のハードウェア及びソフトウェア(例えばタッチパネル、音声入力、ポインティングデバイス一般)であればどのようなものも利用できる。
Referring to FIG. 7, this
図7及び図8を参照して、コンピュータ650は、DVDドライブ662に加えて、CPU(Central Processing Unit)710と、GPU(Graphics Processing Unit)712と、CPU710、GPU712、及びDVDドライブ662に接続されたバス720とを含む。コンピュータ650はさらに、バス720に接続され、コンピュータ650のブートアッププログラムなどを記憶するROM(Read-Only Memory)714と、バス720に接続され、プログラムを構成する命令、システムプログラム、及び作業データなどを記憶するRAM(Random Access Memory)716と、バス720に接続された不揮発性メモリであるSSD(Solid State Drive)718とを含む。SSD718は、CPU710及びGPU712が実行するプログラム、並びにCPU710及びGPU712が実行するプログラムが使用するデータなどを記憶するためのものである。コンピュータ650はさらに、他端末との通信を可能とするネットワークへの接続を提供するネットワークI/F(Interface)726と、USB(Universal Serial Bus)メモリ702が着脱可能であり、USBメモリ702とコンピュータ650内の各部との通信を提供するUSBポート664とを含む。
7 and 8, the
コンピュータ650はさらに、マイクロフォン660及びスピーカ658とバス720とに接続され、CPU710により生成され、RAM716又はSSD718に保存された音声信号、映像信号及びテキストデータをCPU710の指示に従って読み出し、アナログ変換及び増幅処理をしてスピーカ658を駆動したり、マイクロフォン660からのアナログの音声信号をデジタル化し、RAM716又はSSD718の、CPU710により指定される任意のアドレスに保存したりする機能を持つ音声I/F722を含む。
The
上記実施形態においては、図1に示す検証装置64の各機能を実現するプログラムなどは、いずれも例えば図8に示すROM714、SSD718、DVD700又はUSBメモリ702、若しくはネットワークI/F726及びネットワーク704を介して接続された図示しない外部装置の記憶媒体などに格納される。典型的には、これらのデータ及びパラメータなどは、例えば外部からSSD718に書込まれ、コンピュータ650の実行時にはRAM716にロードされる。
In the above embodiment, the programs that realize the functions of the
このコンピュータシステム600を、図1に示す検証装置64の各構成要素の機能を実現するよう動作させるためのコンピュータプログラムは、DVDドライブ662に装着されるDVD700に記憶され、DVDドライブ662からSSD718に転送される。又は、これらのプログラムはUSBメモリ702に記憶され、USBメモリ702をUSBポート664に装着し、プログラムをSSD718に転送する。又は、このプログラムはネットワーク704を通じてコンピュータ650に送信されSSD718に記憶されてもよい。もちろん、キーボード654、モニタ652及びマウス656を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをSSD718に格納してもよい。
Computer programs for operating the
プログラムは実行のときにRAM716にロードされる。プログラムがスクリプト言語により記述されている場合には、オペレータがキーボード654などを用いて入力したスクリプトをSSD718に格納してもよい。仮想マシン上において動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ650にインストールしておく必要がある。図2に示す支持テキスト検証用モデル184、図4に示す矛盾テキスト検証用モデル356、図6に示すテキスト交換用モデル436及び大規模言語モデル446などには、ディープニューラルネットワークなどの機械学習モデルが使用される。コンピュータシステム600においては、他の装置において学習済の機械学習モデルを使用してもよいし、コンピュータシステム600を学習装置として使用して機械学習モデルの学習を行ってもよい。
The program is loaded into
CPU710は、その内部のプログラムカウンタと呼ばれるレジスタ(図示せず)により示されるアドレスに従ってRAM716からプログラムを読み出して命令を解釈する。CPU710は、命令の実行に必要なデータを命令により指定されるアドレスに従ってRAM716、SSD718又はそれ以外の機器から読み出して命令により指定される処理を実行する。CPU710は、実行結果のデータを、RAM716、SSD718、CPU710内のレジスタなど、プログラムにより指定されるアドレスに格納する。アドレスによっては、実行結果のデータは例えばネットワークI/F726を介してコンピュータから外部に出力される。出力先は、例えば図1に示すウェブベース質問応答システム66である。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、DVD700から、USBメモリ702から、又はネットワーク704を介して、RAM716に直接にロードしてもよい。なお、CPU710が実行するプログラムのうち、一部のタスク(主として数値計算)については、プログラムに含まれる命令により、又はCPU710による命令実行時の解析結果に従って、GPU712に対し発行される。
The
コンピュータ650により上記した実施形態に係る検証装置64(図1)の各部の機能を実現するプログラムは、それら機能を実現するようコンピュータ650を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ650上において動作するOS(Operating System)若しくはサードパーティのプログラム、コンピュータ650にインストールされる各種ツールキットのモジュール又はプログラムの実行環境により提供される場合もある。したがって、このプログラムはこの実施形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中において、所望の結果が得られるように制御されたやり方によって適切な機能又はモジュールなどをコンパイル時に静的にリンクすることにより、又は実行時に動的に呼出すことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ650の動作方法は周知である。したがって、この部分においてはコンピュータ650の動作方法の説明は繰り返さない。
The program for implementing the functions of each part of the verification device 64 (FIG. 1) according to the embodiment described above by the
なお、GPU712は並列処理を行うことが可能であり、機械学習及び推論に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中に発見された並列的計算要素、又はプログラムの実行時に発見された並列的計算要素は、随時、CPU710からGPU712にディスパッチされ、実行され、その結果が直接に、又はRAM716の所定アドレスを介してCPU710に返され、プログラム中の所定の変数に代入される。
The
第2実施形態
1 構成
図9を参照して、この第2実施形態に係る対話システム750は、テキスト入力装置60と、テキスト入力装置60の出力を受けて検証対象となるテキストを出力する大規模言語モデル62と、大規模言語モデル62の出力である応答文の内容を検証し、必要に応じて応答文を編集して出力するための検証装置760と、検証装置760が応答文の検証に使用するウェブベース質問応答システム66と、検証装置760が出力した編集後の応答文をユーザの入力に対する応答として出力するための出力装置70とを含む。
Second Embodiment 1. Configuration Referring to FIG. 9 , a
検証装置760は、大規模言語モデル62の出力する文内のテキストを順に選択し、処理対象のテキストに基づき、その処理対象に関する支持テキストと矛盾テキストとの双方を含む意味的ネットワークを作成するための意味的ネットワーク作成装置770と、意味的ネットワーク作成装置770が作成した意味的ネットワークを記憶するためのネットワーク記憶部772と、ネットワーク記憶部772に記憶された支持テキスト及び矛盾テキストに基づいて、処理対象のテキストが信頼できるものか否かを判定するための支持・矛盾判定部774と、支持・矛盾判定部774による判定結果にしたがって、必要であれば処理対象のテキストを編集して出力するためのテキスト編集装置108とを含む。
The
意味的ネットワーク作成装置770は、図1に示すものと同じテキスト記憶部130及びテキスト選択部132と、テキスト選択部132により選択された処理対象のテキストに基づいて1又は複数の質問を作成してウェブベース質問応答システム66に与えることにより、ウェブベース質問応答システム66の回答として出力されるウェブ上の文書のテキストを収集し、それらテキストに基づいて、支持テキスト及び矛盾テキストの双方を含む意味的ネットワークを作成しネットワーク記憶部772に格納するためのネットワーク作成部780とを含む。
The semantic
図10を参照して、図9に示すネットワーク作成部780は、テキスト選択部132により選択された処理対象のテキストを起点として質問を生成し、ウェブベース質問応答システム66を利用してその回答を得て、さらにその回答に基づいて新たな質問を生成して次の回答を得る、という再帰的な処理を行うことにより、多くの支持テキスト及び矛盾テキストを収集するための再帰的テキスト収集部800と、2つのテキストの入力を受け、一方のテキストが、他方のテキストを支持するテキストか否かを示すスコアを出力するように予め訓練されたテキスト検証用モデル802と、処理対象のテキストと、再帰的テキスト収集部800により収集された個別のテキストとをテキスト検証用モデル802に与えることにより、再帰的テキスト収集部800により収集されたテキストが処理対象のテキストを支持しているか否かを判定し、判定結果に従って再帰的テキスト収集部800により収集されたテキストを支持テキストと矛盾テキストに分類し出力するためのテキスト検証部804とを含む。
Referring to FIG. 10, the
なお、テキスト検証用モデル802は、第1テキストと、第2テキストとを分離トークンを挟んで連結した文字列を入力とし、第2テキストが第1テキストを支持するテキストである確率と、第2テキストが第1テキストと矛盾するテキストである確率とを第2テキストのスコアとして出力するように予め訓練されている。
The
再帰的テキスト収集部800は、入力されたテキストに基づいて、第1実施形態において述べた手法を用いて複数の質問を生成し出力する質問生成部810を含む。ただし質問生成部810の場合、第1実施形態に係る支持質問生成部210及び矛盾質問生成部370と異なり、生成する質問については特に制約はなく、入力されたテキストに対する支持特定質問と矛盾特定質問との双方を生成する。
The recursive
再帰的テキスト収集部800はさらに、質問生成部810の生成する質問をウェブベース質問応答システム66に入力するための質問発行部212と、各質問に対してウェブベース質問応答システム66が出力する1又は複数の回等を受信しテキスト検証部804に与えるための回答受信部214とを含む。
The recursive
2 プログラムによる実現
図11は、図10に示すネットワーク作成部780を実現するための再帰的プログラムの制御構造を示すフローチャートである。図11を参照して、このプログラムは、引数としてテキストの集合を受ける再帰関数として実現される。この実施形態においては引数としてのテキストの集合は配列として準備され、実際にプログラムに渡されるのはその配列のアドレスである。
2. Implementation by a Program Fig. 11 is a flowchart showing a control structure of a recursive program for implementing
このプログラムは、入力された全てのテキストについて、又は総回答数+K×生成された質問数(Kは正の整数)が第1しきい値より大きくなるまで、ステップ852の質問作成処理を繰り返し実行することにより1又は複数の質問を生成するステップ850と、ステップ850において生成された質問の全てについて、または得られた回答の総数(累計数)が第2しきい値以上となるまで、ウェブベース質問応答システム66を使用して各質問に対する回答の探索を行うステップ856を実行するステップ854と、ステップ854において探索された各回答について、後述するステップ860を実行するステップ858と、ステップ858の処理が終了した後、それまでの処理により得られた回答の総数(累計数)が第3しきい値より大きいか否かに従って制御の流れを分岐させるステップ862と、ステップ862における判定が否定的なときに、ステップ856において探索された回答の集合を引数として、自分自身を再帰的に呼び出す処理を実行した後、プログラムの実行を終了し呼び出し元に制御を戻すステップ864とを含む。ステップ862における判定が肯定的ならば、このプログラムは実行を終了し、制御を呼び出し元に戻す。
This program includes
ステップ860は、処理対象の回答が支持テキストか矛盾テキストかを図10に示すテキスト検証用モデル802を使用して判定し、そのテキストに支持テキストか矛盾テキストかを示すタグを付すステップ880と、ステップ880によりタグ付けされたテキストを、質問の元になったテキストに対応するノードの子ノードとして、テキスト検証用モデル802により得られたスコアとステップ880において得られたタグとを付して意味的ネットワークに追加するステップ882とを含む。
Step 860 includes
ステップ852における終了条件として使用される整数Kには、以下のような意味がある。この実施形態においては、1つの入力テキストから得られる質問は一般に複数である。また各質問に対して得られる回答も一般に複数である。その結果、1つの入力テキストから回答を探索する処理を1回行っただけで得られるテキストは非常に多くなる。再帰的な処理を行うことにより、得られる回答は指数関数的に増加する。こうした処理のためには大きな計算コストが必要となるため、適切なときに処理を終了させる必要がある。この実施形態においては、その条件として得られた回答の総数(複数回の再帰的処理による累積数)が一定のしきい値(第3しきい値)を超えたときをその目安としている。しかし、図11に示す例において、これまでの処理により得られた回答の総数が第3しきい値に近いときに、ステップ850及びステップ854の処理を完全に実行すると、最終的に得られる回答の総数が第3しきい値を大きく超え、処理に長時間を要することになる可能性がある。そこで、ステップ850においては、これまでに得られた回答の総数(累積値)が第3しきい値に近い場合には、生成する質問数を限定することとしている。この実施形態においては、1つの質問に対して得られる回答の数の目安として定数K(≧1)を想定し、これまでの総回答数+K×入力テキスト数が第1しきい値より大きくなったときにステップ850の処理を終了することとしている。定数Kが正確に決まる場合(1つの質問に対して得られる回答数が一定数である場合)も含めて、第3しきい値は、第1しきい値と等しくても等しくなくてもよい。
The integer K used as the termination condition in
ステップ854における終了条件として、「回答総数(累積数)が第2しきい値より大きくなったとき」を設けているのも、処理時間に制限を設けるという主旨によるものである。なお、第2しきい値は一般的には第3しきい値と等しくすればよいが、第3しきい値と多少異なっていても特に問題はない。
The termination condition in
なお、ステップ850及びステップ854において追加した、各しきい値を用いた終了条件は、必ずしも設けなくてもよい。その場合には処理時間が長くなる可能性があるが、第3しきい値が小さい場合などにはこれらの条件を用いなくてもよい。
Note that the termination conditions using each threshold value added in
3 動作
第2実施形態に係る対話システム750は以下のように動作する。図9を参照して、ユーザがテキスト入力装置60を介してプロンプトを大規模言語モデル62に入力する。大規模言語モデル62がプロンプトに続くテキストを出力する。このテキストはテキスト記憶部130に記憶される。
3 Operation The
テキスト選択部132は、まずテキスト記憶部130に記憶されている先頭の文(又は文の一部)を選択し、処理対象のテキストとしてネットワーク作成部780に与える。
The
図10を参照して、ネットワーク作成部780の再帰的テキスト収集部800において、再帰的テキスト収集部800が処理対象のテキストから1又は複数の質問を生成し、質問発行部212に入力する。このとき、質問生成部810は、支持特定質問と矛盾特定質問との双方を生成する。
Referring to FIG. 10, in the recursive
質問発行部212は、質問生成部810から受けた質問の各々をウェブベース質問応答システム66に入力する。ウェブベース質問応答システム66は、各質問に対してインターネット68を検索し、その質問に対する回答として適切と判定されたテキストを回答として出力する。回答受信部214は、これら回答のテキストを受信し、テキスト検証部804に与える。
The
テキスト検証部804は、回答受信部214から受けた回答のテキストの各々を、質問生成部810から入力された処理対象のテキストの後に、分離トークンを挟んで結合し、テキスト検証用モデル802に入力する。テキスト検証用モデル802は、この入力に応答して、回答のテキストが処理対象のテキストの内容を支持する確率と、回答のテキストが処理対象のテキストの内容と矛盾している確率とを回答のテキストのスコアとして出力する。テキスト検証部804は、テキスト検証用モデル802の出力に基づいて、回答のテキストが支持テキストか矛盾テキストかを示すタグを回答テキストに付与し、そのスコアととともに意味的ネットワーク追加部806に与える。テキスト検証部804はまた、回答のテキストを質問生成部810にも入力する。
The
意味的ネットワーク追加部806は、テキスト検証部804から受けた回答のテキストを意味的ネットワークに新たなノードとして追加する。このとき、意味的ネットワーク追加部806は、今回の回答のテキストが得られた質問の元になったテキストを特定し、そのテキストに対応するノードの子ノードとして、新たなノードを追加する。
The semantic
一方、質問生成部810は、今度はテキスト検証部804から受けた新たなテキストに基づいて1又は複数の質問を生成し、各質問を質問発行部812に与える。質問発行部212は、各質問をウェブベース質問応答システム66に入力する。回答受信部214は、各質問に対してウェブベース質問応答システム66が出力する1又は複数の回答のテキストを受信し、テキスト検証部804に与える。
Meanwhile, the
以下、ネットワーク作成部780は上記した再帰的な処理を繰り返し実行する。意味的ネットワークに追加されたノード数(テキスト数)が第3しきい値を超えると、テキストの収集処理が終了する。この結果、図9に示すネットワーク記憶部772には、処理対象のテキストに関する支持テキストと矛盾テキストとの双方を含む意味的ネットワークが格納されている。
The
図9を参照して、支持・矛盾判定部774は、ネットワーク記憶部772に記憶されている意味的ネットワーク内の各ノードに付与されているラベル及び/又はスコアに基づいて、テキスト入力装置60を介して入力された処理対象のテキストが信頼できるものか否かを判定し、その結果をテキスト編集装置108に与える。テキスト編集装置108は、第1実施形態の場合と同様に、処理対象のテキストを必要に応じて編集し、信頼できるテキストか、信頼できないテキストかを明確に示したり、処理対象のテキストであって信頼できないテキストを、意味的ネットワークの作成時に得られた信頼できるテキストにより置き換えたりする編集を行う。テキスト編集装置108はこの編集が終わると、編集後のテキストによりテキスト記憶部130の内容を更新する。テキスト編集装置108はさらに、テキスト選択部132に対して、テキスト記憶部130に記憶されているテキストのうち、処理されたテキストの次のテキストを選択するように指示を出す。
Referring to FIG. 9, the support/
テキスト選択部132は、この指示に応答して、処理されたテキストの直後のテキスト(直後の文など)を選択してネットワーク作成部780に与える。ネットワーク作成部780は、このテキストを起点として新た意味的ネットワークを作成する。以下、テキスト記憶部130に記憶されているテキストの末尾に達するまで、前述した処理が繰り返される。
この実施形態によれば、意味的ネットワークには処理対象のテキストの支持テキストと矛盾テキストとの双方が含まれる。再帰的処理において、支持テキストから矛盾テキストが得られたり、矛盾テキストから支持テキストが得られたりした場合にも、それらを別々のネットワークに区別する必要がない。第1実施形態と比較して、支持テキストと矛盾テキストとの収集のための処理が単純となるという効果がある。
In response to this instruction, the
According to this embodiment, the semantic network includes both supporting text and contradicting text of the text to be processed. In the recursive process, even if a contradicting text is obtained from a supporting text, or a supporting text is obtained from a contradicting text, it is not necessary to distinguish them into separate networks. Compared with the first embodiment, this has the advantage that the process for collecting supporting text and contradicting text is simpler.
なお、図11に示す再帰的プログラムは、第1実施形態においても、わずかな修正を行うことにより利用できる。 The recursive program shown in Figure 11 can also be used in the first embodiment with minor modifications.
4 変形例
上記第2実施形態における意味的ネットワークの生成処理(図11に示すフローチャート)は、ツリー探索における幅方向優先探索に類似した処理である。すなわち、第2実施形態においては、最初にルートノードが、次に第2層の子ノードが生成され、その後に、第2層の各ノードに対する子ノードの集まりという形により、第3層の子ノードが生成される、という順序に従って意味的ネットワークが作成される。
The process of generating a semantic network in the second embodiment (the flow chart shown in FIG. 11) is similar to the breadth-first search in a 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 in the form of a collection of child nodes for each node in the second layer. In this order, the semantic network is created.
しかし、この発明における意味的ネットワークの作成は、既に述べたように幅方向優先の順序によるものに限定されるわけではない。深さ方向優先により意味的ネットワークを生成してもよい。図12に、そうした変形例を実現するための、図11に対応するプログラム(再帰的関数)の概略フローチャートを示す。 However, the creation of a semantic network in this invention is not limited to a breadth-first order as already mentioned. A semantic network may be generated 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.
図12を参照して、この再帰的関数の引数は、深さ方向にノードを追加する場合の層の深さを指定する定数N(>0)と、処理対象のテキストについて再帰的に支持テキスト及び矛盾テキストを探索する起点となるテキストとを含む。 Referring to Figure 12, the arguments of this recursive function include a constant N (>0) that specifies the depth of the layer when adding nodes in the depth direction, and the text that serves as the starting point for recursively searching for supporting text and contradictory text in the text being processed.
このプログラムは、引数Nの値が0か否かに従って制御の流れを分岐させるステップ910を含む。ステップ910における判定が肯定的なときには、このプログラムは実行を終了し、制御を呼び出し元のプログラムに戻す。
This program includes
このプログラムはさらに、ステップ910における判定が否定的なときに、引数のテキストに基づいて1又は複数の質問を生成するステップ912を含む。ステップ912においては、支持特定質問及び矛盾特定質問の双方が生成される。
The program further includes
このプログラムはさらに、ステップ912において生成された各質問について、その質問に対する1又は複数の回答を探索するステップ916を実行するステップ914と、ステップ914において探索された各回答について、後述するステップ920を実行するステップ918とを含む。
The program further includes
ステップ920は、処理すべき回答が、処理対象のテキストに対する支持テキストか矛盾テキストかを、第2実施形態において利用したテキスト検証用モデル802と同様のモデルを用いて判定し、判定結果に従って、処理すべき回答にタグ付けするステップ940を含む。この実施形態においても、ステップ940においては、タグとともに処理すべき回答が支持テキストである確率と、処理すべき回答が矛盾テキストである確率とが、その回答のスコアとして付与される。
Step 920 includes
ステップ920はさらに、ステップ940に続き、ステップ940においてタグ付けされたスコアが付与された回答を、意味的ネットワーク内に追加するステップ942を含む。ステップ942においては、まず、処理すべき回答が得られた質問が特定される。さらに、その質問の元になったテキストが特定される。そして、意味的ネットワークのうち、その特定されたテキストに対応するノードの子ノードとして、新たなテキストが追加される。
Step 920 further includes, following
ステップ920はさらに、最初に受け取った引数Nから1を減算した値N―1と、ステップ920において処理された回答との組み合わせを引数として、自身を再帰的に呼び出すステップ944を含む。
Step 920 further includes
簡単のために、N=2として図12に制御構造を示す関数の動作を説明する。最初に、この関数が呼び出される。そのときの引数はN=2と、処理すべきテキスト(説明を簡単にするため、これを「引数テキスト」と呼ぶ。)とである。ステップ910における判定が否定的なため、ステップ912が実行される。その結果、引数テキストを元にして1又は複数の質問が生成される。
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
続いて、ステップ912において生成された1又は複数の質問の各々に基づき、ステップ914において回答探索処理が実行される。この処理においては、1又は複数の質問の各々に対して1又は複数の回答が得られる。その結果、得られる回答の数は多数となる。
Next, in
さらに、各回答に対してステップ918の処理が実行される。具体的には、1番目の回答のテキスト(これを「第1テキスト」という。)が選択され、ステップ940において第1テキストがタグ付けされ、ステップ942において第1テキストが意味的ネットワークに新たなノードとして追加される。その後、引数をN―1(=1)及び第1テキストとしてこのプログラムが再帰的に呼び出される。
Then, the process of
この結果、新たな引数に対してステップ910が実行される。引数の値が1であるため、ステップ910における判定は否定的となり、ステップ912以下が実行される。その結果、第1テキストから得られた複数の質問に基づいて、複数の回答が得られる。ここでそれらの回答の先頭のテキストを、第1テキストから得られた回答の先頭という意味を表すために、「第1‐1テキスト」と呼ぶ。第1‐1テキストについても、ステップ940においてタグ付けがされ、ステップ942において意味的ネットワークに新たなノードとして追加される。さらに、ステップ944において、N‐2(=0)及び第1‐1テキストの組み合わせを引数として、この関数が再帰的に呼び出される。
As a result,
再帰的に呼び出されたこの関数において、ステップ910の判定が実行される。引数の値が0であるため、ステップ910における判定が肯定的となり、この関数の実行は終了し、呼び出し元の関数、すなわち引数N=1のときのステップ944に制御が戻る。ステップ944に制御が戻るため、ステップ944の実行は終了し、ステップ920の次の繰り返しが開始される。より具体的には、第1‐1テキストに続くテキスト(これを「第1‐2テキスト」と呼ぶ。)について、第1‐1テキストに対する処理と同様の処理が実行される。以下同様にして、第1テキストから得られたテキスト(第1‐1テキストから第1―最終テキスト)の全てについて処理が終了すると、N=1のときのステップ918の実行が終了する。その結果、N=1のときのこの関数の実行が終了し、制御はN=2のときのステップ944に戻る。ステップ944が終了することにより、N=2のときの、ステップ918の処理が第1テキストに続く第2テキストについて実行される。
In this recursively called function, the judgment of
このように、図12に制御構造を示す再帰的プログラムを実行することにより、最初に引数Nにより指定した段数まで深さ優先で意味的ネットワークが作成され、それを繰り返すことによりさらに幅方向に沿って意味的ネットワークが広げられていく。 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.
このようにして意味的ネットワークを作成した後は、第2実施形態と同様にして処理対象のテキストに対する編集が実行される。 After creating the semantic network in this way, editing is performed on the text to be processed in the same manner as in the second embodiment.
上記した実施形態のいずれにおいても、多量の計算が必要となる。しかし、それらの計算は、ある段階からは互いに並行に行うことが可能である。したがって、GPUを用いることにより、入力テキストの検証を効率的に行うことが可能である。 In each of the above embodiments, a large amount of calculations is required. However, these calculations can be performed in parallel with each other from a certain stage. Therefore, by using a GPU, it is possible to efficiently verify the input text.
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。 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 indicated by each claim in the claims, taking into consideration the detailed description of the invention, and includes all modifications within the scope and meaning equivalent to the wording described therein.
50 対話システム
60 テキスト入力装置
62、446 大規模言語モデル
64 検証装置
66 ウェブベース質問応答システム
68 インターネット
70 出力装置
102 意味的ネットワーク作成装置
104 矛盾ネットワーク記憶部
106 支持ネットワーク記憶部
108 テキスト編集装置
130 テキスト記憶部
132 テキスト選択部
134 支持ネットワーク作成部
136 矛盾ネットワーク作成部
180 再帰的支持テキスト収集部
182 支持テキスト検証部
184 支持テキスト検証用モデル
186、358 意味的ネットワーク追加部
210 支持質問生成部
212、372 質問発行部
214 回答受信部
300 支持ネットワーク
350 否定形生成部
352 再帰的矛盾テキスト収集部
354 矛盾テキスト検証部
356 矛盾テキスト検証用モデル
370 矛盾質問生成部
432 テキスト交換部
436 テキスト交換用モデル
438 交換後テキスト
444 プロンプト作成部
450 テキスト統合部
50
Claims (6)
前記検証対象部分の内容を支持する支持テキストと、前記検証対象部分の内容と矛盾するする矛盾テキストとを既存のテキストの集合から収集するためのテキスト収集手段と、
前記テキスト収集手段により収集された前記支持テキストの集合及び前記矛盾テキストの集合の間に所定の関係が成立するか否かに従って、異なる方法により前記検証対象部分を編集する処理を実行する選択的編集手段とを含む、検証装置。 a target portion extraction means for extracting a verification target portion 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 selective editing means for executing a process of editing the portion to be verified in a different manner depending on whether a predetermined relationship is established between the set of supporting texts and the set of contradictory texts collected by the text collection means.
前記矛盾テキスト又は前記支持テキストのいずれかを所定の基準に従って選択するテキスト選択処理と、
前記検証対象部分の少なくとも一部を、前記テキスト選択処理において選択された前記矛盾テキスト又は前記支持テキストに基づいて編集する編集処理とを含む、請求項1に記載の検証装置。 The process of editing the part to be verified includes:
a text selection process for selecting either the contradictory text or the supporting text according to predetermined criteria;
The verification device according to claim 1 , further comprising an editing process for editing at least a part of the portion to be verified based on the contradictory text or the supporting text selected in the text selection process.
コンピュータが、前記検証対象部分の内容を支持する支持テキストと、前記検証対象部分の内容と矛盾する矛盾テキストとを既存のテキストの集合から収集するステップと、
コンピュータが、前記収集するステップにおいて収集された前記支持テキストからなる集合及び前記矛盾テキストからなる集合の間に所定の関係が成立するか否かに従って、異なる方法に従って前記検証対象部分を編集するステップとを含む、検証方法。 A step in which a computer extracts a portion to be verified from an input sentence;
A computer collects supporting text that supports the content of the portion to be verified and contradicting text that contradicts the content of the portion to be verified from a collection of existing texts;
and a step of editing the portion to be verified according to different methods by a computer depending on whether a predetermined relationship is established between the set of supporting texts and the set of contradictory texts collected in the collecting step.
入力された文章から、検証対象部分を抽出する対象部分抽出手段と、
前記検証対象部分の内容を支持する支持テキストと、前記検証対象部分の内容と矛盾する矛盾テキストとを既存のテキストの集合から収集するためのテキスト収集手段と、
前記テキスト収集手段により収集された前記支持テキストの集合及び前記矛盾テキストの集合の間に所定の関係が成立するか否かに従って、異なる方法に従って前記検証対象部分を編集する選択的編集手段として機能させる、検証プログラム。
Computer,
a target portion extraction means for extracting a verification target portion 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;
a selective editing means for editing the part to be verified in different ways depending on whether a predetermined relationship is established between the set of supporting texts and the set of contradictory texts collected by the text collecting means.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023188309A JP2025076620A (en) | 2023-11-02 | 2023-11-02 | Verification device, verification method, and verification program |
PCT/JP2024/037651 WO2025094768A1 (en) | 2023-11-02 | 2024-10-23 | Verification apparatus, verification method, and verification program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023188309A JP2025076620A (en) | 2023-11-02 | 2023-11-02 | Verification device, verification method, and verification program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2025076620A true JP2025076620A (en) | 2025-05-16 |
Family
ID=95582249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023188309A Pending JP2025076620A (en) | 2023-11-02 | 2023-11-02 | Verification device, verification method, and verification program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2025076620A (en) |
WO (1) | WO2025094768A1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317046A1 (en) * | 2011-06-10 | 2012-12-13 | Myslinski Lucas J | Candidate fact checking method and system |
US8819047B2 (en) * | 2012-04-04 | 2014-08-26 | Microsoft Corporation | Fact verification engine |
-
2023
- 2023-11-02 JP JP2023188309A patent/JP2025076620A/en active Pending
-
2024
- 2024-10-23 WO PCT/JP2024/037651 patent/WO2025094768A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2025094768A1 (en) | 2025-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Uc-Cetina et al. | Survey on reinforcement learning for language processing | |
Nuruzzaman et al. | A survey on chatbot implementation in customer service industry through deep neural networks | |
JP2021182430A (en) | Training methods and devices for semantic analysis models, electronic devices and storage media | |
KR102259390B1 (en) | System and method for ensemble question-answering | |
US7983901B2 (en) | Computer-aided natural language annotation | |
CN111078836A (en) | Machine reading comprehension method, system and device based on external knowledge enhancement | |
JP5540335B2 (en) | Natural language sentence generation device and computer program | |
US8930296B2 (en) | Method and system for programming virtual robots using a template | |
JP7342971B2 (en) | Dialogue processing device, learning device, dialogue processing method, learning method and program | |
WO2023278052A1 (en) | Automated troubleshooter | |
US12106045B2 (en) | Self-learning annotations to generate rules to be utilized by rule-based system | |
Guy et al. | The PENG ASP system: architecture, language and authoring tool | |
CN107103363A (en) | A kind of construction method of the software fault expert system based on LDA | |
CN116467417A (en) | Question answer generation method, device, equipment and storage medium | |
JP2025076620A (en) | Verification device, verification method, and verification program | |
US20230140480A1 (en) | Utterance generation apparatus, utterance generation method, and program | |
CN115562649B (en) | Auxiliary writing method and system for source codes of computer mixed program language | |
CN118364068A (en) | Intelligent question-answering method, device, equipment and medium | |
JP3715470B2 (en) | Response generation apparatus, dialogue management apparatus, response generation method, and computer-readable recording medium storing response generation program | |
JP7044245B2 (en) | Dialogue system reinforcement device and computer program | |
CN118656829B (en) | Method and device for processing interface path information, storage medium and electronic device | |
JP2024138678A (en) | Hypothesis generation device and hypothesis generation method | |
Talita et al. | Challenges in building domain ontology for minority languages | |
US20240004619A1 (en) | Using indentation to trim output of a language synthesis model | |
JPWO2004084156A1 (en) | Template-Interactive learning system based on template structure |