トレーニング フレーズ

トレーニング フレーズは、エンドユーザー表現と呼ばれるエンドユーザーの発話に含まれる可能性のあるフレーズのサンプル フレーズです。目的ごとに、多くのトレーニング フレーズを作成します。エンドユーザー表現がこれらのフレーズのいずれかと似ている場合、Dialogflow はインテントと照合します。

たとえば、「I want pizza」というトレーニング フレーズでは、エージェントが「Get a pizza」や「Order pizza」などのエンドユーザー表現を認識するようトレーニングされます。

考えられるすべてのサンプルを定義する必要はありません。Dialogflow の組み込み機械学習機能によって類似するフレーズが追加され、ユーザーのリストが拡張されます。エージェントがさまざまなエンドユーザー表現を認識できるように、少なくとも 10~20 個(インテントの複雑さによって異なります)のトレーニング フレーズを作成する必要があります。たとえば、エンドユーザーが好きな色を認識できるようにするには、次のトレーニング フレーズを定義します。

  • 「I like red」
  • 「My favorite color is yellow」
  • 「black」
  • 「Blue is my favorite」

このデータがある場所

エージェントを作成する際は、Dialogflow ES コンソール(ドキュメントに移動コンソールを開く)を使用するのが最も一般的です。コンソールの使用方法は次のとおりです。トレーニング フレーズのデータにアクセスするには、次のようにします。

  1. Dialogflow ES コンソールに移動します。
  2. エージェントを選択します。
  3. 左側のサイドバーのメニューで [Intents] を選択します。
  4. インテントを選択します。
  5. [Training phrase] セクションまでスクロールします。

コンソールではなく API を使用してエージェントを作成する場合は、インテントのリファレンスをご覧ください。API のフィールド名はコンソールのフィールド名と同様です。以下の手順では、コンソールと API の間の重要な違いを説明します。

トレーニング フレーズを追加する

トレーニング フレーズをインテントに追加するには、次の手順を行います。

  1. [Add user expression] と表示されているテキスト フィールドをクリックします。
  2. トレーニング フレーズを入力して、Enter キーを押します。

トレーニング フレーズにアノテーションを付ける

実行時にインテントがマッチすると、Dialogflow はエンドユーザー表現から抽出した値をパラメータとして渡します。各パラメータにはエンティティ タイプというタイプがあります。エンティティ タイプによって、データの抽出方法が指定されます。未加工のエンドユーザー入力とは異なり、パラメータは、ロジックの実行やレスポンスの生成に簡単に使用できる構造化データです。

エージェントを作成するときは、トレーニング フレーズ内のテキストにアノテーションを付けることと、関連するパラメータを構成することによってデータの抽出方法を制御します。

たとえば、「What is the forecast tomorrow for Tokyo?」(東京の明日の予報は?)といったトレーニング フレーズを考えてみましょう。「tomorrow」には date パラメータ、「Tokyo」には location パラメータをそれぞれアノテーションとして付ける必要があります。トレーニング フレーズの一部にアノテーションを付けると、Dialogflow は、実行時にエンドユーザーが提供する実際の値の例であることを認識します。「What is the forecast on Friday for Sydney?」(金曜日のシドニーでの予報は?)などのエンドユーザーの表現では、Dialogflow は「Friday」(金曜日)から date パラメータ、「Sydney」から location パラメータをそれぞれ抽出します。

コンソールを使用してエージェントを作成するときに、既存のエンティティ タイプと一致するテキストを含むトレーニング フレーズを追加すると、パラメータが自動的に作成されます。これらの部分はコンソールでハイライト表示されます。必要に応じて、これらのアノテーションやパラメータを編集できます。

トレーニング フレーズのアノテーションのスクリーンショット

トレーニング フレーズにコンソールで手動でアノテーションを追加するには、次の手順を行います。

  1. トレーニング フレーズのアノテーションを追加する部分を選択します。
  2. リストから目的のエンティティ タイプを選択します。
  3. 以下のパラメータ表にパラメータが作成されます。
  4. [Save] ボタンをクリックし、[Agent Training] ダイアログにトレーニングが完了したことが示されるまで待ちます。

API を使用してエージェントを作成するときは、トレーニング フレーズにアノテーションを付け、パラメータを手動で構成する必要があります。TrainingPhrase および Parameter タイプについて詳しくは、インテントのリファレンスをご覧ください。Part.alias フィールドは、トレーニング フレーズのアノテーションを特定のパラメータに関連付けます。

トレーニング フレーズによって作成された暗黙的なエンティティ

ほとんどのカスタム エンティティは、エンティティ タイプを作成してエンティティ エントリを追加することで明示的に定義されます。ただし、カスタム エンティティに暗黙的な値も含まれる場合があります。これは、トレーニング フレーズのテキストにアノテーションを付ける場合に発生します。この場合に、アノテーション付きテキストは、選択したエンティティ タイプで定義された値ではありません。アノテーション付きテキストは、暗黙的に追加されたエンティティ エントリのエンティティ参照値になります。エンティティ タイプがマップ エンティティの場合、テキストはエンティティ エントリの類義語にもなります。

サンプルモードとテンプレート モード

各トレーニング フレーズは、次の 2 つのモードのいずかとなります。

  • サンプルモード: トレーニング フレーズの左側に として示されます。サンプルモードのトレーニング フレーズは自然言語で記述され、パラメータの抽出に使用されます。
  • テンプレート モード: トレーニング フレーズの左側に として示されます。テンプレート モードのトレーニング フレーズには、エンティティ タイプへの直接参照が含まれます。