はじめに
O.Reillyの書籍「デザイニング・ボイスユーザーインターフェイス」ではVUI(Voice User Interface)の意義からテスト方法まで広くカバーされている。
- イントロダクション
- VUIデザイン原理の基本
- ペルソナとビジュアルVUI
- 音声認識技術
- 高度なVUIデザイン
- VUIのユーザーテスト
- VUI完成後にすべきこと
- 音声対応デバイスと自動車
書籍を読みながら"実装対象になる機能"一覧を抽出した。
粒度や分類精査の余地があるが、VUIを自作したりシナリオを組み立てる際に参考にしてほしい。
機能一覧
名称 | 概要 |
---|---|
earcon(イアコン) | 短い特徴的な音でシステム側入力完了確認やメインメニュー表示などを知らせる |
ウェイクワード | 音声アシスタント機能を呼び出す際に用いられる音声コマンド |
終端検出 | ユーザがいつ話し終えたかの判断。終端検出タイムアウト値により調整することもある。参考値: 1.5秒 |
N-Bestリスト | ユーザーが言ったかもしれない言葉のリストを、可能性の高い順に並べてスコアと共に返す |
会話マーカー | ユーザーが今会話全体のどこにいるかを知り、言ったことが相手に伝わったかの知らせる追加メッセージ |
認識中画面と波形表示 | 音声入力を開始した表示と、音声受付可視化のための波形表示。開始と終了時に案内音を出すことも |
ユーザ習熟度 | ユーザーの使用頻度や継続期間に応じた処理分け。説明の省略や機能開放など。 |
パージイン | システムが話している最中にユーザー割り込むことを許可するか否か |
入力なしタイムアウト | 入力が一定時間ない場合にシステム側の処理を発火。アプリを終了させることもある。 |
ランドマーキング | ホームメニューや特定の状態になった際に特徴的な短い音声を鳴らす |
コンテキスト維持 | 会話のターンをまたいで代名詞等の会話対象情報を保持し続けること。例: 彼 = エイブラハム・リンカーン |
ヘルプおよびユニバーサルコマンド | どの状態からでも実行できるVUIコマンド。メインメニュー、アプリ終了、ヘルプなど |
確認 | ユーザーの入力を明示的、暗黙的に確認していく |
ダイアログマネジメント | 埋めるべき情報一覧から不足する部分をVUIが質問してゆく |
確認について
3段階の信頼度
音声認識エンジンの解析結果の信頼度に応じ、閾値に応じて確認を振り分ける
例:
ユーザー: ペーパータオルを買い足してください。
VUI:
[信頼度 > 80%、暗黙の確認] OK、ペーパータオルを注文します。
[信頼度 45 ~ 79%、明示的確認] ペーパータオルの注文ですね。よろしいですか?
[信頼度 < 45%] 申し訳ありませんが、聞き取れませんでした。買いたい物は何ですか?
暗黙の確認
元の質問を確認せずVUIが回答。
例:
ケース1
ユーザー: 世界一高い山は何?
VUI: 世界一高い山はエベレスト山です。 [答えの中に元の質問の一部が含まれている]
ケース2 より信頼度が高い場合や会話的にしたい場合
ユーザー: 世界一高い山は何?
VUI: エベレスト山。
沈黙による確認
音声によるレスポンスを必要としないアクションで、VUIが音声返答せず処理を実行。
例:
ユーザー: クリスマスツリーのライトをつけて。
VUI: [音声で返答せずライトを付ける。音声で返答するならば「OK、クリスマスライトをつけています」だろうか]
汎用的確認
確認した旨を表示するが文字通りの復唱ではない形。
例:
VUIアバター: 田中さん、元気ですか?
田中: えー、まあいい調子だと思うよ。
VUIアバター: 教えてくれてありがとうございます。昨夜は眠れましたか?
田中: あんまり。
VUIアバター: それは残念です。
ビジュアルな確認
画面に表示する。
例:
ユーザー: OK, Google. 次のミーティングはいつ?
GOOGLE: [スマートスピーカー画面に予定のカードを表示] カレンダーに明日の予定が入っています。タイトルは「池袋で現地視察」です。
N-bestリストの例
私の好きな動物VUI: あなたの大好きな動物についてもっと知りたいと思っています。何が好きですか?
ユーザー: ええと、今は私が好きなのは...子猫! (Well, I think at the moment my favorite's gotta be.. kitty cats!)
5つ返却し、有効な見本一覧と照会することで2.の"CATS"を見つけることができた。
- WELL I THINK AT THE MOMENT MY FAVORITES GOT BE FIT AND FAT
- WELL I THINK AT THE MOMENT BY FAVORITES GOTTA BE KITTY CATS
- WELL I HAVE AT THE MOMENT MY FAN IS OF THE KITTY
- WELL I HAVE AT THE MOMENT MY FAN IS OF THE KITTY BAT
- WELL THAT THE MOMENT MY FAVORITE IS GOT BE KIT AND CAT
会話マーカーの例
- タイムライン (「最初に」「これで半分」「最後に」など)
- あいづち (「ありがとう」「わかりました」「了解」「すみません」など)
- ポジティブ・フィードバック (「それはよかった」「それを聞いて安心しました」など)
会話ケース1: 会話マーカーなし
AIアシスタント: 昨日は何時間眠りましたか?
ユーザー: 7時間くらい。
AIアシスタント: 昨日はフルーツと野菜を何人前食べましたか?
ユーザー: 4人分くらい。
AIアシスタント: 昨夜薬を飲みましたか?
ユーザー: はい。
AIアシスタント: さようなら。
会話ケース2: 会話マーカーあり
AIアシスタント: あなたの健康についていくつか質問します。まず、昨日は何時間眠りましたか?
ユーザー: 7時間くらい。
AIアシスタント: それはよかった。では昨日はフルーツと野菜を何人前食べましたか?
ユーザー: 4人分くらい。
AIアシスタント: わかりました。最後の質問です -- 昨夜は薬を飲みましたか?
ユーザー: はい。
AIアシスタント: わかりました。今日はここまでです。明日またお話しましょう。さようなら。
ダイアログマネジメントの例
ピザを正しく注文するために必要なスロット:
- ピザの枚数
- サイズ
- トッピング
- 電話番号
- 住所
- 郵便番号
ピザアプリ: ようこそ、CA Pizzaへ。どのピザにいたしましょうか?
ユーザー: えーと、ペパロニのラージをお願いします。
[この時点で、ピザの枚数、トッピング、サイズのスロットが埋まった。あと必要なのは住所、郵便番号、電話番号]
ピザアプリ: ラージサイズのペパロニですね、ありがとうございます。お届け先の住所はどちらですか?
ユーザー: 渋谷区宇田川町
ピザアプリ: はい。番地は?
ユーザー: 40−1。
ピザアプリ: では郵便番号を教えてください。
ユーザー: 150-0042。
概要未記載の機能一覧(TODO)
-
声の大きさによるボリューム変更
-
入力外の情報による音量や流す情報の変更: 国、位置、時刻
-
周辺環境(音や光、どこに人がいるか)による変更
-
システムペルソナ
-
会話のターンと沈黙による回答
-
エラーハンドリング
-
音声生成 音声合成
-
音声再生: ワード、ジングル
-
ユーザ発話が長い場合の処理 = タイムアウト
-
データプライバシー p.127
-
分岐 p.129
-
制約のある回答
-
入力のカテゴリー分け
-
質問以上の回答を受け取った場合
-
否定、個別の取り消し: ピザ注文の例 p.140
-
音声認識
-
感情分析と感情検出
-
話者認証 複数話者
-
固有名詞認識: 名前、スペリング、英数字
-
認識の即時表示
-
スマートサジェストリスト: コンテキストに応じた選択肢を画面表示または音声で提示
-
直近単語リスト