2023年5月1日を持ちまして、株式会社KDDIウェブコミュニケーションズのTwilioリセール事業が終了したため、本記事に記載されている内容は正確ではないことを予めご了承ください。
はじめに
本資料は、2018/8/29に開催された「水曜ワトソンカフェ Vol.12」で発表したときの資料となります。
記述されている情報は、2018/8/27現在のものです。
Voice Agent with Watsonは、Watsonサービスを電話網と直接接続することで、コールセンターやコンタクトセンターの運用をサポートすることができるサービスです。
Voice Agent with Watsonは、以下のコンポーネントの組み合わせにより実現されます。
- Watson Assistant
- Speech to Text
- Text to Speech
スペースの準備
Voice Agent with Watsonは、現在米国南部、米国東部でのみ利用可能なため、これらの地域のスペースを持っていない場合は、以下の手順に従って米国南部、もしくは東部のスペースを作成しておきます。
-
IBM Cloudコンソールにログインします。ダッシュボード画面が開きます。
-
管理メニューからアカウントの中のCloud Foundryの組織を選択します。
-
スペースを追加したい組織を選択します。
-
作成ボタンを押します。
Speech to Textリソースの作成
Speech to Textは、音声認識エンジンです。2018年8月現在、対応している言語は、英語 (US)、英語 (UK)、日本語、アラビア語 (MSA、ブロードバンド・モデルのみ)、北京語、ポルトガル語 (ブラジル)、スペイン語、フランス語 (ブロードバンド・モデルのみ)、韓国語となります。
1ヶ月100分までの利用が可能なLiteプランに対応しています。
-
IBM Cloudダッシュボードから、リソースの作成ボタンを押します。
-
検索ボックスで、「Speech」と入力すると、Speech To Textリソースが表示されるので、そちらを選択します。
-
サービス名にわかりやすい名前を付けます。
-
デプロイする地域/ロケーションの選択から、米国南部もしくは米国東部のいずれかを選択します。
-
組織の選択と、スペースの選択は、該当する地域にスペースを持っていれば自動的に選択されます。複数のスペースを持っている場合は、作成したスペースを選択してください。
-
作成ボタンを押します。
Text to Speechリソースの作成
Text to Speechは、テキストと自然言語を処理し、適切な抑揚を付けて合成した音声出力を生成します。2018年8月現在、対応している言語は、英語 (US)、英語 (UK)、日本語、ポルトガル語 (ブラジル)、スペイン語(カスティリャ語)、スペイン語(北米)、フランス語、イタリア語、ドイツ語となります。なお、日本語については、女性の声のみを提供しています。
1ヶ月10,000文字までの利用が可能なLiteプランに対応しています。
- IBM Cloudダッシュボードから、リソースの作成ボタンを押します。
- 検索ボックスで、「Text to Speech」と入力すると、Text to Speechリソースが表示されるので、そちらを選択します。
- サービス名にわかりやすい名前を付けます。
- デプロイする地域/ロケーションの選択から、Speech to Textで選択した地域を選択します。
- 組織の選択と、スペースの選択は、自動的に選択されます。複数のスペースを持っている場合は、Speech to Textで選択したスペースを選んでください。
- 作成ボタンを押します。
Watson Assistantリソースの作成とサンプル会話のインポート
Watson Assistantは、アプリケーションに自然言語インターフェースを追加してエンドユーザーとのやり取りを自動化します。 ワークスペース内に、インテントやエンティティを作成していくことで、チャットボットや会話ボットのエンジンを作成することができます。また、Watson Assistant サービスは、簡単な Web アプリケーションを使ってトレーニングできます。
1ヶ月10,000件までのAPI呼び出しが可能なLiteプランに対応しています。
今回は、Watson Assistantの詳細については触れませんので、テストに利用するサンプルの会話データはダウンロードしておきます。
ここを右クリックして、リンク先を別名で保存します。ファイルの拡張子は、jsonにしてください。
-
IBM Cloudダッシュボードから、リソースの作成ボタンを押します。
-
検索ボックスで、「Assistant」と入力すると、Watson Assistantリソースが表示されるので、そちらを選択します。
-
サービス名にわかりやすい名前を付けます。
-
デプロイする地域/ロケーションの選択から、Speech to Textで選択した地域を選択します。
-
組織の選択と、スペースの選択は、自動的に選択されます。複数のスペースを持っている場合は、Speech to Textで選択したスペースを選んでください。
-
作成ボタンを押します。
続いて、Watson Assistantをテストするためのサンプル会話データをインポートします。
-
ツールの起動ボタンを押します。Watson Assistantツールが起動します。
-
アップロードアイコン(上の図の赤い囲み部分)を押します。
-
Importの選択は「Everything」のまま、Importボタンを押します。
では、読み込んだデータを使って正しく会話ができるかを確認してみましょう。
- 画面右上にあるTry itボタンを押します。
- テストウィンドウが開き、初期メッセージが表示されるので、たとえば「どのようなユースケースがありますか?」と応答してみます。
- 以下のように該当する回答が正しく戻ってくれば成功です。
Watson Voice Agentのインストール
さて、ここまでで準備が整いましたので、いよいよWatson Voice Agentをインストールしてみましょう。
Watson Voice Agentは、1ヶ月100分間まで利用できるLiteプランに対応しています。
-
IBM Cloudダッシュボードページから、リソースの作成ボタンを押します。
-
検索ボックスで、「Voice Agent」と入力すると、Voice Agent with Watsonリソースが表示されるので、そちらを選択します。
-
サービス名にわかりやすい名前を付けます。
-
デプロイする地域/ロケーションの選択から、Speech to Textで選択した地域を選択します。
-
作成ボタンを押します。
-
音声エージェントのエンドポイントが表示されるので、SIPから始まる文字列をメモ帳にコピーしておきます。この文字列はインストールした地域毎に異なります。
Twilio側の準備
SIPエンドポイントが確定したので、ここではTwilioのElastic SIP Trunkingを作成していきます。
Twilioのアカウントをお持ちでない方は、こちらの動画を見てアカウントを作成してください。
すでにアカウントをお持ちの方は、こちらからログインをします。
電話番号の購入
まずは、Watson Voice Agentで利用する電話番号(今回は050番号)を用意していきます。すでに電話番号をお持ちの方は、この後の作業はスキップして構いません。
なお、050番号の利用料は、108円/月です。
- 管理コンソールの右側に表示されているスライドメニューを開き、Phone Numbersを選択します。
- さらにサブメニューから番号を購入を選択します。
- COUNTRYのプルダウンから「Japan (+81)」を選択して、検索ボタンを押します。
- TYPEがローカルとなっている番号のいずれかを選択し、購入ボタンを押します。
- **この番号を購入しますか?**というダイアログが表示されるので、この番号を購入するボタンを押します。
- 番号が購入できたら、閉じるボタンを押して、ダイアログを閉じます。
購入した電話番号は、後ほど利用しますのでメモ帳に控えておいてください。
Twilio Elastic SIP Trunkingの作成
続いて、Elastic SIP Trunkingの設定を行います。Elastic SIP Trunkingとは、Twilioが世界中に張り巡らせている通信ネットワークに利用して、世界180カ国以上の国に対して電話の受発信をおこなうためのものです。
今回はTwilioから購入した050番号に対して、Elastic SIP Trunking経由で電話の着信を受けます。このときのTwilioの料金は、1分0.5円となります。
-
管理コンソールの左側のスライドメニューを開き、Elastic SIP Trunkingを選択します。
-
**新しいSIPトランクを作成します。**という赤いボタンを押します。
-
作成されたトランクメニューからオリジネーションを選択します。
-
Add new Origination URLボタンを押します。
-
オリジネーションSIP URI欄に、先程メモ帳に控えておいたWatson Voice AgentのSIPエンドポイントのURIを記入します。
-
追加ボタンを押します。
-
次に、トランクメニューの電話番号を選択します。
-
Add an Existing Numberボタンを押します。
-
先程購入した電話番号の右側にあるチェックを入れて、Add Selectedボタンを押します。
-
次に、トランクメニューの一般を選択します。
-
Call Transfer(SIP REFFER)のCALL TRANSFERを「有効」にし、さらに**Allow Call Transfers to the PSTN via your Trunk.**のチェックボックスをオンにします。
-
保存ボタンを押して、Twilio側の設定は終了です。
音声エージェントの設定
では最後の仕上げに、Watson Voice Agentの設定を行います。
ここでは、すでにTwilioで購入した電話番号が必要になります。
- Voice Agentの管理画面の左にある管理メニューを選びます。
- 音声エージェントの作成ボタンを押します。
- 名前には、適当な名前を指定します。
- 電話番号には、先程購入したTwilioの050番号を+81から指定します。
- Watson Assistantや、Speech to Text、Text to Speechの項目については、すでに作成してあるそれぞれのサービスが表示されるはずですので、特に選択する必要はありません。
- すべての項目を確認したら、右上の音声エージェントの作成ボタンを押します。
テストしてみる
以上で設定はすべて完了です。
サンプルの会話データがすでに動くはずですので、先程購入したTwilioの番号に電話をかけて、実際に対話のテストをしてみましょう。
補足
会話ボットのやり取りの中で、有人オペレーターにスイッチしたいケースも少なくありません。
その時の設定は、以下の記事を御覧ください。