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

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

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

発話のテスト

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

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

発話テスター

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

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

クイック・テスト

インテントの動作が適切かどうかを調べるには:
  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 (オプション)– 多言語スキルの場合、これはテスト発話をインテントに解決する際にモデルで使用する言語の言語タグです。テスト・ケースに合格するには、このタグが検出された言語と一致する必要があります。
  • expectedEntitiesentityNameオブジェクトの配列として表される、テスト・ケース発話の一致するエンティティ。各entityNameは、beginOffsetおよびendOffsetプロパティを使用して、発話におけるエンティティ値の位置を識別します。このオフセットは、単語ではなく文字によって決定され、発話の最初の文字(0-1)から計算されます。たとえば、「小さいピザをオーダーしたい」のPizzaSizeエンティティ値のentityNameオブジェクトは、次のとおりです。
    [{"entityName":"PizzaSize","beginOffset":18,"endOffset":23,"originalString":"small"}, …]


このCSVをインポートするには:
  1. 「詳細」「インポート」の順に選択します。
  2. CSVを参照し、選択します。
  3. テスト・スイートを選択します。テスト・ケースは、testSuiteフィールドが空の場合、または選択したテスト・スイートの名前と一致する場合にのみ、選択したテスト・スイートに割り当てることができます。
  4. 「アップロード」をクリックします
21.04より前のバージョンのCSVのインポート
queryおよびTopIntentフィールドがある21.04より前のバージョンのCSVを介してインポートされたテスト・ケースは、デフォルトのテスト・スイートにのみ追加されます。これらのテスト・ケースは、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の説明

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

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

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

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

    ノート

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

    このレポートの「合格」および「不合格」メトリックの背後にある実際のテスト・ケースを確認するには、「テスト・ケース」レポートを開き、その「合格」または「不合格」フィルタを適用します。
    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%になります。ただし、モデルが故障しているテスト・ケースの意図を正しく予測した場合、ラベル一致は精度を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月にどのくらい預入しましたか?の発話よりもテスト発話に近い場合があります。

You can access the list, which is generated for skills trained on Trainer Tm, by clicking View Similar Utterances in the Utterance Tester or from the Test Cases report.

ノート

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

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