CXone Bot Builderにおけるインテント
コンタクトが送信するすべての発話にはインテントがあります。 多くのメッセージは、コンタクトが貴社に接触してきた理由に関係があります。 これらのメッセージのインテントは、パスワードのリセット、手順や営業時間の問い合わせといった、ボットが処理するタスクに関連しています。 その他のメッセージは、挨拶や謝辞など、社会的なスクリプトに従っています。
インテントは、新しいボットを設定するときの出発点となります。 まずインテントを作成し、コンタクトがそのインテントを伝えるために使用するメッセージの例を提供します。 次に、ボットにそのインテントに対してどのように応答させるかを設定します。 たとえば、ボットがフォローアップの質問をしたり、回答を提供したり、コンタクトに選択肢を提供したり、人間のエージェントに転送したりするように設定できます。
インテントの作業は、実装プロセスにおいてボットを設定する際の重要な部分です。 ボットを展開した後も、ボットの継続的な管理の一環として、インテントの作業を続けることが重要です。
コンセプト | 定義 | 例 | ボットがすること |
---|---|---|---|
発話 |
コンタクトがインタラクションの中で話す任意のこと。 メッセージと呼ばれるときもあります。 |
「パスワードを紛失しました。」 「私の残高は?」 「あなたはボットですか?」 |
ボットは 自然言語理解(NLU)を使用して、各コンタクトの発話を分析し、その意味、つまりインテントを決定します。 |
インテント |
コンタクトが伝えたいこと、または達成したいこと。 コンタクトが送信するすべてのメッセージにはインテントがあります。 |
「パスワードを紛失しました」は「パスワードの再設定」というインテントがあります。 「こんにちは」は「挨拶」のインテントがあります。 |
ボットはNLU このプロセスは自然言語処理(NLP)を拡張し、理解した内容に基づいて判断またはアクションを実行します。を使用してコンタクトのメッセージを分析し、インテントを判断します。 それが分かれば、自らのメッセージで応答することができます。 各インテントにボットに使用させるレスポンスを設定します。 |
エンティティ |
コンタクトのメッセージ中の定義済み情報。 | 個人または製品名、電話番号、アカウント番号、場所など。 | このボットはNLUを使って、コンタクトのメッセージに含まれるエンティティを特定します。 エンティティは、ボットがコンタクトのメッセージの意味を理解するのに役立ちます。 |
スロット |
コンタクトのメッセージから抽出され、ボットレスポンスで使用するために保存されたエンティティ。 変数に似たもの。 | コンタクト名のスロットを作成すると、ボットは対話中の応答でその名前を使用できるようになり、より個人的な名前になります。 | これをするように設定すると、ボットはコンタクトメッセージからエンティティを抽出してスロットに保存します。 ボットにこの情報を会話の後半で使わせることができます。 |
ルール |
コンテキストによって意味が変化しないメッセージに対するボットのレスポンスを定義します。 |
|
ルールは、ボットがインテントにどのように応答するかを設定する2つの方法のうちの1つです。 ルールはある種のインテントには有効ですが、すべてのインテントに有効なわけではありません。 |
ストーリー |
メッセージのインテントと会話のコンテキストに基づいてインタラクションを処理するようにボットをトレーニングします。 | パスワードを忘れた場合のやり取りで、ボットは「どうすればよいですか?」と応答する 場合があります。 対話が新しいアカウントの作成に関するものである場合、どちらの場合もコンタクトが同じ意図で同じ単語を使用している場合でも、応答はまったく異なります–より多くの情報を取得します。 | ストーリーは、ボットがインテントにどのように応答するかを設定できる2つの方法のうちの2つ目です。 ストーリーは、会話のコンテキストを利用して適切に応答する方法をボットに指示します。 |
ボットアクション |
インタラクションの処理中にボットが言う、または行うこと。 |
パスワード忘れに関するインタラクションでは、ボットは、WebサイトのパスワードリセットFAQへのリンクを送信することによって応答します。 コンタクトが「理解できない」などと不満を表明した場合! 機能していません!」 ボットは、「すみません。 人間のエージェントに転送しましょうか?」と応答します。 コンタクトがはいと答えると、ボットは転送を開始します。 |
アクションとは、各インテントにボットがどのように応答するかを定義する際のオプションです。 各レスポンスを柔軟に設定することで、コンタクトのニーズに合ったアウトカムを達成することができます。 |
インテントのトレーニング例
インテント コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。の例で、コンタクトがインテントを表現する様々な方法についてボットをトレーニングします。 インテントの例が多ければ多いほど、ボットが正しく識別できるインテントのバリエーションが増えます。 実世界の会話データを使用して、ボットを
実装プロセスの計画段階では、エージェントがコンタクトと実際に交わした会話の記録を収集します。 これらの会話は、ボットに追加するインテントのトレーニング例のソースとして使用します。
インテントの予測と信頼度
ボットはコンタクトが送信する各メッセージを分析します。 ボットは、設定された各インテントにどの程度一致しているかを判断し、各インテントにどの程度の自信があるかを計算します。 この信頼度が高ければ高いほど、一致の質は優れています。 ボットは、設定されたしきい値を超える、最も信頼度の高いインテントを使用します。
ボットの信頼度が、設定されたすべてのインテントのしきい値を下回っている場合、NLU このプロセスは自然言語処理(NLP)を拡張し、理解した内容に基づいて判断またはアクションを実行します。のフォールバックオプションがトリガーされます。 Bot Builderの[NLU] > [フォールバック]タブで、フォールバックをトリガーするしきい値を設定できます。
アウトオブスコープのインテント
場合によっては、コンタクトから問い合わせがあることがわかっていても、ボットで処理するための設定がまだ済んでいないタスクもあります。 アウトオブスコープのインテントは、ボットでは扱えないタスクに関する質問を認識し、そのタスクを達成する方法について情報をコンタクトに提供するのに役立ちます。 また、ボットが対応できることのリストを提供することもできます。
たとえば、コンタクトが定期的にボットに残高チェックを依頼していても、まだこのタスクを設定していない場合、balance_check(残高確認)インテントを作成することができます。 コンタクトが行ったリクエストから、トレーニングデータの例を追加します。 次に、次のようなボットの応答を持つインテントのルールを作成します。
- 「大変申し訳ありません、現在のところ残高の確認はできません。 担当のエージェントに転送しますか?」
- 「申し訳ありません、残高を確認することは現時点では不可能です。 アドレスの更新、パスワードのリセット、事業所の住所検索でしたらお手伝いできます。 どういたしましょうか?」
アウトオブスコープインテントとともに、ボットにアウトオブスコープパスのトレーニングを行うためのストーリーも作成する必要があります。 これはボットに、他のインテントには該当しないさまざまな状況への対処法を教えます。
アウトオブスコープのインテントはフォールバックに似ていますが、より良い顧客体験を提供することができます。 アウトオブスコープであってもコンタクトがよくボットに尋ねる質問のインテントを設定することで、それぞれの質問にカスタマイズされた応答を提供することができます。 これにより、ボットがさらに人間らしい会話をできるようになります。
インテントの混乱
ボットは、コンタクトのメッセージに対して間違ったインテント コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。を選択することがあります。 これは、2つのインテントが似ているためにボットでは見分けられない場合に起こります。 これはインテントの混乱と呼ばれ、同じトレーニングデータを複数のインテントに使用した場合に起こることがあります。 2つのユーザーの目標は異なるように見えるかもしれませんが、時間の経過とともに同様の例を収集し始めます。
インテントとそのトレーニングデータは区別しておくこと。 もし複数のインテントにトレーニング例を再利用したいのであれば、それはインテントを1つの、代わりにより一般的なインテントにマージできるかもしれないというサインです。
インテントの混乱が発生する一般的なシナリオは2つあります。
- 情報の提供:ボットは会話のさまざまな箇所でコンタクトに情報の提供を求める可能性があり、そのためにprovide_emailやprovide_nameのようなインテントが使用されることがあります。 しかし、これらのバリエーションのトレーニングデータ例はあまりにも似すぎています:
- 「私の名前はシェリー・カーンです。」
- 「私のメールはsherry.khan@email.comです。」
- 「ナトゥー・マンカインドです。」
- 「nathoo@otheremail.comです。
- 情報のリクエスト:コンタクトが口座残高などの情報をボットに尋ねる可能性があります。 コンタクトが尋ねる可能性のある情報の種類がいくつかある場合、それぞれの種類ごとにインテントを設定できます。 たとえば、口座残高リクエストの場合、balance_checkingとbalance_savingsのインテントを持つ可能性があります。 しかし、これらのバリエーションのトレーニングデータ例はあまりにも似すぎています:
- 「当座預金の残高を教えてください。」
- 「貯金残高は?」
- 「当座預金の残高を教えてください。」
先の各シナリオのトレーニングデータ例で実質的な違いがあるのは、提供されるエンティティ Interaction Analyticsの会社プロファイルで定義されたキーワードやフレーズ。 エンティティタイプに関連するもの。 バリエーションを含むことができます。だけです。
インテントの混乱を避ける
インテントの混乱を解決するために、あるいは混乱を避けるために従うべき一般的なルールは、これらのインテントをマージしてエンティティを使ってトレーニングすることです。 その場合、1つの一般的なインテントを設定してこれにすべてのトレーニング例を適用するのが良い方法です。その後、ストーリーを使用して、エンティティを認識するようにボットをトレーニングします。 ボットがコンタクトの発話に含まれるエンティティを認識できた時点で、適切なパスを取ることができます。
次の表は、前の節の一般的なシナリオを示しています。 元のインテント、新しい一般的なインテント、および使用するトレーニングストーリーの例を挙げています。
シナリオ | 元のインテント | 新しい一般的なインテント | ストーリーを使ったトレーニング |
---|---|---|---|
情報の提供 |
provide_address provide_email provide_name |
provide_info |
ボットが収集できるさまざまなタイプの情報を含む、コンタクトメッセージの例から始まるストーリーをいくつか作成します。
すべてのストーリーがprovide_infoという同じインテントをトリガーします。 それぞれのストーリーが、accountAddress、accountEmail、accountNameといった異なるエンティティを使用しています。 最後の「自分の情報を更新する必要があります」という例では、具体的な情報の種類を述べていないので、ボットでフォローアップの質問をするとよいでしょう。 |
情報のリクエスト |
balance_checking balance_savings balance_giftcard |
balance_checks |
コンタクトメッセージの例から始まるストーリーをいくつか作成します。
すべてのストーリーがbalance_checksという同じインテントをトリガーします。 それぞれのストーリーが、balanceChecking、balanceSavings、balanceGiftCardといった異なるエンティティを使用しています。 最後の「口座残高は?」という例では、口座の種類を指定していないので、ボットでフォローアップの質問をするとよいでしょう。 |
マルチインテント
CXone Bot Builderで作成されたボット ライブの人間のエージェントの代わりに顧客とのやり取りを処理するソフトウェアアプリケーション。は、コンタクトのメッセージ 質問や発言、書面や音声を問わず、ボットとのインタラクションにおいてコンタクトが発言するすべての内容。に含まれる1つ以上のインテント コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。を特定することができます。 メッセージ内の複数のインテントを識別することで、ボットは「残高を確認して普通預金口座に200ドルを振り込んでください」といったリクエストを正しく処理できるようになります。
2つの既存の単一インテントからマルチインテントを作成する場合、多くの例を提供する必要はありません。 ボットは、メッセージ内の単一のインテントを認識し、それらをマルチインテントとして処理できます。
マルチインテントは、会話の自然な流れに本当に必要な場合にのみ使用してください。 マルチインテントが多すぎると、ボットが複雑になりすぎて簡単に管理できなくなる可能性があります。
インテントのレビューと管理
NLUセクションの[インテント]タブにある各インテントには、番号が横に付いています。 この数字は、そのインテントが持っているトレーニング例の数を示します。 この数値は、そのインテントのトレーニング例が十分かどうかを示すために、色分けされています。
-
赤:インテントは最大7回使われています。 トレーニング例を追加してください。
-
オレンジ:インテントは8~14回使われています。 可能であれば、トレーニング例を増やしてください。
-
緑:インテントは15回以上使われています。 これ以上のトレーニング例は必要ありません。
インテントによっては、トレーニング例の数の横に黄色い三角形が付いています。 これは、このインテントを含むダイアログ CXone Bot Builderにおけるボットのストーリーとルール。が存在しないことを示します。 この記号が付いたインテントがある場合は、必要に応じてストーリーまたはルールに追加してください。
[インテント]タブで、以下のインテント管理タスクを実行することもできます。
- インテントが表示されるダイアログ(ストーリーとルール)を確認します。
- 最近のコンタクトメッセージと、それぞれのメッセージについて予測されたインテントを確認します。
- トレーニングからインテントを隠します。
インテントのベストプラクティス
インテントを作成するときは、次のベストプラクティスに従ってください。
- インテントは必ずしも明確ではありません。 2つのユーザーの目標は異なるように見えるかもしれませんが、時間の経過とともに同様の例を収集し始めます。インテントとそのトレーニングデータは区別しておくこと。 もし複数のインテントにトレーニング例を再利用したいのであれば、それはインテントを1つの、代わりにより一般的なインテントにマージできるかもしれないというサインです。これはインテントの混乱を避けるのに役立ちます。
- 常に範囲外のインテントを含めてください。 範囲外インテントは、ボットが行うようにトレーニングされたタスク外のコンタクトリクエストにボットが応答することを可能にします。彼らはあなたが会話を回復することを可能にし、多くの場合パフォーマンスの改善をもたらします。
- マルチインテントを控えめに使用します。 マルチインテントは、会話の自然な流れに本当に必要な場合にのみ使用してください。 マルチインテントが多すぎると、ボットが複雑になりすぎて簡単に管理できなくなる可能性があります。