意図
早期アクセスエンドユーザーがチャットボットに連絡するとき、彼らは特定の目標を持っています。例: チャットボットに連絡して、情報を取得したり、アクションを実行したり、問題を解決したりする場合があります。チャットボットは、関連するアクションを実行できるように、エンドユーザーのメッセージの目標を特定する必要があります。
チャットボットは、インテントを使用してこれらの目標を特定します。プロセスは次のとおりです。
- エンド ユーザーが持つ可能性のある潜在的な目標のリストを特定します。
- 目標ごとに、意図を作成します。
- 関連するダイアログに意図を割り当てます。
- エンドユーザーがメッセージを送信すると、チャットボットはメッセージの関連する意図を識別し、ユーザーを意図に関連付けられたダイアログに誘導します。
例: 予約を管理するチャットボットの場合:
| ユーザーのメッセージの終了 | メッセージの目的 | 目標に一致するインテント | 会話のルーティング先のダイアログ |
|---|---|---|---|
| 新しい予約を作成したい | 予約を作成するには | Create_booking | 作成 |
| 予約の変更が必要 | 予約を管理するには | Manage_booking | 取り締まる |
| 予約をキャンセルできますか? | 予約をキャンセルするには | Cancel_booking | キャンセル |
意図のトレーニング データセット
各意図には、チャットボットが正しい意図を識別するのに役立つトレーニングデータセットがあります。トレーニングデータセットには、トレーニングフレーズと重要な単語が含まれています。
トレーニングフレーズ
トレーニングフレーズは、エンドユーザーがチャットボットに送信する可能性のある一連のサンプルメッセージです。これらのフレーズは、チャットボットがエンドユーザーが何を望んでいるかを理解するのに役立ちます。その後、チャットボットは関連するアクションを実行できます。
例:
| Manage_booking 意図 | 手荷物の意図 | |
|---|---|---|
| トレーニングフレーズ | 予約を変更したいです。 予約の管理を手伝ってください。 予約を変更したいです。 予約の管理についてサポートが必要です。 予約の変更方法を教えてください。 | 手荷物許容量について教えてください。 |
トレーニング フレーズは、1 つの単語、フレーズ、または完全な文にすることができます。トレーニングフレーズの数が多いほど、チャットボットが適切なアクションを実行する可能性が高くなります。
大事な言葉
トレーニングフレーズと同様に、重要な単語もインテントの識別に役立ちます。重要な単語は、チャットボットが意図を一意に識別するのに役立つ 1 つの単語です。
重要な単語の追加はオプションです。ただし、同様の意図がある場合は、重要な単語を追加すると、正しい意図を特定するのに役立ちます。
次の例では、重要な単語 Manage と Cancel が 2 つの意図を区別するのに役立ちます。
| Manage_booking 意図 | Cancel_booking 意図 | |
|---|---|---|
| トレーニングフレーズ | 予約を変更したいです。 予約の管理を手伝ってください。 予約を変更したいです。 予約の管理についてサポートが必要です。 予約の変更方法を教えてください。 | 予約をキャンセルしたいです。 予約を破棄するのを手伝ってください。 予約をキャンセルしたいです。 |
| 大事な言葉 | 取り締まる | キャンセル |
類義語:エンドユーザーがチャットボットに応答するときに、重要な単語のバリエーションを使用する場合があります。例: 「管理」という単語を使用する代わりに、エンド ユーザーは「再スケジュール」と言う場合があります。これらのバリエーションをトレーニングデータセットに追加する必要があります。これらのバリエーションを個別の重要な単語として追加する代わりに、既存の重要な単語の同義語として追加できます。例: 重要な単語「管理」には、再スケジュール、移動、変更、および更新の同義語を追加できます。
チャットボットは、エンドユーザーの応答に重要な単語または同義語が含まれているかどうかに関係なく、同じアクションを実行します。
名前付きエンティティ認識属性
名前付きエンティティ認識 (NER) 属性を使用して、エンド ユーザーが非構造化テキストで応答したときに情報を抽出します。NER は自然言語処理 (NLP) の一部です。NERの目的は、エンドユーザーのメッセージ内の情報(エンティティ)を認識して分類することです。これらのエンティティは、単一の単語または単語のセットのいずれかです。
NER属性をチャットボットのインテントと組み合わせて使用します。
NER属性には、次のフィールドがあります。
名前
NER 属性の名前。例: mobile_attribute.
種類
NER属性は、次のいずれかのデータ型を持つことができます。
- 標準 NER 属性タイプ
- カスタムデータ型
標準 NER 属性タイプ
NER 属性には、次のいずれかの NER 対応データ型を含めることができます。
- 市区町村: GeoNames (opens in a new tab) からのデータセット
- 国: GeoNames (opens in a new tab) のデータセット
- 通貨: 数値、金額、通貨名、コード、記号
- 日付: 日付は YYYY-MM-DD の形式で格納されます。
- エンド ユーザーのメッセージに月/日/年の形式の日付が含まれている場合、日付は正しく格納されません。
- エンドユーザーのメッセージに別の形式の日付が含まれている場合、チャットボットは日付を YYYY-MM-DD 形式に変換します。
- この属性は、英語の月の名前のみをサポートします。
- 日付の一部が欠落している場合、チャットボットは値を 0 として保存します。例: エンド ユーザーのメッセージに「3 月 1 日」が含まれていて、年が欠落している場合、日付は 0-3-1 として保存されます。
- この属性は、次の値を受け入れます。 日: 1 から 31 まで、または欠落している 月: 1 から 12 まで、または欠落している 年:1900年から2100年まで、または欠落しています
- 日 (DD) 情報が存在する場合は、月情報 (MM) も存在する必要があります。
- 例:
ユーザーのメッセージの終了 日付属性 2023年3月1日 2023-3-1 01/03/2023 2023-3-1 1.3.2023 2023-3-1 1/3/2023 2023-3-1 1-3-2023 2023-3-1 2023年3月1日 2023-3-1 3月1日 0-3-1 3 月 0-3-0
- 曜日: 曜日のテキスト (英語)
- 数字:数字で書かれた数字。例: タイプ番号の NER 属性を使用して、顧客番号を抽出します。
- 相対日付: 次の相対日付をサポートします。
- 今日
- 昨日
- 明日
- DAY_BEFORE_YESTERDAY
- DAY_AFTER_TOMORROW
- LAST_MONTH
- LAST_YEAR
- THIS_MONTH
- THIS_YEAR
- NEXT_MONTH
- NEXT_YEAR
例:
ユーザーのメッセージの終了 相対日付属性 今日はそんなことがあったの? 今日 一昨日ですか? DAY_BEFORE_YESTERDAY 明後日ですか DAY_AFTER_TOMORROW あれは前の月だったっけ? LAST_MONTH あれは先月だったかな? LAST_MONTH
標準データ型の検証
| 標準データ型 | 条件 | 検証 |
|---|---|---|
| City (都市) | 次の値と等しい |次の値と等しくない |null である |is not null (null でない) | GeoNames からのデータセット |
| Country (国) | 次の値と等しい |次の値と等しくない |null である |is not null (null でない) | GeoNames からのデータセット |
| 通貨 | 次の値と等しい |次の値と等しくない |null である |is not null (null でない) | 数値と通貨名/コード/記号 |
| Date (日付) | 次の値と等しい |次の値と等しくない |が前である |次の値より前または等しい |次 |次の値より後または等しい |null である |is not null (null でない) | テキスト内の単語が日付エレメント(日、年、または月)であるかどうかをチェックします |
| 曜日 | 次の値と等しい |次の値と等しくない |null である |is not null (null でない) | 英語の曜日のテキスト入力 |
| 数 | 次の値と等しい |次の値と等しくない |が前である |次の値より前または等しい |次 |次の値より後または等しい |null である |is not null (null でない) | 数字で書かれた数字 |
カスタムデータ型
NER 対応の標準データ型に加えて、NER 属性のカスタムデータ型を作成できます。カスタムデータ型を使用して、エンドユーザーメッセージ内の事前定義されたエンティティ値を識別します。
カスタムデータ型を作成し、それにカスタム値を追加します。エンドユーザーのメッセージにカスタム値の 1 つが含まれている場合は、それに応じてフローを指示するようにチャットボットを構成します。例については、 エンティティを使用してダイアログを分岐する セクションを参照してください。
カスタムデータ型では、大文字と小文字が区別されます。エンドユーザーが使用するのと同じ形式で値を追加します。
AI がサポートするすべての言語は、カスタム データ型をサポートしています。
言語ごとにサポートされているデータ型
属性タイプを使用できるかどうかは、チャットボットの言語によって異なります。
英語、スペイン語、ポルトガル語では、次の NER 属性タイプがサポートされています。
- City (都市)
- Country (国)
- 通貨
- Date (日付)
- DayOfWeek関数
- 数
- 相対日付
- カスタムデータ型
他の言語では、次の NER 属性タイプがサポートされています。
- 数
- カスタムデータ型
チャットボットの言語を変更し、新しい言語がNER属性タイプをサポートしていない場合、NER属性は無効になります。チャットボットをアクティブにする前に、エラーを修正する必要があります。
例: チャットボットの言語が英語で、Date 属性タイプで startDate NER 属性を作成します。その後、チャットボットの言語をアラビア語に変更すると、アラビア語は Date NER 属性タイプをサポートしていないため、startDate NER 属性は無効になります。
サブタイプ
NER属性タイプのサブカテゴリ。サブタイプを使用すると、エンド ユーザーからの応答の 'to' 値と 'from' 値を取得できます。例: チャットボットがフライトの予約用である場合は、2 つの 市区町村 タイプの NER 属性と ソース と Target のサブタイプを使用して、「出発地」と「到着地」の市区町村をキャプチャします。
NER 属性には、次のいずれかのサブタイプがあります。
- ソース
- ターゲット
- なし
サブタイプはオプションです。ただし、同じタイプの 2 つの NER 属性を意図に割り当てる場合は、各属性のサブタイプを定義する必要があります。また、これらの各属性のサブタイプは異なる必要があります。
サブタイプを追加しない場合、意図に追加できるのは特定のタイプの属性を 1 つだけです。
例: Intent_1の場合、市区町村タイプの以下の属性を追加し、そのサブタイプを定義することができます。
- Location_from属性 - ソース サブタイプ
- Location_to属性 - Targetサブタイプ
- ロケーション属性 - None サブタイプ
エンド ユーザーがメッセージを送信すると、属性は次のように認識されます。
| ユーザー メッセージの終了 | Location_from属性[ぞくせい] | Location_to属性[ぞくせい] | ロケーション属性 |
|---|---|---|---|
| ロンドンからザグレブへ旅行したい | ロンドン | ザグレブ | 空 |
| ザグレブに行きたいです | 空 | ザグレブ | 空 |
| ザグレブに行きたい | 空 | 空 | ザグレブ |
ソースとTargetのサブタイプは、国、市区町村、通貨の属性タイプで使用できます。
スコープ
スコープは次のいずれかになります。
-
ダイアログ: 属性値はダイアログに固有です。他のダイアログでは、属性値はデフォルト値であるか、空白です。
例: opt_in 属性のデフォルト値は False です。特定のダイアログでは、opt_in 属性値が True に変わります。ただし、他のすべてのダイアログでは、属性のデフォルト値 False のままです。
-
チャットボット: 属性値は、チャットボットのすべてのダイアログで同じです。
例: opt_in 属性のデフォルト値は False です。特定のダイアログで、opt_in 属性値が True に変わります。他のすべてのダイアログでは、属性の値は True になります。
List (リスト)
NER 属性が単一値用かリスト用かを選択できます。属性を 1 つの値として定義すると、属性にはエンド ユーザーのメッセージから最初に関連する値が格納されます。属性をリストとして定義すると、属性にはエンド ユーザーのメッセージから関連するすべての値が格納されます。
例: 市区町村の名前を市区町村属性に格納するとします。最後のユーザーメッセージは「ロンドン、チェンナイ、ザグレブを訪問したい」です。city 属性を 1 つの値として定義すると、エンド ユーザーの応答の最初の都市、つまりロンドンが格納されます。city 属性をリストとして定義すると、エンド ユーザーの応答にすべての都市 (ロンドン、チェンナイ、ザグレブ) が格納されます。
属性をリストとして定義するには、リスト を選択します。それ以外の場合、属性は 1 つの値として設定されます。
属性をリストとして定義すると、他のチャットボット要素を使用して特定の情報を取得できます。
例: エンド ユーザーから市区町村の名前を取得するとします。エンドユーザーのメッセージは「ロンドン、チェンナイ、ザグレブに行きたい」です。
- city 属性をリストとして定義します。city は、エンド ユーザーの応答にすべての市区町村を格納します。したがって、都市にはロンドン、チェンナイ、ザグレブが含まれます。
- 条件 エレメントを使用して、city 属性の値の数を識別します。
- 値の数が 1 の場合は、チャットボット フローの次のステップでこの値を使用します。
- 値の数が 1 を超える場合は、クイック返信またはカルーセル エレメントを使用して、エンド ユーザーに値のリストから特定の値を指定するように依頼します。 この例では、値の数は 3 です。そのため、クイック返信またはカルーセルエレメントを使用して、3つの値から特定の都市ユーザー最後に尋ねます。 「これらの都市のうち、どの都市から旅を始めたいですか?ロンドン、チェンナイ、ザグレブ"
- エンド ユーザーはザグレブを選択します。
- [ユーザー応答の保存] エレメントの検証を使用して、1 つの値 (ザグレブ) のみが city 属性に格納されていることを確認します。
エージェントが使用可能
このフィールドを選択すると、チャットがチャットボットから受信トレイのエージェントに転送されるときに、NER属性値がエージェントに表示されます。
受信トレイでは、属性値は会話のコンテクストカードと会話履歴に表示されます。
機密データも選択すると、属性値がチャットボットエディターと受信トレイにハッシュ値として表示されます。
エージェントから属性値を非表示にするには、このフィールドの選択を解除します。
機密データ
このフィールドを選択すると、デフォルト値を含む属性値は、データベースに格納されるときに暗号化されます。そのため、属性値はチャットボットエディタと受信トレイにハッシュされたデータとして表示されます。
例:メッセージは次のように表示されます。 このフィールドが無効になっている場合: *アカウント残高は 2123.32 です。 このフィールドが有効な場合: *アカウント残高は ####.## です。
NER 属性に機密データが含まれている場合は、このフィールドを使用します。この設定は、チャットボットがチャットをライブエージェントに転送する場合に特に便利です。
この機能は、アウトバウンド属性にのみ適用されます。
操作方法
インテントの操作
チャットボットでインテントを使用するには、次の操作を行います。
- (オプション)デフォルトでは、チャットボットはチャットボットNLU意図エンジンを使用します。意図エンジンを選択
- エンド ユーザーが持つ可能性のある潜在的な目標のリストを特定します。
- 目標ごとに 意図を作成 を行います。
- トレーニングフレーズの作成 を意図ごとに作成します。
- (オプション)重要な単語を追加するを、正しい意図の識別を改善するための意図に。
- (オプション)NER属性を使用するをインテントに含めます(エンド・ユーザーが非構造化テキストで応答することが予想される場合)。
- 意図を割り当てるを関連するダイアログに追加します。
エンドユーザーがメッセージを送信すると、チャットボットはメッセージの関連する意図を識別し、ユーザーを意図に関連付けられたダイアログに誘導します。
意図エンジンを選択する
チャットボットで使用する必要がある意図エンジンを選択します。次のいずれかを選択できます。
- チャットボットNLU:NTT CPaaSの意図検出エンジン。
- NTT CPaaS GenAI 意図検出: NTT CPaaS 生成 AI 意図エンジン。GenAI の言語機能を搭載し、ほとんどの言語をサポートしています。
意図エンジンを選択しない場合、チャットボットはデフォルトでチャットボットNLUエンジンを使用します。
NTT CPaaS GenAI 意図検出エンジンには追加コストがかかります。詳しくは、NTT CPaaSのアカウントマネージャーにお問い合わせください。
意図を作成する
意図は、「インテント」タブまたはダイアログから作成できます。
「意図」タブから意図を作成する意図
-
NTT CPaaSの Webインターフェース (opens in a new tab)で、自動化>チャットボットに移動し、チャットボットに移動します。
-
[インテント] タブに移動します。
-
(オプション)デフォルトでは、チャットボットはチャットボットNLU意図エンジンを使用します。意図エンジンを選択
-
[意図の追加] を選択します。
-
鉛筆アイコンを選択するか、[新しい意図] テキスト内を選択し、意図の名前を入力します。
-
意図エンジンとして NTT CPaaS GenAI 意図検出 を選択した場合は、意図の 説明 を入力します。説明は、意図エンジンが意図の目的を理解し、エンドユーザーのメッセージの意図を特定するのに役立ちます。
例: *この意図は、銀行サービスのカスタマーサポートを提供するチャットボットの口座残高を確認するために使用されます。
-
training phrasesを意図に追加します。
ダイアログ内から意図を作成する
インテントは、標準ダイアログからのみ作成できます。[デフォルト]、[認証]、および [セッションの有効期限] ダイアログからインテントを作成することはできません。
以下の手順に従います。
-
NTT CPaaSの Webインターフェース (opens in a new tab)で、自動化>チャットボットに移動し、チャットボットに移動します。
-
[ダイアログ] タブで、意図を作成するダイアログを選択します。
-
インテント設定セクションで、メニューを選択し、新しい意図の作成を選択します。
-
意図の名前を入力し、チェックマークを選択します。
-
[インテント] タブに移動します。
-
(オプション)デフォルトでは、チャットボットはチャットボットNLU意図エンジンを使用します。意図エンジンを選択
-
作成した意図を選択します。
-
意図エンジンとして NTT CPaaS GenAI 意図検出 を選択した場合は、意図の 説明 を入力します。説明は、意図エンジンが意図の目的を理解し、エンドユーザーのメッセージの意図を特定するのに役立ちます。
例: *この意図は、銀行サービスのカスタマーサポートを提供するチャットボットの口座残高を確認するために使用されます。
-
training phrasesを意図に追加します。
意図にトレーニングフレーズを追加する
トレーニングフレーズは、次の方法で追加できます。
- 手動
- AIを使用して自動生成
手動で追加する
- [インテント] タブに移動します。
- トレーニングフレーズを追加する意図を選択します。
- トレーニング フレーズ タブで、トレーニング フレーズを入力し、追加 を選択します。
AIを使用して自動生成
一度に最大 60 個のトレーニング フレーズを生成できます。60 を超えるトレーニング フレーズが必要な場合は、フレーズを複数回 (月に最大 100 回) 生成します。
トレーニングフレーズを複数回生成すると、チャットボットが重複を作成する可能性があります。これらの重複を破棄し、一意の値のみを意図に追加します。
次の手順に従って、一連のトレーニング フレーズを生成します。
-
[インテント] タブに移動します。
-
トレーニングフレーズを追加する意図を選択します。
-
[トレーニング フレーズ] タブで、**[AI を使用して生成] を選択します。
-
フレーズの生成 サイドパネル> インテントの説明 セクションで、意図の説明を追加します。スペース、改行、特殊文字を含めて、最大 512 文字を追加できます。
-
フレーズの例セクションで、エンドユーザーがこの意図のチャットボットを送信することを期待するサンプルメッセージを追加します。これらの例は、AI エンジンが必要な種類のトレーニング フレーズを作成する際のガイドです。 マッピングの方法については、以下のガイドラインに従うようにしてください:
- 最低 2 つのトレーニング フレーズを追加する必要があり、最大 10 個のトレーニング フレーズを追加できます。
- サンプルのトレーニングフレーズがユニークで多様であることを確認してください。
-
インテント言語 フィールドで、トレーニング・フレーズを生成する言語を選択します。
-
生成するトレーニングフレーズの数を指定します。最大 60 を指定できます。
-
[フレーズの生成] を選択します。
トレーニングフレーズの準備ができると、チャットボットに通知が表示されます。これで、トレーニング フレーズが意図で使用できるようになりました。
意図に重要な単語を追加する
- [インテント] タブに移動します。
- 重要な単語を追加する意図を選択します。
- [重要な単語] タブで、[重要な単語の追加] を選択します。
- 重要な単語を入力します。
- (オプション)同義語を追加します。
NER属性を作成し、意図に追加する
次の各セクションの手順を順番に完了します。
- 既存の意図を使用するか、新しい意図を 作成 します。
- カスタムデータ型を作成します。
- カスタムデータ型を使用するNER属性を作成します。
- 意図に NER 属性を追加します。
カスタム データ型を作成する
-
NTT CPaaSの Webインターフェース (opens in a new tab)で、自動化>チャットボットに移動し、チャットボットに移動します。
-
[カスタムデータ型] タブ> [属性** タブに移動します。
-
データ型の追加 を選択します。
-
[新しいカスタム データ型] ウィンドウ> [名前**] フィールドに、カスタム データ型の名前を入力します。例: mobile_devices.
-
このデータ型に含めることができる各値を追加します。例: 携帯電話、タブレット、ラップトップ。大文字と小文字を含む、エンド ユーザーが応答すると予想される正確な形式で値を入力します。
カスタム値を追加するには、[追加] を選択し、値を入力します。
-
Save (保存) を選択します。
NER属性の作成
- 属性 タブ> NER 属性 タブに移動します。
- **[NER 属性の追加] を選択します。
- 次のフィールドを設定します。これらのフィールドの詳細については、NER attributes セクションを参照してください。
- 名前: 属性の名前を入力します。例: mobile_attribute.
- タイプ: 作成したカスタムデータ型を選択します。
- サブタイプ: 関連するサブタイプを選択します。
- スコープ: 属性がダイアログまたはチャットボットのどちらであるかを選択します。
- リスト: NER属性が単一の値用かリスト用かを選択します。
- エージェントが利用可能: チャットがチャットボットから受信トレイのエージェントに転送されるときに、エージェントから属性値を非表示にするには、このフィールドの選択を解除します。
- 機密データ: チャットボットエディタと受信トレイで属性値をハッシュ値として表示する場合は、このフィールドを選択します。
意図に NER 属性を追加する
- [インテント] タブに移動します。
- 必要な意図を選択し、NER属性タブに移動します。
- **[NER 属性の追加] を選択します。
- 作成した NER 属性を選択します。
ダイアログに意図を割り当てる
意図を作成したら、関連するダイアログに割り当てます。例: Manage_booking 意図を「管理」ダイアログに割り当てます。
インテントは、標準ダイアログにのみ割り当てることができます。「デフォルト」、「認証」および「セッションの有効期限」ダイアログにインテントを割り当てることはできません。
- チャットボットエディタで、ダイアログの名前を選択して設定を表示します。
- 既存の意図を使用するには、リストから意図を選択します。
- ダイアログの新しい意図を作成するには、意図の作成セクションを参照してください。
エンティティを使用してダイアログを分岐する
エンドユーザーが同様の製品またはカテゴリについてチャットボットに連絡する場合は、製品ごとに個別の意図とダイアログを作成します。フローを指示するときは、製品ごとに分岐を追加します。各意図には、同様のトレーニング フレーズのセットが必要です。
また、複数の製品がある場合、これは多数のインテントとブランチにつながります。
この状況を回避するには、次のいずれかを実行します。
- 類似した製品の数が少ない場合は、エンティティ値に基づいて分岐できます。
- 類似した製品が多数ある場合は、エンティティの種類に基づいて分岐できます。
エンティティ値に基づく分岐
例:エンドユーザーは、CarA、CarB、CarCなど、さまざまな自動車ブランドについてチャットボットに連絡します。
エンティティ値に基づいて分岐するには、次の手順を実行します。
- 自動車のカスタム データ タイプを作成し、ブランドを属性値として追加します。
- NER属性を作成します。Type フィールドで、カスタム データ型を選択します。
- すべての自動車ブランドのトレーニングフレーズを含む意図を作成します。
- 意図に NER 属性を追加します。
- NER属性の値に基づいてチャットボットを分岐します。
- シミュレーターでフローをテストします。例: CarB に関する質問を入力すると、チャットボットは CarB のダイアログに移動します。
エンティティの種類に基づく分岐
例:エンドユーザーは、さまざまな自動車のブランドやモデルについてチャットボットに連絡します。
- CarA - Model_A1、Model_A2、Model_A3、Model_A4
- 炭水化物 - Model_B1、Model_B2、Model_B3、Model_B4
- CarC - Model_C1、Model_C2、Model_C3
エンティティタイプに基づいて分岐するには、次の操作を行います。
- 自動車ブランドごとにカスタム データ タイプを作成し、モデルを属性値として追加します。
- Entity_CarA = {Model_A1, Model_A2, Model_A3, Model_A4}
- Entity_CarB = {Model_B1, Model_B2, Model_B3, Model_B4}
- Entity_CarC = {Model_C1, Model_C2, Model_C3}
- 各自動車ブランドのNER属性を作成します。Type フィールドで、カスタム データ型を選択します。
- すべての自動車ブランドのトレーニングフレーズを含む意図を作成します。
- 意図に NER 属性を追加します。
- NER属性に基づいてチャットボットを分岐します。
- シミュレーターでフローをテストします。例: Model_B3に関する質問を入力すると、チャットボットは CarB のダイアログに移動します。
インテントのインポート
インテントとトレーニング・フレーズを1つずつ手動で追加するのではなく、追加するプロセスを自動化します。
次の手順を順番に実行します。
- (オプション)参照用にサンプルファイルをダウンロードします。
- インテント、トレーニング・フレーズ、重要な単語およびシノニムを含むファイルを作成します。
- 完成したファイルをアップロードします。
サンプルファイルをダウンロードする
- NTT CPaaSの Webインターフェース (opens in a new tab)で、自動化>チャットボットに移動し、チャットボットに移動します。
- [インテント] タブに移動します。
- Import (インポート) を選択します。
- サンプルのダウンロード を選択します。
ファイルを作成する
エンドユーザーがチャットボットとの会話で使用する可能性が高いフレーズや文を含むファイルを準備します。顧客向けポータルのフレーズを使用します。例: カスタマー サービスとのオンライン チャット。
ファイルが次の条件に従っていることを確認します。
- ファイルの種類は .csv または .txt である必要があります。
- 空の行があってはなりません。
- ファイルにはヘッダーがあってはなりません。
- トレーニングフレーズ:
- 各トレーニングフレーズを別々の行に追加します。
- セミコロンを使用して、トレーニング・フレーズとインテントを区切ります。
- トレーニングフレーズを意図別に整理します。
- 形式: Training_Phrase;意
- 重要な言葉:
- 重要な単語をそれぞれ別の行に追加します。
- セミコロンを使用して、重要な単語、意図、および重要な単語の同義語を区切ります。
- 複数のシノニムを区切るには、コンマを使用します。
- 重要な単語を意図して整理します。
- 形式: Important_Word;意;シノニム 1、シノニム 2、シノニム 3
例: Welcome インテントと Goodbye インテントの場合、ファイルは次のようになります。 お元気ですか。;ようこそ どうすればいいですか?ようこそ ありがとうございます。;さようなら お役に立ててうれしいです。さようなら さようなら。;さようなら;さらば、チャオ 閉める;さようなら;終了、終了
ファイルのインポート
- NTT CPaaSの Webインターフェース (opens in a new tab)で、自動化>チャットボットに移動し、チャットボットに移動します。
- [インテント] タブに移動します。
- Import (インポート) を選択します。
- ファイルを選択します。
- Import (インポート) を選択します。
ファイルに問題がある場合、チャットボットは、ファイルの種類が正しくないか、書式設定が間違っている (区切り文字が間違っているなど) というエラーを表示します。
インテントのエクスポート
- NTT CPaaSの Webインターフェース (opens in a new tab)で、自動化>チャットボットに移動し、チャットボットに移動します。
- [インテント] タブに移動します。
- ページ上で 1 つ以上のインテントを選択します。すべてのインテントをエクスポートするには、[インテント名 の横にあるチェックボックスをオンにします。
- Export (エクスポート) を選択します。
インテントは、事前定義された形式で.csvファイルとしてダウンロードされます。
インテントの一部である NER 属性はエクスポートされません。
意図の名前を変更する
- 意図を選択します。
- 意図の名前を選択するか、鉛筆アイコンを選択します。
- 新しい名前を入力します。
意図を削除する
意図を削除すると、そのをダイアログに追加できなくなります。意図が既にダイアログに追加されている場合、その意図はダイアログから削除されます。
インテントを削除するには、[インテント] タブに移動し、次のいずれかのオプションに従います。
1 つの意図を削除する
1 つの意図を削除するには、意図の横にある 削除 アイコンを選択します。確認画面で、[削除] を選択します。
複数のインテントを削除する
ページで 1 つ以上の意図を選択し、[削除] を選択します。すべての意図を削除するには、名前 列ヘッダーの横にあるチェック ボックスをオンにし、**[削除] を選択します。
確認画面で、[削除] を選択します。
意図内から削除する
- 意図を選択して開きます。
- [削除] アイコンをクリックします。
- 確認画面で、[削除] を選択します。
トレーニングフレーズを削除する
トレーニングフレーズを削除するには、インテントタブに移動します。トレーニングフレーズを削除する意図で、トレーニングフレーズタブに移動します。
次のいずれかの操作を行います。
- トレーニング フレーズを 1 つ削除するには、トレーニング フレーズの横にある [削除] アイコンを選択します。
- 複数のトレーニング フレーズを削除するには、ページで 1 つ以上のトレーニング フレーズを選択し、削除 を選択します。
- すべてのトレーニング フレーズを削除するには、[フレーズ] 列ヘッダーの横にあるチェック ボックスをオンにし、[削除] を選択します。
確認画面で、[削除] を選択します。
重要な単語を削除する
重要な単語を削除するには、[インテントタブに移動します。重要な単語を削除する意図で、[重要な単語 タブに移動します。
次のいずれかの操作を行います。
- 重要な単語を 1 つ削除するには、重要な単語の横にある [削除] アイコンを選択します。
- 複数の重要な単語を削除するには、ページ上の重要な単語を 1 つ以上選択し、[削除] を選択します。
- 重要な単語をすべて削除するには、単語 列ヘッダーの横にあるチェック ボックスをオンにし、[削除] を選択します。
確認画面で、[削除] を選択します。
NER属性の削除
NER 属性を削除するには、[属性 タブ> NER 属性 タブに移動します。
次のいずれかの操作を行います。
- 1 つの NER 属性を削除するには、NER 属性の横にある [削除] アイコンを選択します。
- 複数の NER 属性を削除するには、ページで 1 つ以上の NER 属性を選択し、削除 を選択します。
- すべての NER 属性を削除するには、名前 列ヘッダーの横にあるチェック ボックスをオンにし、削除 を選択します。
確認画面で、[削除] を選択します。
カスタムデータ型を削除する
カスタム データ型を削除するには、[カスタム データ型] タブ> [属性** タブに移動します。
次のいずれかの操作を行います。
- 1 つのカスタム データ型を削除するには、カスタム データ型の横にある [削除] アイコンを選択します。
- 複数のカスタムデータ型を削除するには、ページで 1 つ以上のカスタムデータ型を選択し、削除 を選択します。
- すべてのカスタム データ型を削除するには、カスタム型名 列ヘッダーの横にあるチェック ボックスをオンにし、[削除] を選択します。
確認画面で、[削除] を選択します。
テストインテント
チャットボットがインテントをどの程度認識しているかを確認します。
シミュレーターで、次の操作を行います。
- Start Simulation を選択します。
- 終了ユーザーメッセージを入力します。
- インテント エンジン を選択します。
結果ペインでは、次の情報を表示できます。
一致したインテント: トークン化されたテキストをトレーニング フレーズに対して評価することによって認識された、スコアが最も高い意図。正しくない意図が一致した場合は、正しくない意図が一致しますセクションの手順に従います。
ダイアログへのルーティング:チャットボットの構築時に認識された意図にリンクされたダイアログ。
元のテキスト: 自動修正やその他の後処理アクションなど、変更のない元の終了ユーザー メッセージ。
トークン化されたテキスト: 単語の自動修正とストップワードの削除後に取得されたテキスト。
自動修正: 自動修正が適用されたかどうかを示します。オートコレクトが適用された場合、フィールド値は true です。
解決された属性: 認識された意図に対して構成された解決済みの NER 属性。
どのダイアログでも、意図エンジンの詳細はそのダイアログの外部でのみ使用できます。
トラブルシューティング
意図されたトレーニングフレーズの数が他よりも多いまたは少ない
1 つの意図のトレーニング フレーズの数は、他のよりも大幅に多くなったり少なくなったりします。すべてのインテントに同じ数のトレーニングフレーズを使用します。
正しくない意図が一致します
意図の一致が正しくない場合は、トークン化されたテキストセクションを確認して、意図スコアの評価に使用された単語を理解します。
例: チャットボットは、「予定の予約」、「予定のキャンセル」、「予定の再スケジュール」のインテントを使用します。チャットボットが「予定のキャンセル」ではなく「予約」を意図として誤って認識する場合は、次の1つ以上を実行します。
- 正しい意図にトレーニングフレーズを追加します(予定のキャンセル)。
- 一部のトレーニング フレーズをインテント間で再配置します (「予約」から「予約」から「キャンセル予約」へ)。
- インテントが類似している場合は、それらを 1 つの意図にマージし、別のアプローチを使用してアクションを区別します。例: 名前付きエンティティ認識 (NER) とカスタム・データ型を組み合わせて使用します。エンティティを使用してダイアログを分岐する > エンティティ型に基づく分岐を参照してください。
解析学
チャットボット分析で ダイアログとインテント ダッシュボードを開き、チャットボットが意図を判断できなかったユーザー メッセージを見つけます。
- リストにユーザー開始メッセージが含まれている場合は、トレーニングフレーズとして開始意図に追加します。
- 予期しないメッセージが含まれている場合は、トレーニング フレーズとして追加するか、それらを処理するための新しいインテントを作成します。