RAV(検索補強型検証)(アールエーブイケンサクホキョウガタケンショウ)
LLM生成回答内の各Claimを事後的に検索で検証するパイプライン。生成後に各主張の事実的根拠を確認し、誤りを修正・削除する。FActScoringやALCEがこの系統。
RAV(検索補強型検証)とは
Retrieval-Augmented Verification(RAV; 検索補強型検証)は、大規模言語モデル(LLM)が生成したテキスト内の各主張(Claim)を、事後的に検索エンジンや知識ベースで個別に検証するパイプラインの総称である。生成前に検索を行うRAG(Retrieval-Augmented Generation)と対比して「生成後検証(Post-hoc Verification)」アプローチに分類される。
RAGとRAVの違い
| 特徴 | RAG | RAV |
|---|---|---|
| 検索タイミング | 生成前 | 生成後 |
| 目的 | 知識接地による精度向上 | 生成済み内容の事実確認 |
| Claimの扱い | コンテキストとして利用 | 検証対象として評価 |
| 修正方法 | 検索結果で置換 | Claim削除・修正・引用付与 |
主要な実装
FActScoring(Fine-grained Atomic Claim Scoring)
Min et al. (2023, EMNLP) が提案。人物伝記などの事実密度が高いテキストの評価フレームワーク。
- 生成テキストをアトミックなClaim(単一事実を述べる最小単位)に分解
- 各ClaimをWikipedia等のソース文書と照合
- Supported(支持)/ Not Supported(非支持)を判定
- Supported率をFActScoreとして報告
GPT-4・Claude・Llama等の比較評価に広く使用。
ALCE(Attributed LLM-based Claims Evaluation)
Gao et al. (2023) が提案。Citation-Grounded Generation(引用付き長文生成)の評価フレームワーク。
- ASQA・QAMPARI等のQAデータセットで評価
- Recall(必要情報の網羅率)とCitation Precision(引用の正確性)の両方を計測
FactScore Pipeline(実装例)
# 概念的フロー
claims = decompose_to_atomic_claims(llm_output)
for claim in claims:
evidence = retrieve(claim) # 検索
verdict = verify(claim, evidence) # NLI or LLM判定
if verdict == "not_supported":
output = revise_or_remove(claim) # 修正 or 削除
RAVパイプラインの構成要素
Claim分解: LLM(GPT-4等)を使用してテキストをアトミックClaimのリストに変換。品質はこのステップに大きく依存。
検索: BM25・Dense Retrieval・リアルタイムWeb検索から文脈に応じて選択。専門領域ではドメイン特化DBが有効。
検証: NLIモデル(DeBERTa等)またはLLM自体で「Evidence → Claim」のEntailmentを判定。
フィードバック: Claim単位での削除・修正・引用付与の3オプション。
限界と課題
- Claim分解の品質:暗示的な主張や複合文の分解が難しく、分解精度がボトルネックになる。
- 検証精度:NLIモデルのパフォーマンスが検証精度の上限を決定する。
- 計算コスト:Claim数×検索+検証の反復処理は生成コストの数倍〜数十倍になる。
- Claim外知識:検索で見つからないClaimは検証不能(特に最新情報・内部情報)。
2025年の動向
2025年には、RAVと推論モデル(o1/R1系)の組み合わせが注目。推論モデルが内部Chain-of-Thoughtで検証質問を自律生成し、ToolCallsで検索を実行するエンド・ツー・エンドのパイプラインが普及しつつある。また、Perplexity AIが提供する「Sources」機能もRAVの実用的な実装の一形態である。