Article

ブログ

2017/05/27

Twilio Signal 2017 レポート vol.1

こんにちは、本間です。

selfree で運営する CallConnect は、 Twilio という世界的に使われている API サービスを利用して運営しており、この Twilio が年1回開催する最大のイベント Signal に参加してきました。

イベント概要

Twilio は Signal カンファレンスで多くの新サービスや拡張機能を発表します。今回はサンフランシスコの Pier 27 で大きな倉庫のような場所を一大カンファレンス会場にしていました。

Signal 会場の入り口。Pier 27 全体が Signal 一色でした。

会場の中に入ると、そこは素敵な雰囲気のカンファレンス会場となってしました。ここで Twilio 創業者 CEO の Jeff のキーノートスピーチが始まります。

本記事では Vol.1 としてキーノートスピーチから得られた最新情報を共有します。

電話番号の大幅な追加

Twilio を使って電話のシステムを構築すれば、その時点でグローバルサービスを構築することができます。 Twilio では今夏までに 1,000 種類の番号を用意するとのことです。世界中のあらゆる種類の電話番号に対応していくことになります。

※ 日本では新しくフリーコール番号の 0800 が追加されていました。米国 Twilio では 03, 050, 0800 の3種類が存在することになります。ただし、米国 Twilio を利用すると音質の劣化や発信時に非通知になるなどの課題があるため、日本の KDDI ウェブコミュニケーションズ社の提供する Twilio (050, 0800, (0120)) を利用することが推奨されています。当然、KDDI ウェブコミュニケーションズ社の Twilio の海外番号も大幅に追加されたことになるので、私たちの Twilio サービスにとっては良いニュースです。

Twilio Proxy の登場

電話や SMS をする場合、相手に番号を知られたくないケースは多くあります。例えば以下のようなケースがあるでしょう。

  • 顧客と従業員
  • ドライバーとユーザー
  • 先生と生徒

この相手に個人情報を知られないコミュニケーションを実現するために、Twilio では 050 番号を複数発行してうまくマッチングさせる仕組みを作ることができます。A さんが 050 番号に発信すると、その050 が B さんの番号に発信(プロキシ化)するのです。この方法で Uber や Airbnb などの著名なサービスも匿名通話として Twilio を利用しています。しかし、Twilio で匿名通話を実装する上で以下のような課題がありました。

  • 複数の番号をどうやって用意する?
  • 前に使った電話番号を再利用した時にコンフリクト(衝突)が発生してしまう
  • わざわざ転送するためだけの Twilio 命令を用意しないといけない

これらの課題を解決するために Twilio Proxy が登場しました。匿名通話を実現したいあらゆる企業が利用できると考えています。

Twilio Proxy は現在、 Early Access Preview となっており、希望する方が Twilio に連絡して有効にしてもらって初めて使えるような状態となっています。今後、オープン β版が登場し、そのあとに正式リリースとなるため、本格的に利用可能になるまでは1年ほど時間がかかるでしょう。

※ 私自身 CtoC のサービスを構築した経験があります。その中で課題になるが、両者のコミュニケーションと決済の仕組みでした。今回の Twilio Proxy と Stripe Connect を利用することで、誰もがお手軽に CtoC サービスが作れる時代がやってきたと感じました。

Twilio Notify のチャネル追加

マルチチャネルに対応したサービスで通知の仕組みを実装することは大変です。 例えば日頃から私たちは Facebook を PC やスマホ、その他デバイスで見ていることでしょう。そこで誰かからコメントが来た時、全てのデバイスに同時に通知を送ってしまうと、その分ユーザーはそれらの通知を消す面倒な作業が発生します。

Twilio Notify は現在ユーザーが使っている最適なデバイスに対して通知を送ることのできる通知最適化のシステムです。

今回、通知チャネルで Android, iOS 標準の通知の仕組みの他に、Facebook / LINE(!) / Viber / Wechat /Alexa / Twitter などが追加されました。日本では特に LINE の追加は嬉しいですね。会場の雰囲気としては Amazon Alexa での通知を提供開始したということが大きな注目となっているようです。(Alexa の日本語提供が待ち遠しいですね)

Twilio Speech Recognition と Twilio Understand

Twilio が音声認識のサービスをリリースしました。Twilio Speech Recognition は Google の音声認識技術を Twilio に統合したサービスです。Google の音声認識技術ということで、日本語にも対応しております!

Twilio Understand はプログラムで文章を解析してスマートな顧客対応を実現するための仕組みです。

両者を組み合わせることで、私たちは今までの IVR (~の方は1を押してください) の仕組みを変えることができます。具体的には、電話をかけると「ご用件は何でしょうか?」 というアナウンスが流した後に、お客さんが「サポート担当に繋いでください」というだけで適切なオペレーターに電話を取りつなぐことができるようになります。

これがどの程度の精度なのかは未知数ではありますが、固有名詞などの認識も事前に Twilio Speech Recognition で学ばせることでより最適化された音声認識が可能になると説明がありました。例えば住所を声で入力してもらってそれを文字化して確認するようなフローなどで便利になりそうです。

※ 本機能は Amazon Alexa に最適化された機能のように見受けられます。Amazon Alexa には IVR でのプッシュ操作をすることができないので、このような音声認識によって振り分ける機能が必須となるためです。通常の電話の場合は確実に振り分けられるようにするために IVR によるプッシュ操作が今後も主流となると考えています。

※ 個人的には通話内容を分析するサービスが出てくることを期待していましたが、この Speech Recognition はそのようなサービスではありません。あくまで IVR を振り分ける時に相手の声だけを音声認識するための仕組みです。両者の通話内容を文字化するには別途 Twilio Addon の VoiceBase(日本語非対応) などを利用する必要があります。

Twilio Functions

Twilio Voice で本格的な電話アプリケーションを作ろうとすると、必ず Twilio からリクエストを受け取るサーバーが必要になります。Twilio 初心者にとっては、このURL が公開されたサーバーをどうやって用意するかというのが課題となっていました。

Twilio Functions は Twilio 内で Node.js(JavaScript) の実行環境を用意してくれます。私たちは、もはや Twilio アプリケーションを構築する上でサーバーすら必要なくなりました。

AWS に詳しい方であれば、 AWS Lambda の Twilio 最適化バージョンだとお考えください。まだリリースされたばかりの機能であるため、Web 上でのプログラム実行だけのサポートなります。しかし、これだけでも例えば IVR の振り分けなど基本的な Twilio サービスは Twilio Functions のみで対応できるようになります。

より本格的な Twilio サービス、例えばデータベースを扱う場合や、Node.js の外部ライブラリを使う場合などでは AWS Lambda を利用するか、自身でサーバーを用意する必要があることには変わりません。

Twilio Functions は主に Twilio 初心者の方がより Twilio の本格的なアプリケーションをすぐに構築できるようにするために用意した側面が強いと思われます。

既に Twilio Functions は全ての Twilio ユーザーが利用できます。 Twilio アカウントをお持ちの方は、左メニューの DeveloperTools の Runtime のタブを選択して “Functions” を見てみてください。音声ファイルなどを Twilio に保存する “Assets” (Amazon S3 のようなもの)も今回から登場しました。

Twilio Channels

私たちは日頃からたくさんのメッセージングサービスを利用しています。Facebook Messenger, Slak, Twitter そして Alexa など。

これらのあらゆるチャネルを統合し、メッセージの送受信を実現するサービスを作るのは容易ではありません。Twitter, Facebook, Slack などなどのあらゆる API の仕様通りに実装し、コーディングしなければなりません。Twilio Channels はその手間を Twilio Channels の実装だけに絞ることを可能にします。

Twilio Channels は他の Twilio プロダクトとの連携が鍵になると考えています。Twilio Channels は先ほどの Twilio Notify を始めとして、 Programmable SMS, Twilio Proxy, TaskRouter などとの連携ができるようになっています。

個人的には TaskRouter と Twilio Channels を組み合わせて、あらゆる SNS を統合したコミュニケーションサービスが面白いと思っています。

Twilio アドオンに TaskRouter アドオンが追加

Twilio TaskRouter は、あらゆるチャネルをオペレーターが効果的に処理するための Task 処理フレームワークです。

今回その TaskRouter 用の Twilio アドオンが追加されました。具体的には ワークフォースマネジメント(WFM) や、コール分析のアドオンです。 ワークフォースマネジメントとは、通話量に応じてオペレーターの最適な人員配置を決定するための仕組みです。電話がほとんど来ない時間にオペレーターが5人も待機していてはリソースの無駄なので、繁忙期のみ人員を増やすなどの仕組みが必要になります。Twilio のワークフォースマネジメントアドオンを利用することで、これらの課題をプログラムで判別することができるようになります。

また、通話の分析も大きなコールセンターではニーズが高いです。どのオペレーターがどのくらい通話をして、平均どのくらい待たせてしまっているのか。これらの指標を元にコールセンターを改善することができます。今回は keen.io というメトリクスツールと Twilio アドオンの連携がデモとして紹介されていました。

終わりに

いかがでしたでしょうか。今年の Signal だけでこんなにも多くの新機能を発表しました。本記事の詳細は Twilio ブログ(英語) をご参照ください。Signal と同タイミングで続々と新記事が公開されています。

Twilio は AWS のような、大量のサービスを保有するプラットフォームになっていくだろうと感じました。その根底には “コミュニケーション” の軸があるので、コミュニケーションを必要とする多くの Webサービスやアプリで Twilio の利用が増えていくことでしょう。

私は今まで登場した Twilio サービスには全て目を通してきていましたが、今後は見切れないほどたくさん出てくることになりそうです。そのため Twilio デベロッパーコミュニティが盛り上がって、それぞれのサービスの事例などを共有する場が増えていけばと感じています。

キーノートセッションだけでこれだけのボリュームとなってしまいました。次の Vol.2 では個々のセッションで私が参加した内容をシェアします。お楽しみに!

続編はこちら