引用があるのに間違う理由|RAG回答のfaithfulness確認
- 公開日
- 2026-06-27
- 更新日
- 2026-10-19
- 情報確認日
- 2026-09-17
- 編集・運営
- Local AI Compass
引用がある回答は便利ですが、正しさの保証ではありません。確認するべきは、引用先が存在するか、回答がその引用範囲に忠実か、元PDFの数字や条件と一致するかです。
導入前に確認すること
- Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
- 最初は軽量モデル、短い質問、少ない同時作業から始める
- 公式サイトの対応OS、利用規約、モデルのライセンスを確認する
OCRの座標・confidenceとRAG引用は同じ証拠IDで結ぶ
OCRの出力は文字列だけではありません。Windows AI Text Recognitionは文字・行・wordと四点のpolygonal boundaryを返し、DoclingDocumentはlayout bounding boxとprovenanceを扱えます。これをRAGの引用番号だけへ潰すと、元画像のどのページ・領域・版から回答が作られたかを再確認できなくなります。
| 段階 | 保持する証拠 | 引用確認で分かること |
|---|---|---|
| OCR | 原本画像、page/image ID、text、word/line bboxまたはpolygon、confidence、rotation | 数字・型番・表セルの場所へ戻れるか |
| 抽出・chunk | source revision、page、reading order、chunk ID、抽出JSONと表示用text | OCR結果がどの断片へ変換されたか |
| retrieval | source ID、document ID、page、metadata、score、取得chunk | 検索された根拠が質問に対応するか |
| 回答・citation | claim、source ID、page/snippet、検証状態 | 引用の存在と、主張が根拠を超えていないか |
Open WebUIのexternal knowledge sourceはchunk text、title、source、URL、document ID、page、extra metadata、relevance scoreを個別にmappingします。これはcitationのjoin keyを作る材料ですが、OCRのconfidenceやbboxが自動的に回答の正しさや画面上のword highlightへ変わるという意味ではありません。DoclingのJSON/provenanceやTesseractのhOCR/TSVなど、座標を含む中間成果物は表示用Markdownとは別に保持します。
- 原本PDF/imageとOCR raw outputを保存し、document revisionとpage/image IDを先に固定する。
- 回転、座標のorigin、pageサイズ、bbox/polygonの単位を正規化し、OCR文字から抽出text・chunkへの対応を記録する。
- 再インデックス後もsource ID・page・chunk IDを追跡し、引用が別ページへずれていないか確認する。
- 回答の各claimをsource ID・page・snippetへ分け、数字・単位・型番はbboxまたは元画像へ戻って照合する。
- confidenceが低い、座標が欠落する、pageとchunkの対応が切れる場合は、引用済みと断定せず再OCR・再抽出・人間確認へ戻す。
OCR confidenceは認識結果の推定であり、retrieval scoreは検索順位の指標です。どちらも回答のfaithfulnessや事実性そのものではありません。引用番号、ページ番号、座標、元画像の一致を別々に確認できた時だけ、根拠の場所を検証できたと判断します。
- Windows AI Text Recognition - TextRecognizerのword・line・boundary・confidenceを見る
- DoclingDocumentのbbox・provenance - 抽出JSONの構造と原文位置を残す
- Open WebUI RAGのpage・metadata - citationのjoin keyとexternal source mappingを見る
- Tesseract hOCR・TSV - word bbox・confidence・text layerを確認する
- PDF抽出・OCR・表の崩れ - 座標を残す前の抽出失敗を切り分ける
- WindowsでローカルOCR - Windows APIとOCR runtimeの選択へ戻る
factualityとfaithfulnessを分ける
factualityは事実として正しいか、faithfulnessは検索された根拠に沿っているかです。回答が一般知識として正しく見えても、引用されたPDFの根拠とはずれている場合があります。
版・抽出・生成のどこで引用がずれたか
Ragas Faithfulnessは、回答のclaimが検索されたcontextに支持されるかを見る指標です。検索が古い版を選んだか、OCRや抽出が原文を誤ったかまでは、contextとの一致だけでは確かめられません。
次は説明用に作った架空例です。現行の会議室ルールv2は印刷ページ3に「会議室Aは1回30分まで。1日に2枠まで予約できます。」とあり、PDFビューアの通しページでは5ページ目(1始まり)に表示されるものとします。chunk IDは `room-v2-p3-c01`、旧版v1の印刷ページ3には「会議室Aは1回60分まで。」とあります。質問は「現行の会議室Aは1回何分まで予約できるか」です。
| 架空の状態 | 回答とcontextの関係 | 分かること | 次に確認する箇所 |
|---|---|---|---|
| v1を検索し、回答が「60分」 | 回答は検索contextに書かれている | 現行版を問う質問には古い版の答え | source revisionとindex更新元 |
| v2原本は30分、OCR chunkは80分、回答も80分 | 回答は誤った抽出contextに沿っている | contextとの一致だけでは原本の転記精度は分からない | 元PDFの同じ版とOCR・抽出結果 |
| v2の正しいchunkは30分、回答は60分 | 回答claimが検索contextに支持されない | 生成回答または引用範囲のずれ | claimごとにchunk本文と回答を照合 |
| 回答は30分だが、印刷ページ3とビューア5ページ目が違う | 内容と引用位置を別に確認する必要がある | ページ表記の差だけでは本文の正誤は決まらない | 同じ原本revisionで両方のページ表示を記録 |
この表は架空の手作業例で、実在PDF・アプリ・モデル・Ragasを実行した結果ではありません。ここではRagasの数値スコアも示さず、評価値を正しさの保証として扱いません。印刷ページとビューアのページ差に一律の加算・減算を当てず、原本を開いて位置を確認します。
- 質問に対する各claimを短く分け、どの引用文が支えると回答しているかを記録する。
- source IDとrevisionを確認し、質問が求める現行版と検索対象が同じかを見る。
- 印刷ページ表示とPDFビューアの通しページ(1始まり)を両方控え、同じ原本revisionで該当箇所を開く。
- `room-v2-p3-c01`のようなchunk IDから抽出済み本文へ戻り、OCR・抽出テキストが原文と一致するか比べる。
- 最後に各claimをretrieved contextと照合する。原文・抽出・検索・回答のどこで差が生じたかを分けてから、その担当工程へ戻る。
- PDFのOCR・抽出を確認する - 原文から抽出テキストまでを照合する
- chunkと検索漏れを確認する - 検索された断片と質問の対応を見る
- PDF・文書チャットの流れを確認する - 文書の取り込みから回答までの役割を見る
引用確認チェック
| 確認項目 | OK | 注意 |
|---|---|---|
| 引用箇所が存在する | 元PDFで同じ文を確認できる | 引用番号だけ出ている |
| 回答が引用範囲を超えていない | 引用された範囲内で言える | 根拠にない結論を足している |
| 表や数字が一致する | 数値・単位・日付が同じ | 桁、単位、年度がずれる |
| 複数資料が混ざっていない | 資料ごとに分かる | 古い資料と新しい資料を混ぜる |
| 分からない時に分からないと言う | 不明点を保留する | 無理に補完する |
よくあるズレ
表の列や単位を取り違えることがあります。
脚注やただし書きが別チャンクにあると抜けます。
複数PDFで古い条件と新しい条件を混ぜることがあります。
確認プロンプト例
- 回答の各文について、根拠となる引用箇所を分けてください。
- 引用範囲に書かれていない推測を別欄にしてください。
- 数値、単位、年度を元PDF表記のまま抜き出してください。
よくある質問
faithfulnessとは何ですか。
回答が検索された根拠に沿っているか、根拠にない内容を足していないかを見る考え方です。
引用番号が出れば安心ですか。
安心とは言えません。引用範囲と回答文を元PDFで照合します。
引用確認は毎回必要ですか。
重要な判断、数値、契約、社内資料では必要です。軽い下読みでも、最初は確認手順を作ると安全です。
OCRのconfidenceが高ければRAGの引用も正しいですか。
いいえ。confidenceはOCR認識の推定で、引用の正しさや回答のfaithfulnessではありません。source ID、page、snippet、元画像の座標を別々に照合します。
Open WebUIのcitationにOCRのbboxは自動で入りますか。
自動で入るとは判断しません。Open WebUIのRAG設定でsource、page、metadata、scoreのmappingを確認し、bboxやconfidenceはOCR・抽出側で保持してcitationとの対応を検証します。
次に読むおすすめルート
PDFや資料を読ませたい人
先に基本を押さえ、モデル単体の確認後にAnythingLLMへ進みます。
- PDF・文書チャットの使い分け
- PDF回答が間違う理由
- オンデバイスRAG/NPU研究
- RAGのCPU/GPU/NPU負荷分解
- Quant.npuとNPU向け静的量子化
- LENSで見るNPUレイテンシ予測
- AnythingLLMでPDFを読むには?商用利用前の確認も整理
- PDFを読ませても期待通りに答えない理由
- PDF抽出・OCR・表の崩れ
- WindowsでローカルOCRを選ぶ方法
- チャンク分割と検索漏れ
- AnythingLLM検証チェックリスト
- ローカルLLMの安全性とプライバシー
- ローカルRAGのプライバシー
- RAG・埋め込み・ベクトルDBの仕組み
- GGUF安全とRAG/NPU研究
- 知らないGGUFを動かす前に
- 埋め込みモデルとは
- 日本語PDFと埋め込みモデル
- コンテキスト長とは
- 仕事のPDFを入れる前の確認
- AnythingLLMの解説
- まずローカルAIの基本ガイド
- PCスペックの見方
- 診断ページ
あなたはどのタイプ?
- 初めてローカルAIを触る人 - まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。
- LM Studio・Ollamaの症状別トラブルを解決したい人 - 起動、モデルロード、Prompt Processing、generation、API接続、GPU確認をツール別に分けて読みます。
- GPUなし・低スペックPCの人 - 軽量モデル、メモリ別の目安、重いときの確認ポイントを先に見ます。
- PDFや資料を読ませたい人 - 先に基本を押さえ、モデル単体の確認後にAnythingLLMへ進みます。
- ローカルAIエージェントを試したい人 - Bionic、Ollama、AnythingLLM、Hermesを役割別に分け、local/cloud、tool、保存、PC負荷を順番に確認します。
- 開発・API連携したい人 - LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
関連チェック先
- Faithfulness-Aware Uncertainty Quantification for Fact-Checking the Output of Retrieval Augmented Generation - RAG出力でも事実性と根拠への忠実さを分けて見る必要があることを示すプレプリントです。
- RAGAS: Automated Evaluation of Retrieval Augmented Generation - context relevance、faithfulness、answer qualityなど、RAG回答検証の考え方を読むための研究です。
- Ragas Faithfulness - responseの各claimがretrieved contextに支持されるかを見るRagas Faithfulnessの公式説明です。
- Evaluation of Retrieval-Augmented Generation: A Survey - RAG評価ではretrievalとgenerationを分け、relevance、accuracy、faithfulnessなどを見る必要があることを整理したサーベイです。
- Windows AI Text Recognition - Windows AI Text RecognitionのTextRecognizer、文字・行・word、polygonal boundary、confidence、モデル準備を確認する公式ドキュメントです。
- RecognizedLine Class - RecognizedLineのText、Words、BoundingBox、LineStyleConfidenceを確認するWindows App SDK APIリファレンスです。
- RecognizedTextBoundingBox Struct - 回転・skewを含む四点のrecognized text boundaryを確認するWindows App SDK APIリファレンスです。
- Docling Document - DoclingDocumentの文書構造、layout bounding boxes、provenanceを確認する公式ドキュメントです。
- Docling Vision Models - DoclingのVLM出力、data-bboxのscale、page image、provenance、word/cell単位ではない境界を確認する公式ドキュメントです。
- Open WebUI RAG - Open WebUI RAGのchunk、citation、external knowledge sourceのsource・page・metadata・score fieldを確認する公式ドキュメントです。
- Open WebUI citation source context - Open WebUIがsource ID、source name、resource type・ID、document contentをRAG promptへ組み立てる現行実装を確認する公式repoです。
- Tesseract command-line reference - TesseractのhOCR・TSV・box出力、word bbox、confidence、PDF text layerを確認する公式repo資料です。