前回の記事では、ピザ注文アクションをそのまま使用して音声ボットを構築しました。
今回は、音声ボット構成時の
- 考慮点
- カスタマイズ
についてお話ししたいと思います。
考慮点
考慮点については、音声のためのダイアログの最適化に整理されていますので、順番に見ていきます。
ダイアログのテキスト応答に HTML 要素を含めないでください。 書式設定を追加するには、Markdown を使用します。
チャットボットの場合は、人間が目で確認したり読んだりするため、HTML 要素を使って、回答内容を装飾するケースがありますが、音声ボットの方は音声による読み上げとなるため、誤って HTML 要素自体を読み上げないよう、HTML 要素を含めてはいけないと記載されています。
基本的には、単純なテキスト応答を推奨しています。
ただし、書式設定を追加するには、Markdown を使用しますともありますので、Markdown での応答にできれば、音声ボット、チャットボットの両方に使える対話フローの作成が可能になりそうです。
「休止」応答タイプはサポートされていません。
「休止」応答タイプとは、チャットボットからの返答をすぐに表示するのではなく、人間からの応答のようにタイピング時間をイメージさせるウェイト時間を設定できる機能です。
チャットボットを前提に用意されている応答タイプなので、当然ながらサポートされないとあります。
ただし、電話でも一呼吸入れる、という話し方があるので、音声ボット用に、turn_settings.timeout_count
変数が用意されています。
ダイアログ・ノードに検索スキルの応答タイプを含めて、電話統合で読み上げることができます。 前置きのメッセージ (ナレッジ・ベースを検索しました など) の後、1 つ目の検索結果の本文だけが読み上げられます。
検索エンジンとの連携がサポートされるとあります。検索エンジンからの結果であることがわかるように、前置きメッセージを加えられるというのは気が利いていますね。
前置きメッセージを含めて 5,000 文字以内という制限事項がありますが、電話でのやり取りなので、5,000 文字に入っていれば良い、ということではなく、簡潔な内容になるような調整が必要になると思います。
多くの場合は、Answer Finding 機能を有効化してあると思いますので、長文とはならず、1 or 2 センテンス程度になると思います。
「ヒューマン・エージェントに接続」応答タイプを使用して、ヒューマン・エージェントへの転送を開始します。
オペレータから別にオペレータに電話が転送された体験をお持ちの方もいらっしゃると思います。
音声ボットにおいても、音声ボットが回答できない場合、人間のオペレータに転送する機能がサポートされています。
「チャネル転送」応答タイプを使用して、Web Chat 統合への転送を開始します。
上のケースに似ていますが、音声ボットが回答できない場合、人間ではなく、Web Chat に転送する機能がサポートされている、とあります。Web Chat への URL を SMS メッセージを使って送信する方法とのことです。
それまでの会話内容が一緒に Web Chat 側にも送信されるようですが、具体的な動作イメージについては、またの機会に確認し、 Qiita の記事としてご紹介したいと思います。
カスタマイズ
音声ボット側から電話を切る設定
音声ボットと電話で対話している時に気がついがのですが、音声ボットは、こちらから電話を切らない限り、通話を終了することはありません。
場合によっては、音声ボット側から電話を明示的に切りたいユース・ケースがあると思います。
そこで、カスタマイズの一例として、音声ボット側から電話を切る設定をご紹介します。
方法は、オンライン・マニュアルのコールの終了が該当します。
ただ、これだけでは、どのように設定すれば良いのかわかりにくいと思いますので、具体的な設定方法をご紹介します。
電話を切りたいステップをクリックします。
ここでは、ピザの注文アクションの注文受付完了であるステップ 5 を選択します。
応答文をの右上の </> をクリックします。
ピザの注文アクション とは、こちらの記事で作成したアクションになります。
{
"response_type": "end_session"
}
generic[]配列 内に 電話を切る スニペットを追加します。
(こんなイメージです)
設定は以上です。
この設定により、『ご注文を承りました』 を話した後、自動的に電話が切断されます。
このほかにも、電話対話の処理には、
- Speech to Text サービスへの詳細設定の適用
- Text to Speech サービスへの詳細設定の適用
- 人間の担当者に通話を転送する
- 保留音または音声録音を再生する
- キーパッド入力を使用可能にする
- 会話を Web チャット統合に転送する
- 電話会話中にテキスト・メッセージを送信する
のカスタマイズ方法が書かれていますので、興味のある方は、試してみてください。
(参考) Voice Agent with Watson からのマイグレーション
Watson Assistant で電話統合機能が提供される前は、Voice Agenet with Watson と呼ばれるサービスが提供されていました。
既に新規でのサービス受付は終了しております。
このサービスをご利用のユーザーはマイグレーション・ガイドを参照し、早期にマイグレーションのご検討をお願いします。
いかがでしたでしょうか
チャットボット用に作成した対話フローをそのまま使用することは可能ですが、音声ならではの考慮点とカスタマイズ方法をご紹介しました。
参考情報
参照したリファレンス
Classic Watson Assistant: 電話対話の処理
New Watson Assistant: Voice Agent with Watson からのマイグレーション
関連する Qiita Advent Calendar 2022 の記事