エージェントをトレーニングすると、Dialogflow はそのトレーニング データを使用して、エージェント専用の機械学習モデルを構築します。このトレーニング データは主に、エージェントで参照されるインテント、インテント トレーニング フレーズ、エンティティで構成されます。これらは、ML データラベルとして効果的に使用されます。ただし、エージェントモデルは、パラメータ プロンプト レスポンス、エージェントの設定、エージェントに関連するその他の多くのデータを使用して構築されます。
エージェントは、変更する都度、エージェントを使用する前にトレーニングする必要があります。トレーニングは、エージェントの設定に応じて自動または手動で行われます。
また、トレーニング ツールを使用して、実際の会話データを分析、インポートし、トレーニング データを改善させることもできます。
ドラフト エージェントの自動トレーニング
デフォルトでは、ドラフト エージェントのエージェント トレーニングは、コンソールでエージェントを更新して保存するたびに自動的に実行されます。このトレーニングのステータスは、ポップアップ ダイアログに表示されます。
ただし、API を使用してエージェントを更新しても、自動トレーニングはトリガーされません。
ドラフト エージェントの手動トレーニング
ドラフト エージェントの自動トレーニングは、エージェントの ML 設定を更新することで無効にできます。
エージェントに 780 個を超えるインテントがある場合、または自動トレーニング設定が無効になっている場合は、次のように手動でトレーニングを実施する必要があります。
コンソールからエージェントを手動でトレーニングするには、ML 設定で [トレーニング] ボタンをクリックします。
API を使用してエージェントを手動でトレーニングするには、Agent タイプの train
メソッドを呼び出します。
エージェント バージョンの自動トレーニング
新しいエージェント バージョンは、作成される都度、それが自動的にトレーニングされます。
コンソールから新しいエージェント バージョンを作成するには、[環境] タブの [Publish a version] ボタンをクリックします。
API を使用して新しいエージェント バージョンを作成するには、バージョン タイプの create
メソッドを呼び出して新しいエージェント バージョンを作成します。
トレーニング ツール
トレーニング ツールを使用すると、エージェントに送信されたエンドユーザーの入力を確認し、トレーニング データを改善させることができます。このツールを使用すると、次のことができます。
- 実際のエンドユーザーの入力と、現在のエージェント モデルで会話ターンごとに一致したインテントを確認します。
- これらの会話から得られたエンドユーザー表現を、最初に一致したインテント、別のインテント、またはフォールバック インテントのトレーニング フレーズに追加します。
- 実際の会話から作成または取得したエンドユーザーの表現をインポートします。
このツールは、エージェント履歴データを使用して会話を読み込むので、ツールを使用するにはインタラクション ロギングを有効にする必要があります。トレーニング ツールには、エンドユーザー表現のみが表示されます。エージェントとエンドユーザーの両方の会話データを表示するには、より詳細なエージェント履歴を表示してください。
トレーニング ツールを開くには、次の手順を実行します。
- Dialogflow ES コンソールに移動します。
- 左側のサイドバー メニューの上部付近でエージェントを選択します。
- 左側のサイドバー メニューで、[Training] をクリックします。
会話リスト
ツールを開くと、会話リストが表示されます。これは、最近の会話の新しい順のリストです。リストの各行に、会話の概要が表示されます。 次の表で、各 UI 要素について説明します。
UI 要素 | 説明 |
---|---|
会話 | スレッド内の最初のエンドユーザー表現。 |
日付 | 会話が発生したまたはインポートされた日付。 |
refresh | 会話を使用してトレーニング データを更新すると(下記を参照)、その行のステータス インジケーターに緑色のチェックマークが表示されます。 |
トレーニング ビュー
会話リスト内の行をクリックすると、トレーニング ビューで会話が開きます。トレーニング ビューには、会話ターンのリストが表示され、このデータをトレーニング データに追加するためのコントロールが表示されます。
表示されたデータを編集するか、右側のタスクボタンをクリックすると、トレーニング データ更新タスクが作成され、保存用にキューに追加されます。タスクの作成が完了したら、[Approve] ボタンをクリックして、キュー内のすべてのタスクを実行します。承認されたら、エージェントを手動でトレーニングする必要があります。
次の表で、各 UI 要素について説明します。
UI 要素 | 説明 |
---|---|
日付 | 会話が発生したまたはインポートされた日付。 |
リクエスト | 会話の行数。 |
No Match | インテントが 1 つも一致しなかった行数。 |
User says | 行のエンドユーザー表現。 |
インテント | この行のインテントは、現在のエージェント モデルと一致しました。リンクをクリックすると、関連するインテントを、新しいインテントまたは既存のインテントに変更できます。 |
check | 行のエンドユーザー表現を、現在選択されているインテントにトレーニング フレーズとして追加するタスクをキューに入れます。タスクがキューに追加されると、アイコンが緑色に変わります。 |
block | 行のエンドユーザー表現を、デフォルトのフォールバック インテントにトレーニング フレーズとして追加するタスクをキューに入れます。これにより、ネガティブ サンプルが作成されます。タスクがキューに追加されると、アイコンがオレンジ色に変わります。 |
delete | 行を削除するタスクをキューに入れます。タスクがキューに追加されると、アイコンが赤色に変わります。 |
承認 | すべての行に関する、キューに入ったタスクを実行します。 |
アノテーション
トレーニング ビューで会話を表示すると、エンドユーザー表現に一致するエンティティがアノテーションとしてハイライト表示されます。アノテーションを追加または編集するには、次の手順を実行します。
- アノテーションをクリックするか、アノテーションを付ける単語を選択します。
- メニューから既存のエンティティを選択します。
会話をインポートする
作成または取得した会話データファイルをトレーニング ツールにインポートできます。会話をインポートすると、既存のエージェントを改善できます。会話をアップロードするには、ページ上部にある [Upload] ボタンをクリックします。次に、前述のように、このデータを分析してトレーニング データに追加できます。
以下では、ファイル コンテンツの形式、制限事項、結果について説明します。
- アップロードしたそれぞれのファイルが、トレーニング ツール内の 1 つの会話になります。
- リクエストがインテント検出 API に送信されないので、どのコンテキストもアクティブにならず、どのインテントも一致しません。
- 1 つのテキスト ファイル、または最大 10 個のテキスト ファイルを含む zip アーカイブ。
- 1 回のアップロードで 3 MB を超えることはできません。
- ファイルには、改行で区切られたエンドユーザー表現のみを含める必要があります。
- トレーニング フレーズとして有用なデータのみを含めるのが理想的です。
- エンドユーザー表現の順序は重要ではありません。
ファイルの例を以下に示します。
I want information about my account. What is my checking account balance? How do I transfer money to my savings account?
制限事項
- トレーニング ツールは
global
リージョンでのみご利用いただけます。 - トレーニング ツールでは、インテント マッチングに対して ML 分類しきい値は考慮されません。エージェント モデルが変更されていない場合でも、ランタイムとトレーニング ツールでは異なるインテントが一致する可能性があります。
- 必須パラメータ値を含むエンドユーザー入力は、トレーニング ツールで想定されるインテントと一致しない場合がありますが、実行時には正しく一致します。これは、次のような状況で発生する可能性があります。
- そのインテントにアノテーション付きのトレーニング フレーズがない。
- 入力がトレーニング フレーズと大きく異なる。
ベスト プラクティス
開発のさまざまなステージでトレーニング ツールを使用する
エージェント開発のさまざまなステージでトレーニング ツールを使用し、各ステージでトレーニング データを絞り込みます。
- エージェントを本番環境にリリースする前に、少人数のユーザー グループでエージェントをテストしてください。
- エージェントを本番環境にリリースした直後に、実際の会話が想定どおりに行われているかどうかを調査します。
- エージェントに大幅な変更を加えた場合は、必ず、新しい変更が想定どおりに動作していることを確認します。
- 本番環境のエージェントに対して定期的にツールを実行し、定期的に分析を行います。
品質データをインポートする
多くの場合、次のようなデータが役立ちます。
- カスタマー サービス担当者との会話ログ。
- オンラインのカスタマー サポート会話(メール、フォーラム、FAQ)。
- ソーシャル メディアに投稿されたお客様の質問。
次の種類のデータは使用しないでください。
- 長い形式の非会話エンドユーザー表現。
- エージェント内のどのインテントにも関連しないエンドユーザー表現。
- エンドユーザー以外が発言した内容のログ(カスタマー サービス エージェントからの回答など)。