「人々は何を音声アシスタントに話しているのか？」を検証する (簡易版)


# 概要

「スマートスピーカー元年」と言われた2017年からおよそ２年が経過しようとしています。
Google Home や Amazon Echoなど「VoiceUI」の新しいデバイスが徐々に普及をし始めていますが、日本では音声アシスタントが爆発的に普及している諸外国と比較して、まだまだ下火な印象を受けます。「日本人に音声コントロールは合わない」といった音声アシスタントに対する懐疑的な意見も存在する中、日本でいかに普及していくのか気になるところです。
そこで、一体日本人がどんなことを話しかけているのかを試しに(浅くですが)検証してみましたので、内容をシェアします。

*この取り組みは個人での活動であり、所属している企業の取り組みとは一切関係がありません **

# 検証する情報

もちろんAmazon EchoやGoogle Homeへの発話ログを集計することはできませんので、自前で集めた情報を利用して検証します。
利用するのは個人で開発・運用している下記のAndroid用の音声アシスタントアプリ。
[おしゃべりアシスタント (Android)](https://play.google.com/store/apps/details?id=com.droidchan&hl=ja)

SiriやGoogleアシスタントのように、音声認識でスマートフォンを操作したり、雑談をしたりすることのできるAndroidアプリです。(Siri等と比較して、雑談や暇つぶしに比重をおいているアプリです)
発話された言葉(文字列)を個人が特定できない状態にした上で、サービスの改善、分析のために収集しており、その情報を用いて検証します。

もちろんGoogleアシスタントやSiriなどと比較してクオリティが劣る点も多いため、サービス品質やアプリ特有のキャラクターが影響して発話クエリにバイアスはかかっているかとは思いますが、音声アシスタントに人々がどんなことを話しかけるのかについての参考にはなるかと思います。

# 注意点
- この取り組みは個人での活動であり、所属している企業の取り組みとは一切関係がありません
- 収集している発話文字列は個人が特定できない形で収集しており、この検証では慣用表現などの一般的な発話のみ扱います
- 集計結果に対する記述は個人の見解です (検定等はしておらず、完全に主観で書いてます)

# 検証内容

2018年に話しかけられた言葉の頻度順の発話です。(9月まで)
かなり大雑把な方法で処理しているため、かなり不正確な点はあります。
例えば、クエリをそのまま集計しているので、表記揺れに対応できていません。
よって、「今日の天気は？」と「きょうの天気は？」が区別されて集計されてます。そのため、後述の集計結果も、表記揺れを考慮すると上位の表現の総数はだいぶ伸びそうです。

気力と需要がありそうであれば、もっと詳細かつ正確に分析した情報も検証したいと思います。

【発話数ランキング】

```
    [うん] => 163502
    [ありがとう] => 13133
    [おはよう] => 12407
    [終了] => 9373
    [こんにちは] => 7403
    [こんばんは] => 6569
    [おやすみ] => 5240
    [さようなら] => 4873
    [さよなら] => 4600
    [なるほど] => 4495
    [ドロイドちゃん] => 4347
    [終了するね] => 4174
    [はい] => 4161
    [わかりました] => 3101
    [今何時] => 2576
    [歌って] => 2549
    [おみくじ] => 2490
    [明日の天気は] => 2337
    [おやすみなさい] => 2277
    [しりとりしよう] => 2198
    [今日は] => 2097
    [そうだね] => 2049
    [疲れた] => 2012
    [あなたの名前は] => 1898
    [おはようございます] => 1869
    [今日の天気は] => 1862
    [明日の天気] => 1853
    [戻って] => 1825
    [ハゲ] => 1802
    [なんで] => 1753
    [戻る] => 1715
    [ただいま] => 1700
    [ハイ] => 1692
    [眠い] => 1588
    [名前は] => 1490
    [バイバイ] => 1443
    [お] => 1433
    [わかった] => 1425
    [メモして] => 1387
    [今日の天気] => 1375
    [終了します] => 1321
    [ドロイド] => 1215
    [おっぱい] => 1199
    [しりとり] => 1151
    [お腹空いた] => 1150
    [何] => 1121
    [可愛い] => 1121
    [そうですね] => 1114
    [もしもし] => 1111
    [あ] => 1104
    [またね] => 1063
    [大井] => 1018
    [しりとりをしよう] => 1018
    [カレンダーを起動] => 993
    [う] => 987
    [元気] => 979
    [うんこ] => 940
    [何が] => 938
    [元気ですか] => 916
    [死ね] => 915
    [明日] => 878
    [そうなんだ] => 873
    [良いでしょ] => 871
    [私の名前は] => 868
    [大好き] => 856
    [そうですか] => 841
    [ごめんね] => 829
    [バカ] => 828
    [好き] => 827
    [siri] => 826
.....
```

【分類】

```
1. 雑談 51.4%
2. 音声コマンド (情報検索やアラームセットなど)  38.3%
3. 不明(判定不能含む) 10%
```

# 考察

集計結果を基にした考察を簡単に書きます。

## 相手が人間でなくてもちゃんと慣用表現を投げかける

日本での音声アシスタント利用に限った話かどうかは定かではないですが、人間に対してと同様(もしくはそれ以上)に慣用表現を音声アシスタントに投げかける人が多くいます。

相槌「うん」の次にランクインしているのが「ありがとう」であるように、何らかのアクションの後、感謝の言葉を発してくれている人がかなりの割合でいます。何だかほっこりしますね。
感謝の言葉以外にも、「こんにちは」「またね」のような挨拶、「うん」「わかった」「なるほど」のような相槌が多く発話されています。

挨拶や相槌などの慣用表現は、音声アシスタントの利用に際して必ずしも発する必要はありません。
それでも慣用表現が多く発話されていることから、多くの人が音声アシスタントというプログラムを、声でコミュニケーションをとる生き物として(擬人化して)捉えているのかもしれません。

## 話し方は2パターン
上述した情報からだけでは読み取りづらいですが、発話ログを分類していると、ユーザの発話が下記の２パターンに分かれることがわかります。

### A. 人間同等に話しかけるパターン
人間に話しかけるのと同じように、きちんと話し言葉なおかつ文章で話しかけるパターンです。

```
「〜ちゃん、元気ですか？」
「明日8:30に起こしてね」
「しりとりしよう」
```
上述した慣用句を発話する人々はこういった形の発話をしている傾向にあるように感じます。

### B. 単語単発で話しかけるパターン

```
8:30にアラーム
おっぱい
バカ
Siri
西郷隆盛
```
単語単発で音声アシスタントに対して発話をする人も多くいます。
音声アシスタントを擬人化して捉えていないという側面もありますが、「こう言ったらどんな答え返せるのか？」というようなお試し感覚の人も多いように感じています。

対話システムを構築する際はA, Bどちらを想定しておくべきです。

## 先頭にキャラクター名をつける人が意外に多い

音声アシスタントに対しての発話に接頭辞やキャラクター名をつける人が意外と多く存在します。
例えば、

```
ドロイドちゃん、8:30にアラームをセットして
ドロイドちゃん、占って
ドロイドちゃん、LINEを起動してください
```

(ドロイドちゃんはアプリに登場する話し相手です)
以前、この知見を考慮できておらず先頭のキャラクターの名前に反応してしまい、うまく発話の意図を判定できていない時期がありました。(今回の集計時には先頭のキャラクター名を省くように処理済み)

たとえプログラム相手でも、きちんと名前を言ってから話しかけてくれる人が多くいます。ほっこりしますね。
開発側としては、先頭のキャラクター名をうまく考慮しないような仕組みにしておくことは必要です。
(単に名前を呼んでくれているケースもあるので、単純に名前が発話されていたら省くのはよろしくない)

# まとめ

大雑把に集計結果と浅いですが考察を書きました。
時間をちゃんととってしっかり分析すれば面白い知見を得られそうなのでまた追ってまとめます。
こういったデータに興味ある方いましたらお気軽にお声がけください。