FactLensの仕組み

ウェブ検索・大規模言語モデル・原子的分解の3層構造で、リアルタイムにフェイクニュースを検証します。学術研究に基づくアプローチで、高精度なファクトチェックを実現しています。

📖 なぜこのアプローチなのか

FactLensの設計は、複数の学術論文が示すベストプラクティスに基づいています。単にLLMに「これは本当?」と聞くのではなく、分解 → 検索 → 検証 → 集約の多段階パイプラインを採用することで、精度・説明可能性・最新性の3つを同時に達成しています。

💡 核心的な問い:なぜLLMに直接判定させないのか? — LLM単体でのファクトチェックは「ハルシネーション(幻覚)」と「学習データのカットオフ」という2つの根本的問題を抱えます。FactLensはこれらを原子的分解リアルタイム検索で補完し、各判定に具体的なエビデンスを強制することで対処しています。

🔄 チェックの流れ

STEP 1

🌐 Retrieval-Augmented Verification (検索拡張型検証)

入力テキストをクエリとしてJina AI Searchでウェブ検索を実行。最新ニュース・論文・公式発表を3000文字まで取得し、LLMの判定材料として付与します。

Lewis et al. (2020) の RAG (Retrieval-Augmented Generation) の枠組みを検証タスクに適用しています。LLM単体では学習データのカットオフ以降の出来事に対応できませんが、外部知識を注入することでこの問題を解決します。

📄 Lewis et al., "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks," NeurIPS 2020

STEP 2

🔬 原子的分解 (Atomic Fact Decomposition)

AIが文章を「検証可能な最小単位のクレーム(原子的事実)」に分解します。たとえば「トランプは2025年1月に就任しパリ協定から離脱した」は「トランプは2025年1月に就任した」「パリ協定から離脱した」の2つのクレームに分解されます。

この手法は Meta AI が提唱した FActScore (Min et al., 2023) に基づいています。長文の事実性を一つのスコアで判断するのではなく、原子的事実に分解して個別に評価することで、どの部分が正確でどの部分が不正確かを明確にします。研究では、この分解アプローチがLLM生成テキストの事実性評価において人間の判断と高い相関を示すことが実証されています。

📄 Min et al., "FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation," EMNLP 2023

STEP 3

📚 エビデンスベースの判定 (Evidence-Based Verdict)

各クレームをウェブ検索結果・科学的コンセンサス・歴史的記録と照合し、3段階のベルディクト(supported / refuted / unverifiable)を付与。判定には必ず具体的な出典(WHO報告書、Nature誌、NHKの報道など)を引用するよう厳格にプロンプト設計されています。

Guo et al. (2022) のサーベイが示すように、自動ファクトチェックの精度はエビデンスの質に強く依存します。FactLensでは「科学的に否定されている」のような曖昧な根拠を禁止し、具体的な機関名・論文名・年号の引用を強制することで、判定の透明性と再現性を確保しています。

📄 Guo et al., "A Survey on Automated Fact-Checking," TACL 2022

STEP 4

📊 加重スコアリング

全クレームを集計してスコアを算出。supported=100点unverifiable=50点refuted=0点の加重平均です。

「検証不能」を50点として扱う設計は重要です。政治的な主張のように検証困難なクレームが多い文章で、supported件数だけで100%になる誤りを防ぎます。この加重方式は ClaimBuster (Hassan et al., 2017) の「チェック価値スコアリング」の考え方を参考にしています。

📄 Hassan et al., "ClaimBuster: The First-ever End-to-end Fact-checking System," VLDB 2017

🧠 なぜLLM × 検索の組み合わせが最適か

問題1: ハルシネーション (LLM単体の限界)

LLMは事実と異なる内容を自信を持って生成する傾向があります (Huang et al., "A Survey on Hallucination in Large Language Models," 2023)。FactLensでは、LLMの判断を検索結果でグラウンディング(接地)させることで、根拠のない判定を抑制しています。

📄 Huang et al., "A Survey on Hallucination in Large Language Models: Principles, Taxonomy, Challenges, and Open Questions," arXiv 2023

問題2: 知識のカットオフ

LLMの学習データには時間的な限界があります。2024年以降のニュースや政治的出来事は学習データにない場合が多く、LLM単体では「わからない」としか答えられません。Jina AI Searchによるリアルタイム検索で、この時間的ギャップを埋めています。

問題3: 説明可能性の欠如

「これは嘘です」だけでは信頼できません。Wei et al. (2022) の Chain-of-Thought (CoT) プロンプティングの知見を活かし、FactLensでは各クレームに対して判断の根拠を明示的に生成させることで、ユーザーが自ら判定を検証できる透明性を実現しています。

📄 Wei et al., "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models," NeurIPS 2022

🔬 学術的背景: 関連研究

FActScore (Min et al., 2023) 長文テキストを原子的事実に分解し、Wikipediaなど知識源と照合して事実性を評価する手法。FactLensの分解アプローチの直接的な基盤。EMNLP 2023 Best Paper。
RAG (Lewis et al., 2020) 外部知識を検索してLLMに与えるパラダイム。知識集約型タスクの性能を大幅に向上。FactLensはこれを検証タスクに適用。
FEVER (Thorne et al., 2018) Fact Extraction and VERification: 18万件以上のクレームを含む大規模ベンチマーク。supported / refuted / not enough info の3ラベル体系はFactLensの判定体系の参考元。
ClaimBuster (Hassan et al., 2017) テキストから「チェックに値するクレーム」を自動抽出・スコアリングするシステム。VLDB 2017。スコアリング手法の着想に影響。
Chain-of-Thought (Wei et al., 2022) 中間推論ステップを明示させることでLLMの複雑な推論を改善。NeurIPS 2022。エビデンス付き判定の設計に応用。
Hallucination Survey (Huang et al., 2023) LLMのハルシネーション問題を体系化。外部知識による検証がハルシネーション低減に有効と示した。検索拡張の理論的根拠。
LLM-based Fact-Checking (Quelle & Bovet, 2024) "The Perils and Promises of Fact-Checking with LLMs": LLMの事実チェック能力と限界を体系的に評価。エビデンス付与が精度向上に不可欠と結論。

⚖️ 3段階ベルディクト

FEVER データセット (Thorne et al., 2018) の3ラベル体系を日本語ファクトチェックに適用しています。

supported
科学的コンセンサスや文書化された歴史的事実で裏付けられている
refuted
確立された知識に基づき明確に誤りと判断できる
unverifiable
リアルタイムデータ・非公開情報・コンセンサス未形成

重要:広く知られた誤りや科学的神話(「脳は10%しか使われない」など)はunverifiableではなくrefutedと判定するよう厳格に指示しています。これはFEVERのアノテーションガイドラインに準拠した設計です。

🏗️ アーキテクチャの優位性

vs. LLM直接判定
分解+検索で精度向上
文全体の判定ではなく原子的事実ごとに検証。ハルシネーションリスクを最小化し、どの部分が問題かを特定可能
vs. 検索のみ
LLMが論理的に推論
検索結果を単に表示するのではなく、LLMが文脈を理解して論理的に判定。矛盾する情報の重み付けも可能
vs. 人間のファクトチェック
数秒で完了
人間による本格的なファクトチェックは数時間〜数日。FactLensは数秒で初期スクリーニングを提供
vs. 静的DB照合
未知のクレームに対応
既知のフェイクニュースDBに限定されず、あらゆるテキストを動的に検証可能

🛠️ 技術スタック

検索エンジン
Jina AI Search
APIキー不要・無料。クエリを投げるとウェブ検索結果をテキストで返す
デフォルトLLM
Kimi-K2 (Groq)
MoE 1T/32Bパラメータ。Groqの高速推論インフラで低レイテンシを実現
バックエンド
Rust + Axum
高速・省メモリ。SQLite (WALモード) でデータ管理。Fly.io 東京リージョンにデプロイ
スコアリング
加重平均 (FActScore式)
supported×2 + unverifiable×1 + refuted×0 を全クレーム数×2で割る。FActScoreの精度指標を応用

⚠️ 限界と注意点

FactLensはAIによる自動判定のため、以下の点に注意が必要です:

📚 参考文献

  1. Min, S., Krishna, K., Lyu, X., et al. (2023). FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation. EMNLP 2023.
  2. Lewis, P., Perez, E., Piktus, A., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020.
  3. Thorne, J., Vlachos, A., Christodoulopoulos, C., Mittal, A. (2018). FEVER: a Large-scale Dataset for Fact Extraction and VERification. NAACL 2018.
  4. Hassan, N., Zhang, G., Arslan, F., et al. (2017). ClaimBuster: The First-ever End-to-end Fact-checking System. VLDB 2017.
  5. Wei, J., Wang, X., Schuurmans, D., et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. NeurIPS 2022.
  6. Guo, Z., Schlichtkrull, M., Vlachos, A. (2022). A Survey on Automated Fact-Checking. TACL 2022.
  7. Huang, L., Yu, W., Ma, W., et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.
  8. Quelle, D., Bovet, A. (2024). The Perils and Promises of Fact-Checking with Large Language Models. Frontiers in Artificial Intelligence, 2024.

実際にファクトチェックを体験してみてください

🔍 FactLensを使ってみる

FactLensはオープンソースです。コードはすべて公開されています。
GitHub: yukihamada/factlens | MIT License