RAG・検索基盤

グラウンディングとは|「3営業日前」と答えた主張を、数値の照合だけで弾けた

グラウンディングとは何を確かめるのかどうやって照合するのか照合できない主張はどうするのか

検索して見つけた文書をAIに渡しても、その文書に書かれていないことを答えることがあります。渡した範囲を超えた答えです。

主張7件を照合したところ、文書にない3件をすべて弾けました。ただし弾き方には、確実なものと当てにならないものがあります。

この記事の要点

  • 主張7件のうち4件に根拠あり、3件に根拠なしと判定
  • 「3営業日前」という誤りは数値の照合だけで弾けた
  • 数値を含まない主張は語の重なりで見るしかない
  • 判定が緩くなるのは数値のない主張

「3営業日前」と答えた主張を、数値の照合だけで弾けた

主張7件を実際に照合しました。文書にない3件をすべて根拠なしと判定でき、数値の照合が決め手になります。

グラウンディングがどこまで機械で確かめられるのかを、実際に照合して測りました。用意したのは渡した文書2件と、答えの主張7件です。

照合は本当に実行しています。主張には文書どおりのもの、文書にないもの、文書と矛盾するものを混ぜてあります。

javascript
const nums = (s) => (s.match(/\d+/g) || []);
const keyWords = (s) => (s.match(/[一-龥ァ-ヴー]{2,}/g) || []);

const check = (c) => {
  // 数値は言い換えが効かないので、そのまま含まれるかを見る
  const n = nums(c.text);
  const numOk = n.length === 0 || n.every((x) => CONTEXT.includes(x));
  // 数値がない主張は、語の重なりで見るしかない
  const kw = keyWords(c.text);
  const kwHit = kw.filter((w) => CONTEXT.includes(w)).length;
  const kwOk = kw.length === 0 || kwHit / kw.length >= 0.6;
  return { numOk, kwOk, ok: numOk && kwOk };
};
text
主張                                  種別       数値  語   判定
宿泊費の上限は1泊12000円です                     文書どおり      一致    2/2  根拠あり
超過分は自己負担になります                         文書どおり      一致    2/2  根拠あり
前払の申請は出発の7営業日前までです                    文書どおり      一致    4/4  根拠あり
前払の上限は概算額の8割です                        文書どおり      一致    3/3  根拠あり
海外出張の上限は1泊20000円です                    文書にない      不一致   1/2  根拠なし
宿泊費は課長の承認が必要です                        文書にない      一致    1/4  根拠なし
前払の申請は出発の3営業日前までです                    文書と矛盾      不一致   4/4  根拠なし

根拠あり: 4 / 7   根拠なし: 3 / 7

種別ごとの内訳
  文書どおり: 4件中 0件を根拠なしと判定
  文書にない: 2件中 2件を根拠なしと判定
  文書と矛盾: 1件中 1件を根拠なしと判定

最後の行が要点です。「前払の申請は出発の3営業日前まで」という主張は、語としては4語すべてが文書に出てきます

数値が決め手になる

語の重なりだけを見ていたら、この主張は通っていました。弾けたのは、3という数値が文書に無かったからです。

文書には「7営業日前」と書かれています。数値は言い換えが効かないので、違えば文字として一致しません

数値のない主張は緩くなる

6行目を見てください。「宿泊費は課長の承認が必要です」には数値がありません。語の重なりが1/4だったので弾けました

ただしこの判定は、こちらが決めた6割という基準に依っています。もっと文書の語を混ぜて書かれていたら、通っていた可能性があります

3つの種別すべてを弾けた

内訳を見ると、文書どおりの4件は1件も落とさず、文書にない2件と矛盾する1件はすべて弾けています

正しいものを落とさず、誤りだけを弾く。この計測では両立しました。ただし主張が7件と少ないので、実運用ではもっと難しくなります

語はそろっていても、数値が違えば弾ける。

文書どおり根拠ありと判定4根拠なしと判定4件文書にない22件文書と矛盾11件主張7件での実測。矛盾する1件は語が4/4そろっており、数値の照合だけで弾けた。
図1 ── 主張の種別ごとの判定結果
出典Docs by LangChain「Retrieval」2026-08-18 確認
But most real-world applications go one step further: they integrate retrieval with generation to produce grounded, context-aware answers.
原文Docs by LangChain「Retrieval」 この内容の有効期限2027-02-18

グラウンディングとは何を確かめるのか

答えが、渡した文書の範囲に収まっているかを確かめます。範囲を超えた記述を見つけるための考え方です。

グラウンディングは、答えの内容が、渡した文書に根拠を持っているかを問う考え方です。日本語では接地とも呼ばれます。

なぜ範囲を超えるのか

AIは学習した時点の内容も持っています。渡した文書と、覚えている内容の区別は、答える側では付いていません

ですから「海外出張の上限は20000円」のような、それらしい記述が混ざります。他社の規程では正しいかもしれませんが、渡した文書には書かれていません

検索と組み合わせる前提

この考え方は、検索の結果を渡して答えさせる構成と対になります。LangChainも、実際の用途の多くは検索と生成を組み合わせ、根拠のある文脈に沿った答えを作る方向に進むとしています。

同じ文書では、この形が検索を組み合わせた生成の基礎で、その場に固有の情報でモデルの答えを補強するものだとされています。補強したはずの答えが範囲を超えていないかを見るのが、この記事の話です。

主張ごとに分けて見る

確かめるには、答えを主張の単位に分ける必要があります。段落ごとでは、根拠のある記述とない記述が混ざります。

前の節でも、7つの主張に分けたから種別ごとに判定できました。分けずに全体を見ると、1つでも根拠のない記述があれば全体が疑わしくなります

余談 数値を含む主張から手を付ける

測ってみて実際的だったのは、数値を含む主張だけを先に照合することでした。実装が短く済み、しかも金額や期限のような誤ると困る内容が優先的に確かめられます。数値のない主張の判定は、その後で詰めれば足ります。

出典Docs by LangChain「Retrieval」2026-08-18 確認
This is the foundation of Retrieval-Augmented Generation (RAG) , enhancing an LLM’s answers with context-specific information.
原文Docs by LangChain「Retrieval」 この内容の有効期限2027-02-18

グラウンディングの照合でできないこと

語の重なりでは、文書の語を使って書かれた誤りを弾けません。数値のない主張が残ります。

グラウンディングの照合には抜けがあります。前の節では3件すべてを弾けましたが、仕組みの上で通ってしまう形が残っています。

文書の語で書かれた誤り

たとえば「宿泊費の超過分は会社が負担する」という主張を考えてください。語はすべて文書に出てきます。数値も含みません。

文書には「自己負担」と書かれているので、意味は正反対です。ところが語の重なりで見ている限り、この主張は通ります

数値のない主張が何割あるか

ですから、まず数えるべきは数値を含まない主張の割合です。そこが照合の弱い部分になります。

前の節では7件中2件が数値を含みませんでした。この2件については、判定が緩いという前提で扱う必要があります

渡した範囲そのものが足りない場合

もうひとつ、照合とは別の問題があります。渡した文書に答えが書かれていない場合です。

LangChainも、モデルの限界として文脈が有限で、資料の全体を一度に取り込めないことを挙げています。検索が取りこぼしていれば、正しく答えようがありません。渡す範囲の作り方は親子ドキュメント検索の記事で扱っています。

文書の語で書かれた誤りは、語の重なりでは弾けない。

充足 2 / 4答えを主張の単位に分けている分けずに全体を見ると、1件でも根拠がなければ全体が疑わしくなる数値を照合している語が4/4そろっていた矛盾主張を、数値の不一致だけで弾けた語の重なりだけで判定している文書の語で書かれた誤りは通る。「自己負担」を「会社が負担」と書いても語は同じ渡した文書に答えがあるかを見ていない検索が取りこぼしていれば、正しく答えようがない主張7件での実測にもとづく。文書にない2件と矛盾する1件をすべて根拠なしと判定できた。
図2 ── グラウンディングを確かめるときの点検項目
出典Docs by LangChain「Retrieval」2026-08-18 確認
Finite context : they can’t ingest entire corpora at once.
原文Docs by LangChain「Retrieval」 この内容の有効期限2027-02-18

よくある質問

なぜ数値の照合が効くのですか
数値は言い換えが効かないためです。文書に「7営業日」とあるのに「3営業日」と答えれば、文字として一致しません。
数値のない主張はどう判定しますか
語の重なりで見ます。この計測では、主張に含まれる語の6割以上が文書に出てくるかを条件にしました。緩い判定です。
照合に落ちたらどうしますか
その主張を答えから外すか、答え全体を止めます。根拠のない主張だけを残すと、読む側は区別できません。
そもそもなぜ文書にないことを答えるのですか
モデルが学習時点で覚えている内容が出るためです。渡した文書と、覚えている内容の区別は、答える側では付いていません。

まとめ

  • グラウンディングは渡した文書の範囲で答えさせる考え方
  • 主張7件のうち3件を根拠なしと判定できた
  • 数値の照合は矛盾する主張を確実に弾く
  • 数値のない主張の判定はそのぶん緩くなる

今日から始められること

  1. 答えを主張ごとに分ける処理を用意する
  2. 主張に含まれる数値が、渡した文書に出てくるかを照合する
  3. 落ちた主張の扱いを決める。外すか、答えごと止めるか
  4. 数値のない主張が何割あるかを数える

実務で組んだグラウンディングのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る