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

レポートは、追加(またはその後削除)するテスト・スイートごとにメトリックを調整します。選択したテスト・スイートに属する有効なテスト・ケースの数に関して、インテント一致の結果が表されます。
バージョン23.06より前のプラットフォームで実行されたテスト・スイートでフィルタすることはできません。これらのテスト・スイートを含めるには、バージョン23.06以上にアップグレードした後、再度実行する必要があります。
テスト・スイートによるフィルタリングでは、「テスト・ケース」、「合格」および「不合格」タイルの信頼性の低いテスト・ケース・リンクから「テスト・ケース」レポートへのナビゲーションが無効になります。インテント・ブレークダウンの「合計」列のリンクも無効になります。「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると、これらのすべてのリンクが再びアクティブになります。
インテントの内訳
「インテントによるフィルタ」フィールドでは、インテント・ブレークダウン・テーブルのビューは変更されますが、レポートの全体的なメトリックは変更されません。これらのメトリックは、「テスト・スイートによるフィルタ」フィールドのエントリ(またはエントリがない)を反映しています。
- インテント– 予想されるインテントの名前。
- 合計– 予想されるインテントのリンクとして表されるテスト・ケースの数。このリンクをクリックすると、テスト・ケース・レポートに移動できます。
ノート
テスト・スイート・フィルタをこのレポートに適用した場合、「テスト・ケース」レポートに移動できません。「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると、このリンクが再度アクティブになります。 - 精度– 予想されるインテントに対するラベル一致が発生したテスト・ケースの割合(スキルの信頼度しきい値を超える)。
- 合格– モデルがスキルの信頼度しきい値以上で予想されるインテントを予測したテスト・ケース(信頼性の低いテスト・ケースを含む)の数。
- 合格- 信頼できない– モデルが予想されるインテントをスキルの信頼度しきい値を5%以下で予測したテスト・ケース数。
- 失敗– モデルがスキルの信頼度しきい値を下回る予想インテントを予測したために失敗したテスト実行のテスト・ケースの数。
- 失敗- 信頼できない– モデルの予想インテントに対する信頼度がスキルの信頼度しきい値を5%下回ったために失敗したテスト・ケースの数。これらのテスト・ケースは、
- ラベル一致– 信頼度レベルに関係なく、モデルが予想インテントを正常に予測したテスト・ケースの数。失敗したテスト・ケースで考慮されるため、ラベル一致スコアと精度スコアが常に互いにステップアップしているとはかぎりません。たとえば、5つのうち4つの合格テスト・ケースでは、インテントの精度スコアが80%になります。ただし、モデルが失敗した1つのテスト・ケースのインテントを正しく予測した場合、ラベル一致は精度を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でスキルを再トレーニングした場合にのみ変更されます。