トレーニング

エージェントをトレーニングすると、Dialogflow はそのトレーニング データを使用して、エージェント専用の機械学習モデルを構築します。通常、トレーニング データを提供するには、インテントにトレーニング フレーズを直接入力します。また、トレーニング ツールを使用して、実際の会話データを分析、インポート、エクスポートし、トレーニング データを改善させることもできます。

トレーニングを実施する

デフォルトで、トレーニングは、エージェントを保存するたびに自動的に実施されます。エージェントを保存すると、トレーニング ステータスを示すダイアログ ウィンドウが表示されます。必ず、エージェントをテストする前に、トレーニングが完了するまで待つ必要があります。

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

  1. Dialogflow ES コンソールに移動します。
  2. 左側のサイドバー メニューの上部付近でエージェントを選択します。
  3. エージェント名の横にある設定 ボタンをクリックします。
  4. [ML Settings] タブをクリックします。
  5. ページの下部にある [Train] ボタンをクリックします。

API を使用してトレーニングを実施するには、Agent タイプに対して train メソッドを呼び出します。

トレーニング ツール

トレーニング ツールを使用すると、エージェントがエンドユーザーと行った会話を確認し、トレーニング データを改善させることができます。このツールを使用すると、次のことができます。

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

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

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

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

会話リスト

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

会話リストのスクリーンショット

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

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

トレーニング ビュー

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

表示されたデータを編集するか、右側のタスクボタンをクリックすると、トレーニング データ更新タスクが作成され、保存用にキューに追加されます。タスクの作成が完了したら、[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?

おすすめの方法

開発のさまざまなステージでトレーニング ツールを使用する

エージェント開発のさまざまなステージでトレーニング ツールを使用し、各ステージでトレーニング データを絞り込みます。

  • エージェントを本番環境にリリースする前に、少人数のユーザー グループでエージェントをテストしてください。
  • エージェントを本番環境にリリースした直後に、実際の会話が想定どおりに行われているかどうかを調査します。
  • エージェントに大幅な変更を加えた場合は、必ず、新しい変更が想定どおりに動作していることを確認します。
  • 本番環境のエージェントに対して定期的にツールを実行し、定期的に分析を行います。

品質データをインポートする

多くの場合、次のようなデータが役立ちます。

  • カスタマー サービス担当者との会話ログ。
  • オンラインのカスタマー サポート会話(メール、フォーラム、FAQ)。
  • ソーシャル メディアに投稿されたお客様の質問。

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

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