VUI (Voice User Interface)
ユーザーからの音声入力 (発話) をトリガーに、人工知能を介してシステムとインタラクションする形のユーザーインターフェース、いわゆる VUI (Voice User Interface) が、徐々に普及しつつあります。プラットフォームとしては Amazon Alexa、Apple Siri、Google Assistant、Microsoft Cortana がメジャーですが、スマートフォンアプリのように GUI (Graphical User Interface) を伴うものもあれば、スマートスピーカー (Amazon Echo、Apple HomePod、Google Home など) のように VUI 単体のものもあります。
VUI によってもたらされるユーザー体験 (UX) としては、情報の取得 (ユーザーの質問に呼応した「答え」を得ること) だけでなく、eコマースの注文、各種代行作業 (たとえば、ブッキングやメッセージ送信など)、スマートホーム内の機器の制御… と様々なものが挙げられますが、いずれにしてもインタラクションは文字通り「対話」的です。タイピングやジェスチャなどの行為で感じるような「操作している」感が比較的希薄で、自分の喋ったことがそのまま体験に直結してしまう、ポジティブな意味で不思議な感じ (体験もしくはシステムに対するこれまでにないエンゲージメント感とでも言いましょうか…) を覚えます。
その一方で VUI には、従来の GUI とは多少違った形での、ユーザビリティの配慮が必要であるように思います。
VUI とユーザビリティ
VUI におけるインタラクションのトリガーはユーザーの発話であり、入力時にフィーチャーされる機能は基本的にマイクだけです。UI の中に他の視覚的な手がかりが無い (または少ない) ことが多く、Jacob Nielsen の 10 Usability Heuristics で言うところの「Recognition rather than recall (記憶に依存せず、そこにあるものを見て認識できるようにする)」の担保が不十分になりがちです。つまりシステムの利用に際して、どう使うのか/どんな結果が得られるのかが予想しにくく、ユーザーは根拠 (自信) のないメンタルモデルに全面的に依拠せざるを得ない、という状況に陥りやすいと言えそうです。
これを踏まえて VUI のユーザービリティを保つためのポイントを考えてみると :
- 適切なメンタルモデル形成をサポートする
- 適切なフィードバックでコミュニケーションをすり合わせる
- システムがユーザーに合わせる
…ということになるのかなと思います。
適切なメンタルモデル形成をサポートする
どう操作すればよいか、また操作によって何が起こるかを提示し、ユーザーのメンタルモデルが適切なものになるようサポートします。ユーザーが自信を持ってシステムと向き合うことができるように、戸惑わせたり迷わせたりしないことが大事です。
- 音声入力を受け入れるコマンドを明示する。そのコマンドは容易で学習しやすく、かつ心理的な抵抗感がないものであること。できれば複数の種類のコマンドが用意されていて選択できるのが望ましい。(たとえば音声コマンドだけでなくタップによるコマンドも用意されている、など。)
- 簡潔なひとことで、ユーザーをスムーズにエンゲージする。オープンなクエスチョンでもよいし (「どんなご用でしょうか?」など)、オプションを提示するのもよい。このとき、システムの限界 (できることのスコープ) をほのめかすことができれば、ユーザーの期待と実際とのギャップをあらかじめ小さくすることができる。
- システムの意図を「説明」するのではなく、ユーザーがどう言えばよいかを具体的に例示する。(「天気を知りたい場合、日、午前/午後の種別、都道府県を言ってください」ではなく「7日の午後の東京の天気は?のように聞いてください」という具合。)
適切なフィードバックでコミュニケーションをすり合わせる
ユーザーの操作 (発話) に対して、適切な量と質のフィードバックをタイムリーに提供することで、ユーザーは誤解なく、システムと今どんなやりとりをしているのかを確認できます。不適切なフィードバックによって、ユーザーを圧倒したり不安がらせたりしないことが大事です。また、適切なフィードバックを通じて、ユーザーのメンタルモデルを補正できたり、次の発話行動 (システムとの噛み合った漸進的な対話) を促したり、といったことが期待できます。
- フィードバックは多少冗長でも具体的に。「今日の天気は?」と聞かれて「雨です」と答えるのではなく、「今日の何時から何時までの、どこそこの天気は、雨の予報です。」といった具合。コミュニケーション上の食い違いを最小限にするために、ユーザーをローコンテキストな対話に誘導する。
- 自然な対話を促す。「レシピを開いて」と聞かれて「開きました」とだけ答えるのではなく、「何を作りましょうか?」「和食、洋食、中華、どれにしますか?」といった具合。
- システムからの返答は簡潔に。ユーザーの短期記憶の範囲内に収まるようにする。選択肢を提示する場合は少なく (多くて3つ程度?)。選択肢が多い場合は、漸進的な対話を通じて徐々に絞り込むようにするのも一考。
- 様々なモダリティでフィードバックを返す。GUI を併用できる場合は、システムからの返答を視覚的にも表現したい (アクセシビリティの担保として、テキスト中心かつセマンティックに表現する)。GUI を伴わないデバイスでも、アクティブリスニング中、処理中、出力中といったステータスを LED などで視覚的に表現することができる (参考 : Visual Interface of Voice UI - Cooper)。また、効果音 (earcon) や、ウェアラブルデバイスであれば振動によるフィードバックも考えられる。ユーザーの発話行動を阻害しない範囲で、さりげなくかつ効果的にフィードバックを返したい。
- 最終的な UX が言葉で提供されるものでない場合 (照明をつける、エアコンを消す、指定されたメール/メッセージを送付する、予約を入れる、など)、きちんと処置されたのか、目の前の事象が処理の結果なのか偶然なのか、がわかりにくい恐れがある。具体的な言葉でも、処理中である旨や処理を完了した旨のフィードバックを返したい。
システムがユーザーに合わせる
VUI においては、ユーザーが喋り言葉として表現可能な音声情報が、すべて入力となり得ます。ユーザーが発するあらゆる発話をエラー扱いせず受け入れ、ユーザーに「無理にシステムに合わせている感」を覚えさせないようにすることが大事です。
- ユーザーに選択肢を選ばせる場合、厳格な入力フォーマットをユーザーに強要しない。選択肢番号ではなく選択肢に含まれる言葉で入力があったとしても、許容する。その際、表現上の揺れはシステム側で吸収したい。
- ユーザーの文脈 (今いる場所、時間、アクセス手段、その他様々なデータから推定される状況) を総合的に活用し、ユーザーの発話内容が不十分であっても、できるだけユーザーにフィットしたフィードバックを返すようにする。
- 対話が噛み合わない (システムが理解できない入力があった) 場合、エラーとして突き返すのではなく、対話的に解きほぐすようにする。
さらに UX を高めるために
上記に加えて、VUI の UX をさらに高めるために、以下のことも意識するとよいかと思います。
- ユーザーのプライバシーに配慮する。デリケートな情報を含む返答をシステムが (周りに聞こえるように) 出力しないようにする。必要に応じて、別の出力手段を用意することも考えたい。(「別途、指定のアドレスにメールを送りました」など。)
- システムからの返答の文言は、音声として聞き取りやすいものにする。(同音異義語による誤解を避ける、など。)
- VUI は、操作上の制約が大きいコンテキストで使われることも想定される (車載システムのように、ハンズフリーでシステムを見なくても使えなければならない、など)。その制約の中で十分な UX を提供できるようにシステムをデザインする。
- 音声によるインタラクションはシリアルな (一次元的な) コミュニケーションであり、システムから網羅的な情報を一度に出力することが難しい。出力された情報が唯一の答えであるようにユーザーに誤解される恐れがあることを理解し、さらなる情報をどうユーザーに自然に届けることができるかを考えたい。
今後、VUI のケーススタディが増えてゆくにつれて、上記以外にもユーザビリティ上の留意点が明らかになるかもしれません。実際に VUI を用いたインタラクションを設計する際には、プラットフォーム各社の公式ガイドライン (例 : Amazon Alexa、Google Assistant) を熟読しつつ、その製品/サービス固有のターゲットユーザー、ゴール、コンテキスト、シナリオに基づいてスクリプトを作り、上流工程からユーザビリティを検証したいところです。「オズの魔法使い」テストが手軽に使えそうなので (一人がユーザー役、もう一人がシステム役となり、ユーザー役の発話に対し、システム役がスクリプトに基づいて発話などのフィードバックを返す、という具合)、機会があれば試してみるのもよいかと思います。