ボットに会話のし方を教える

このページでは、CXone Bot Builderでボットを作成するために必要なタスクを説明します。 これは、ボットの実装プロセスの第3のステップです。

ボットに会話のし方を教える

会話については考えられるすべてのバリエーションをスクリプトで網羅する必要はありません。 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がレビューを行い、承認された場合はスキルストアに追加します。

ボットをトレーニングする

ボットをトレーニングすることで、行った設定からボットが学習するようになります。 トレーニングの質が高ければ高いほど、ボットがインテントをより正しく予測できるようになります。 トレーニングは以下のように行われます。

ボットがどの程度訓練されているかは、Bot Builderでボットとチャットすることでテストできます。 ボットとチャットすることで、ボットの問題点を確認し、すぐに修正することができます。

継続的なトレーニングプロセスの一環として、ボットをよりスマートにするための作業があります。 ボットがスマートになればなるほど、より効果的にインテントを予測し、正しい応答を選択できるようになります。 ボットをさらにスマートにするには、会話データを見直し、データで見つかった問題に基づいてボットに変更を加えることができます。 ボットをレビューして改善できます

トレーニングデータ

インテント閉じた コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。の例で、コンタクトがインテントを表現する様々な方法についてボットをトレーニングします。 インテントの例が多ければ多いほど、ボットが正しく識別できるインテントのバリエーションが増えます。 実世界の会話データを使用して、ボットをテストとトレーニングします。 最良の結果を得るためには、常に量より質の高いデータを選ぶこと。 これにより、ボットが実際のコンタクトとの会話に対応できるよう、十分な準備を整えることができます。

どのインテントがより多くのトレーニング例を必要とするかを見るために、お客様のインテントを確認することができます。 各インテントの横には、それが持つ例の数を示す数字があります。 例が14個以下のインテントが、できればもっと必要です。

トレーニングとステージングのオプション

ボットに加えた変更をテストする準備ができたら、[トレーニングとステージング]をクリックします。 これでボットに変更が追加され、テストできるようになります。 ボットに設定をよく理解させるために、会話による追加のトレーニングが必要な場合があります。

本稼働に展開されたボットを改善する場合、トレーニングとステージは新しいボットモデル閉じた トレーニングされ、ステージングされたボットのバージョンを作成し、そのモデルをステージに展開します。 改善を本稼働に反映させたい場合は、この新しいモデルを手動で展開する必要があります。 これにより、明示的な同意なしにボットモデルが本番環境に入ることがなくなります。

ヘルスモニターを使用して、[トレーニングとステージング]で開始したトレーニングの進行状況を追跡できます。

ストーリーとルールでボットをトレーニングする

ストーリーを使用して、インタラクション閉じた チャネルを介したエージェントとの会話全体。 たとえば、インタラクションには、音声通話、Eメール、チャット、またはソーシャルメディアでの会話があります。のコンテクストでメッセージ閉じた 質問や発言、書面や音声を問わず、ボットとのインタラクションにおいてコンタクトが発言するすべての内容。に応答する方法をボットに教えることができます。 ストーリーを始めから作成するか、実際の会話をストーリーに変換することもできます。 ルールは、その意味がコンテクストに依存しないメッセージへの応答方法をボットに教えます。

1つのインテントに複数のダイアログが必要となる場合もあります。 これは、インテントのわずかな違いに応じてボットに異なる反応をさせたい場合に便利です。 たとえば、ボットが口座残高をチェックできる場合、コンタクトがチェックしたい口座の種類によって、ボットに異なる反応をさせることが可能です。

ストーリーとルールには、場合によっては定期的な更新と改訂が必要です。 たとえば、会話データを見直した結果、ストーリーのうちの1つがボットの混乱を引き起こし、間違ったインテントを予測していることがわかった場合には、そのストーリーを変更することで問題に対処できます。 場合によっては、ストーリーだけでなくインテントも変える必要があるかもしれません。

トレーニングデータのベストプラクティス

トレーニングデータの収集とボットのトレーニングのアプローチを計画する際には、以下のベストプラクティスを念頭に置いてください。

  • 常に量より質を選ぶ。 小規模なデータセットから始めて、時間をかけてより質の高い事例を集めながら構築していくのが好ましいです。
  • 実際の会話の例を使います。 これにより、使用するデータが現実的なものとなります。 それは、現実のコンタクトが話した内容から来ています。
  • データを自動生成し、ボット閉じた ライブの人間のエージェントの代わりに顧客とのやり取りを処理するソフトウェアアプリケーション。をより速くトレーニングすると要求るツールを使用しないでください。 彼らはしばしばコンタクトが実際に言っていることを反映していない例を生み出します。 また、ボットが一般化する能力を失う可能性もあります。 時間の経過とともに、ボットは以前に見たフレーズのみを認識するようになります。
  • 同じトレーニングデータを複数のインテントに使用しないでください。 トレーニングデータを再利用した場合、ボットはコンタクトとのライブインタラクションで確実にインテントを判断することができません。
  • 柔軟性を保ち、進んで経時的にインテントやストーリーを調整します。 会話データを見直すと、2つの別々のインテントだと思っていたものが、実は同じ、より一般的なインテントの色合いであったことがわかるかもしれません。 あるいは、インテントが広すぎることに気づくかもしれないか、より明確なインテントに分解する必要があります。
  • 新規トレーニング例を追加するのは、それが役に立つ場合に限ります。
    • 既存の例と非常によく似た新規トレーニング例を追加しないでください。 ボットがある発話に対して高い信頼性でインテントを正しく予測した場合、ボットが類似の例を追加することは役に立ちません。
    • ボットが以前に間違って予測した、または信頼度が低い発話のトレーニング例をぜひ追加してください。

ボットの応答を作成してボットをトレーニングする

ボットの応答を以下のプロセスで設定します:

  1. インテントを作成する
  2. 作成したインテント閉じた コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。ルールまたはストーリーを作成して、ボットがそのインテントにどう応答するかを定義する。 このどちらを作成するかはインテントに依存します。 ボットの実装プロセスの初期に作成した計画を参照してください。 ストーリー閉じた 意図と文脈に基づくインタラクション処理のためにボットをトレーニングする目的で使用されますルール閉じた 文脈に応じて変化しないメッセージに対するボットの応答を定義するために使用されます。を作成するハイレベルなプロセスは以下のとおりです:
    1. ストーリーとルールは、まずコンタクトが言いそうなことから始めます。 たとえば、check_balanceというインテントの場合、コンタクトは「口座の残高を知りたい」と言うかもしれません。

    2. コンタクトの発言例を入力すると、Bot Builderはコンタクトのメッセージ例のインテントを予測しようとします。
    3. ボットの予測を確認するか、正しいインテントを選択し、それを確認します。 ボットの予測信頼度が低いと思われる場合、インテントにトレーニング例をさらに追加します。
    4. これで、利用可能なボットアクションのいずれかを使用して、ボットの応答を追加できます。

    5. このインテントの実際の会話例で、コンタクトが(エージェントまたはボットからの)応答に対して同じタイプの質問や発言を返す傾向があることが示されている場合、コンタクトの発話をもう1つ追加します。
    6. 集めた実例に従って、ストーリーやルールでの会話を続けます。 インテントに関する会話がのように進むべきかをボットに教えるために、必要なだけインタラクションを追加します。

      通常、のルールは、1つのコンタクトメッセージと1つのボット応答で構成されます。 ストーリーは、ボットとコンタクトの間の一連のやり取りで構成することができます。 しかし、完全な会話をストーリーとして使用することはできません。 会話中の次の発言が必然的に新しいインテントを始めることになる場合、そこで停止して新しいストーリーを作成します。 あるいは、ストーリーをさらに小さなサブストーリーに分割することを検討します。

    7. コンタクトのユニークな状況やニーズに応じて、会話の進め方にバリエーションがある場合は、同じインテントに対して複数のストーリーを作成します。 これにより、1つのインテントのバリエーション間の違いをボットが見分けられるようにトレーニングします。

      • 同じストーリーの中に会話フローのバリエーションを含めないでください。 これは、ボットを混乱させる可能性があります。

      • コンタクトのメッセージの言い回しにバリエーションがある場合や、本質的に同じことを意味する類似したメッセージがある場合には、それらをインテントの例として追加することができます。

      • ハッピーパスとアンハッピーパスという観点から考えてみましょう。 それぞれのインテントには、ハッピーなパスとアンハッピーなパスがあります。

  3. インテント、ルール、ストーリーに必要な場合は、エンティティスロット、またはフォームを作成します。
    • エンティティは、ボットが会話から抽出する必要のある情報用にのみ作成します。

    • スロットは、会話中に保存または使用する必要があるデータ用に作成します。
    • フォームは、コンタクトからいくつもの情報を収集する必要がある場合にストーリーやルールの中で使用することを検討します。
  4. 変更が完了したら、トレーニングとステージをクリックしてボットモデル閉じた トレーニングされ、ステージングされたボットのバージョンを更新してこの変更をテストします。

  5. ボットとチャットしてテストします。 ボットとの会話結果に基づいて、必要であれば作成したストーリーやルールを調整します。 必要に応じて、作業しているインテントのトレーニングデータを追加や変更します。 ボットのパフォーマンスに満足できるまで、トレーニングとテストのステップを何度でも繰り返します。