インテントのトレーニングとテスト

トレーニング・コーパスを使用してモデルをトレーニングすると、ボットは、ユーザーが話すこと(場合によっては、話そうとしていること)を理解できるようになります。

インテント・テストおよびインテント・トレーニングを数回繰り返して、認識力を向上できます。トレーニングは、インテント定義のみを使用して制御します。スキルがそれ自体でユーザー・チャットから学習することはできません。

発話のテスト

コーパスの20%をインテントのテスト用に確保し、残りの80%をインテントのトレーニングに使用することをお薦めします。これら2つのセットは分けておき、テスト・ケースに組み込んだテスト発話が、スキルからはわからないようにしてください。

各インテントのデータ・セットに80/20の分割を適用します。この分割を行う前に発話をランダム化して、トレーニング・モデルで発話内の用語およびパターンに均等に重みが付けられるようにします。

発話テスター

発話テスターは、スキルの認識を確認する手段です。トレーニング・コーパスに含まれていないフレーズを入力して、インテント信頼度ランキングと返されたJSONを確認することで、インテントの作成がどの程度成功したかを調べることができます。このランキングは、ユーザー入力の解決に最適な候補をスキルで予測したもので、現時点での認識力を示します。
utterance-tester-quick-test.pngの説明が続きます
図utterance-tester-quick-test.pngの説明

発話テスターを使用すると、1回ごとの臨時にクイック・テストを実行したり、バージョンが異なるトレーニング・モデルではインテント解決を測定するためのテスト・ケースとして発話を組み込んだりすることができます。

クイック・テスト

インテントの動作が適切かどうかを調べるには:
  1. 「発話のテスト」(左側)をクリックします。
  2. スキルで複数のネイティブ言語がサポートされている場合は、テスト言語を選択します。このオプションを選択すると、発話が対応する言語バージョンのコーパスに追加されます。スキルのプライマリ言語はデフォルトで選択されています。
  3. テキストの文字列を入力します。
  4. 「テスト」をクリックしてから、ランキングおよび発話で検出されたエンティティ(ある場合)を確認します。
  5. インテントの信頼度スコアをレビューします。(リストされている各インテントの進捗バーは、信頼度レベルを満たしている場合は緑色、満たしていない場合は赤色です)。
    スキルの上位ランクの候補が期待していたものと異なる場合は、次のいずれかまたは両方を実行した後にインテントの再トレーニングが必要になることがあります:
    • 入力したばかりの入力テキストでより適切な候補のコーパスを更新します。該当するインテントを選択し、「インテントに追加」をクリックします。

      注意:

      新しいテスト・フレーズを追加すると、トレーニング・データにどのように影響するかを検討します。テスト・フレーズを追加すると、再トレーニング後にこれに類似した発話の分類方法が変わる可能性があります。さらに、テスト・フレーズの追加によりテストが無効になります。これは、テスト・フレーズをトレーニング・セットに組み込むことで、テストの成功を確実にしているためです。トレーニング・データにテスト・フレーズを追加するかわりに、テスト・ケースとして保存する必要があります。
    • 「インテント」ページで、発話の編集(これは「編集」ボタンのイメージです。)または削除を行うことができます。たとえば、FAQインテントは、これを構成する発話のスコープと言い回しが原因で、上位にランクされることがあります。ユーザーが一般的な質問をしたときにFAQを取得しないようにするには、コーパスを修正する必要があります。

    発話を追加、変更または削除したときには常にインテントを再トレーニングする必要があります。「要トレーニング」これは「要トレーニング」インジケータのイメージです。は、トレーニング・データを変更するたびに表示されます。

  6. 意図したとおりにインテントが解決されない場合は、「JSON」ウィンドウを展開し、返されたJSON内で、一致したインテント、スコアおよび検出されたエンティティをレビューできます。
  7. 「リセット」をクリアします。

テスト・ケース

各テストには発話と、解決が予想されるインテントがあり、これはラベル一致と呼ばれます。テスト・ケースには、一致するエンティティ値および発話に必要な言語を含めることもできます。スキルを開発しているときにテスト・ケースを実行し、後でスキルが本番であるときに、回帰テストにテスト・ケースを使用できます。後者の場合は、テスト・ケースを実行して、トレーニング・モデルの新リリースがインテント解決に悪影響を及ぼしているかどうかを確認できます。

会話テスターで作成するテスト・ケースと同様に、発話テスト・ケースはスキルの一部であり、各バージョンに引き継がれます。スキルを拡張した場合、拡張版はテスト・ケースを継承します。会話テスト・ケースがシナリオのテストを目的としているのに対して、発話テスト・ケースは会話の断片を個別にテストして、各発話が正しいインテントに解決されるようにすることを目的としています。

テスト・ケースの管理

発話テスターの「テスト・ケースに移動」をクリックしてアクセスするテスト・ケース・ページには、テスト・スイートおよびそれらに属するテスト・ケースがリストされます。テスト・スイートは、作成したもの、または拡張またはクローニングしたスキルから継承されたものである場合があります。テスト・ケースの編集、追加および削除に加えて、このページを使用してテスト・ケースをテスト実行にコンパイルします。 デフォルトでは、「すべて」が選択され、すべてのテスト・ケースが表示されます。1つのテスト・スイートに属するテスト・ケースのみに表示を絞り込む場合は、テスト・スイートのリストからテスト・スイートを選択するか、テスト・スイート名の完全一致または部分一致を使用してこのリストをフィルタできます。テスト・スイート・ビューでは、「テスト・ケース」タブからスイートのメンバー・テスト・ケースを管理できます。 「一般」タブから、テスト・スイートの名前と説明を更新するだけでなく、「テスト・スイートの有効化」をオフにすることで、テスト実行からテスト・スイートを除外できます。「スキルのエクスポートに含める」をオフにすることで、スキルのエクスポート時にスキルのテスト・スイートを格納するnluTestSuitesフォルダにテスト・スイートを含めることを防ぐことができます。

テスト・スイートを作成

すべてのテスト・ケースはテスト・スイートに属します。デフォルト・テスト・スイートと呼ばれるユーザー用に提供していますが、独自のテスト・スイートを作成してテストをパーティション化することもできます。テスト・スイートは、手動で作成することも、CSVをインポートすることもできます。テスト・スイートを手動で作成するには:
  1. 「+テスト・スイート」をクリックします。
  2. 「一般」タブで、「表示名」フィールドに値を追加して、プレースホルダ名(TestSuite0001など)をより意味のあるものに置き換えます。
  3. オプションで、テスト・スイートでカバーされる機能を説明する説明を追加します。
  4. 次のいずれかの方法(または組合せ)を使用して、テスト・スイートにテスト・ケースを移入します。
    • テスト・ケースを手動で追加します(テスト・ケースを作成するか、発話テスターから発話をテスト・ケースとして保存します)。
    • テスト・ケースをインポートしています。
      ノート

      インポートを介してテスト・スイートにテスト・ケースを割り当てるには、CSVのtestSuiteフィールドを空にするか、インポート・ダイアログで選択したテスト・スイートと一致する名前を含める必要があります。
    • テスト・ケースを編集して、テスト・スイートを再割当てします。
  5. 「すべて」および「すべて実行」オプションを使用して起動されたテスト実行からテスト・スイートを除外する場合は、「テスト・スイートの有効化」をオフにします。
  6. スキル・エクスポートにテスト・スイートを含めない場合は、「スキルのエクスポートに含める」をオフにします。テスト・スイートに対してこのオプションをオフにすると、エクスポートされたZIPファイルにスキルのテスト・スイートを格納するnluTestSuitesフォルダには含まれません。

発話テスト・ケースの作成

テスト・ケースを1つずつ追加するには、「発話テスター」または「新規テスト・ケース」ダイアログ(「+テスト・ケース」をクリックしてアクセス)を使用します。あるいは、CSVをアップロードして一括で追加することもできます。

各テスト・ケースはテスト・スイートに属している必要があるため、テスト・ケースを作成する前に、スキルの機能を反映するテスト・スイート、または失敗テスト、ドメイン内のテスト、ドメイン外テストなどのインテント・テストのいくつかの側面を反映するテスト・スイートを最初に作成することをお薦めします。

デフォルト・テスト・スイートと呼ばれるスイートが提供されています。他のテスト・スイートをまだ作成していない場合は、このテスト・スイートにテスト・ケースを割り当てることができます。後で、必要に応じてテスト・ケースを編集し、新しいテスト・スイートに再割当てできます。

ヒント:

テストで適切なカバレッジを提供するには、概念的に異なるだけでなく、ユーザーが均一な方法でリクエストを行わないため、文法的にテスト・スイート発話を作成します。これらのディメンションを追加するには、インサイト・リトレーナで問い合せた実際のユーザー・メッセージおよびデータ製造から収集されたクラウド・ソース入力からテスト・スイートを作成します。

発話テスターでのテスト・ケースの追加

トレーニング・コーパスに発話を追加する以外に、「クイック・テスト」ページを使用してテスト・ケースを作成できます:
  1. 「発話のテスト」をクリックします。
  2. スキルが複数言語の場合は、ネイティブ言語を選択します。
  3. 発話を入力し、「テスト」をクリックします。
  4. 「テスト・ケースとして保存」をクリックして、テスト・スイートを選択します。

テスト・ケースの作成

単一のテスト・ケースを作成するには:
  1. 発話テスターで「テスト・ケースに移動」をクリックします。
  2. 「+テスト・ケース」をクリックします。
  3. 「新規テスト・ケース」ダイアログに入力します:
    • 必要に応じて、テスト・ケースを無効にします。
    • テスト発話を入力します。
    • テスト・スイートを選択します。
    • 予期されるインテントを選択します。失敗テスト用のテスト・ケースを作成している場合は、「unresolvedIntent」を選択します。
    • 複数言語スキルの場合は、言語タグと予期される言語を選択します。
  4. 「スイートに追加」をクリックします。「テスト・ケース」ページから、テスト・ケースを削除したり、別のテスト・スイートへのテスト・ケースの再割当てを含むテスト・ケースを編集できます。

  5. エンティティ値をテストするには:
    • 「テスト・エンティティ」をオンにします。次に、「続行」をクリックします。
    • 単語(または単語)を強調表示し、リストからエンティティを選択してエンティティ・ラベルを適用します。完了したら、「スイートに追加」をクリックします。
      ノート

      「エンティティのテスト」を有効にした後は、必ずテスト・ケースの発話から単語またはフレーズを選択します。「テスト・エンティティ」を有効にしたが、単語を強調表示していない場合、テスト・ケースは失敗します。


スキル・レベル・テスト・スイートのテスト・ケースのインポート

発話テスターの「テスト・ケースに移動」をクリックしてアクセスするテスト・ケース・ページで、次のフィールドを含むCSVファイルをアップロードして、テスト・スイートとそのケースをまとめて追加できます:
  • 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を再フォーマットする方法について説明します。
  • enabledTRUEの場合、テスト実行にテスト・ケースが含まれます。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をインポートするには:
  1. 「詳細」をクリックし、「インポート」を選択します。
  2. 参照してCSVを選択します。
  3. テスト・スイートを選択してください。テスト・ケースは、testSuiteフィールドが空の場合または選択したテスト・スイートの名前と一致する場合にのみ、選択したテスト・スイートに割り当てることができます。
  4. 「アップロード」をクリックします。
21.04より前のバージョンのCSVのインポート
21.04より前のバージョンのCSV(queryおよびTopIntentフィールド)を介してインポートされたテスト・ケースは、デフォルトのテスト・スイートにのみ追加されます。これらのテスト・ケースは、CSVのインポート後に編集することで個別に他のテスト・スイートに再割当てできます。または、CSVを現在のフォーマットに更新してから、次のようにインポートする前に編集できます。
  1. 「詳細」「インポート」を選択します。
  2. インポートが完了したら、「デフォルト・テスト・スイート」を選択し、「詳細」「選択したスイートのエクスポート」をクリックします。エクスポートされたファイルは現在の形式に変換されます。
  3. ZIPファイルを解凍し、CSVを編集します。終了したら、CSVを再度インポートします(「詳細」「インポート」)。デフォルト・テスト・スイートから重複するテスト・ケースを削除する必要がある場合があります。
    ノート

    わずかに変更された同じCSVを複数回アップロードすると、新しいデータまたは更新されたデータが古いものとマージされます(新しい更新が適用され、新しい行が挿入されます)。ただし、新しいCSVをアップロードすることによって、発話を削除することはできません。発話を削除する必要がある場合は、ユーザー・インタフェースから手動で削除する必要があります。

テスト実行の作成

テスト実行は、スキルの認識のいくつかの側面を評価することを目的としたテスト・ケースまたはテスト・スイートのコンパイルです。テスト実行の内容(およびボリューム)は、テストする機能によって異なるため、テスト実行には、テスト・スイート、完全なテスト・スイートまたは複数のテスト・スイートのテスト・ケースのサブセットが含まれる場合があります。

テスト実行に含まれるテスト・ケースは、スキルに設定されている信頼度しきい値に対して評価されます。テスト・ケースが全体的なテスト実行で合格するには、信頼度しきい値以上で予想されるインテントに解決する必要があります。指定する場合は、テスト・ケースもエンティティ値と言語一致基準を満たす必要があります。テスト実行結果を確認することで、プラットフォームまたはスキル自体に加えられた変更がインテント解決の精度を損なっているかどうかを確認できます。

モデルのテストに加えて、テスト実行結果を使用してテストの信頼性を評価することもできます。たとえば、ほぼすべてのテスト・ケースが通過したことを示す結果は、表面上、モデルの最適な機能を示す場合があります。ただし、合格したテスト・ケースのレビューでは、テスト・ケースが現在のトレーニングを反映していないことが明らかになる場合があります。これは、発話が単純すぎるか、テスト対象の概念や言い回しに関して重大な重複があるためです。一方、多数の失敗したテストは、トレーニング・データの不備を示している可能性がありますが、これらのテスト・ケースをレビューすると、発話が誤った予想インテントとペアになっていることが明らかになる場合があります。

テスト実行を作成するには:
  1. 「すべて実行」をクリックすると、選択したテスト・スイート内のすべてのテスト・ケースのテスト実行が作成されます。(または、すべてのテスト・スイートを実行する場合は、「すべて」を選択してから「すべて実行」をクリックします)。

    • スイート内の選択したテスト・ケースのテスト実行(または、「すべて」を選択した場合はすべてのテスト・ケースのサブセットに対するテスト実行)を作成するには、発話テキストと予想されるインテントに一致する文字列を追加してテスト・ケースをフィルタ処理します。発話を選択し、「実行」をクリックします。

    • テスト実行からテスト・スイートを除外するには、まずテスト・スイートを選択し、「一般」タブを開いてから、「テスト・スイートの有効化」をオフにします。

    • 多言語スキルの場合は、「言語タグ」オプションおよび「予想言語」オプション(「オプション属性」からアクセス)でフィルタすることもできます。

  2. テストの件名を反映するテスト実行名を入力します。このステップはオプションです。
  3. 「開始」をクリックします。

  4. 「テスト結果」をクリックし、テスト実行を選択します。

    ヒント:

    多数のテスト・ケースを含むテスト実行は、完了までに数分かかる場合があります。これらの大規模なテスト実行では、テストが完了するまで「リフレッシュ」を定期的にクリックする必要がある場合があります。すべてのテスト・ケースが評価された後、パーセンテージによって精度メトリックの「進行中」ステータスが置換され、インテント・レポートがレンダリングされます。


  5. テスト実行レポートを確認します。たとえば、最初に、「概要」レポートで提供されるテスト実行の高レベル・メトリックを確認します。次に、合格および不合格のテスト・ケースについて、テスト実行に含まれるすべてのテスト・ケースをリストするテスト・ケース・レポートをフィルタリングして、テスト結果を実際のテスト・ケースと照合して検証します。その後、個々のテスト・ケースの結果を調べることができます。また、概要レポートの精度スコアとインテント・レポートの精度スコアを比較することもできます。これは、正しいインテントを予測するモデルの機能を測定します。このレポートにリストされているテスト・ケースを確認するには、「テスト・ケース」レポートを開き、インテントでフィルタします。

テスト実行要約レポート

サマリー・レポートでは、テスト実行でカバーされるユーザー入力のタイプをモデルがどの程度正常に処理できるかについての全体的な評価が提供されます。テスト実行に含まれるテスト・スイートでは、モデルの評価に使用されたテスト・ケースの合計数と、その合計から、失敗したテスト・ケース(信頼性と信頼性の低い両方)の数と、合格した信頼性と信頼性の低いテスト・ケースの数が表示されます。モデルの全体的な精度(スキルの信頼度レベル以上で予想されるインテントを予測し、エンティティ値を認識し、スキルの言語で発話を解決する機能)は、テスト実行での合格テストの成功率によって測定されます。
test-run-test-results-summary.pngの説明が続きます
図test-run-test-results-summary.pngの説明

要約レポート・メトリック
サマリー・レポートには、次のメトリックが含まれます。
  • 精度– 合格テスト・ケースの成功率(テスト実行に含まれるテスト・ケースの合計数と比較した合格テスト・ケースの数)に関するモデルの精度。
    ノート

    無効なテスト・ケースは、精度スコアにファクタリングされません。エラーのために失敗したテストもありません。失敗したテストは、かわりに失敗数に追加されます。

    精度スコアが低い場合は、テスト実行で、トレーニング・データで適切にサポートされていない概念および言語に関するモデルを評価していることが示されます。精度スコアを増やすには、テスト実行のテスト・ケースを反映する発話を使用してモデルを再トレーニングします。

    この精度メトリックは、テスト実行全体に適用され、インテント・レポートの精度メトリックとは別のスコアを提供します。このメトリックは、モデルがすべてのテスト・ケース基準に合格したテスト・ケースの割合です。一方、インテント・レポートの精度スコアは、エンドツーエンドのテストではありません。これは、モデルがスキルの信頼度しきい値以上で予想されるインテントを予測するのみであったテスト・ケースの割合です。その他のテスト・ケース基準(エニティ値やスキル言語など)はファクタリングされません。この2つのレポートで合格テスト・ケースが何を意味するのかという異なる基準を考慮すると、それぞれの精度スコアが常にステップにあるとはかぎりません。テスト・データがトレーニング・データと一致しない場合、インテント一致の精度スコアはテスト実行スコア全体よりも高くなる可能性があります。テスト・ケースをサポートする発話を使用してモデルを再トレーニングすると、期待されるインテントをより高い信頼度で予測でき、その結果、テスト実行の精度スコアが増加します。

    ノート

    精度メトリックは、テスト実行が完了するまで使用できず、Oracle Digital Assistantプラットフォームの22.12より前のバージョンでスキルが実行されたときに完了したテスト実行には使用できません。
  • テスト・ケース– テスト実行に含まれるテスト・ケース(信頼できるテスト・ケースと信頼できないテスト・ケースの両方)の合計数。スキップされたテスト・ケースはこの検数に含まれますが、精度メトリックの計算時には考慮されません。
  • 合格– 信頼度しきい値でインテントに解決し、選択したエンティティ値または言語を照合することによって渡されるテスト・ケース(信頼性と信頼性の両方)の数。
  • 失敗– 信頼性のしきい値で予期されたインテントに解決できず、選択したエンティティ値または言語と一致しなかったテスト・ケース(信頼性および信頼性の低いボット)の数。

    このレポートの「合格」および「不合格」メトリックの背後にある実際のテスト・ケースを確認するには、「テスト・ケース」レポートを開き、その「合格」または「不合格」フィルタを適用します。
    test-runs-intent-report.pngの説明が続きます
    図test-runs-intent-report.pngの説明

テスト・スイートの内訳

テスト・スイートの内訳表には、テスト実行に含まれるテスト・スイートとその個々の統計がリストされます。テスト・スイートに属する実際のテスト・ケースを確認するには、「テスト・スイート」列のリンクをクリックします。
test-suite-breakdown.pngの説明が続きます
図test-suite-breakdown.pngの説明

目的レポート

このレポートのメトリックは、テスト実行のテスト・ケース全体でモデルのラベル一致を追跡します。ここでは、モデルがテスト・ケースの発話の予期されるインテントを正しく予測します。このレポートのコンテキスト内では、精度、合格および不合格は、モデルが信頼度しきい値以上の正しい予想インテントを予測したテスト・ケースの観点から測定されます。エンティティ値の一致やスキル言語など、サマリー・レポートで考慮されるその他の基準は考慮されません。その結果、このレポートでは、モデルの正確性の異なるビューが提供されます。これは、現在のトレーニングによってモデルが正しいインテントを一貫して予測できるかどうかを確認するのに役立ちます。

このレポートには、テスト実行のラベル一致(またはインテント一致)メトリックが2つのレベルで表示されます。1つはテスト実行の結果を集計し、もう1つはインテントによってこれらの結果を分離します。
ノート

このレポートは、22.12より前のバージョンのOracle Digital Assistantプラットフォームでスキルが実行されたときに完了したテスト実行には使用できません。
インテント・レポートのメトリック
全体的なインテント一致の結果は次のとおりです。
  • テスト・ケース– このテスト実行に含まれるテスト・ケースの数。この合計には、信頼性の高いテスト・ケースと信頼性の低いテスト・ケースの両方が含まれます。スキップされたテスト・ケースはこの検数に含まれません。

    ヒント:

    テスト・ケース、合格および不合格のメトリックの信頼性の低いテスト・ケース・リンクにより、信頼性の低いテスト・ケースでフィルタされたテスト・ケース・レポートが開きます。このナビゲーションは、テスト・スイートでレポートをフィルタする場合には使用できません。
  • 精度– このテスト実行のテスト・ケース全体のスキルの信頼度しきい値以上で、予想されるインテントと一致するモデルの精度。「ラベル一致」サブメトリックは、信頼度スコアに関係なく、モデルが予期されるインテントを正しく予測したテスト実行のテスト・ケースの割合を表します。失敗したテスト・ケースのラベル一致ファクタと合格テスト・ケースがあるため、そのスコアは精度スコアより高くなる可能性があります。
    この精度メトリックをサマリー・レポートの精度メトリックと比較できます。サマリー・レポートの精度スコアが低い場合は、このレポートを使用して、モデルの失敗が予想されるインテントを予測できない原因であるかどうかをすばやく確認できます。ただし、このレポートの精度スコアが高い場合は、問題の根本としてラベル照合を除外できます。また、テスト実行の精度スコアを増やすためにトレーニング・データを大幅に改訂する必要はなく、かわりに、テスト・ケースの発話の概念と言語を反映する発話の追加に集中できます。
  • 合格– モデルがスキルの信頼度しきい値で予想されるインテントを予測したテスト・ケース(信頼性および信頼性の低いもの)の数。
  • 失敗– モデルがスキルの信頼度しきい値を下回る予想インテントを予測したテスト・ケース数(信頼性ありおよび信頼性なし)。
  • 信頼度合格– このテスト実行で合格したすべてのテスト・ケースの信頼度スコアの平均。
  • 信頼度不合格– このテスト実行で失敗したすべてのテスト・ケースの信頼度スコアの平均。
ノート

テスト・スイートでインテント・レポートをフィルタリングする場合、「テスト・ケース」、「合格」および「不合格」タイルの信頼性の低いテスト・ケース・リンクからテスト・ケース・レポートにアクセスできません。「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると、これらのリンクが再びアクティブになります。
テスト・スイートによるフィルタ
インテント・レポートのデフォルトの結果には、テスト実行に含まれるすべてのテスト・スイートが反映されます。同様に、そのメトリックは、これらのテスト・スイートに属するすべての有効なテスト・ケースに基づいています。個々のテスト・スイート・パフォーマンスを分解する場合(および基本的にサマリー・レポートの「テスト・スイート・ブレークダウン」表との比較を作成する場合)、追加のテスト実行を作成する必要はありません。かわりに、「テスト・スイートによるフィルタ」フィールドを使用して、問題のテスト・スイート(またはテスト・スイート)の結果を分離できます。このフィールドには、1つ以上のテスト・スイートを追加できます。
これは「テスト・スイートによるフィルタ」フィールドのイメージです。

レポートは、追加(またはその後削除)するテスト・スイートごとにメトリックを調整します。選択したテスト・スイートに属する有効なテスト・ケースの数に関して、インテント一致の結果が表されます。
ノート

バージョン23.06より前のプラットフォームで実行されたテスト・スイートでフィルタすることはできません。これらのテスト・スイートを含めるには、バージョン23.06以上にアップグレードした後、再度実行する必要があります。
ノート

テスト・スイートによるフィルタリングでは、「テスト・ケース」、「合格」および「不合格」タイルの信頼性の低いテスト・ケース・リンクから「テスト・ケース」レポートへのナビゲーションが無効になります。インテント・ブレークダウンの「合計」列のリンクも無効になります。「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると、これらのすべてのリンクが再びアクティブになります。
インテントの内訳
レポートのインテント・ブレークダウン・テーブルには、テスト実行のテスト・ケースで指定された予想されるインテントの次の最上位レベルのメトリックが表示されます。「インテントによるフィルタ」フィールドからこれらのインテントの名前を選択することで、フォーカスを絞り込むことができます。
ノート

「インテントによるフィルタ」フィールドでは、インテント・ブレークダウン・テーブルのビューは変更されますが、レポートの全体的なメトリックは変更されません。これらのメトリックは、「テスト・スイートによるフィルタ」フィールドのエントリ(またはエントリがない)を反映しています。
  • インテント– 予想されるインテントの名前。
  • 合計– 予想されるインテントのリンクとして表されるテスト・ケースの数。このリンクをクリックすると、テスト・ケース・レポートに移動できます。
    ノート

    テスト・スイート・フィルタをこのレポートに適用した場合、「テスト・ケース」レポートに移動できません。「テスト・スイートによるフィルタ」フィールドからすべてのエントリを削除すると、このリンクが再度アクティブになります。
  • 精度– 予想されるインテントに対するラベル一致が発生したテスト・ケースの割合(スキルの信頼度しきい値を超える)。
  • 合格– モデルがスキルの信頼度しきい値以上で予想されるインテントを予測したテスト・ケース(信頼性の低いテスト・ケースを含む)の数。
  • 合格- 信頼できない– モデルが予想されるインテントをスキルの信頼度しきい値を5%以下で予測したテスト・ケース数。
  • 失敗– モデルがスキルの信頼度しきい値を下回る予想インテントを予測したために失敗したテスト実行のテスト・ケースの数。
  • 失敗- 信頼できない– モデルの予想インテントに対する信頼度がスキルの信頼度しきい値を5%下回ったために失敗したテスト・ケースの数。これらのテスト・ケースは、
  • ラベル一致– 信頼度レベルに関係なく、モデルが予想インテントを正常に予測したテスト・ケースの数。失敗したテスト・ケースで考慮されるため、ラベル一致スコアと精度スコアが常に互いにステップアップしているとはかぎりません。たとえば、5つのうち4つの合格テスト・ケースでは、インテントの精度スコアが80%になります。ただし、モデルが失敗した1つのテスト・ケースのインテントを正しく予測した場合、ラベル一致は精度を20%上回ります。
  • 信頼度合格– 予想されるインテントに成功したすべてのテスト・ケースの信頼度スコアの平均。
  • 信頼度不合格– 予想インテントと一致しなかったすべてのテスト・ケースの信頼度スコアの平均。

    ヒント:

    実際のテスト・ケースを確認するには、「テスト・ケース」レポートを開き、目的別にフィルタを開きます。

テストケースレポート

このレポートには、テスト実行に含まれるすべてのテスト・ケースがリストされます。
  1. 「すべて」「合格」(緑色)または「失格」(赤色)をクリックして結果をフィルタできます。スキップ済としてカウントされるテスト・ケースには、無効化されたテスト・ケースと、予想されるインテントが無効化されたテスト・ケースの両方が含まれます。

    信頼性の低いテスト・ケースで結果をフィルタするには、警告メッセージの「信頼性の低いケースを表示」をクリックするか、「信頼性の低いケースのみ」フィルタを選択します。
  2. 必要に応じて、特定のインテントまたはエンティティ、または信頼性のあるテスト・ケースまたは信頼性の低いテスト・ケースで結果をフィルタします。
  3. 信頼性の低いテスト・ケースと失敗したテスト・ケースについては、「類似の発話の表示」(「テスト情報」ページ内)をクリックして、テスト・ケースの発話がトレーニング・セット内の発話と類似しているかどうかを確認します。
    これは「類似発話の表示」ボタンのイメージです。

  4. 次の結果を確認します。
    • テスト情報– ターゲット信頼度しきい値、予想されるインテント、一致したエンティティ値など、テスト・ケースの概要を示します。
    • テスト結果– 信頼度レベル別のインテントのランキング。また、レポートが存在する場合は、発話に含まれるエンティティがエンティティ名と値で識別されます。結果全体を含むJSONオブジェクトを表示することもできます。
    • 障害分析– テスト・ケースが失敗した理由を説明します。たとえば、実際のインテントが予期されたインテントでないか、テスト・ケースのラベル付きエンティティ値が解決されたエンティティと一致しないか、予想される言語が検出された言語と同じではありません。
信頼性の低いテスト・ケース

一部のテスト・ケースでは、信頼度しきい値の5%以下で解決されるため、一貫した結果を提供できません。この狭いマージンにより、これらのテスト・ケースは信頼できません。たとえば、スキルの信頼度しきい値が0.7に設定されている場合、トレーニング・データにわずかな変更を加えた後、またはスキルがモデルの新しいバージョンにアップグレードされたために、74%で合格しているテスト・ケースが失敗する可能性があります。これらのテスト・ケースの脆弱性は、トレーニング・データで表される発話の数が少なすぎて、インテントのトレーニング・データと同様の発話のバランスを取る必要がある可能性があることを示している可能性があります。

信頼性の低いテスト・ケースを特定するには:
  1. テスト・スイートを実行します。次に、「テスト結果」をクリックし、テスト実行を選択します。信頼性の低いテスト・ケースは、テスト実行結果の最初にソートされ、警告これは警告アイコンのイメージです。でフラグが付けられます。

  2. 信頼性の低いテスト・ケースを分離するには:
    • メッセージの「信頼できないケースの表示」をクリックします。
      これは、「信頼できないケースを表示」リンクのイメージです。

    • 「ケースによるフィルタ」メニューから「信頼できないケースのみ」を選択します。
      これは、「信頼できないケースのみ」フィルタリング・オプションのイメージです。

  3. テスト・ケースの最上位ランキング・インテントの「信頼度しきい値」への近接性を検出するには、「テスト結果」ウィンドウを開きます。最上位の信頼度スコアと信頼度しきい値の比較については、 これは警告アイコンのイメージです。をクリックします。

  4. 最上位インテントのトレーニング・データを補足する必要がある場合は、警告メッセージで「最上位インテントに移動」をクリックします。
    これは、警告メッセージの最上位インテントに移動リンクのイメージです。

  5. トレーニング・データのテスト・ケースで表される発話の数量を決定する場合は、「類似の発話の表示」をクリックします。

    「異常レポート」を実行して、テスト・ケースの発話に最も類似した発話がトレーニング・セット内の異常でもあるかどうかを確認することもできます。

エクスポートされたテスト実行

テスト実行はスキルとともに保持されませんが、「テスト実行のエクスポート」をクリックして、分析のためにシステムにダウンロードできます。インテントが予期したとおりにユーザー入力を解決しなくなった場合、またはプラットフォームの変更がインテント解決に悪影響を与えた場合は、エクスポートされたテスト実行のログを使用してSR (サービス・リクエスト)の詳細を収集できます。

失敗テスト

失敗テストを使用すると、unresolvedIntentになるため、またはすべてのインテントのインテントの信頼度しきい値を下回る他のインテントンにしか解決できないために、解決すべきではない発話を一括テストすることができます。

失敗テストを実行するには:
  • 未解決と予想されるすべてのテスト・ケースについて「予想されるインテント」にunresolvedIntentを指定します。これらの"偽"フレーズが未解決のままであることが理想的です。

  • 必要に応じて、テスト実行の作成時に信頼度しきい値を調整して、偽フレーズ(unresolvedIntentが予想されるインテントであるもの)がここで設定した値を下回る場合にのみ解決できることを確認します。たとえば、しきい値を増やすと、偽フレーズは信頼度レベルで(unresolvedIntentを含む)任意のインテントに解決できなくなる可能性があります。つまり、これらが未解決とみなされるために合格することを意味します。
  • テスト結果をレビューし、テスト・ケースがしきい値でunresolvedIntentと一致して合格したか、しきい値でどのインテント(unresolvedIntentまたはそれ以外)にも一致しなかったかを調べます

類似の発話

「類似の発話の表示」をクリックすると、テスト・フレーズがトレーニング・コーパスの発話とどのように類似しているかを確認できます。このツールでは、テスト・フレーズに対する発話の類似度、およびインテント間で発話が相互にどの程度類似しているかを示すことで、スキルのトレーニング・データに関する追加の視点が提供されます。このツールを使用して、他のインテントに属する発話に対するテスト・フレーズの類似性が、テスト・フレーズが予想どおりに解決されない理由であるかどうかを確認できます。テスト・フレーズと類似している場合、トレーニング・データが誤ったインテントに属している場所を指す場合もあります。
similar-utterance-report-all-intents.pngの説明が続きます
図similar-utterance-report-all-intents.pngの説明

このツールによって生成されるリストは、テスト・フレーズに最も近い20の発話(および関連するインテント)をランク付けします。理想的には、このリストの最上位の発話(テスト・フレーズに最も似たもの)は、テスト・フレーズをターゲットとするインテントに属します。予想されるインテントに属する最も近い発話がさらに停止している場合、リストのレビューによって、その理由に関するヒントがいくつか示される場合があります。たとえば、トランザクション・インテント発話をテストする場合、昨日転送した金額はいくらですか。、トップランクの発話も同様にトランザクション・インテントに属すると予想されます。ただし、このテスト発話が間違ったインテントに解決される場合、または信頼度レベルを下回って解決される場合、リストでは、他のインテントに属する類似の語句を持つ高位のランクの発話とより共通していることがわかる場合があります。たとえば、残高インテントのすべてのアカウントにいくらお金がありますか。は、トランザクション・インテントの低いランクの4月にいくら預入しましたか。発話よりもテスト発話に近い場合があります。

Trainer Tmでトレーニングされたスキルに対して生成されたリストにアクセスするには、発話テスターで「類似発話の表示」をクリックするか、「テスト・ケース」レポートをクリックします。

ノート

このツールは、Trainer Tmでトレーニングされたスキルにのみ使用できます(Htでトレーニングされたスキルには使用できません)。
発話テスターの両方から発話を問い合せたり、類似発話の表示ツール自体でテストできます。「類似の発話の表示」をクリックすると、コーパス全体がテスト・フレーズと比較され、ランキングが各発話に適用されます。ただし、デフォルトではフィルタは適用されないため、リストには上位ランクの発話が20個のみ含まれ、順番に番号付けされます。発話のランキングが21以上であるかどうかを確認するには、フィルタを使用する必要があります。次のフィルタを適用することで、言語、それらが属するインテント、または共通する単語やフレーズに関して、ランキング内の類似の発話の近接性を学習できます。
ノート

これらのフィルタを適用しても、ランキングは変更されず、ビューのみが変更されます。たとえば、3番目にランク付けされた発話は、フィルタに関係なくそのように記載されます。レポートのランキングと内容は、コーパスを更新し、Trainer Tmでスキルを再トレーニングした場合にのみ変更されます。