音声ボットにチャレンジ Part 1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/ada0baed-60eb-0b4b-809a-6c5bcc7078da.png)

New Watson Assistant を使えば、ボット化できるのはチャット・ボットだけではありません。電話だってボット化可能です。
ということで、今回は音声ボットを **No Code** で試してみます。

# 電話チャネルの追加

チャットボットの場合は、[Web Chat](https://qiita.com/yanagih/items/4ab4bbf5077f90ef73bf) もしくは [LINE アプリ](https://qiita.com/yanagih/items/691229a7623649540b76)を使用しました。
音声ボットの場合は電話とつなぎますので、まずはその構成方法から見ていきます。

New Watson Assistant の **HOME 画面**から、**Integrations** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/a7b29b68-ecd5-2b30-aaa5-b7dba4ae7030.png)
**Add** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/3b68a234-b3ea-67fa-7634-8917de502925.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/9d8a9bfa-2409-83b0-7c63-6337c71a7ded.png)
無償で電話番号を払い出してくれる **IntelePeer** を選択し、**Next** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/f8b02ee2-e772-1dc8-25b3-50287ee2da5e.png)

:::note warn
Watson Assistant インスタンスを**ダラス・リージョン**もしくは**ワシントンDC・リージョン**で作成している場合に限り、無償の電話番号を払い出してくれる **IntelePeer** を選択可能です。
:::
:::note info
**IntelePeer** 社から無償で払い出される番号は、国番号が 1 番 (アメリカ合衆国)となります。日本国内で使用できる 81 番の電話番号ではありませんので、ご注意ください。
:::

数分後、無料の電話番号が払い出されます。確認後に **Close** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/7c20d5d9-e5e4-1bf9-6618-afdf28e5b578.png)

:::note warn
電話番号の払い出しに 2 〜 5 分程度時間がかかる場合があります。
:::

Speech to Text インスタンの作成画面が表示されますので、**Create new instance** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/df643a37-bef2-28f9-0184-e54a0436bad7.png)
**Success**を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/9f564488-ffdc-bc67-1d29-58d044723bb2.png)
**Japanese narrowband** が選択されていることを確認し、**Next** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/ec9e2ba8-d0fc-47c7-ee75-6fef1c2b0c70.png)
Text to Speech インスタンの作成画面が表示されますので、**Create new instance** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/d313e73a-4f79-2aeb-362f-8f656590cb08.png)
**Success** を確認し、**Finish** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/8d915e7f-5717-a912-52c4-90757f9f8588.png)

# いざ、実装

実は、すでに電話との接続設定は終わっています :bangbang:
設定内容を確認してみましょう。

**Environments** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/b2d1e895-5a3c-34aa-b22b-9a54420d545a.png)
**Phone** が Watson Assistant につながっていますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/e17e0a60-cab9-b4ba-4117-aa43ca3916c2.png)

必要な作業は以上です。
(No Code ありがたいです)

# テスト

早速電話をしてピザの注文をしてみましょう。
ただ、今回の記事で **IntelePeer** の無料電話番号を払い出していますので、アメリカ合衆国の電話番号です。
テストするにも**国際電話料金**が気になります。

最近では自宅の電話をインターネットプロバイダーが提供する電話サービスを使用されている方も多いと思います。
そのような場合、国際電話を格安でかけられる可能性がありますので、契約しているサービスの電話料金の価格体系を調べてみてください。
私は [**NURO ひかり電話**](https://www.nuro.jp/hikari/phone/)を契約しております。

[**NURO ひかり電話**](https://www.nuro.jp/hikari/phone/)の場合、国際電話料金[ここ](https://www.nuro.jp/hikari/phone/price/)で確認できます。

国内で固定電話から固定電話にかける料金とあまり変わらないですね。
(あくまでも自己責任でお願いします)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/fa1fd16c-e252-58b0-ab8b-a5ed77c54733.png)
それでは早速試してみます。
青枠が **Watson からの応答**です。
オレンジ枠が **私が話した内容**です。
私が話した内容がしっかりと正しく認識されていることがわかると思います。

この図だけではわからないのですが、選択肢は **「イチ、マルゲリータ. ニ、シーフード ...」** のように特別に手を加えなくても音声用に自動変換してくれるのはとてもありがたいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/474a5995-6373-79d7-3fcb-8f9a06c6e178.png)
(このログは、**Analytics 画面**の **Conversations (会話内容の表示)機能**を使って、表示させた内容です)

# いかがでしたでしょうか

まさに **No Code** で音声ボットを立ち上げることができました。
**アクション**を使えば、対話フローを **No Code** で構成できますので、興味のある方は、ご自身のユースケースの音声ボット化にチャレンジしてみてください。

アクションを使用した対話シナリオの作成には、こちらの記事がお役に立てると思います。

https://qiita.com/yanagih/items/f98cff2b5b9ce3208fc4

# 次回予告

今回は、[以前の記事](https://qiita.com/yanagih/items/f98cff2b5b9ce3208fc4)で作成した**ピザ注文アクション**をそのまま使用して音声ボットを構築しました。
次回は、音声ボット化する上での考慮点やチューニングについてお話ししたいと思います。

# 参考情報

### 参照したリファレンス

#### New Watson Assistant: 電話との統合

https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-phone

#### New Watson Assistant: 電話統合構成 (カスタマイズに関する内容です)
https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-phone-config

#### New Watson Assistant: 電話対応の処理 (STTへのパラメータ指定に関する内容です)
https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-actions#phone-actions-speech-advanced

#### New Watson Assistant: 電話統合のコンテキスト変数
https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-context

#### New Watson Assistant: トラブルシューティングおよびログ
https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-troubleshooting

#### Classic Watson Assistant: 電話対話の処理
https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-voice-actions

#### IBM Voice Gateway
https://www.ibm.com/docs/en/voice-gateway?topic=whats-new

### 参考にしたコード / 記事

https://ibm.github.io/japan-technology/Code-Tutorials/integrate-voice-services-to-your-watson-assistant/

### 関連する Qiita Advent Calendar 2022 の記事

https://qiita.com/yanagih/items/4bd8add06d1e0695b314

https://qiita.com/yanagih/items/f98cff2b5b9ce3208fc4