回答を主張に割り、支えが取れた割合を点にしました。点0.50の回答は367件すべてが正しい結果でした。
ところが点0.67と0.75の回答は、1124件すべてが間違いでした。点は正しさの順に並びません。
回答を主張に割り、根拠から言えるものを数えます。数えた割合がそのまま点になります。
根拠性評価は、回答の一つひとつの主張が根拠から言えるかを数える評価です。回答全体をまとめて見るのではありません。
出典も2番目の手順を生成された文それぞれについて、与えられた文脈から導けるかを確かめると書いています。文の単位で見る点が要です。
function groundScore(ans, ev) {
const parts = ans.split(/[。\n]/).map((x) => x.trim()).filter(Boolean);
if (parts.length === 0) return 0;
let ok = 0;
for (const p of parts) {
const numOk = nums(p).every((x) => ev.includes(x));
const deptOk = depts(p).every((d) => ev.includes(d));
if (numOk && deptOk && overlap(p, ev) >= 0.35) ok++;
}
return ok / parts.length;
}
この式を、社内規程の条文と回答の組4000件に当てました。回答の3割強は、わざと根拠から外してあります。
規程の条文と回答の組 4000件。主張ごとに支えを数えて0〜1の点にする 根拠から外れていない 2288件の平均点: 0.729 根拠から外れた 1712件の平均点: 0.661
正しい回答の平均が0.729、外れた回答の平均が0.661です。差は0.068しかありません。
平均だけを見ると、この評価はほとんど効いていないように見えます。ところが中身を割ると、まったく違う姿が出てきます。
Step 2: For each of the generated statements, verify if it can be inferred from the given context.原文Ragas「Faithfulness」 この内容の有効期限2027-02-18
点の高さは正しさの順に並びません。しきい値を1本引く使い方は成り立ちません。
根拠性評価の点を、値ごとに分けて数えました。順に並ぶかどうかを見るためです。
点 外れていない 外れている この点での外れ率 0.00 436件 238件 35.3% 0.50 367件 0件 0.0% 0.67 0件 734件 100.0% 0.75 0件 390件 100.0% 1.00 1485件 350件 19.1%
点0.50の回答は367件すべてが正しい結果でした。ところが点0.67と0.75は、合わせて1124件すべてが間違いです。
点が高いほうが間違っています。順序が反転しています。
0.50に固まっているのは、言い換えて短くまとめた正しい回答です。文の数が少ないので、1文外すと点が大きく落ちます。
0.67と0.75にいるのは、根拠にない条件を1文だけ足した回答です。ほかの文は根拠どおりなので、点は高いまま残ります。
満点の1835件のうち350件は根拠から外れています。割合にして19.1%です。
出典の定義はすべての主張が取得した文脈から支持できるとき、その応答は忠実とみなされるというものです。定義どおりに数えても、支持の判定が字面に頼る限りこの取りこぼしは残ります。
中身はハルシネーション検出の記事で扱った意味の反転です。数値も固有名詞も一致するので、どの文も支えありと数えられます。
点の高低は、正しさの順に並ばない。
A response is considered faithful if all its claims can be supported by the retrieved context.原文Ragas「Faithfulness」 この内容の有効期限2027-02-18
照らす対象を増やすほど誤りは減ります。ある段から先は、落ちるのが正しい回答ばかりになります。
根拠性評価を運用に載せるとき、判定を1段ずつ積みたくなります。積むほど良くなるのかを測りました。
規程の条文と回答の組 4000件。対策を1段ずつ積んだときに何が残るか 積んだ対策 返した 残った誤り 巻き添え 返答率 誤り率 何もしない 4000件 1674件 0件 100.0% 41.9% 数値の一致で落とす 3596件 1270件 0件 89.9% 35.3% 固有名詞も見る 3250件 924件 0件 81.3% 28.4% 文ごとの照合も足す 1781件 292件 837件 44.5% 16.4% 点0.8未満も落とす 1781件 292件 837件 44.5% 16.4% ※ 巻き添え=根拠から外れていないのに落とした件数
3段目までは巻き添えが0件です。数値と固有名詞の照合は、正しい回答を落としません。
4段目で誤りは924件から292件へ減ります。同時に巻き添えが837件出ます。
返答率も81.3%から44.5%へ落ちました。返す量が半分近くになる代わりに、誤り率が28.4%から16.4%へ下がる交換です。
点を使った5段目は、4段目と1件も違いません。文ごとの照合を通った回答は、すでに全部が満点だからです。
重ねたつもりで何も足していない状態です。段を増やすときは、前の段と重なっていないかを毎回測ります。
支えの判定そのものを変えるなら、別の手が要ります。出典はこのモデルは忠実性の計算の2段目、すなわち主張を与えられた文脈と突き合わせて導けるかを判定する場面で使えるとして、判定用のモデルを挙げています。
4段目から先は、落ちるのが正しい回答ばかりになる。
使ったのは式で作った条文と回答です。実際の回答はもっと長く、1件あたりの主張の数も増えます。主張が多いほど点は細かくなり、この計測ほど極端な固まり方はしません。ここで見せているのは、点にまとめた時点で順序の情報が失われるという関係です。
This model can be used in the second step of calculating faithfulness, i.e. when claims are cross-checked with the given context to determine if it can be inferred from the context.原文Ragas「Faithfulness」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る