ボットに会話のし方を教える
このページでは、CXone Bot Builderでボットを作成するために必要なタスクを説明します。 これは、ボットの実装プロセスの第3のステップです。
コンセプト | 定義 | 例 | ボットがすること |
---|---|---|---|
発話 |
コンタクトがインタラクションの中で話す任意のこと。 メッセージと呼ばれるときもあります。 |
「パスワードを紛失しました。」 「私の残高は?」 「あなたはボットですか?」 |
ボットは 自然言語理解(NLU)を使用して、各コンタクトの発話を分析し、その意味、つまりインテントを決定します。 |
インテント |
コンタクトが伝えたいこと、または達成したいこと。 コンタクトが送信するすべてのメッセージにはインテントがあります。 |
「パスワードを紛失しました」は「パスワードの再設定」というインテントがあります。 「こんにちは」は「挨拶」のインテントがあります。 |
ボットはNLU このプロセスは自然言語処理(NLP)を拡張し、理解した内容に基づいて判断またはアクションを実行します。を使用してコンタクトのメッセージを分析し、インテントを判断します。 それが分かれば、自らのメッセージで応答することができます。 各インテントにボットに使用させるレスポンスを設定します。 |
エンティティ |
コンタクトのメッセージ中の定義済み情報。 | 個人または製品名、電話番号、アカウント番号、場所など。 | このボットはNLUを使って、コンタクトのメッセージに含まれるエンティティを特定します。 エンティティは、ボットがコンタクトのメッセージの意味を理解するのに役立ちます。 |
スロット |
コンタクトのメッセージから抽出され、ボットレスポンスで使用するために保存されたエンティティ。 変数に似たもの。 | コンタクト名のスロットを作成すると、ボットは対話中の応答でその名前を使用できるようになり、より個人的な名前になります。 | これをするように設定すると、ボットはコンタクトメッセージからエンティティを抽出してスロットに保存します。 ボットにこの情報を会話の後半で使わせることができます。 |
ルール |
コンテキストによって意味が変化しないメッセージに対するボットのレスポンスを定義します。 |
|
ルールは、ボットがインテントにどのように応答するかを設定する2つの方法のうちの1つです。 ルールはある種のインテントには有効ですが、すべてのインテントに有効なわけではありません。 |
ストーリー |
メッセージのインテントと会話のコンテキストに基づいてインタラクションを処理するようにボットをトレーニングします。 | パスワードを忘れた場合のやり取りで、ボットは「どうすればよいですか?」と応答する 場合があります。 対話が新しいアカウントの作成に関するものである場合、どちらの場合もコンタクトが同じ意図で同じ単語を使用している場合でも、応答はまったく異なります–より多くの情報を取得します。 | ストーリーは、ボットがインテントにどのように応答するかを設定できる2つの方法のうちの2つ目です。 ストーリーは、会話のコンテキストを利用して適切に応答する方法をボットに指示します。 |
ボットアクション |
インタラクションの処理中にボットが言う、または行うこと。 |
パスワード忘れに関するインタラクションでは、ボットは、WebサイトのパスワードリセットFAQへのリンクを送信することによって応答します。 コンタクトが「理解できない」などと不満を表明した場合! 機能していません!」 ボットは、「すみません。 人間のエージェントに転送しましょうか?」と応答します。 コンタクトがはいと答えると、ボットは転送を開始します。 |
アクションとは、各インテントにボットがどのように応答するかを定義する際のオプションです。 各レスポンスを柔軟に設定することで、コンタクトのニーズに合ったアウトカムを達成することができます。 |
ボットに会話のし方を教える
会話については考えられるすべてのバリエーションをスクリプトで網羅する必要はありません。 Bot Builderボットは、会話型AIテクノロジーを使用して、コンタクトの発話の意味を理解し、スクリプトなしで適切に応答することができます。 ただし、コンタクトとの適切な会話のし方をボットに教える必要があります。 このためには、Bot Builderでルール 文脈に応じて変化しないメッセージに対するボットの応答を定義するために使用されます。とストーリー 意図と文脈に基づくインタラクション処理のためにボットをトレーニングする目的で使用されますを使って会話テンプレートを作成します。
ルールとストーリーはダイアログとしても知られ、コンタクトの発話 コンタクトが発言または入力すること。に応答する方法を、発話ごとにボットに教えます。 各ダイアログは、会話の特定の部分に焦点を当てています。 これらは通常、コンタクトの発話とそれに対応するインテント コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。、およびボットの応答で構成されます。
1つのインテントに複数のダイアログが必要となる場合もあります。 同じインテントでも特定の基準に基づいてボットに異なる応答をさせたいことがあります。 複数のダイアログを作成し、それぞれに独自の応答と、ボットがその応答を返すタイミングを定義する基準を設定することで、ボットに違いを教えることができます。
ダイアログがボットに教えるもの
コンタクトとのインタラクション中、ボットはコンタクトの発話を分析してそのインテントを特定します。 インテントに設定されたダイアログが1つしかない場合、ボットはそのダイアログの設定された応答に従って応答します。 インテントに複数のダイアログが設定されている場合、ボットは会話を分析して、どのバージョンのダイアログを使うべきかの手がかりを検出します。
次の図は、コンタクトに応答する際のボットのロジックを示しています。
ボットの応答
ボットの応答は、必要に応じてシンプルなものにも複雑なものにもできます。 ボットは次のことを行えます:
- 情報や質問で返信する。
- 画像、GIF、動画、Webページへのリンクを表示する。 コンタクトが操作できるボタンやリストを含めることができます。
- 条件を使って取るべき行動を「選択」する。 コンタクトの発話に基づいて、複数の可能な応答を設定することができます。
- フォームに従ってコンタクトから情報を収集する。
- 人間のエージェントにインタラクションをエスカレートする。
ボットの応答はダイアログ CXone Bot Builderにおけるボットのストーリーとルール。を使って作成され、1つ以上の利用可能なボットアクションで構成されます。 ボットアクションは特定の機能を実行します。 一部のボットアクションは、メッセージや選択オプションのリストなどのコンテンツをコンタクトに送信します。 その他のボットアクションは、APIを呼び出したり、サードパーティのアプリケーションでデータを取り出したりデータを保存するなど、コンタクトからは見えないタスクを実行します。
Bot Builderに用意されているデフォルトのボットアクションのセットから選択できますが、カスタムのボットアクションを作成することもできます。 カスタムのボットアクションは、API呼び出しを実行するか、カスタムJavaScriptで設計することができます。
スキルストア
ボットスキルでは、ボットができることに基づいて、ボットの設定とトレーニングデータを整理することができます。 これらのスキルをトレーニングデータのフィルタリングに使用することで、ボットが達成できる各タスクをより具体的に絞り込みやすくなります。
ボットのスキルは、Bot Builder スキルストアを介して、Bot Builderユーザーにあらかじめ用意された能力を配布するためにも使用されます。 NICE CXoneは、CXoneのさまざまな機能や製品との統合を提供するためにスキルストアを使用しています。
たとえば、CXone Expert知識ベースをBot Builderボットで使用したい場合、Enlighten Autopilot Knowledgeボットスキルをボットに追加します。 これにより、必要なすべてのルール、ストーリー、インテント、エンティティ、スロット、スクリプトなどがボットに追加されます。
ボットスキルをデザインしたら、スキルストアに追加する承認を得るために提出することができます。 NICE CXoneがレビューを行い、承認された場合はスキルストアに追加します。
ボットをトレーニングする
ボットをトレーニングすることで、行った設定からボットが学習するようになります。 トレーニングの質が高ければ高いほど、ボットがインテントをより正しく予測できるようになります。 トレーニングは以下のように行われます。
- ボットにトレーニングデータを追加する:トレーニングデータとは、インテント コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。に追加する例のことです。 質の高い例を多く追加することで、ボットは単語、フレーズ、およびインテントの関連付けをより効果的に行えるようになります。
- ストーリーとルールを作成する:ストーリー 意図と文脈に基づくインタラクション処理のためにボットをトレーニングする目的で使用されますとルール 文脈に応じて変化しないメッセージに対するボットの応答を定義するために使用されます。によって、ボットにインテントへの対応方法を教えます。 インテントに質の高い学習データが十分あれば、コンタクトが1つのインテントを表現するさまざまな方法をボットが認識できるようになります。
- ボットにインテントのバリエーションを教えるためのストーリーを作成する:ボットの応答に影響を与えるバリエーションを持つ一般的なインテントについては、ストーリーを使用してボットにバリエーションを区別することを教えます。 ボットがコンタクトのリクエストのニュアンスを学習し、正しく応答できるようになります。
ボットがどの程度訓練されているかは、Bot Builderでボットとチャットすることでテストできます。 ボットとチャットすることで、ボットの問題点を確認し、すぐに修正することができます。
継続的なトレーニングプロセスの一環として、ボットをよりスマートにするための作業があります。 ボットがスマートになればなるほど、より効果的にインテントを予測し、正しい応答を選択できるようになります。 ボットをさらにスマートにするには、会話データを見直し、データで見つかった問題に基づいてボットに変更を加えることができます。 ボットをレビューして改善できます
トレーニングデータ
インテント コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。の例で、コンタクトがインテントを表現する様々な方法についてボットをトレーニングします。 インテントの例が多ければ多いほど、ボットが正しく識別できるインテントのバリエーションが増えます。 実世界の会話データを使用して、ボットを
どのインテントがより多くのトレーニング例を必要とするかを見るために、お客様のインテントを確認することができます。 各インテントの横には、それが持つ例の数を示す数字があります。 例が14個以下のインテントが、できればもっと必要です。
トレーニングとステージングのオプション
ボットに加えた変更をテストする準備ができたら、[トレーニングとステージング]をクリックします。 これでボットに変更が追加され、テストできるようになります。 ボットに設定をよく理解させるために、会話による追加のトレーニングが必要な場合があります。
本稼働に展開されたボットを改善する場合、トレーニングとステージは新しいボットモデル トレーニングされ、ステージングされたボットのバージョンを作成し、そのモデルを
ヘルスモニターを使用して、[トレーニングとステージング]で開始したトレーニングの進行状況を追跡できます。
ストーリーとルールでボットをトレーニングする
ストーリーを使用して、インタラクション チャネルを介したエージェントとの会話全体。 たとえば、インタラクションには、音声通話、Eメール、チャット、またはソーシャルメディアでの会話があります。のコンテクストでメッセージ 質問や発言、書面や音声を問わず、ボットとのインタラクションにおいてコンタクトが発言するすべての内容。に応答する方法をボットに教えることができます。 ストーリーを始めから作成するか、実際の会話をストーリーに変換することもできます。 ルールは、その意味がコンテクストに依存しないメッセージへの応答方法をボットに教えます。
1つのインテントに複数のダイアログが必要となる場合もあります。 これは、インテントのわずかな違いに応じてボットに異なる反応をさせたい場合に便利です。 たとえば、ボットが口座残高をチェックできる場合、コンタクトがチェックしたい口座の種類によって、ボットに異なる反応をさせることが可能です。
ストーリーとルールには、場合によっては定期的な更新と改訂が必要です。 たとえば、会話データを見直した結果、ストーリーのうちの1つがボットの混乱を引き起こし、間違ったインテントを予測していることがわかった場合には、そのストーリーを変更することで問題に対処できます。 場合によっては、ストーリーだけでなくインテントも変える必要があるかもしれません。
トレーニングデータのベストプラクティス
トレーニングデータの収集とボットのトレーニングのアプローチを計画する際には、以下のベストプラクティスを念頭に置いてください。
- 常に量より質を選ぶ。 小規模なデータセットから始めて、時間をかけてより質の高い事例を集めながら構築していくのが好ましいです。
- 実際の会話の例を使います。 これにより、使用するデータが現実的なものとなります。 それは、現実のコンタクトが話した内容から来ています。
- データを自動生成し、ボット ライブの人間のエージェントの代わりに顧客とのやり取りを処理するソフトウェアアプリケーション。をより速くトレーニングすると要求るツールを使用しないでください。 彼らはしばしばコンタクトが実際に言っていることを反映していない例を生み出します。 また、ボットが一般化する能力を失う可能性もあります。 時間の経過とともに、ボットは以前に見たフレーズのみを認識するようになります。
- 同じトレーニングデータを複数のインテントに使用しないでください。 トレーニングデータを再利用した場合、ボットはコンタクトとのライブインタラクションで確実にインテントを判断することができません。
- 柔軟性を保ち、進んで経時的にインテントやストーリーを調整します。 会話データを見直すと、2つの別々のインテントだと思っていたものが、実は同じ、より一般的なインテントの色合いであったことがわかるかもしれません。 あるいは、インテントが広すぎることに気づくかもしれないか、より明確なインテントに分解する必要があります。
- 新規トレーニング例を追加するのは、それが役に立つ場合に限ります。
- 既存の例と非常によく似た新規トレーニング例を追加しないでください。 ボットがある発話に対して高い信頼性でインテントを正しく予測した場合、ボットが類似の例を追加することは役に立ちません。
- ボットが以前に間違って予測した、または信頼度が低い発話のトレーニング例をぜひ追加してください。
ボットの応答を作成してボットをトレーニングする
ボットの応答を以下のプロセスで設定します:
- インテントを作成する。
- 作成したインテント コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。にルールまたはストーリーを作成して、ボットがそのインテントにどう応答するかを定義する。 このどちらを作成するかはインテントに依存します。 ボットの実装プロセスの初期に作成した計画を参照してください。 ストーリー 意図と文脈に基づくインタラクション処理のためにボットをトレーニングする目的で使用されますとルール 文脈に応じて変化しないメッセージに対するボットの応答を定義するために使用されます。を作成するハイレベルなプロセスは以下のとおりです:
ストーリーとルールは、まずコンタクトが言いそうなことから始めます。 たとえば、check_balanceというインテントの場合、コンタクトは「口座の残高を知りたい」と言うかもしれません。
- コンタクトの発言例を入力すると、Bot Builderはコンタクトのメッセージ例のインテントを予測しようとします。
- ボットの予測を確認するか、正しいインテントを選択し、それを確認します。 ボットの予測信頼度が低いと思われる場合、インテントにトレーニング例をさらに追加します。
これで、利用可能なボットアクションのいずれかを使用して、ボットの応答を追加できます。
- このインテントの実際の会話例で、コンタクトが(エージェントまたはボットからの)応答に対して同じタイプの質問や発言を返す傾向があることが示されている場合、コンタクトの発話をもう1つ追加します。
集めた実例に従って、ストーリーやルールでの会話を続けます。 インテントに関する会話がのように進むべきかをボットに教えるために、必要なだけインタラクションを追加します。
通常、のルールは、1つのコンタクトメッセージと1つのボット応答で構成されます。 ストーリーは、ボットとコンタクトの間の一連のやり取りで構成することができます。 しかし、完全な会話をストーリーとして使用することはできません。 会話中の次の発言が必然的に新しいインテントを始めることになる場合、そこで停止して新しいストーリーを作成します。 あるいは、ストーリーをさらに小さなサブストーリーに分割することを検討します。
コンタクトのユニークな状況やニーズに応じて、会話の進め方にバリエーションがある場合は、同じインテントに対して複数のストーリーを作成します。 これにより、1つのインテントのバリエーション間の違いをボットが見分けられるようにトレーニングします。
コンタクトのメッセージの言い回しにバリエーションがある場合や、本質的に同じことを意味する類似したメッセージがある場合には、それらをインテントの例として追加することができます。
ハッピーパスとアンハッピーパスという観点から考えてみましょう。 それぞれのインテントには、ハッピーなパスとアンハッピーなパスがあります。
- インテント、ルール、ストーリーに必要な場合は、エンティティ、スロット、またはフォームを作成します。
エンティティは、ボットが会話から抽出する必要のある情報用にのみ作成します。
- スロットは、会話中に保存または使用する必要があるデータ用に作成します。
- フォームは、コンタクトからいくつもの情報を収集する必要がある場合にストーリーやルールの中で使用することを検討します。
-
変更が完了したら、トレーニングとステージをクリックしてボットモデル トレーニングされ、ステージングされたボットのバージョンを更新してこの変更をテストします。
- ボットとチャットしてテストします。 ボットとの会話結果に基づいて、必要であれば作成したストーリーやルールを調整します。 必要に応じて、作業しているインテントのトレーニングデータを追加や変更します。 ボットのパフォーマンスに満足できるまで、トレーニングとテストのステップを何度でも繰り返します。