ユーザー クエリがプロジェクト (ナレッジ ベースとも呼ばれます) と照合されると、カスタムの質問の回答は、信頼度スコアと共に関連する回答を返します。 このスコアは、回答が特定のユーザー クエリに最適である信頼度を示します。
信頼スコアは 0 から 100 の範囲の数値です。 100 点は完全一致であるの可能性が高いのに対して、0 点は一致する回答が見つからなかったことを意味します。 スコアが高得点であるほど、回答の信頼度は高くなります。 与えられた 1 つのクエリに対して、複数の回答が返されることがあります。 その場合、回答は信頼度スコアが高い順に返されます。
次の表は、特定のスコアに関連付けられる標準的な信頼度を示します。
スコアの値 | スコアの意味 | サンプル クエリ |
---|---|---|
0.90 - 1.00 | ユーザー クエリと KB の質問がほぼ完全に一致 | |
> 0.70 | 高信頼度 - 通常、ユーザーのクエリに対する完全な答えとなる良い回答 | |
0.50 - 0.70 | 中程度の信頼度 - 通常、ユーザー クエリの主な意図に答えるかなり良い回答 | |
0.30 - 0.50 | 低信頼度 - 通常、ユーザーの意図の一部に答える回答。 | |
< 0.30 | 非常に低い信頼度 - 通常ユーザーのクエリに答えていないが、一部、一致する単語や語句がある回答 | |
0 | 一致なし。回答は返されません。 |
スコアのしきい値を選択します。
上の表は、カスタム質問の回答を使用してクエリを実行するときに発生する可能性があるスコアの範囲を示しています。 ただし、各プロジェクトはそれぞれに異なり、さまざまな種類の単語や意図、目的があるため、自分に最も合うしきい値をテストし、選ぶことをお勧めします。 既定では、しきい値は 0
に設定されているため、考えられるすべての回答が返されます。 たいていのプロジェクトに合う、推奨されるしきい値は 50 です。
しきい値を選ぶ際は、Accuracy (精度) と Coverage (カバレッジ) のバランスを考慮し、自分の要件に基づいて、しきい値を調整してください。
Accuracy(精度または正確さ) が重要な場合は、しきい値を大きくします。 そうすることで、回答が返されるたびに、信頼度の高いケースがずっと多くなり、ユーザーが求めている回答になる可能性がずっと高くなります。探している可能性が高くなります。 このケースでは、最終的に回答を得られない質問が多くなる可能性があります。
Coverage(カバレッジまたはリコール)が重要で、ユーザーの質問に対して部分的な関係しかなくても、できるだけ多くの質問に答えるようにしたい場合は、しきい値を小さくします。 このことは、ユーザーの実際のクエリに対する答えにはなっていないものの、他の多少関係のある回答が得られるケースが増える可能性があることを意味します。
しきい値の設定
しきい値のスコアは、REST API JSON 本文のプロパティとして設定します。 つまり、REST API を呼び出すたびに設定します。
信頼度スコアの向上
ユーザー クエリに対する特定の応答の信頼度スコアを上げるには、その応答に対する代替質問として、ユーザー クエリをプロジェクトに追加できます。 大文字と小文字が区別されない同意語を使用して、プロジェクトのキーワードに同意語を追加することもできます。
類似する信頼度スコア
複数の応答の信頼度スコアが似ている場合は、クエリが一般的すぎるために、複数の回答で信頼度が等しくなっている可能性があります。 QnA の構造を改善して、すべての QnA エンティティが明確な意図を持つようにすることを試してください。
テストと実稼働の間の信頼度スコアの違い
コンテンツが同じ場合でも、プロジェクトのテスト バージョンと公開バージョンの間で、回答の信頼度スコアがわずかに変わる場合があります。 これは、テストのコンテンツとデプロイされているプロジェクトが、別の Azure AI Search インデックスに配置されているためです。
テスト インデックスには、プロジェクトのすべての質問と回答のペアが保持されます。 テスト インデックスに対してクエリを実行すると、クエリはインデックス全体に適用され、結果はその特定のプロジェクトのパーティションに制限されます。 テスト クエリの結果がプロジェクトを検証する機能に悪影響を与える場合は、次のことができます。
- 次のいずれかを使用してプロジェクトを整理します。
- 1 つのリソースを 1 つのプロジェクトに制限する: 単一の言語リソース (および結果の Azure AI Search テスト インデックス) を 1 つのプロジェクトに制限します。
- 2 つのリソース (テスト用に 1 つ、実稼働用に 1 つ): 2 つの言語リソースを、1 つはテストに使用し (独自のテストおよび実稼働インデックスを含みます)、もう 1 つは実稼働に使用します (こちらも独自のテストおよび実稼働インデックスを含みます)。
- テストと実稼働の両方のプロジェクトに対してクエリを実行する場合は、常に同じパラメーターを使用してください。
プロジェクトをデプロイすると、プロジェクトの質問と回答の内容がテスト インデックスから Azure Search の実稼働インデックスに移動します。
異なるリージョンにプロジェクトがある場合は、各リージョンによって独自の Azure AI Search インデックスが使用されます。 異なるインデックスが使用されるため、スコアはまったく同じにはなりません。
一致が見つからない
ランカーによって適切な一致が見つからない場合は、0.0 または "None" の信頼度スコアが返され、既定の応答が返されます。 既定の応答は変更できます。