Yahoo!
音声アシスト
–
声で検索、スマホ操作や会話も
Onsei Assist: Yahoo Japan’s Voice Assistant for Smartphones
藤井 美晴
1谷尾 香里
1颯々野 学
1∗ 1ヤフー株式会社
1
Yahoo Japan Corporation
Abstract: “Onsei Assist” by Yahoo Japan is a voice dialog application for mobile devices that
enables us to retrieve various information including train route, weather, news, web pages, map, shops and general facts. It also supports mobile device operations such as alarm setting, application launch, dialing, calendar and address book search.
1
はじめに
スマートフォンの普及に伴い,音声入出力による情報 アクセスへの期待が高まっている.Google の音声検索 (日本語版 2009 年 12 月, [1]) をはじめとして,Apple の Siri (2012 年 3 月,[2]) や NTT ドコモのしゃべって コンシェル (2012 年 3 月,[3]) など本格的な音声認識を 搭載したアプリケーションの認知が広まり,実用的な 利用も増えてきている. ヤフーでもモバイルデバイスからの情報アクセスの 主要コンポーネントの一つとして音声対話への取り組み を進めている.2011 年 3 月から日本語音声検索サービ スを開始して,iOS 向け「音声検索」アプリケーション [4] を皮切りに,多くのスマートフォン向けアプリケー ションに音声検索機能を提供している.さらに 2012 年 3 月からは音声対話サービス「音声アシスト」[5] をリ リースして,音声認識,自然言語理解,音声合成を組 み合わせた音声対話による情報アクセスサービスの提 供を開始した.加えて,2014 年 11 月には iOS 版「音 声アシスト」 [6] の提供も始めた. 本稿では「音声アシスト」サービスの基本機能と構 成を紹介し,意味理解処理と対話ログを利用した性能 改善の取り組みについて述べる.なお,音声認識処理 を担う YJVOICE については文献 [7] をご参照いただ きたい.2
音声アシスト
2.1
音声アシストとは
「音声アシスト」は音声認識プラットフォーム YJVOICE [7] と自然言語処理を組み合わせた音声対話機能を有す るアプリケーション (Android 向け,図 1,[5]) である. ∗連絡先: [email protected] 2012 年 4 月に Android 向けにリリースされて,スマー トフォンへのプリインストールや Google Play からの ダウンロード (約 120 万回以上) で提供され,公開から 1 年間で約 2000 万発話ほど利用されている. 図 1: 音声アシスト (Android 向け) 「音声アシスト」は音声対話によって以下のような サービスの一元的な利用をサポートしている (図 2). • 経路探索 (「品川から六本木まで」,「到着は何時?」) • 天気情報 (「今日の天気は?」,「雨は降るかな?」) • ニュース (「総選挙のニュースを教えて」) • ウェブ・画像検索 (「スカイツリーを検索」) • 地図 (「ここはどこ?」) 人工知能学会研究会資料 SIG-SLUD-B402-16 − 73 −• 店舗情報 (「近くのコンビニ」) • アラーム (「明日7時15分に起こして」) • 時刻・日付・祝日の確認 (「正月まであと何日?」) • アプリ起動・端末操作 (「カメラを起動」,「音を大 きく」) • 連絡先 (「佐藤さんのメールアドレスは?」) • 電話発信 (「佐藤さんに電話をかけて」) • カレンダー (「来週の月曜の予定は?」) • Q&A(「インドネシアの通貨は?」) • 知恵袋 (「ホットケーキとパンケーキの違いを知恵袋 で検索」) • ゲーム (「しりとりしよう」,「連想ゲーム」[8]) • 読み上げ (ブラウザ・メール連携)
2.2
システムの基本構成
クライアント・サーバ構成であるが,サーバ側は音 声認識プラットフォーム YJVOICE に加えて,自然言 語処理による意味理解サーバ,応答生成サーバ,音声 合成サーバなどから構成されている. クライアントではマイクロホンからの音声を音声認 識サーバへ送信して認識結果テキストを受信して,そ のテキストを意味理解サーバへ送信する.意味理解サー バでは音声認識結果テキストから発話意図の判別と変 数情報 (固有名詞や数値表現など) の抽出,変数情報の 変換,などを行い,応答パターンを生成して応答生成 サーバへ渡す.応答生成サーバでは各種サービス API を利用して応答に必要な情報を取得して応答文を完成 し,さらに音声合成サーバを利用して応答文の読み上 げ用韻律情報を付与して,クライアントへ返信する.ク ライアントでは応答結果を表示するとともに,音声合 成で応答文を読み上げる.2.3
音声認識結果テキストからの意味理解
処理
発話意図ごとにあらかじめ用意した句パターンと大 規模な固有名詞辞書などを組み合わせて,音声認識結 果テキストとパターンマッチすることによって,発話 意図の判別と変数情報の抽出を同時に行っている.機 械学習による意図判別などと比べると,パターンの追 加・削除がインクリメンタルに可能であり,例外的な 発話や雑談表現への対応もやりやすいというメリット がある.2.4
複数発話にわたる文脈情報の扱い
上述のような発話単位の処理において,複数の連続 発話にわたる文脈情報を意味理解に利用するために,ク ライアントは過去数文の意味理解の結果をキャッシュし ておき,それらを現発話の音声認識結果に添付して意 味理解サーバへ送信している.これにより「品川から 六本木まで」という発話の次に「到着は何時?」と発 話した場合に,直前発話の発話意図分類 (路線探索) や 変数情報 (出発・到着駅) などを文脈として参照しなが ら意味理解処理を行っている.2.5
雑談
上述のような目的志向型の対話に加えて,ユーザを 楽しませる簡単な雑談に対する応答にも力を入れてい る.雑談には挨拶,ボットの属性をたずねる会話 (誕生 日,性別,年齢,好きなもの,...),ボットにお願いす る会話 (つきあって,友達になって,励まして,面白い こと言って),相づち,体調や心情を吐露する会話 (眠 い,疲れた,お腹すいた),ボットの能力や反応を試す 会話 (足し算をさせる,好き・嫌いと言ってみる) など, さまざまな対話が含まれる. あらかじめ想定した雑談パターンを限定的に用いて, それら以外の発話に対しては「分かりません」と答え る,一律にランダムな回答をする,ウェブ検索に誘導 する,などを多用してしまうと対話の楽しさを大きく 削いでしまう.そのため多少の誤りは許容しても,さ まざまな回答ができるよう工夫している. そのほか,ユーザがより楽しめて愛着が持てるよう にゲーム要素の取り込みも進めている.「しりとり」や 「連想ゲーム」が楽しめる.特に「連想ゲーム」では, ゲームを通じた知識獲得の研究 [8] も並行して進めて いる.3
音声対話ログの活用
3.1
ユーザの発話意図の理解に向けて
本節では,音声対話ログを使用した,音声対話シス テムの改良について述べる.音声対話システムにおい ては,ユーザの発話に対してユーザの意図にマッチし た応答をシステムが返すことが望まれる.我々は,ユー ザの意図によりマッチした応答をシステムが返すため, 過去にユーザとシステムがやりとりした大規模対話ロ グに基づく改良を行っている. 以下,改良のためのロ グの分析および分析用ツールの一部を紹介する. − 74 −3.2
対話中断原因の分析
ユーザが対話を中断した (一定時間以上,次の発話 がない) 場合に,その直前のユーザとシステムの対話を 確認し,システム応答がユーザの発話意図に沿ったも のかを分析している.離脱率 (システムの応答後,対話 を中断したケースの割合) が高い対話は,ユーザの発話 意図にマッチしていない応答をシステムが返していた り,応答文が長過ぎたりする傾向があった.また,一 つのユーザ発話に対して,複数の用意した応答から一 つを選んで返し,各応答の離脱率やその前後の対話と 組み合わせて分析することで,どのような応答がユー ザとの会話を続けるきっかけになるかを知ることも可 能である.例えば,ユーザが「おみくじ」と発話した 場合,現在のシステムは「大吉,中吉,吉,小吉,凶」 の応答をランダムで返す.これらの応答につき各離脱 率を調べたところ,凶になるほど離脱率が低くなるこ と,さらにその後にユーザがもう一度「おみくじ」と 発話して,おみくじを再挑戦 (リベンジ) することで離 脱率が減少していることも確認できた (表 1). 表 1: おみくじ対話の分析 応答種別 離脱率 (%) 再挑戦率 (%) 大吉 49.4 7.7 中吉 43.7 14.0 吉 42.1 15.9 小吉 41.5 16.5 凶 35.8 29.63.3
対話可視化ツールによる発話意図分析
図 3 は,ユーザ発話をキーに過去の対話ログを検索 し,ユーザとシステムの対話の一連の流れを可視化す るツールの表示例である.ユーザの「馬鹿」という発 話の前のパスをさかのぼると同じノードから出る集合 「赤」「中」「だった」等がある.それらは「馬鹿」の音 声認識の失敗であり,パスはユーザの言い直しを示す ことが確認できる.また,ユーザが「うるさい」と発 話した前後の対話を確認することで,「うるさい」の発 話意図は「音が大きい」という意味より単なる「罵倒」 の意味が大きいということが推測できた.ユーザ発話 の流れを発話数のボリュームに応じて一画面に可視化 することで,ユーザの意図やシステムの不具合の確認 が容易になる. 図 3: 発話の遷移の表示例4
おわりに
本稿ではモバイル音声対話アプリケーション「音声 アシスト」と,対話ログを用いた改善の取り組みの一 部を紹介した. 音声対話は,ユーザの課題解決を支援する自然なイ ンターフェースの一つであろう.プライバシーを守っ て発話ログを統計的に活用することで,効果的に性能 改善を図り,今後も「音声アシスト」を発展させてい きたい.参考文献
[1] M.Schuster, K.Nakajima: “Japanese and Korean Voice Search,” in ICASSP 2012.
[2] J.R.Bellegarda: “Large-Scale Personal Assistant Technology Deployment: The Siri Experience,” in InterSpeech 2013. [3] 吉村健: “しゃべってコンシェルと言語処理,” 情 報処理学会研究報告, Vol. 2012-SLP-93, No. 4 (2012). [4] 音 声 検 索 (iOS 用), http://visseeker2. yahoo-labs.jp/voicesearch/ [5] 音声アシスト, http://v-assist.yahoo.co.jp/ [6] Yahoo!音声アシスト (iOS 版), https://itunes.
apple.com/jp/app/id934751936?mt=8 [7] 磯, 颯々野: “「音声アシスト」の音声認識と自然 言語処理の開発,” 情報処理学会研究会報告, Vol. 2013-SLP-98, No. 4 (2013). [8] 町田, 河原, 柴田, 黒橋, 颯々野: “ゲーミフィケー ションによる連想概念の獲得,” 情報処理学会関西 支部 支部大会 講演論文集, F-04 (2014). − 75 −
図 2: 音声アシストの利用例