トレーニング フレーズは、エンドユーザー表現と呼ばれるエンドユーザーの発話に含まれる可能性のあるフレーズのサンプル フレーズです。目的ごとに、多くのトレーニング フレーズを作成します。エンドユーザー表現がこれらのフレーズのいずれかと似ている場合、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 コンソール(ドキュメントに移動、コンソールを開く)を使用するのが最も一般的です。コンソールの使用方法は次のとおりです。トレーニング フレーズのデータにアクセスするには、次のようにします。
- Dialogflow ES コンソールに移動します。
- エージェントを選択します。
- 左側のサイドバーのメニューで [Intents] を選択します。
- インテントを選択します。
- [Training phrase] セクションまでスクロールします。
コンソールではなく API を使用してエージェントを作成する場合は、インテントのリファレンスをご覧ください。API のフィールド名はコンソールのフィールド名と同様です。以下の手順では、コンソールと API の間の重要な違いを説明します。
トレーニング フレーズを追加する
トレーニング フレーズをインテントに追加するには、次の手順を行います。
- [Add user expression] と表示されているテキスト フィールドをクリックします。
- トレーニング フレーズを入力して、
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
パラメータをそれぞれ抽出します。
コンソールを使用してエージェントを作成するときに、既存のエンティティ タイプと一致するテキストを含むトレーニング フレーズを追加すると、パラメータが自動的に作成されます。これらの部分はコンソールでハイライト表示されます。必要に応じて、これらのアノテーションやパラメータを編集できます。
トレーニング フレーズにコンソールで手動でアノテーションを追加するには、次の手順を行います。
- トレーニング フレーズのアノテーションを追加する部分を選択します。
- リストから目的のエンティティ タイプを選択します。
- 以下のパラメータ表にパラメータが作成されます。
- [Save] ボタンをクリックし、[Agent Training] ダイアログにトレーニングが完了したことが示されるまで待ちます。
API を使用してエージェントを作成するときは、トレーニング フレーズにアノテーションを付け、パラメータを手動で構成する必要があります。TrainingPhrase
および Parameter
タイプについて詳しくは、インテントのリファレンスをご覧ください。Part.alias
フィールドは、トレーニング フレーズのアノテーションを特定のパラメータに関連付けます。
トレーニング フレーズによって作成された暗黙的なエンティティ
ほとんどのカスタム エンティティは、エンティティ タイプを作成してエンティティ エントリを追加することによって明示的に定義されます。 ただし、カスタム エンティティに暗黙的な値も含まれる場合があります。これは、トレーニング フレーズのテキストにアノテーションを付ける場合に発生します。この場合に、アノテーション付きテキストは、選択したエンティティ タイプで定義された値ではありません。アノテーション付きテキストは、暗黙的に追加されるエンティティ エントリのエンティティ参照値になります。 エンティティ タイプがマップ エンティティの場合、テキストはエンティティ エントリの類義語にもなります。
サンプルモードとテンプレート モード
各トレーニング フレーズは、次の 2 つのモードのいずかとなります。
- サンプルモード: トレーニング フレーズの左側に format_quote として示されます。サンプルモードのトレーニング フレーズは自然言語で記述され、パラメータの抽出に使用されます。
- テンプレート モード: トレーニング フレーズの左側に alternate_email として示されます。テンプレート モードのトレーニング フレーズには、エンティティ タイプへの直接参照が含まれます。