2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

2022-12-25-16-24-57

Watson Assistant は、自然言語を理解する AI チャットボットが作成できるプラットフォームです。
単なる FAQ の受け答えだけでなく、ユーザーからの質問に対して更問いを行うスロット・フィリング機能を持っています。
この便利なスロット・フィリング機能をチャット・ボットだけではなく、電話での受付業務にも適用できれば業務の効率化に貢献できそうなのですが、Watson Assistant は電話を直接受けることができません。

そこで、電話を直接受けることができる TwilioWatson Assistant を連携させることで音声ボットを作成し、電話の受付業務の効率化にチャレンジしてみたいと思います。幸いにも Watson Assistant は標準で電話統合機能という電話プロバイダーとの連携機能を持っており、Twilio をサポートしています。

この組み合わせなら音声ボットの構築ができそうなので、実際にノーコードで実現できるのかどうか、具体的にみていきたいと思います。

構築ステップ

3 つのステップで構築作業を進めます。

  1. Twilio にて、電話番号の払い出しと SIP Trunk を作成する
  2. Watson Assistant にて、電話統合機能を構成して Twilio と連携する
  3. Watson Assistant にて、電話での会話を制御する対話フローを作成する

それでは順番に見ていきます。

1. Twilio にて、電話番号の払い出しと SIP Trunk を作成する

まず最初に、Twilio へのサインアップを行います。
方法は Advent Calendar の注意事項にも記載がある Twilioアカウント(無料)の作成方法を参照して実施してください。

ポイントは 2 点あります。

  • 払い出された電話番号をメモしておく
  • Watson Assistant 側の SIP アドレスを Elastic SIP Trunks で構成する

になります。

払い出された電話番号をメモしておく

電話番号の確認方法を念の為、記載しておきますね。
Active Numbersをクリックしてください。
2022-12-25-19-46-41

Watson Assistant 側の SIP アドレスを Elastic SIP Trunks で構成する

ここの手順は、*2. Watson Assistant にて、電話統合機能を構成して Twilio と接続するのところで実施します。

2. Watson Assistant にて、電話統合機能を構成して Twilio と連携する

Watson Assistant インスタンスの作成

Watson Assistant インスタンスは IBM Cloud にて作成する必要があります。
IBM Cloud アカウントの作成と、Watson Assistant インスタンスの作成手順は、こちらに詳しく記載しておりますので、お時間がありましたらご参照をお願いします。

電話統合機能の構成

Watson Assistant の HOME 画面から、Integrations をクリックします。
image.png
Phone の Add をクリックします。
image.png
続けて Add をクリックします。
image.png
Twilioの構成は、上から 3 つ目です。
2022-12-25-18-21-37
Watson Assitant 側の SIP アドレスが表示されるので、コピーしておいてください。
2022-12-25-18-26-32

この SIP アドレスを Twilio 側に設定してあげます。

(ここからは Twilio 側での作業です)
上部の検索バーに sip trunk と入力すると Elastic SIP Trunks と表示されますので、それをクリックします。
2022-12-25-18-29-03

Create new SIP Trunk をクリックし、SIP Trunk を作成します。トランク名は任意です。
2022-12-25-18-43-55
Origination をクリックし、Origination URIs をセットします。
2022-12-25-18-54-03
Watson Assistant 側の SIP アドレスをペーストします。
2022-12-25-18-55-53
Numbers をクリックし、Twilio で払い出された電話番号をアサインします。
2022-12-25-18-57-09
2022-12-25-18-58-54
このような画面が表示されれば成功です。
2022-12-25-19-00-01

(ここから Watson Assistant 側に戻ります)
2022-12-25-19-01-34
Twilio で払い出された電話番号を入力します。
2022-12-25-19-03-06
日本語モデルが選ばれていることを確認します。
2022-12-25-19-05-00
日本語モデルが選ばれていることを確認します。
2022-12-25-19-06-32
Twilio で払い出された電話番号が表示されていることを確認します。
2022-12-25-19-07-49

以上です。

3. Watson Assistant にて、電話での会話を制御する対話フローを作成する

対話フローの作成手順は、直感的に操作できる Actions で対話フローを作成してみるで詳細に解説していますので、時間がありましたらご参照願います。

ここでは、Watson Assistant で作成した対話フローをご紹介します。
『ピザの注文』と『注文のキャンセル』、『割引条件』について答えられるように構成してあります。
2022-12-25-19-25-25

作成した対話フローをエクスポートし、Githubにアップロードしましたので、必要に応じてダウンロードください。

試してみる

それでは早速試してみます。
青枠が Watson からの応答です。
オレンジ枠が 私が話した内容です。
私の発話が正しく認識されていることがわかります。

(Watson Assistant の Analytics 画面の会話内容の表示機能からの抜粋です)
image.png
この図だけではわからないのですが、選択肢は 「イチ、マルゲリータ. ニ、シーフード. サン、ペパロニ」 というように特別に手を加えなくても選択肢を音声用に自動変換してくれています。

選択肢をプッシュボタンで選ぶ(『シーフード』の場合は 2 をプッシュする)ことも可能でした。
Twilio と Watson Assistant の組み合わせの便利な面が見れました。

注文が終わった際、Watson Assistant 側から電話を切る命令 (end_session) を発行してみたところ、ちゃんと動作し電話を切ることができました。これも嬉しいテスト結果でした。
2022-12-25-19-57-03

いかがでしたでしょうか

一問一答のような単純な FAQ 音声ボットではなく、更問いをしながらピザの注文を受け付ける音声ボットノーコードで作ることができました :relaxed:
Twilio と Watson Assistant がタッグを組むことで、音声での受付業務をボット化する可能性が見えてきました。

参考情報

Twilioアカウントの作成方法

電話および Twilio Flex との統合

その他

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?