トレーニング

エージェントをトレーニングすると、Dialogflow はそのトレーニング データを使用して、エージェント専用の機械学習モデルを構築します。このトレーニング データは主に、インテント、インテント トレーニング フレーズ、エージェントで参照されるエンティティで構成されます。これらは、機械学習データラベルとして効果的に使用されます。ただし、エージェント モデルは、パラメータ プロンプト レスポンス、エージェント設定、およびエージェントに関連するその他の多くのデータを使用して構築されます。

エージェントは、変更する都度、エージェントを使用する前にトレーニングする必要があります。トレーニングは、エージェントの設定に応じて自動または手動で行われます。

また、トレーニング ツールを使用して、実際の会話データを分析、インポート、エクスポートし、トレーニング データを改善させることもできます。

ドラフト エージェントの自動トレーニング

デフォルトでは、ドラフト エージェントのエージェント トレーニングは、コンソールでエージェントを更新して保存するたびに自動的に実行されます。このトレーニングのステータスは、ポップアップ ダイアログに表示されます。

ただし、API を使用してエージェントを更新しても、自動トレーニングはトリガーされません。

ドラフト エージェントの手動トレーニング

ドラフト エージェントの自動トレーニングは、エージェントの ML 設定を更新することで無効にできます。

エージェントに 780 個を超えるインテントがある場合、または自動トレーニング設定が無効になっている場合は、次のように手動でトレーニングを実施する必要があります。

コンソールからエージェントを手動でトレーニングするには、ML 設定で [トレーニング] ボタンをクリックします。

API を使用してエージェントを手動でトレーニングするには、Agent タイプの train メソッドを呼び出します。

エージェント バージョンの自動トレーニング

新しいエージェント バージョンは、作成される都度、それが自動的にトレーニングされます。

コンソールから新しいエージェント バージョンを作成するには、[環境] タブの [Publish a version] ボタンをクリックします。

API を使用して新しいエージェント バージョンを作成するには、バージョン タイプcreate メソッドを呼び出して新しいエージェント バージョンを作成します。

トレーニング ツール

トレーニング ツールは、エージェントに送信されたエンドユーザー入力を確認し、トレーニング データを改善するために使用されます。このツールを使用すると、次のことができます。

  • 実際のエンドユーザー入力と、現在のエージェント モデルで会話ターンごとに一致するインテントを確認します。
  • これらの会話から得られたエンドユーザー表現を、最初に一致したインテント、別のインテント、またはフォールバック インテントのトレーニング フレーズに追加します。
  • 実際の会話から作成または取得したエンドユーザー表現をインポートします。

このツールは、エージェント履歴データを使用して会話を読み込むので、ツールを使用するにはインタラクション ロギングを有効にする必要があります。トレーニング ツールには、エンドユーザー表現のみが表示されます。エージェントとエンドユーザーの両方の会話データを表示するには、より詳細なエージェント履歴を表示してください。

トレーニング ツールを開くには、次の手順を実行します。

  1. Dialogflow ES コンソールに移動します。
  2. 左側のサイドバー メニューの上部付近でエージェントを選択します。
  3. 左側のサイドバー メニューで、[Training] をクリックします。

会話リスト

ツールを開くと、会話リストが表示されます。これは、最近の会話の新しい順のリストです。リストの各行に、会話の概要が表示されます。 次の表で、各 UI 要素について説明します。

UI 要素 説明
会話 スレッド内の最初のエンドユーザー表現。
日付 会話が発生したまたはインポートされた日付。
会話を使用してトレーニング データを更新すると(下記を参照)、その行のステータス インジケーターに緑色のチェックマークが表示されます。

トレーニング ビュー

会話リスト内の行をクリックすると、トレーニング ビューで会話が開きます。トレーニング ビューには、会話ターンのリストが表示され、このデータをトレーニング データに追加するためのコントロールが表示されます。

表示されたデータを編集するか、右側のタスクボタンをクリックすると、トレーニング データ更新タスクが作成され、保存用にキューに追加されます。タスクの作成が完了したら、[Approve] ボタンをクリックして、キュー内のすべてのタスクを実行します。承認されたら、エージェントを手動でトレーニングする必要があります。

トレーニング ビューのスクリーンショット

次の表で、各 UI 要素について説明します。

UI 要素 説明
日付 会話が発生したまたはインポートされた日付。
リクエスト 会話の行数。
No Match インテントが 1 つも一致しなかった行数。
User says 行のエンドユーザー表現。
インテント この行のインテントが現在のエージェント モデルと一致しました。リンクをクリックすると、関連するインテントを、新しいインテントまたは既存のインテントに変更できます。
行のエンドユーザー表現を、現在選択されているインテントにトレーニング フレーズとして追加するタスクをキューに入れます。タスクがキューに追加されると、アイコンが緑色に変わります。
行のエンドユーザー表現を、デフォルトのフォールバック インテントにトレーニング フレーズとして追加するタスクをキューに入れます。これにより、ネガティブ サンプルが作成されます。タスクがキューに追加されると、アイコンがオレンジ色に変わります。
行を削除するタスクをキューに入れます。タスクがキューに追加されると、アイコンが赤色に変わります。
承認 すべての行に関する、キューに入ったタスクを実行します。

アノテーション

トレーニング ビューで会話を表示すると、エンドユーザー表現に一致するエンティティがアノテーションとしてハイライト表示されます。アノテーションを追加または編集するには、次の手順を実行します。

  1. アノテーションをクリックするか、アノテーションを付ける単語を選択します。
  2. メニューから既存のエンティティを選択します。

アノテーションのスクリーンショット

会話をインポートする

作成または取得した会話データファイルをトレーニング ツールにインポートできます。会話をインポートすると、既存のエージェントを改善できます。会話をアップロードするには、ページ上部にある [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)。
  • ソーシャル メディアに投稿されたお客様の質問。

次の種類のデータは使用しないでください。

  • 長い形式の非会話エンドユーザー表現。
  • エージェント内のどのインテントにも関連しないエンドユーザー表現。
  • エンドユーザー以外が発言した内容のログ(カスタマー サービス エージェントからの回答など)。