Google Homeで音声アプリを作るときの3つのポイント

supporterzcolab.com

このイベントで初めてのLTをしてきました。
前の人のテーマもGoogle Homeというまさかの事態が起きましたが、スベることなく無事に終わりました。

会社で買ったGoogle Homeを使い、Dialogflowと組み合わせて会議室予約システムを作ったときの話です。 5分という短い時間用に作ったスライドなので、3つのポイントについて内容を少し補足しておきます。

本当に音声がベストか?

最新のテクノロジーは、やはり過剰な期待がつきもののようです。
今回のGoogle Homeは会社で買ったのですが、何を作ってほしい?といろいろな人に聞いたところ、
- 資料を印刷してほしい
- 退社時刻を知らせてほしい
- 電話に出てほしい
など、絶対自分でやった方が早いものばかり出てきました。

VUI(音声によるUI)が効果的なシーンは、音楽とIoT以外ではまだほとんど確立していません。イベントでGoogle Homeを持っている方何人かと話しましたが、どの方もいつGoogle Homeを使うとぴったりはまるのか、悩んでいる様子でした。
今回の会議室予約アプリは、「会議室で急な打ち合わせをしたいが、今空いている部屋は空室なのか、単にまだ使う人が来ていないだけなのかがわからず、その場でノートPCを開いて確認するのも面倒くさい」という実体験をもとに作ったものです。(これが他の人にもあてはまるかは、しばらく様子を見ないとわかりませんが)
他の人に使ってもらうアプリを作るときは、本当にスマートスピーカーでやるべきかをしっかり考えてからの方がよいです。

フローをシンプルに

スマートスピーカーは「話しかけるだけで使える」という簡単さが売りなのに、そのフローが複雑だと利用価値が減ってしまいます。
今回、非エンジニアの社員に使ってもらったのですが、基本的に覚えられるフローは一直線だけです。
もともとは、Google Homeを会議室の中に置き、その会議室が予定上空いているときとそうでないときでフローを分けていたのですが、2つのフローを覚えてもらえず、空いているときしか使われませんでした。
まだスマートスピーカー自体になじみのある人が少ないため、機能を多くするよりもフローを単純にすることを優先させる方がよいでしょう。

日本語の固有名詞は取扱注意

これは作ってみるまでわからなかったのですが、音声入力の場合、日本語は勝手に変換されます。
そのため、社員の名前を認識させたい場合、難しい漢字の場合は思うように認識されません。
対策としては、DialogflowのTraining機能を何度も使うことや、Googleの音声入力履歴を見ながらEntityにいろいろなパターンを登録していくという地道な作業が必要です。
ちなみに、英語の名前であれば、よくある名前がDialogflowのデフォルトのEntityとして用意されてたりします。いいなあ。

会議室予約アプリは今も鋭意改善中です。また進化したら書きます。
Amazon Echoも早く開けてセットアップしないと...