IBM Watson Blog

Watson Assistant for Voice Interactionソリューションについて理解する

記事をシェアする:

2019年8月、IBMはWatson Assistant for Voice Interaction (WAVI) (英語) という新しいオファリングをリリースしました。これは、発呼者の音声やSMSによる入力をサポートする、Watsonサービスのバンドル・セットとして位置付けられるもので、旧式の対話式音声応答(IVR)ソリューションを、チャットボットによる会話形式の対話が特徴のソリューションに変えることができます。フィーチャーセットの概要についてはこちら(英語)を参照してください。

個人的なIVRの使用経験からすれば、この新しいテクノロジーは大歓迎です。サービスに問題があってカスタマー・コール・センターに電話しても、選択肢の数字を入力するよう延々と続く長いメニューが読み上げられるだけ、という経験が何度もあったことを思い出します。これには、いつもがっかりし、イライラさせられました。人間のオペレーターにつながるまでに、電話した理由すら聞かれることなく、時間を費やしていました。

WAVIの導入により、これががらっと変わります。このソリューションに電話したユーザーは、まるで人間のような声に迎えられ、要件を尋ねられます。ユーザーの発話は入力と見なされ、最適な回答を得るための解釈がなされます。最終的には、電話した理由である問題に対処するための解決策にたどり着くことができ、はるかに良質なエクスペリエンスが得られます。

私の同僚がこの新しいソリューションと各種コンポーネントについて非常に的確に説明しているので、彼のこちらのブログ(英語)を参照して、予備知識としてください。私のこの記事では、テクノロジーについて、また、各サービスがどのように連携するかについて掘り下げます。

Diagram illustrating the Watson Assistant for Voice Interaction solution

 

以下に、WAVI ソリューションを構成する各コンポーネントの概略を示します。

Watson Voice Gateway (VG)(英語)– 着信した音声通話およびSMSメッセージを入力として受け取り、発呼者と以下のオファリングの間の会話を仲介します。

  1. Watson Speech to Text (STT)– このオファリングは、音声を受け取り、テキストを返します。
  2. Watson Assistant (WA)– 変換されたテキストを受け取り、チャットボット要求として処理します。適切な応答が生成されて、Watson Voice Gatewayオファリング / Service Orchestration Engine(SOE)に返されます。
  3. Watson Text to Speech (TTS)– このオファリングは、テキスト文字列を受け取り、変換されたオーディオ・ストリームを返します。
  4. Service Orchestration Engine (SOE) オプション – Voice GatewayとWatson Assistant間のカスタマイズされたコード。これは一般に、会話データにビジネス固有の要件を適用するために、サード・パーティーのサービスおよび内部/バックエンドAPIとのインターフェースをとるものとして機能します(翻訳、日付/時刻のフォーマット設定、機密データのマスキングなど)。

 

はじめに

初期セットアップとして、Watson Voice Gatewayオファリング内でVoice Agentをセットアップする際にサービス群がバインドされます。定型の手順に従って、各サービスを構成します。詳しい手順をこちらのわかりやすい動画でご覧になって、稼働させてください。Watsonサービス群のバインドに際しては、既存のサービスを選択する便利な方法と、ご自分で構成を作成する方法があります。

初期セットアップが完了すると、ソリューションが音声入力を受け取って応答を処理できる状態になります。この状態にたどり着くまでにどこかで失敗するとどうなるでしょうか?発着信セッションのトランザクション・ジャーニーをたどっていくには、どうすればよいのでしょうか?

Attempted SMS dialogue with Watson Assistant — Something didn’t work!

 

IVRをWAVIソリューションに置き換え始めたお客様との関わりで最近得た経験に基づいた、変革のお役に立つ、いくつかのプラクティスやユーティリティーがあります。

 

Voice Gateway使用状況ダッシュボードの探索

Voice Gatewayオファリングのダッシュボードで、左側のバーにある「Usage(使用状況)」メニュー項目を見つけます。このダッシュボードには、各セッションの開始と終了の詳細が示されます。失敗したセッションについては、追加の詳細情報が示されるので、エラーや警告ごとに掘り下げて調べることができます。

Watson Voice Gateway Usage Dashboard

 

Watson Voice Gateway Usage Dashboard — Deeper analysis on failed sessions

 

Watson Voice Gateway Call Log Details — sessionID referenced

 

キー・エレメント:

sessionID – 各会話セッションに対して、このIDが生成されます。問題の原因が「Usage(使用状況)」ログでは明らかにならない場合、詳細な追跡のための相互参照に、このIDを利用できます。

イベント転送

ログ・ビューアー・ダッシュボードに加え、Voice Gatewayは、発着信のタイムラインとセッション内で実施されたアクティビティーを記録したイベントを生成します。これらのイベントは、CloudantなどのNoSQLデータベースに保管できます。

 

セットアップ

セットアップには、「Edit Agent(エージェントの編集)」 サブメニューの「Manage(管理)」セクション経由でアクセスします。

Watson Voice Gateway — Managing the Voice Agents

 

Voice Agent構成内に、イベント転送を有効化するためのセクション(Enable Event Forwarding)があります。ターゲットとなるNoSQLデータベースの詳細と資格情報を特定し、保管するイベントのタイプと、ターゲット・データベースの宛先を確認します。

ヒント: IBM Cloudでは、構成画面からプロビジョンできるCloudantオファリングが提供されています。このサービスを使用することで、WAVIソリューションを1つの場所に収めることができます。

Watson Voice Gateway / Voice Agent edit — Configuring Event Forwarding

 

セットアップが成功すると、データベースに取り込まれる文書として記録されたイベントが表示されます。

注: 記録されたイベントに、セットアップ前の過去の会話セッションが取り込まれることはありません。イベント転送が有効化された後のイベントのみが保管されます。

Cloudant Database Dashboard — Event Forwarding in action!

 

イベント・タイプ

Voice Gatewayオファリングによって公開されるイベントの3つのカテゴリーについて、以下に詳述します。

  • 発着信詳細記録(CDR)
  • トランスクリプション
  • ターン

注: ここでは、セッションの追跡とトラブルシューティングに役立つ可能性のある、ほんのいくつかのキー・エレメントについて簡単に触れます。報告されるすべてのメタデータについて詳しくは、Voice Gateway資料の「イベントの報告(Recoding event)のセクションを参照してください。

1. 発着信詳細記録(CDR)イベント

発着信セッションに関する特定の詳細情報を提供します。次の情報が含まれます。

  • 発着信セッションの開始/終了時刻
  • お客様の電話番号
  • 利用されたサービス
  • Watson Speech to Text/Text to Speechによる変換の詳細
  • Watson Assistantによる対話

キー・エレメント:

  • globalSessionID Voice Gatewayの「Usage(使用状況)」ログにあるSessionIDを使用して、このIDを相互参照できます。
  • workspaceID — 発着信セッション中にユーザーの発話への応答に使用されたWatson Assistantのスキル/ワークスペースを識別します。
  • allIntents — 記録されたセッション中にWatson Assistantから応答されたすべてのインテントをリストします。

次の図は、1つのCDRイベントから2箇所抜粋したものです。ハイライトされたキー・エレメントに注目してください。この記事の後続の図で、これらのキー・エレメントとの相関を見ることができます。

Watson Voice Gateway Event Forwarding — Excerpts from a single CDR event

 

globalSessionIDworkspaceIDを参照することで、Watson Assistant内での開始ポイントと宛先ポイントをたどれます。Watson Assistantからユーザーに対するすべての応答も、同様に、このイベント内で識別できます(allIntents)。

2. トランスクリプション・イベント

ユーザーのあらゆる発話、およびWatson Assistantのあらゆる応答について、詳細を公開します。

注: 公開されるイベントは、それぞれが、発呼者による発話またはWatson Assistantによって生成された応答のいずれかを詳述する1つのトランザクションです。

キー・エレメント:

  • globalSessionID — Voice Gatewayの「Usage(使用状況)」ログにあるSessionIDを使用して、このIDを相互参照できます。
  • sourceType destinationType — これらのエレメントを参照することで、そのイベントで記録されたのがユーザーの発話であるか、Watson Assistantの応答であるかを判別できます。sourceTypeの値が「conversationID」である場合は、そのイベントがWatson Assistantの応答であることを示しています。値が「sipURI」である場合は、ユーザーの発話です。
  • source & destination — このイベントは、sourceType エレメントとdestinationType エレメントに関連する追加の詳細を提供します。<source/destination>Type エレメントの値が「conversationID」である場合、このエレメントはconversationID の値になります。または、<source/destination>Type が「sipURI」である場合、このエレメントには着信した発呼者ユーザーIDの値が設定されます。
  • transcription — ユーザーの発話またはWatson Assistantの応答によって発行されたストリング・テキスト
  • conversationID — このIDによって、ある1つのセッションのトランスクリプション・イベント群がつながります。
  • workspaceID — このIDによって、ある1つのセッションのトランスクリプション・イベント群がつながります。

次の例では、1人の発呼者の発話があり、その後にWatson Assistantからの応答が続いています。

このシーンの背後で起きていることを示すのが、以下のトランスクリプション・イベント群です。

Excerpt from Watson Voice Gateway Transcription — Caller utterance to Watson Assistant

 

Event #1は、Source/SourceType で表された発呼者の発話です。Destination/DestinationType で示された発呼者の電話番号から開始され、Watson Assistant (ConversationID で識別される)を宛先としています。

Excerpt from Watson Voice Gateway Transcription — Watson Assistant Intent response

同様に、Event #2は Watson Assistant (ConversationID) から発信された発呼者への応答です。

workspaceIDglobalSessionID も表されているため、CDRイベントとの相関が可能です。

 

3. ターン・イベント

ターン・イベントは、ユーザーの発話とWatson Assistantの応答の完全なトランザクションの詳細を提供します。

次のイベント例を見ると、ユーザーがVoice Gatewayに関する情報を要求しており(Inputセクション)、Watson Assistantがそれに対する応答を返信しています(Outputセクション)。 conversationID も含まれているので追跡可能です。

Watson Voice Gateway Event Forwarding — Turn event

 

Watson Assistantのログの調査

それではここで、会話セッションがWatson Assistantに入ってきたときに何が起こっているのか見てみましょう。Watson Assistantによって記録されたログ情報は、サービスのライフ全体にわたるすべてのトランザクション(発呼者の発話とWAの応答)を完全に表しています。

ワークスペースでログ・イベントをリストするためのREST API(英語)を使用してログを検討するのが、最もよい方法です。

適切な入力パラメーター(apikey、workspace_idAPI version)を指定すると、結果がJSON形式で返されます。

Watson Assistant List Workspaces API

 

このようにAPIを呼び出すと、ログ履歴全体が返されます。Voice Gateway/Watson Assistantが一定時間稼働していると、このログは膨大になります。便利なフィルター機能があるため、返された結果を処理しやすいレベルまで絞り込むことができます。

Watson Assistant List Workspaces API filtering on conversationID

 

Watson Voice Agent Insights ダッシュボード — ベータ版

セッションをたどるには上記の方法でも十分ですが、Voice Insights (英語)というベータ版ユーティリティーがあります。これは、収集されたすべてのイベントをマイニングして、統合された会話セッションのリストとして表示する、ブラウザー・ベースの優れたインターフェースを提供します。各セッションの分析が簡素化されるため、これを探索することで、前述のすべてのエレメントとそれぞれの相互関係を明らかにすることができます。加えて、REST APIも公開され、カスタマイズしたソリューションへの統合が可能になっています。

現在はベータ版のユーティリティーですが、試用する価値は十分あります。この1年間で引き続き改良を重ねていく予定です。手順と、Dockerイメージへのリンクは、こちら(英語)で参照できます。

Voice Agent Insights Dashboard — Consolidated view of your WAVI call sessions

多くのお客様が、既にこのような手法を自社のサポートや運用の手段に取り入れておられます。皆様のビジネスにおいても同様にWAVIがお役に立つことをご理解いただけると幸いです。

 


関連Webページのご案内
IBM Voice Gateway Knowledge Center(日本語)
IBM Voice Agent with Watson(日本語)

 

原文:Understanding the Watson Assistant for Voice Interaction Solution (https://medium.com/ibm-watson/understanding-the-watson-assistant-for-voice-interaction-solution-b08eff69f46e)

More IBM Watson Blog stories

キー・パートナーに訊く | 西尾新司(エヌアイシー・ソフト株式会社)

IBM Cloud Blog, IBM Partner Ecosystem

「力になりたいとずっと思っていた」——そう話すのは、IBM Champion*の称号を2020年からお持ちの、エヌアイシー・ソフト株式会社所属の西尾 新司さん。今回の「キー・パートナーに訊く」は元IBM Champion ...続きを読む


700社が効果を実感!コンテンツマネジメントシステム(CMS)を用いたWebサイト運用における課題への最適なアプローチ

IBM Cloud Blog, IBM Partner Ecosystem, デジタル変革(DX)

近年、PC、スマートフォン、タブレット、スマートウォッチなど、デバイスの多様化により、それぞれのデバイスに適した形で情報を配信することや、ユーザー毎に最適な情報を出し分けた配信というものが求められ、Webサイトの管理や更 ...続きを読む


IBM Cloud for VMware Solutionsの名称とライセンスに関する変更について

IBM Cloud Blog, IBM Cloud アップデート情報

変更の概要 Broadcom社から、VMware製品のCloud Service Provider向けのパートナーシップとライセンスに関する変更が発表されました。(詳細は下記等、Broadcom社の発表内容をご参照くださ ...続きを読む