Voicy Tech Blog

Voicy公式Techブログ

Voicyが創る未来 〜Voice UIとその先へ〜

皆様、あけましておめでとうございます!

新年1発目のブログはわたくしエンジニアのぱんでぃーが担当させて頂きます。 本年もVoicyをどうぞよろしくお願いいたします!

f:id:voice-tech:20180109192308j:plain

さて、皆様の2017年はどのような年になりましたでしょうか? Voicyはと言いますと、

といった具合に様々な変化があった年となりました。 詳しくは弊社CTOの窪田が投稿した前回のエントリーを是非、ご覧ください!

voicetech.hatenablog.com

そして、いよいよ2018年に入ったわけですが 本エントリーは、昨年の各種スマートスピーカーの日本上陸で一気に注目度が増したVoice UIについて紹介していきたいと思います!(音声UI、VUIとも記載されますが、本エントリーでは以下、VUIと表記いたします)

VUIとは

音声のユーザーインターフェースと聞くと難しく感じてしまうかもしれませんが、その概念は歴史としては古く、数十年前から注目されていました。身近でイメージしやすいサービスですと、iOSが提供しているSiriや電話の自動音声ダイヤルなんかもVUIの一つです。(音声ダイヤルはこちらからのレスポンスはナンバーを押す形式になるので、完全なVUIとは言えませんが。) 要は音声を使ったコミュニケーション、もっと言うとリアルの会話に近い、声を使った対話型アプリケーションということですね。

今はまだ馴染みが深いとは言い難いVUIですが、今後の日本でもスマートスピーカースマートハウスウェアラブルバイスが普及するにつれて、VUIを意識したプロダクト設計が重要になってくることは間違いありません。『2018年に技術とのインタラクションの30%がVUIになるだろう』というガートナーの予測も、アメリカのようなVUIが先行している国では現実のものとなっていくでしょう。

blogs.adobe.com

VUIと従来のUIとの違い

ではこれまでの一般的なアプリケーションと比較して、VUIのデザイン設計を行っていく上ではどういった点に気をつけていく必要があるのでしょうか?

まず最も大きな違いが、スクリーンが無いことによる情報量やコンテキストの差です。 下記のようにデバイスが変わることで、UIに求められるものも変化していきます。

  • デスクトップアプリ:スクリーンを増やすこともでき、複数のアプリを並列で使うことも可能。
  • モバイルアプリ:並列で動作できるが、スクリーンが小さいためコンテキストは基本的には1つだけ。コンテンツ自体はデスクトップアプリと同じでも問題無いケースが多い。
  • ウェアラブルアプリ:モバイルアプリよりもさらに視覚情報が少なくなるため、通知のようなちょっとした機能でもコンテンツを限定して見せ方を工夫する必要がある
  • スマートスピーカーアプリ:基本的には視覚情報が無く、音声の入力・出力を直列で交互に行う必要があるため、一連のやり取りにかかる時間が長くなる傾向にある。

特に最後のスマートスピーカーにおいては、現状では対話型のUIが主流となっているためユーザーが求めた結果を得るためのステップ数をいかに減らすかが重要になってきます。(電話の自動音声ダイヤルでイライラした経験を思い出して頂くと、その重要性が実感できるのではないでしょうか!)

その他にも、

  • GUIで言うところの入力フォームなどがないため、ユーザーの入力がフォーマットされず表現にバラツキが発生しやすい点
  • Webブラウザの『戻るボタン』といったものが無いため、アプリ側でナビゲーションを工夫しなければならない点

なども注意が必要です。

それでは実際にVUIを実現するためのアプリ開発プラットフォームを例に挙げて、VUIの作り方を見ていきましょう。

VUIの開発プラットフォーム

スマートスピーカーの市場シェアとしては2017年Q3にはトップのAlexaが67%、次いでGoogle Homeが25%になると予測されているため、いずれかの開発用プラットフォームを利用すれば良いでしょう。

robotstart.info

お手軽に試すのであれば、Web上の知見が多く、審査も通りやすいAlexa Skillsが良いかもしれません。 ただ、本エントリーでは比較的新しい開発用プラットフォームであるActions on Googleを例に挙げていきたいと思います。

Actions on Google

まず、簡単にActions on Googleについて説明します。 Google Homeの内部では、Google Assistantというサービスが音声認識を含め、全体のコントロールを行っています。そして、Actions on GoogleはそのGoogle Assistant用のアプリケーションを作成するためのプラットフォームとなります。Actions on Google上で作成された独自のサービスはGoogleの審査が通ればGoogle Assistantに追加されるので、実際にユーザーが保有しているGoogle HomeGoogle Asistant搭載のスマートフォンから利用可能となります。

Actions on Google上でのアプリ開発にはDialogflowという対話型インターフェースを作成するためのサービスが使われており、下記のような機能を提供しています。

  • 自然言語特有の表記の揺れや業界用語、方言などをAIに学習させることで、対話内のパラメータを適切に抽出(ユーザー定義の辞書も利用可能)
  • 多言語対応
  • 発言内容の履歴や呼び出し回数などのAnalytics用のデータを管理
  • Google Assistantだけでなく、Amazon Alexa, Facebook Messenger、Slackなどの各種サービスとの連携
  • Webhookを利用した外部のWebAPIとの連携

また、大きな特徴として、各プログラミング言語用のSDKを提供しているのですが、GUIアプリ開発コンソールが用意されているため非Developerでも簡単にVUIを開発することができます。細かい用語の説明は割愛しますが、ざっくりとした役割としては、

  1. Google Assistantが音声認識
  2. 認識されたユーザの発言内容をDialogflowで自然言語処理を行い、アプリがレスポンスを行うために必要なパラメータを抽出
  3. 抽出されたパラメータ毎に対応するレスポンスをアプリ開発者がひとつひとつ定義することで、入力と出力のマッピングを行う

といった感じです。

f:id:voice-tech:20180109184816p:plain

引用元(スクリーンショットhttps://www.youtube.com/watch?v=HNfE0uaKcfY

ちなみに、Actions on Googleの公式ドキュメントはVUIのデザインガイドやベストプラクティスなども紹介されているので、Alexa Skillsなど他のプラットフォーム用のVUIをデザインする際にも非常に参考になるでしょう。 https://developers.google.com/actions/design/principles

Voicyでの未来予想図・・・

最後に、『もしもVoicyのコンテンツを使ってVUIアプリを作成したら・・・』という、遠くない未来の話をしてみたいと思います。先程、概要を紹介したActions on Google上でアプリを作成すると下記のようなサービスが提供できます。

f:id:voice-tech:20180109205817j:plain

流れとしては非常に簡単に見えますが、実際に下記のような処理が内部で行われています。

  1. ユーザの発言からDialogflowがパラメータ(図の赤字で表記した『疲れてる』『笑える』『良い』など)を抽出
  2. Webhookを利用し、抽出したパラメータを含めた状態でVoicyが提供するするWebAPIにリクエストを送信
  3. Voicy内部のレコメンデーションロジックにより、オススメのチャンネルを選び出しWebAPIがレスポンスを送信
  4. アプリ開発者が定義したスピーカーからの返答文言に、受け取ったオススメチャンネルの情報を埋め込み、ユーザーへ返答
  5. 以下、ユーザーの望む結果となるまで繰り返し

上述した通り、アプリ開発者が行う作業としてはユーザーからの発言のパターンとそれに対する回答のパターンをユーザストーリーの分だけ登録することのみです。ただ、情報量が少ないVUIでは、与えられたパラメータ情報だけでユーザーにとって最適なコンテンツを提供することには限界があります。

そこでその時々でのユーザーのコンテキストをいかにして理解するかということが今後は重要になっていくと考えられます。具体的には、曜日や時間帯(休日?通勤中?就寝前?)や場所(自宅内?車の中?国内?海外?)などのユーザー入力ではないデータを含めてレコメンデーションを行うことで情報量の少なさを補っていく必要があります。

当然、従来のようなユーザーのデモグラフィック情報やビヘイビア情報、サービスの視聴履歴などのデータも使うべきですが、将来的にはユーザの声のトーンや顔色、一緒にいる人の人数といったようなセンサーデータも最適なコンテンツを提供するために活用することが当たり前になっていくでしょう。

Voicyでは音声プラットフォームとして、『ユーザーの気持ちや状況に合わせた好きな声やトークが集まってくるような世界』を創るため、日々、開発に勤しんでいます!『こんなステキな未来を一緒に創りたい!!』というアナタ!!是非、一度オフィスに遊びに来てください。運が良ければ、ホンモノのパーソナリティに会えるかも・・・!?

www.wantedly.com