分析技術の詳細
分析技術の全体構成
Trustable Internetの分析技術では、フレームワークとして従来の自動ファクトチェック技術で採用されている標準的なパイプライン(①クレーム抽出→②証拠収集→③真偽判定→④根拠説明)を採用しています。 その上で、Trustable Internetは真偽判定精度を向上させるために以下の独自機能を提供しています。
(1)クレームフィルタリング
プロンプトエンジニアリングにより、ユーザにとって重要なクレームを自動的に抽出するクレーム抽出技術
(2)再帰的証拠収集
検索エンジンから収集した証拠情報を元に、さらに関連する証拠情報を再帰的に探索し、証拠情報の信憑性を高める証拠収集技術
(3)信頼ベース真偽判定
大規模言語モデル(LLM: Large Language Models)を応用した証拠情報のスタンス判定技術、および証拠情報の発信者の信頼度に基づく真偽判定技術
※上記の図は、論文 Zhijiang Guo, Michael Schlichtkrull, Andreas Vlachos, “A Survey on Automated Fact-Checking,” 2022. に掲載されている図を一部改変した上で日本語の説明を追加しています。
以下、「証拠収集部」が①②、「真偽判定部」が③④に対応します。 また、(1)を「証拠収集部」の「1. クレーム抽出処理」、(2)を「証拠収集部」の「3. 証拠収集処理」、(3)を「真偽判定部」の節で説明します。
証拠収集部
証拠収集部ではGoogle検索APIなどを用い、真偽判定の根拠となる証拠情報を自動的に収集します。
1. クレーム抽出処理
クレーム抽出処理では、真偽判定対象からクレームを抽出します。 現在のクレーム抽出処理は、プロンプトエンジニアリングによりユーザにとって重要性の高いクレームのみを自動的に一つ抽出し、真偽判定精度および真偽判定プロセスの効率を向上させています(上記(1)のクレームフィルタリング)。 クレーム抽出処理で抽出されたクレームを、基盤に保存します。
2. クエリ生成処理
クエリ生成処理では、1. で抽出された各クレームに対して、適切な証拠情報を収集するための検索エンジンのクエリ文を生成します。 現在のクエリ生成処理も、基本的にはLLMに全ての処理を任せています。
3. 証拠収集処理
証拠収集処理では、検索エンジンに対して 2. で生成された検索クエリを投げ、応答された検索結果を証拠情報のリストとして受け取ります。 検索エンジンから受け取った証拠情報のリストから一つずつ証拠情報を切り出し、クレームに関連付けた上で基盤に保存します。 更に、Trustable Internetでは、各証拠情報の信憑性を高めるために、収集した証拠情報からさらに関連する証拠情報を再帰的に探索しています(上記(2)の再帰的証拠収集)。 再帰的証拠収集では、証拠収集処理で生成した証拠情報毎にその内容から再度クレームを抽出し、1. クレーム抽出処理 から 3. 証拠収集処理 までを、指定された回数だけ再帰的に実行します(デフォルトは2回)。 最終的に、証拠情報は基盤にてグラフ形式で管理されます。
真偽判定部
真偽判定部では、真偽判定対象に対する真偽ラベル(下記)を出力します。
- 真:真偽判定対象は、内容を信用できる度合いが高い情報です。
- 不明:真偽判定対象は、内容を信用できる度合いが不明な情報です。
- 偽:真偽判定対象は、内容を信用できる度合いが低い情報です。
また、本Webアプリの出力と真偽ラベルの対応は以下の通りです。
- Webアプリの出力「true」: 真偽ラベル「真」に対応
- Webアプリの出力「caution」: 真偽ラベル「不明」に対応
- Webアプリの出力「false」: 真偽ラベル「偽」に対応
真偽ラベルを出力するために基盤から取得したクレーム(Claim)と証拠情報(Evidence)を用います。また、真偽判定部ではクレームと証拠情報で構成されたエンドースメントグラフを処理することで真偽判定対象の真偽ラベルを出力します。エンドースメントグラフの一例を以下の図に示します。
この図において、矢印はノード間の接続関係を示します。また各ノードの属性は以下の通りです。
- Identifier: ノード自体の識別子
- Publisher: Evidenceの情報源の識別子(証拠情報にのみ存在)
- LinkedTo: ノードの接続先となるノードの識別子
- Property: ノードの内容(クレームについては真偽判定対象について真偽を判断したい事柄、証拠情報についてはクレームの真偽の根拠となる情報を記載)
真偽ラベルを出力するために、前述のエンドースメントグラフを用いて以下の3つの処理を行います。
1. スタンス判定処理
まずスタンス判定処理では、証拠情報の内容がクレームの内容を肯定する情報か否定する情報かを示した下記のスタンスラベルを、証拠情報に対して付与します。
- TRUE: 証拠情報はクレームのPropertyを肯定する情報
- FALSE: 証拠情報はクレームのPropertyを否定する情報
本判定処理はプロンプトエンジニアリングによって実現しています。
2. Evidenceの信頼度判定処理
次に、証拠情報に対して信頼度ラベルを付与する処理を行います。本処理では、信頼度の高い証拠情報を提供するPublisherの識別子が記載されたリスト(信頼リスト)を用います。 信頼リストと証拠情報のPublisherに記載された識別子の照合結果に応じて、本処理では下記のルールで証拠情報に信頼度ラベルを付与します。
- HIGH: Publisherの識別子が信頼リストに存在する
- LOW: Publisherの識別子が信頼リストに存在しない
3. 真偽判定対象の真偽判定処理
前述の2つの処理で求めたスタンスラベルと証拠情報の信頼度ラベルに基づいて、本処理では真偽判定対象の真偽ラベルを判定します。真偽ラベルは、信頼度ラベルが「HIGH」である証拠情報のスタンスラベルに基づいて決定します。
具体例として、前掲の図で示した例において真偽判定対象の真偽ラベルを決定した結果を以下の図に示します。
この図の場合、信頼度が「HIGH」であるEvidence2のスタンスラベルが「FALSE」であることから、真偽判定対象に対する真偽ラベルは「偽」と判定されます。