【AI】ChatGPTなどの対話型AIの回答をファクトチェックするツール「FacTool」
1.FacToolとは
■本論文では,生成AIが高品質のテキストを生成できるようになってきた一方で,生成内容に事実誤りが含まれる可能性が懸念されていることを指摘している.まず,複数のタスクに適用可能なLLMが普及し,多様なタスクに活用できるようになってきた一方で,生成内容に誤った情報が含まれる可能性が高まっていると指摘している.次に,生成されたテキストは長文で構成されており,個々の事実の粒度が明確に定義されていないこと,事実確認に利用可能な明確な根拠が限定的であることを指摘している.
※「粒度」とは情報やデータの詳細度や単位の大きさを指す用語で,一般的には「分解能」や「レベルの詳細度」といった概念を指す.「生成されるテキストは長大で、個々の事実に明確な粒度が欠けています」との表現は,生成されたテキストの中の個々の事実(情報の単位)が,その区切りや詳細度が不明確である,つまりどこからどこまでが一つの事実としてカウントするかが曖昧であるという意味である.
■こうした課題に対処するため,本論文ではFacToolというタスク/ドメイン非依存の枠組みを提案している.これは,LLMが生成したテキストの誤りを検出するためのものである.4つのタスク(知識ベースQ&A,コード生成,数学的推論,科学文献レビュー)にFacToolを適用した実験結果から提案手法の有効性を示し,ChatGPTプラグインインタフェースを含んだFacToolのコードをGitHubで公開しており,動画でインターフェースが提示されており,どのようにファクトチェックしているかを見ることができる.論文を読むと分かるが,ファクトチェックの方法は地道な作業をプログラムで走らせているだけではあるが,実質現時点ではこれが簡便で最善の方法なのかもしれない.
■このFacToolをChatGPTで使用するには,一般的に使用されているChatGPTではなく,OpenAI APIを使用したChatGPTである必要がある(有料).APIを利用される方はFacToolを導入するとよいだろう.一方で,APIを利用しない場合でも,この論文におけるFacToolの手法をヒントにファクトチェックを自分で手動で行うプロンプトを作ることも可能である.前述の4つのタスクのうち,特に医学/医療で用いるのは「知識ベースQ&A」と「科学文献レビュー」であろう.以下では,その方法を述べる.
■FacToolの根幹をなす考え方は,関連情報(エビデンス)を外部ツールを使って収集し,生成された内容の正誤を判断することにある.具体的には,次のステップが重要だと考えられる.(1)生成された内容から主張(claim)を抽出する
(2)主張ごとに検索クエリや必要な入力を作成し外部ツールを利用する
※ここでの外部ツールはGPT-4のウェブ検索機能をもつサードパーティープラグインを使えば可能である.
(3)外部ツールから得られたエビデンスを基に主張の正誤を人間が判断する
3.知識ベースQ&Aや科学文献レビューの回答のファクトチェック方法
■上記をもとにChatGPT-4のプラグインモードで手動で行うプロンプト例を以下に示す.なお,使用するサードパーティープラグインはウェブ検索機能を有するWebPilotやScrapingなどを用いる.
プロンプト(知識ベースのQ&A)
検証するコンテンツ:#ファクトチェックしてもらう文章を入力#
タスク:検証するコンテンツについて以下のプロセスに従ってファクトチェックを行ってください.
プロセス:
1.検証するコンテンツの主張を文章として抽出してください.
2.抽出した主張ごとにGoogleウェブ検索できる検索クエリを作成してください.
3.作成した検索クエリをもとにウェブ検索し,関連情報を収集してください.
4.収集した情報(エビデンス)をもとに検証するコンテンツの主張の信憑性を判断してください.
プロンプト(科学文献レビュー)
検証するコンテンツ:#ファクトチェックしてもらう文章を入力#
タスク:検証するコンテンツについて以下のプロセスに従ってファクトチェックを行ってください.
プロセス:
1.検証するコンテンツから論文タイトル,著者名,発行年を含むタプルを主張として抽出してください.
2.各首長(タプル)から論文タイトルをクエリとしてGoogle Scholarから論文の情報(論文タイトル,著者リスト,発行年)を取得してください.
3.主張の論文タイトルと Google Scholarから取得した論文タイトルを比較し,完全一致していればTrue,一致していなければFalseと判定してください.
4.主張の著者リストが Google Scholarから取得した著者リストのサブセットであればTrueとし,そうでなければFalseと判定してください.
5.論文タイトルと著者リストの両方が一致していなければFalseと判断し,両方が一致していればTrueと判断してください.
FacTool:生成型AIにおける事実性検出-マルチタスクおよびマルチドメインシナリオ向けのツール強化フレームワーク
Chern IC, Chern S, Chen S, et al. FacTool: Factuality Detection in Generative AI -- A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios. arXiv 2023 Jul.26[arXiv 2307.13528]
https://doi.org/10.48550/arXiv.2307.13528
Abstract
生成型プレトレーニングモデルの出現により,高品質なテキストの生成が容易になった一方で,生成されたテキストに含まれる事実誤認を特定する際の課題も増加した.特に, (1) より多くのタスクが生成型モデルによって処理される際に事実誤認を含むリスクが増大している, (2) 生成されるテキストは長大で,個々の事実に明確な粒度が欠けている, (3) 事実確認の過程で利用可能な明確な証拠が不足している.以上の課題を踏まえ,本論文では,大規模言語モデル(例:ChatGPT)によって生成されたテキストの事実誤認を検出するためのタスクおよびドメインに依存しないフレームワーク,FacToolを提案する.4つの異なるタスク(知識ベースのQA,コード生成,数学的推理,科学文献レビュー)での実験が,提案された方法の有効性を示している.我々は,ChatGPTプラグインインターフェースに関連したFacToolのコードをこのhttps URLにて公開する.
GitHub:https://github.com/GAIR-NLP/factool