インテントによっては、1 回の会話ターンにおけるエンドユーザーの意図(含意)を分類します。 ES インテントと比較すると、CX インテントは簡素化され、より再利用が可能なリソースになりました。
インテントには以下のデータが含まれます。
用語 | 定義 |
---|---|
トレーニング フレーズ | トレーニング フレーズは、エンドユーザーの発話に含まれる可能性があるフレーズのサンプルであり、エンドユーザー入力と呼ばれます。エンドユーザー入力がこれらのフレーズのいずれかと似ている場合、Dialogflow によりインテントと照合されます。考えられるすべてのサンプルを定義する必要はありません。Dialogflow の組み込み機械学習機能によって類似するフレーズが追加され、リストが拡張されます。 |
パラメータ | トレーニング フレーズを定義してパラメータを使用し、エンドユーザー入力の特定部分から値を抽出する。 |
インテント マッチング
エンドユーザーが何かを書いたり読んだりすると(それをエンドユーザー入力と呼びます)、Dialogflow は入力をインテントのトレーニング フレーズと比較して、最も一致するものを見つけます。このプロセスはインテント マッチングと呼ばれます。インテント マッチングは、スコープ内のインテント ルート(インテント要件のある状態ハンドラ)に関連付けられたインテントに対してのみ行われます。
一致するインテントを検索する場合、Dialogflow はインテント検出信頼度(信頼スコアとも呼ばれます)を使用して一致候補をスコア付けします。この値の範囲は、0.0(完全に不確実)~1.0(完全に確実)です。インテントがスコア付けされると、次の 2 つの結果が考えられます。
トレーニング フレーズ
トレーニング フレーズは、エンドユーザー入力と呼ばれるエンドユーザーの発話に含まれる可能性のあるフレーズのサンプル フレーズです。目的ごとに、多くのトレーニング フレーズを作成します。エンドユーザー入力がこれらのフレーズのいずれかと似ている場合、Dialogflow によりインテントと照合されます。
たとえば、「ピザが欲しい」というトレーニング フレーズは、「ピザを入手する」や「ピザを注文する」など、そのフレーズに類似したエンドユーザーの入力を認識するようトレーニングします。
考えられるすべてのサンプルを定義する必要はありません。Dialogflow の組み込み機械学習機能によって類似するフレーズが追加され、ユーザーのリストが拡張されます。エージェントがさまざまなエンドユーザー入力を認識できるように、少なくとも 10~20 個(インテントの複雑さによって異なります)のトレーニング フレーズを作成する必要があります。たとえば、エンドユーザーの好きな色に関する入力をインテントに認識させるには、次のトレーニングフレーズを定義します。
- 「I like red」
- 「My favorite color is yellow」
- 「black」
- 「Blue is my favorite」
- …
トレーニング フレーズにアノテーションを付ける
トレーニング フレーズの一部にアノテーションを付け、関連するパラメータを構成することによってデータの抽出方法を制御します。
たとえば、「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
パラメータをそれぞれ抽出します。
コンソールを使用してエージェントを作成するときに、既存のエンティティ タイプと一致するテキストを含むトレーニング フレーズを追加すると、パラメータが自動的に作成されます。これらの部分はコンソールでハイライト表示されます。必要に応じて、これらのアノテーションやパラメータを編集できます。
トレーニング フレーズにコンソールで手動でアノテーションを追加するには、次の手順を行います。
- トレーニング フレーズのアノテーションを追加する部分を選択します。
- リストから目的のエンティティ タイプを選択します。
- 以下のパラメータ表にパラメータが作成されます。
API を使用してエージェントを作成する場合は、トレーニングフレーズ部分に手動でアノテーションを付ける必要があります。Intent
型で使用されている TrainingPhrase
型をご覧ください。
インテント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | インテント リソース | インテント リソース |
RPC | インテント インターフェース | インテント インターフェース |
C# | 提供なし | 利用できません |
Go | 提供なし | 利用できません |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 提供なし | 利用できません |
Python | IntentsClient | IntentsClient |
Ruby | 提供なし | 利用できません |
Default Welcome Intent
エージェントを作成すると、デフォルトのウェルカム インテントが作成されます。このインテントには、最初のエンドユーザー入力と照合させるための簡単なトレーニング フレーズ(「Hi」や「Hello」など)があります。このインテントを必要に応じて編集できます。
API を使用すると、次のインテント ID でこのインテントを参照できます。
00000000-0000-0000-0000-000000000000
デフォルトのネガティブ インテント
エージェントを作成すると、デフォルトのネガティブ インテントが作成されます。このインテントに、ネガティブ サンプルとして機能するトレーニング フレーズを追加できます。エンドユーザーの入力が通常のインテントのトレーニング フレーズとわずかに似ていても、それらの表現を通常のインテントにマッチングさせたくない場合があります。
たとえば、部屋予約エージェントに「I'd like to book a room.」などのトレーニング フレーズが含まれているとします。一方で、エンドユーザーが部屋に関する本を購入したい場合、「I'd like to buy a book about rooms.」と言うかもしれません。このエンドユーザーの入力がインテントにマッチングしないようにするには、そのフレーズをネガティブ サンプルとして追加します。
API を使用すると、次のインテント ID でこのインテントを参照できます。
00000000-0000-0000-0000-000000000001
インテントを作成する
インテントを作成するには、次の手順を行います。
コンソール
- Dialogflow CX Console を開きます。
- GCP プロジェクトを選択します。
- エージェントを選択します。
- [Manage] タブを選択します。
- [Intents] をクリックします。
- [+作成] をクリックします。
- インテント データを入力します。
- [保存] をクリックします。
API
Intent
型の create
メソッドをご覧ください。
インテント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | インテント リソース | インテント リソース |
RPC | インテント インターフェース | インテント インターフェース |
C# | 提供なし | 利用できません |
Go | 提供なし | 利用できません |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 提供なし | 利用できません |
Python | IntentsClient | IntentsClient |
Ruby | 提供なし | 利用できません |
インテントを削除する
インテントを削除するには、次の手順を行います。
コンソール
- Dialogflow CX Console を開きます。
- GCP プロジェクトを選択します。
- エージェントを選択します。
- [Manage] タブを選択します。
- [Intents] をクリックします。
- 削除するインテントにカーソルを合わせます。
- delete [削除] ボタンをクリックします。
API
Intent
型の delete
メソッドをご覧ください。
インテント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | インテント リソース | インテント リソース |
RPC | インテント インターフェース | インテント インターフェース |
C# | 提供なし | 利用できません |
Go | 提供なし | 利用できません |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 提供なし | 利用できません |
Python | IntentsClient | IntentsClient |
Ruby | 提供なし | 利用できません |
インテント データにアクセスする
インテント データにアクセスするには、次の手順を行います。
コンソール
- Dialogflow CX Console を開きます。
- GCP プロジェクトを選択します。
- エージェントを選択します。
- [Manage] タブを選択します。
- [Intents] をクリックします。
- アクセスするインテントをクリックします。
- インテント データを表示または更新します。
- [保存] をクリックして変更を保存します。
API
Intent
型の get
メソッドと patch/update
メソッドをご覧ください。
インテント リファレンスのプロトコルとバージョンを選択:
プロトコル | V3 | V3beta1 |
---|---|---|
REST | インテント リソース | インテント リソース |
RPC | インテント インターフェース | インテント インターフェース |
C# | 提供なし | 利用できません |
Go | 提供なし | 利用できません |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 提供なし | 利用できません |
Python | IntentsClient | IntentsClient |
Ruby | 提供なし | 利用できません |