- 公開日
AIが「自信は80%です」と答えても、その一文だけでは、その回答が80%の確率で正しいと確認できません。確信度を判断に使うには、同じ条件で集めた複数の回答について、自己申告した値と、原資料で確かめた正誤を比べます。この対応を調べ、表示する確信度を実際の正答に近づける考え方が確信度の校正です。
評価の裏付けがない場面では、もっともらしい数値を付け足すより、何を確認でき、何を推定し、何が不明なのかを示します。自己申告が役立つかを調べることと、目の前の回答を信用してよいかを判断することを分ける必要があります。
数字の前に、何についての自信かを決める
一つの回答には、正しい定義と、未確認の対象条件が混ざることがあります。「全体として80%」と表示すると、どの部分が不確かなのかが見えません。評価では、正誤を判定する単位を先に決めます。短いFAQの一回答なのか、回答に含まれる個々の主張なのかによって、集計する件数も変わります。
また、モデルが言葉として出した確信度と、生成時のトークンの確率は同じ指標ではありません。ここで扱うのは、AIに回答の正しさについて数値を答えさせた自己申告の確信度です。「自信あり」という語だけを集めて、後から一律に90%へ置き換えることはしません。
TianらのEMNLP 2023論文は、ChatGPT、GPT-4、ClaudeなどのRLHF済みモデルについて、TriviaQA・SciQ・TruthfulQAの質問で確信度と正答を比べ、言葉で述べさせた確信度がモデルの条件付き確率より校正のよい場合が多かったと報告しています。自己申告をすべて無価値とする根拠ではありません。ただし、対象は当時のモデルと特定の質問データであり、その結果だけで現在使っている日本語の社内業務まで評価済みにはなりません。
「この業務ではどの程度対応するのか」を知るには、モデル、依頼文、参照資料、質問の種類、正誤の判定基準を固定した評価が必要です。正解を知ってから確信度を書き直すと、実際に回答する時点の自己申告を評価したことになりません。
架空の回答集合で帯ごとのずれを見る
架空の社内FAQを使い、校正の読み方を考えます。以下は説明用に作った26回答の仮定データで、AIを動かして取得した結果ではありません。回答は一問一答の短い事実回答とし、同じ版の規程で正誤を判定できるものを「正解」「誤り」に分けます。必要な別表がないものは「未確認」とします。
表の確信度は、答えを採点する前に記録した値という設定です。一つの帯の中では、全回答が同じ数値を申告したものとします。
| 自己申告の帯 | この例の申告値 | 回答数 | 正解 | 誤り | 未確認 |
|---|---|---|---|---|---|
| 50%以上70%未満 | 全6件が60% | 6 | 3 | 3 | 0 |
| 70%以上90%未満 | 全10件が80% | 10 | 5 | 3 | 2 |
| 90%以上100%以下 | 全10件が95% | 10 | 7 | 3 | 0 |
| 合計 | 帯ごとに異なる | 26 | 15 | 9 | 2 |
まず、正誤を判定できた回答だけを使って、帯ごとの正答率を求めます。
- 60%を申告した帯:3件÷6件=50%。申告値とのずれは10ポイントです。
- 80%を申告した帯:5件÷8件=62.5%。判定できた8件では、申告値より17.5ポイント低くなっています。
- 95%を申告した帯:7件÷10件=70%。申告値より25ポイント低くなっています。
ここでいうポイントは、二つの百分率を引いた差です。この架空データでは、判定できた各帯で申告値が正答率を上回ります。その意味で、過信の傾向を示す例です。ただし、少数の回答で得た差を、いつでも同じ幅で起きる誤差とみなすことはできません。例えば95%の表示を機械的に70%へ置き換えても、別の質問集合で同じ対応が成り立つとは限りません。
実際の帯には、71%、80%、88%など異なる申告値が含まれます。その場合は帯の名前や中央の値を代用せず、比較対象に含めた回答の申告値の平均と正答率を照合します。帯の境界を後から都合よく変えると見え方が変わるため、集計方法は結果を見る前に決めておきます。
未確認を落として見かけの精度を作らない
80%の帯にある未確認2件は、正解にも誤りにも加えません。判定済みの8件だけで計算した62.5%には、「正誤を確認できた回答に限る」という条件が付きます。確認しやすい質問と、別表が必要な難しい質問とで傾向が違えば、この値を10件全体へそのまま広げられません。
全10件については、確認済みの正解が5件なので、正解と確認できた割合は5÷10=50%です。未確認2件が両方正解なら7÷10=70%、両方誤りなら50%になります。この50〜70%は、残る2件の正誤だけを変えた算術上の範囲です。母集団に対する信頼区間でも、次の一回答の確率でもありません。
評価記録には、帯ごとの回答数、正解数、誤り数、未確認数と、未確認の理由を残します。今回なら「別表が未取得」と書くことで、どの資料がそろえば採点を完了できるかが分かります。「AIが自信を示したから正解」と補完すると、調べたい自己申告を正解の根拠にしてしまいます。
校正がよくても、難しい回答を見分けられるとは限らない
校正は、示した確信度と集団での正答の対応を見るものです。一方、正答率は、どれだけ正解したかを表します。高い正答率と、確信度の正確な表示は、別々に確認する必要があります。
例えば、どの質問にも同じ60%を出す方式を考えます。十分に定義された評価集合で実際の正答率も60%なら、その集計では値が一致します。しかし、すべて同じ表示なので、どの回答を優先して人が確認すべきかは数値から選べません。正しい回答に高い値、誤った回答に低い値を付け分けられるかという能力も別に見ます。同論文でも、校正誤差の指標だけでは識別の力を捉えられないとして、確信度の高い順に回答を選んだときの正答率を見る指標(AUC)を併せて報告しています。
業務で確信度の低い回答だけを確認する運用にするなら、高い帯に残る誤りも確認対象です。上の例では95%の帯にも誤りが3件あります。校正の集計値だけで、重要な回答の原資料との照合を省く基準にはできません。
同じ問いへの回答を、根拠が追える形へ直す
ここでも架空のFAQを使います。利用者の問いは「出張の申請期限は、出発の何日前ですか」です。提示された規程第2版には「国内出張は出発日の3営業日前までに申請」とあります。一方、海外出張は別表参照と書かれており、その別表は未提供です。利用者の出張区分と、実際に適用される規程版もまだ分かりません。
修正前の回答は、次のようなものです。
申請期限は出発の3日前です。自信は80%あります。
この回答は、営業日を暦日のように縮め、国内出張の条件を落としています。さらに、80%の評価根拠も示していません。同じ材料を使って、次のように修正します。
確認できた内容:提示された規程第2版には、国内出張は出発日の3営業日前までに申請するとあります。
推定できる範囲:今回が国内出張で、この第2版が適用されるなら、同じ期限が該当すると考えられます。
未確認:今回の出張区分、適用される規程版、海外出張の期限です。出張区分と現行規程、必要なら別表を担当部署で確認してください。確認前には、あなたの申請期限を特定できません。
確認できた資料の記載と、その記載を利用者へ当てはめる推定を分けています。確定・推定・未確認を分けて答える基本は、分からないことを残して答える不確実性の扱いの基本で扱っています。国内出張の説明まで止める必要はありませんが、個別の期限は保留します。「3営業日前」を具体的な日付へ直す場合は、出発日と組織の営業日の定義も必要です。
この修正は回答の透明性を高めるための例で、校正の改善を測定した結果ではありません。数値を削るだけで内容が正しくなるわけではなく、規程との照合によって、条件と表記の誤りも直しています。
数値を使う前にそろえる評価条件
自己申告の確信度を業務へ取り入れるなら、まず用途を絞ります。よくあるFAQを人へ回す順序付けに使うのか、回答を利用者に表示するのかで、必要な確認が違います。どちらでも、対象業務に近い質問と、正誤を確認できる原資料をそろえるところから始めます。
評価用の質問を見ながら依頼文や確信度の補正を調整した場合は、その質問だけで改善を判断しません。調整に使っていない別の質問集合を用意し、同じ採点基準で確かめます。研究の評価でも採点方法には条件があり、Tianらの実験にはLLMによる同義判定が含まれます。正解ラベルを誰が何に基づいて決めたかも、結果と一緒に確認します。
モデルや依頼文、参照する規程が変わったときには、以前の校正結果が引き続き使えるかを確かめます。評価結果を示すときは、その対象と版も添えます。対応する評価がない回答には、測定済みの確率に見える表示を足さず、根拠、適用条件、不明点、確認先を返す方が、次の判断へつなげやすくなります。
影響が大きいのに証拠が弱いときに結論を保留する基準は「高影響なのに証拠が弱いとき、結論を保留する」、画像認識の確信度が高くても原画像で確かめる理由は「画像認識の確信度が高くても、重要な文字は原画像で確かめる」で解説しています。

