インテントのトレーニングとテスト
トレーニング・コーパスを使用してモデルをトレーニングすると、ボットは、ユーザーが話すこと(場合によっては、話そうとしていること)を理解できるようになります。
インテント・テストおよびインテント・トレーニングを数回繰り返して、認識力を向上できます。トレーニングは、インテント定義のみを使用して制御します。スキルがそれ自体でユーザー・チャットから学習することはできません。
発話のテスト
コーパスの20%をインテントのテスト用に確保し、残りの80%をインテントのトレーニングに使用することをお薦めします。これら2つのセットは分けておき、テスト・ケースに組み込んだテスト発話が、スキルからはわからないようにしてください。
各インテントのデータ・セットに80/20の分割を適用します。この分割を行う前に発話をランダム化して、トレーニング・モデルで発話内の用語およびパターンに均等に重みが付けられるようにします。
発話テスター
発話テスターは、スキルの認識を確認するための手段です。トレーニング・コーパスに含まれていないフレーズを入力して、インテント信頼度ランキングと返されたJSONを確認することで、インテントの作成がどの程度成功したかを調べることができます。このランキングは、ユーザー入力の解決に最適な候補をスキルで予測したもので、現時点での認識力を示します。
図utterance-tester-quick-test.pngの説明
発話テスターを使用すると、個別テストのクイック・テストを実行したり、異なるバージョンのトレーニング・モデルでインテント解決を測定するためのテスト・ケースとして発話を組み込んだりすることができます。
テスト・ケース
各テストには発話と解決予定のインテントがあり、これはラベル一致と呼ばれます。テスト・ケースには、一致するエンティティ値および発話に必要な言語を含めることもできます。スキルを開発しているときにテスト・ケースを実行し、後でスキルが本番のときに回帰テストにテスト・ケースを使用できます。後者の場合は、テスト・ケースを実行して、トレーニング・モデルの新リリースがインテント解決に悪影響を及ぼしているかどうかを確認できます。
会話テスターで作成するテスト・ケースと同様に、発話テスト・ケースはスキルの一部であり、各バージョンに引き継がれます。スキルを拡張した場合、拡張版はテスト・ケースを継承します。会話テスト・ケースがシナリオのテストを目的としているのに対して、発話テスト・ケースは会話の断片を個別にテストして、各発話が正しいインテントに解決されるようにすることを目的としています。
テスト・ケースの管理
nluTestSuites
フォルダにテスト・スイートが含まれないようにできます。テスト・スイートの作成
- 「+テスト・スイート」をクリックします。
- 「一般」タブで、「表示名」フィールドに値を追加して、プレースホルダ名(TestSuite0001など)をよりわかりやすい名前に置き換えます。
- オプションで、テスト・スイートでカバーされる機能について説明する説明を追加します。
- 次のいずれかの方法(または組合せ)を使用して、テスト・スイートにテスト・ケースを移入します。
- テスト・ケースを手動で追加します(テスト・ケースを作成するか、発話テスターから発話をテスト・ケースとして保存します)。
- テスト・ケースのインポート
ノート
インポートを介してテスト・スイートにテスト・ケースを割り当てるには、CSVのtestSuite
フィールドを空にするか、インポート・ダイアログで選択したテスト・スイートと一致する名前を含める必要があります。 - テスト・ケースを編集して、そのテスト・スイートを再割当てします。
- 「すべて」および「すべて実行」オプションを使用して起動されるテスト実行からテスト・スイートを除外する場合は、「テスト・スイートの有効化」をオフにします。
- スキル・エクスポートにテスト・スイートを含めない場合は、「スキル・エクスポートに含める」をオフにします。テスト・スイートのこのオプションをオフにすると、エクスポートされたZIPファイルにスキルのテスト・スイートを格納する
nluTestSuites
フォルダには含まれません。
発話テスト・ケースの作成
テスト・ケースを1つずつ追加するには、「発話テスター」または「新規テスト・ケース」ダイアログ(「+テスト・ケース」をクリックしてアクセス)を使用します。あるいは、CSVをアップロードして一括で追加することもできます。
各テスト・ケースはテスト・スイートに属している必要があるため、テスト・ケースを作成する前に、スキルの機能を反映するテスト・スイート、または失敗テスト、ドメイン内テスト、ドメイン外テストなどのインテント・テストのいくつかの側面を作成できます。
ヒント:
テストで適切なカバレッジを提供するために、概念的に変化するだけでなく、ユーザーが一様にリクエストを行わないため文法的にも変化するテスト・スイートの発話を作成します。これらのディメンションを追加するには、インサイト・リトレーナで問い合せた実際のユーザー・メッセージおよびデータ製造から収集されたクラウド・ソース入力からテスト・スイートを作成します。発話テスターでのテスト・ケースの追加
- 「発話のテスト」をクリックします。
- スキルが複数言語の場合は、ネイティブ言語を選択します。
- 発話を入力し、「テスト」をクリックします。
- 「テスト・ケースとして保存」をクリックして、テスト・スイートを選択します。
テスト・ケースの作成
- 発話テスターで「テスト・ケースに移動」をクリックします。
- 「+テスト・ケース」をクリックします。
- 「新規テスト・ケース」ダイアログに入力します:
- 必要に応じて、テスト・ケースを無効にします。
- テスト発話を入力します。
- テスト・スイートを選択します。
- 予期されるインテントを選択します。失敗テスト用のテスト・ケースを作成している場合は、「unresolvedIntent」を選択します。
- 複数言語スキルの場合は、言語タグと予期される言語を選択します。
- 「スイートに追加」をクリックします。「テスト・ケース」ページでは、テスト・ケースを削除したり、別のテスト・スイートへのテスト・ケースの再割当てを含むテスト・ケースを編集できます。
- エンティティ値をテストするには:
- 「エンティティのテスト」をオンにします。次に、「続行」をクリックします。
- 単語を強調表示し、リストからエンティティを選択して、その単語にエンティティ・ラベルを適用します。完了したら、「スイートに追加」をクリックします。
ノート
「エンティティのテスト」を有効にした後は、必ずテスト・ケースの発話から単語またはフレーズを選択してください。「エンティティのテスト」を有効にしているが、単語を強調表示していない場合、テスト・ケースは失敗します。
スキル・レベル・テスト・スイートのテスト・ケースのインポート
testSuite
– テスト・ケースが属するテスト・スイートの名前。CSVの各行のtestSuite
フィールドには、異なるテスト・スイート名を指定することも、空にすることもできます。testSuite
フィールドが空のテスト・ケースは、CSVのインポート時に選択したテスト・スイートに追加されます。テスト・スイートを選択しないと、それらはデフォルト・テスト・スイートに割り当てられます。testSuite
フィールドが移入されたテスト・ケースは、選択したテスト・スイートの名前がtestSuite
フィールドの名前と一致する場合にのみ、CSVをインポートするときに選択するテスト・スイートに割り当てられます。testSuite
フィールドに指定された名前によるテスト・スイートがまだ存在しない場合は、CSVのインポート後に作成されます。
utterance
– 発話の例(必須)。21.04よりも前のOracle Digital Assistantバージョンではquery
にマップされます。expectedIntent
– 一致するインテント(必須)。このフィールドは、21.04よりも前のOracle Digital AssistantバージョンではTopIntent
にマップされます。ヒント:
「21.04より前のバージョンのCSVのインポート」では、一括テストで使用できるように、21.04より前のCSVを再フォーマットする方法について説明します。enabled
–TRUE
の場合、テスト実行にテスト・ケースが含まれます。FALSE
の場合は除外されます。languageTag
– 言語タグ(en
など)。値がない場合、スキルの言語設定から検出された言語がデフォルトで使用されます。expectedLanguageTag
(オプション)– 多言語スキルの場合、これはテスト発話をインテントに解決する際にモデルで使用する言語の言語タグです。テスト・ケースに合格するには、このタグが検出された言語と一致する必要があります。expectedEntities
–entityName
オブジェクトの配列として表される、テスト・ケース発話の一致するエンティティ。各entityName
は、beginOffset
およびendOffset
プロパティを使用して、発話におけるエンティティ値の位置を識別します。このオフセットは、単語ではなく文字によって決定され、発話の最初の文字(0-1)から計算されます。たとえば、「小さいピザをオーダーしたい」のPizzaSizeエンティティ値のentityName
オブジェクトは、次のとおりです。[{"entityName":"PizzaSize","beginOffset":18,"endOffset":23,"originalString":"small"}, …]
- 「詳細」、「インポート」の順に選択します。
- CSVを参照し、選択します。
- テスト・スイートを選択します。テスト・ケースは、
testSuite
フィールドが空の場合、または選択したテスト・スイートの名前と一致する場合にのみ、選択したテスト・スイートに割り当てることができます。 - 「アップロード」をクリックします
21.04より前のバージョンのCSVのインポート
query
およびTopIntent
フィールドがある21.04より前のバージョンのCSVを介してインポートされたテスト・ケースは、デフォルトのテスト・スイートにのみ追加されます。これらのテスト・ケースは、CSVのインポート後に編集して個別に他のテスト・スイートに再割当できます。または、CSVを現在の形式に更新してから編集してから、次のようにインポートできます。
- 「詳細」→「インポート」を選択します。
- インポートが完了したら、「デフォルト・テスト・スイート」を選択し、「詳細」→「選択したスイートのエクスポート」をクリックします。エクスポートされたファイルは現在のフォーマットに変換されます。
- ZIPファイルを解凍し、CSVを編集します。終了したら、CSVを再度インポートします(「詳細」→「インポート」)。場合によっては、デフォルト・テスト・スイートから重複テスト・ケースを削除する必要があります。
ノート
軽微な変更を含む同じCSVを複数回アップロードすると、新しいデータまたは更新されたデータが古いデータとマージされます(新しい更新が適用され、新しい行が追加されます)。ただし、新しいCSVをアップロードすることによって、発話を削除することはできません。発話を削除する必要がある場合は、ユーザー・インタフェースから手動で削除する必要があります。
テスト実行の作成
テスト実行は、スキルの認識のいくつかの側面を評価することを目的としたテスト・ケースまたはテスト・スイートのコンパイルです。テスト実行の内容(およびボリューム)は、テストする機能によって異なるため、テスト実行には、テスト・スイートからのテスト・ケースのサブセット、完全なテスト・スイートまたは複数のテスト・スイートが含まれる場合があります。
テスト実行に含まれるテスト・ケースは、スキルに設定された信頼度しきい値に対して評価されます。テスト・ケースが全体的なテスト実行に合格するには、信頼度しきい値以上の期待されるインテントに解決される必要があります。指定した場合、テスト・ケースはエンティティ値と言語一致基準も満たす必要があります。テスト実行結果をレビューすることで、プラットフォームまたはスキル自体に加えられた変更がインテント解決の精度を損なっているかどうかを確認できます。
モデルのテストに加えて、テスト実行結果を使用してテストの信頼性を評価することもできます。たとえば、ほぼすべてのテスト・ケースが合格したことを示す結果は、表面上ではモデルの最適な機能を示している可能性があります。ただし、合格テスト・ケースのレビューでは、テスト・ケースが現在のトレーニングを反映していないことが判明する場合があります。これは、発話が単純すぎたり、テストしている概念や言い回しに関してかなり重複しているためです。一方、多数の失敗したテストは、トレーニング・データの不備を示している可能性がありますが、これらのテスト・ケースをレビューすると、それらの発話が予期される誤ったインテントとペアになっていることがわかります。
- 「すべて実行」をクリックすると、選択したテスト・スイート内のすべてのテスト・ケースのテスト実行が作成されます。(または、すべてのテスト・スイートを実行する場合は、「すべて」を選択してから「すべて実行」をクリックします)。
- スイート内の選択したテスト・ケースのテスト実行(または、「すべて」を選択した場合はすべてのテスト・ケースのサブセットに対するテスト実行)を作成するには、発話テキストと予想されるインテントに一致する文字列を追加してテスト・ケースをフィルタ処理します。発話を選択し、「実行」をクリックします。
- テスト実行からテスト・スイートを除外するには、最初にテスト・スイートを選択し、「一般」タブを開き、「テスト・スイートの有効化」をオフにします。
- 多言語スキルの場合は、「言語タグ」オプションおよび「予想言語」オプション(「オプション属性」からアクセス)でフィルタすることもできます。
- スイート内の選択したテスト・ケースのテスト実行(または、「すべて」を選択した場合はすべてのテスト・ケースのサブセットに対するテスト実行)を作成するには、発話テキストと予想されるインテントに一致する文字列を追加してテスト・ケースをフィルタ処理します。発話を選択し、「実行」をクリックします。
- テストのサブジェクトを反映するテスト実行名を入力します。このステップはオプションです。
- 「開始」をクリックします
- 「テスト結果」をクリックし、テスト実行を選択します。
ヒント:
多数のテスト・ケースを含むテスト実行は、完了する数分かかる場合があります。これらの大規模なテスト実行では、テストが完了するまで定期的に「リフレッシュ」をクリックする必要がある場合があります。すべてのテスト・ケースが評価された後に、「精度」メトリックの「進行中」ステータスと「インテント」レポートがレンダリングされる割合。
- テスト実行レポートをレビューします。たとえば、最初に概要レポートで提供されるテスト実行の高レベル・メトリックを確認します。次に、「テスト・ケース」レポートをフィルタリングして、テスト実行に含まれるすべてのテスト・ケースを、合格および不合格のテスト・ケースにリストして、実際のテスト・ケースに対してテスト結果を検証します。その後で、個々のテスト・ケースの結果を確認できます。また、概要レポートの精度スコアとインテント・レポートの精度スコアを比較することもできます。これは、モデルの正しいインテントを予測する能力を測定します。このレポートにリストされているテスト・ケースをレビューするには、テスト・ケース・レポートを開き、インテントでフィルタします。
テスト実行サマリー・レポート
サマリー・レポートには、テスト実行でカバーされるユーザー入力のタイプをモデルがどの程度正常に処理できるかについての全体的な評価が表示されます。テスト実行に含まれるテスト・スイートについて、モデルの評価に使用されたテスト・ケースの合計数と、その合計から、失敗したテスト・ケースの数(信頼性が高いものと信頼性が低いものの両方)と、合格した信頼性が高く信頼性が低いテスト・ケースの数が表示されます。モデルの全体的な精度(スキルの信頼度レベル以上で予想されるインテントを予測し、エンティティ値を認識し、スキルの言語での発話を解決する機能)は、テスト実行で合格したテストの成功率によって測定されます。
図test-run-test-results-summary.pngの説明
サマリー・レポート・メトリック
- 精度– 合格テスト・ケースの成功率(テスト実行に含まれるテスト・ケースの合計数と比較した合格テスト・ケースの数)に関するモデルの精度。
ノート
無効なテスト・ケースは、精度スコアにファクタリングされません。エラーのために失敗したテストもありません。失敗したテストは、かわりに「Failed」カウントに追加されます。精度スコアが低い場合は、テスト実行が、トレーニング・データで適切にサポートされていない概念および言語についてモデルを評価していることを示します。精度スコアを増やすには、テスト実行のテスト・ケースを反映する発話を使用してモデルを再トレーニングします。
この「精度」メトリックはテスト実行全体に適用され、「インテント」レポートの「精度」メトリックとは別のスコアを提供します。このメトリックは、モデルがすべてのテスト・ケース基準に合格したテスト・ケースの割合です。一方、インテント・レポートの精度スコアは、エンドツーエンド・テストではありません。これは、モデルがスキルの信頼度しきい値以上で予想されるインテントを予測するのみであったテスト・ケースの割合です。その他のテスト・ケース基準(エンティティ値やスキル言語など)はファクタリングされません。これらの2つのレポートで合格テスト・ケースが意味する条件が異なる場合、それぞれの精度スコアが常にステップにあるとはかぎりません。テスト・データがトレーニング・データと一致しない場合、インテント一致精度スコアはテスト実行スコア全体より高くなる可能性があります。テスト・ケースをサポートする発話を使用してモデルを再トレーニングすると、予想されるインテントをより高い信頼度で予測できるようになり、テスト実行の精度スコアが増加します。
ノート
精度メトリックは、テスト実行が完了するまで使用できず、スキルが22.12より前のバージョンのOracle Digital Assistantプラットフォームで実行されたときに完了したテスト実行には使用できません。 - テスト・ケース– テスト実行に含まれるテスト・ケース(信頼性と信頼性の低いテスト・ケースの両方)の合計数。スキップされたテスト・ケースは、この集計に含まれますが、「精度」メトリックの計算時には考慮されません。
- 合格– 信頼度しきい値でインテントに解決し、選択したエンティティ値または言語を照合することによって渡されるテスト・ケースの数(信頼性と信頼性の両方)。
- 失敗– 信頼度しきい値で予想されるインテントへの解決に失敗し、選択したエンティティ値または言語との照合に失敗したテスト・ケース(ボットの信頼性と信頼性が低い)の数。
このレポートの「合格」および「不合格」メトリックの背後にある実際のテスト・ケースを確認するには、「テスト・ケース」レポートを開き、その「合格」または「不合格」フィルタを適用します。
図test-runs-intent-report.pngの説明
テスト・スイート内訳
「テスト・スイートのブレークダウン」表には、テスト実行に含まれるテスト・スイートとその個々の統計がリストされます。テスト・スイートに属する実際のテスト・ケースを確認するには、「テスト・スイート」列のリンクをクリックします。
図test-suiteの説明-breakdown.png
インテント・レポート
このレポートのメトリックは、テスト実行のテスト・ケース全体でモデルのラベル一致を追跡します。ここで、モデルはテスト・ケース発話の予想されるインテントを正しく予測します。このレポートのコンテキスト内では、正確性、合格および不合格は、モデルが信頼度しきい値以上の正しい予想インテントを予測したテスト・ケースの観点から測定されます。サマリー・レポートで考慮されるその他の基準(エンティティ値の照合やスキル言語など)は考慮されません。その結果、モデル精度の異なるビューが提供されます。このレポートは、現在のトレーニングによってモデルが正しいインテントを一貫して予測できるかどうかを確認するために役立ちます。
インテント・レポート・メトリック
- テスト・ケース– このテスト実行に含まれるテスト・ケースの数。この合計には、信頼性の高いテスト・ケースと信頼性の低いテスト・ケースの両方が含まれます。スキップされたテスト・ケースはこの集計に含まれません。
ヒント:
「テスト・ケース」、「合格」および「不合格」メトリックの信頼性の低いテスト・ケース・リンクは、信頼性の低いテスト・ケースでフィルタされた「テスト・ケース」レポートを開きます。このナビゲーションは、テスト・スイートでレポートをフィルタする場合には使用できません。 - 精度– このテスト実行のテスト・ケース全体でのスキルの信頼度しきい値以上での、予想されるインテントとの照合におけるモデルの精度。「ラベル一致」サブメトリックは、信頼度スコアに関係なく、モデルが予想インテントを正しく予測したテスト実行のテスト・ケースの割合を表します。失敗したテスト・ケースと合格したテスト・ケースのラベル一致ファクタは、そのスコアが精度スコアよりも高くなる可能性があります。
この「精度」メトリックをサマリー・レポートの「精度」メトリックと比較できます。「サマリー」レポートの精度スコアが低い場合、このレポートを使用して、モデルの失敗が、予想される意図を予測できないことによるものかどうかを簡単に確認できます。ただし、このレポートの精度スコアが高い場合は、問題のルートとしてラベル照合を除外できます。また、トレーニング・データを大幅に修正してテスト実行の精度スコアを増やすのではなく、かわりに、テスト・ケース発話の概念と言語を反映する発話を追加することに集中できます。
- 合格– モデルがスキルの信頼度しきい値で予想されるインテントを予測したテスト・ケース(信頼性があり信頼できない)の数。
- 失敗– モデルが予想インテントをスキルの信頼度しきい値を下回ると予測したテスト・ケース(信頼性があり信頼できない)の数。
- 信頼度合格– このテスト実行で合格したすべてのテスト・ケースの信頼度スコアの平均。
- 信頼度不合格– このテスト実行で失敗したすべてのテスト・ケースの信頼度スコアの平均。
テスト・スイートでインテント・レポートをフィルタすると、「テスト・ケース」、「合格」および「不合格」タイルの信頼性の低いテスト・ケース・リンクからテスト・ケース・レポートにアクセスできなくなります。「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると、これらのリンクが再びアクティブになります。
テスト・スイートによるフィルタ

レポートでは、追加(または後で削除)する各テスト・スイートのメトリックが調整されます。選択したテスト・スイートに属する有効なテスト・ケースの数に基づいて、インテント一致の結果が表されます。
バージョン23.06より前のプラットフォームで実行されたテスト・スイートでフィルタすることはできません。これらのテストスイートを含めるには、バージョン23.06以降にアップグレードしたあとで再度実行する必要があります。
テスト・スイートによるフィルタリングでは、「テスト・ケース」、「合格」および「不合格」タイルの信頼性の低いテスト・ケース・リンクから「テスト・ケース」レポートへのナビゲーションが無効になります。インテント・ブレークダウンの「合計」列のリンクも無効になります。「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると、これらのリンクがすべて再びアクティブになります。
インテント内訳
「インテントによるフィルタ」フィールドでは、インテント・ブレークダウン表のビューは変更されますが、レポートの全体的なメトリックは変更されません。これらのメトリックは、「テスト・スイートによるフィルタ」フィールドのエントリ(またはエントリの不足)を反映しています。
- インテント– 予想されるインテントの名前。
- 合計– 予想されるインテントのリンクとして表されるテスト・ケースの数。このリンクをクリックすると、テスト・ケース・レポートに移動できます。
ノート
このレポートにテスト・スイート・フィルタを適用した場合、テスト・ケース・レポートに移動できません。このリンクは、「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると再びアクティブになります。 - 精度– スキルの信頼度しきい値以上で予想されるインテントのラベル一致が発生したテスト・ケースの割合。
- 合格– モデルがスキルの信頼度しきい値以上で予想されるインテントを予測したテスト・ケース(信頼性の低いテスト・ケースを含む)の数。
- 成功- 信頼性なし– モデルがスキルの信頼度しきい値を5%以下で予測したテスト・ケースの数。
- 失敗– モデルがスキルの信頼度しきい値を下回る予測インテントを予測したために失敗したテスト実行のテスト・ケースの数。
- 失敗- 信頼性なし– 予想されるインテントの予測に対するモデルの信頼度がスキルの信頼度しきい値を5%下回ったために失敗したテスト・ケースの数。これらのテストケースは、
- ラベル一致– 信頼度レベルに関係なく、モデルが予想インテントを正常に予測したテスト・ケースの数。失敗したテスト・ケースではファクタリングされるため、ラベル一致スコアと精度スコアが常に互いにステップしているとはかぎりません。たとえば、5つのうち4つの合格テスト・ケースでは、インテントの精度スコアが80%になります。ただし、モデルが故障しているテスト・ケースの意図を正しく予測した場合、ラベル一致は精度を20%上回ります。
- 信頼度合格– 予想されるインテントに正常に一致したすべてのテスト・ケースの信頼度スコアの平均。
- 信頼度不合格– 予想されるインテントに一致しなかったすべてのテスト・ケースの信頼度スコアの平均。
ヒント:
実際のテスト・ケースを確認するには、「テスト・ケース」レポートを開き、インテントによるフィルタを開きます。
テスト・ケース・レポート
- 結果をフィルタするには、「すべて」、「パス済」(緑色)」または「失敗」(赤色)」をクリックします。スキップ済としてカウントされるテスト・ケースには、無効化されたテスト・ケースと、予想されるインテントが無効化されたテスト・ケースの両方が含まれます。
信頼できないテスト・ケースで結果をフィルタするには、警告メッセージで「信頼できないケースを表示」をクリックするか、「信頼できないケースのみ」フィルタを選択します。 - 必要に応じて、特定のインテントまたはエンティティの結果、または信頼性の高いテスト・ケースまたは信頼できないテスト・ケースでフィルタします。
- 信頼できないテスト・ケースおよび失敗したテスト・ケースの場合は、「類似の発話の表示」(「テスト情報」ページにある)をクリックして、テスト・ケースの発話にトレーニング・セットの発話と類似性があるかどうかを確認します。
- 次の結果を確認します。
- テスト情報– ターゲット信頼度しきい値、予想されるインテント、一致したエンティティ値など、テスト・ケースの概要を示します。
- テスト結果– 信頼度レベル別のインテントのランキング。また、レポートが存在する場合は、発話に含まれるエンティティがエンティティ名と値で識別されます。結果全体を含むJSONオブジェクトを表示することもできます。
- 失敗分析– テスト・ケースが失敗した理由を説明します。たとえば、実際のインテントが予期されるインテントではなく、テスト・ケースのラベル付きエンティティ値が解決されたエンティティと一致しないか、予期される言語が検出された言語と同じではありません。
信頼できないテスト・ケース
テスト・ケースの中には、信頼度しきい値の5%以下で解決されるため、一貫性のある結果を提供できないものがあります。この狭いマージンにより、これらのテスト・ケースの信頼性が低下します。たとえば、スキルの信頼度しきい値が0.7に設定されている場合、トレーニング・データにわずかな変更のみを行った後、またはスキルが新しいバージョンのモデルにアップグレードされたために、74%で合格するテスト・ケースが失敗することがあります。これらのテスト・ケースの脆弱性は、トレーニング・データで表される発話の数が少なすぎる可能性があり、インテントのトレーニング・データと類似の発話のバランスをとる必要がある可能性があることを示している可能性があります。
- テストスイートを実行します。その後、「テスト結果」をクリックし、テスト実行を選択します。信頼性の低いテスト・ケースは、テスト実行結果の開始時にソートされ、警告
でフラグが付けられます。
- 信頼性の低いテスト・ケースを分離するには:
- メッセージの「信頼できないケースの表示」をクリックします。
- 「ケース別フィルタ」メニューから「信頼できないケースのみ」を選択します。
- メッセージの「信頼できないケースの表示」をクリックします。
- テスト・ケースの最上位ランクのインテントの信頼度しきい値への近接性を検出するには、「テスト結果」ウィンドウを開きます。最上位の信頼度スコアと信頼度しきい値を比較するには、
をクリックします。
- 最上位インテントのトレーニング・データを補足する必要がある場合は、警告メッセージで「最上位インテントに移動」をクリックします。
- トレーニング・データのテスト・ケースで表される発話の数量を決定する場合は、「類似の発話の表示」をクリックします。
異常レポートを実行して、テスト・ケースの発話に最も類似した発話もトレーニング・セットの異常であるかどうかを確認することもできます。
エクスポートされたテスト実行
テスト実行はスキルとともに保持されませんが、「テスト実行のエクスポート」をクリックして、分析のためにシステムにダウンロードできます。インテントが予期したとおりにユーザー入力を解決しなくなった場合、またはプラットフォームの変更がインテント解決に悪影響を与えた場合は、エクスポートされたテスト実行のログを使用してSR (サービス・リクエスト)の詳細を収集できます。
失敗テスト
失敗(ネガティブ)テストでは、unresolvedIntentになるため、またはすべてのインテントの信頼度しきい値を下回る他のインテントにしか解決されないために、解決すべきではない発話を一括テストできます。
- 未解決と予想されるすべてのテスト・ケースについて「予想されるインテント」にunresolvedIntentを指定します。これらの"偽"フレーズが未解決のままであることが理想的です。
- 必要に応じて、テスト実行の作成時に信頼度しきい値を調整して、偽フレーズ(
unresolvedIntent
が予想されるインテントであるフレーズ)がここで設定した値を下回る場合にのみ解決することを確認します。たとえば、しきい値を増やすと、偽フレーズは信頼度レベルで(unresolvedIntentを含む)任意のインテントに解決できなくなる可能性があります。つまり、これらが未解決とみなされるために合格することを意味します。 - テスト結果をレビューし、テスト・ケースがしきい値でunresolvedIntentと一致して合格したか、しきい値でどのインテント(unresolvedIntentまたはそれ以外)にも一致しなかったかを調べます
類似の発話
「類似の発話の表示」をクリックすると、テスト・フレーズとトレーニング・コーパスの発話の類似点を確認できます。このツールでは、発話がテスト・フレーズにどの程度似ているか、および拡張機能によって発話がインテント間で相互にどの程度似ているかを示すことで、スキルのトレーニング・データに関する追加の視点が提供されます。このツールを使用すると、テスト・フレーズが他のインテントに属する発話に類似していることが、テスト・フレーズが想定どおりに解決されない理由かどうかを確認できます。テスト・フレーズと類似している場合、トレーニング・データが間違ったインテントに属している場所を示すこともあります。
図similar-utterance-report-all-intents.pngの説明
このツールによって生成されるリストは、テスト・フレーズに最も近い20個の発話(および関連するインテント)をランク付けします。理想的には、このリストのトップランクの発話(テスト・フレーズに最も似ている発話)は、テスト・フレーズをターゲットとするインテントに属します。予想されるインテントに属するもっとも近い発話がさらに停止している場合、リストを確認すると、その理由に関するヒントがいくつか表示されることがあります。たとえば、トランザクション・インテント発話(昨日どのくらいのお金を振り替えたか)をテストする場合、トップランクの発話もトランザクション・インテントに属すると予想されます。ただし、このテスト発話が間違ったインテントに解決されている場合、または信頼度レベルを下回っている場合は、他のインテントに属する類似の表現を持つ高度にランク付けされた発話に共通していることがリストに示される場合があります。残高インテントのすべてのアカウントにどのくらいのお金がありますか?。たとえば、トランザクション・インテントの4月にどのくらい預入しましたか?の発話よりもテスト発話に近い場合があります。
このツールは、Trainer Tmでトレーニングされたスキルにのみ使用できます(Htでトレーニングされたスキルには使用できません)。
- インテントによるフィルタ– 選択したインテント(またはインテント)に属するテスト発話に最も近い20発話を返します。
- 発話によるフィルタ– 単語またはフレーズを含むテスト発話に最も近い発話の20を返します。
- 言語 – 多言語スキルでは、言語を選択してレポートを問合せおよびフィルタできます。
これらのフィルタを適用しても、ランキングは変更されず、ビューのみが変更されます。たとえば、3番目にランク付けされた発話は、フィルタに関係なくそのように記録されます。レポートのランキングおよびコンテンツは、コーパスを更新してTrainer Tmでスキルを再トレーニングした場合にのみ変更されます。