エージェントの設計ページで説明したように、エージェントの設計はエージェントの品質に大きく影響します。Dialogflow には検証機能があり、エージェント設計者が高品質のエージェントを作成できるようにします。エージェントの検証結果は、エージェントのトレーニングが実行され、完了したときに、自動的に提供されます。検証の結果には、Dialogflow コンソールや API からアクセスできます。
検証結果はあくまで情報提供を目的としたものです。これは、エージェントの品質とパフォーマンスを改善する目的で修正すべきエラーのリストを表示します。エージェントにエラーがある場合も、無視してエージェントを起動できます。エージェントの検証がエージェントの動作に影響することはありません。
結果の例をいくつか紹介します。
- インテント内の複数のトレーニング フレーズの類似性が高すぎる。
- インテントにはトレーニング フレーズで十分に使用されていないパラメータが含まれている。
- フォールバック インテントにはネガティブ サンプルが存在しない。
- このテキストは、トレーニング フレーズによって注釈が付けられるかどうかが一定しない。
自動検証の有効化と無効化
デフォルトでは、エージェントがトレーニングを受けるたびにエージェントの検証が自動的に実行されます。この設定の有効と無効を切り替えるには、次の手順を行います。
- Dialogflow ES コンソールに移動します。
- エージェントを選択します。
- エージェント名の横にある設定 settings アイコンをクリックします。
- [ML Settings] タブをクリックします。
- [Agent Validation] の設定のオン(デフォルト)とオフを切り替えます。
エージェント検証ページ
エージェントの検証データにアクセスするには、次の手順を行います。
- Dialogflow ES コンソールに移動します。
- エージェントを選択します。
- サイドバーのメニューの [Validation] をクリックします。
インテントとエンティティの検証結果
インテント リストまたはエンティティ リストのページを表示すると、検証エラーがあるインテントやエンティティの名前の横にエラー(error_outline)インジケーターが表示されます。
検証エラーがある特定のインテントやエンティティのページにアクセスすると、エラー(error_outline)インジケーターが [Save] ボタンの近くに表示されます。
このボタンをクリックすると、そのインテントまたはエンティティのエラーのリストが表示されます。デフォルトでは、エラーの重大度は CRITICAL
または ERROR
が表示されます。重大度の種類を切り替えて、WARNING
と INFO
を表示することもできます。
また、特定のトレーニング フレーズやパラメータにもエラー インジケーターが表示され、これらのインジケータにマウスカーソルを置くと詳細を確認できます。
バージョンと環境の検証結果
バージョンと環境を表示する場合、各エージェントのバージョンには固有の検証エラーが存在することがあります。エラーが存在する場合は、バージョンの横に検証アイコンが表示されます。
アイコンをクリックすると詳細が表示されます。
API による検証結果
ほとんどの場合、検証結果は Dialogflow コンソールを使用して表示されます。ただし、このデータには API からもアクセスできます。
REST
Agents
タイプの getValidationResult
メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
HTTP メソッドと URL:
GET https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/validationResult?languageCode=en
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "validationErrors": [ { "severity": "ERROR", "entries": [ "projects/my-project/agent/intents/58b44b2d-4967-4a81-b017-12623dcd5d28/parameters/bf6fdf55-b862-4101-b5b1-36f1423629d0" ], "errorMessage": "Parameter 'test' has an empty value." }, { "severity": "WARNING", "entries": [ "projects/my-project/agent/intents/271e3808-3c91-4e6b-89e8-47951abcec8d" ], "errorMessage": "Intent 'app.current.update' does not have enough unique training phrases. Consider adding more different examples." }, { "severity": "ERROR", "entries": [ "projects/my-project/agent/intents/26e64b1b-eaa7-4ce2-be46-631a501fccbe/trainingPhrases/a650375e-083c-4bb5-9794-ba9453e51282", "projects/my-project/agent/intents/58b44b2d-4967-4a81-b017-12623dcd5d28/trainingPhrases/1d947780-22d3-4f80-8d7a-3f86efbf0be3" ], "errorMessage": "Multiple intents share training phrases which are too similar:\n - Intent 'app.notifications.open': training phrase 'open allo notifications settings'\n - Intent 'app.current.notifications.open': training phrase 'open notifications settings'" }, ] }
重大度の状態
検証は、次の重大度レベルを表示することがあります。
重大度 | 説明 |
---|---|
情報 | エージェントがベスト プラクティスに従っていません。 |
WARNING | エージェントが意図したとおりに動作しない可能性があります。 |
エラー | エージェントで部分的なエラーが発生することがあります。 |
重大 | エージェントが完全に失敗する可能性があります。 |
SEVERITY_UNSPECIFIED | 指定なし。この値は使用しないでください。(この重大度は API を使用した場合に表示される可能性があります。) |
強制検証
エージェントの検証結果は、エージェントのトレーニングが実行され、完了したときに、自動的に提供されます。新しい検証を強制するには、自動検証を無効にして手動でトリガーします。コンソールのエージェントの ML 設定のページをご覧ください。
多くの問題への対処
多数の問題が見つかった場合、次の点を考慮してください。
- 小さいバッチ単位で問題を修正します。類似する問題が多数ある場合、そのうちの 1 つを修正すると、エージェントを再トレーニングした後に同様の問題が修正される可能性があります。
- 一度に表示される問題は最大 5,000 件です。5,000 件を超える問題がある場合、5,000 件未満になるまでカウントは減少しません。