会話中の単語と実世界の物体をつなげて理解し、新しい単語も学ぶ音声対話システム
人が使いやすい音声対話システム
「おやつを持ってきて」と言われたとき、人間は「おやつは棚にある」などの知識をもとにミッションを遂行します。こうした能力を備えた、本当の意味で人間をサポートできる音声対話システムは、どうしたら開発できるのでしょうか?
Index
Share
自らが置かれた環境をふまえてコミュニケーションする音声UI
本プロジェクトでは、人間をサポートできる音声対話システムの研究開発を行っています。たとえば将来、家庭内にサービスロボットを導入するとき、UIとしてまず考えられるのが音声による対話でしょう。自動運転のタクシーなど、モビリティー分野のUIとしても便利かもしれません。
すでに、スマートスピーカーなどの商品において、音声UIは一部実現しています。天気予報を訊いたり、室内灯を点けたり、音声だけで指示できるのは非常に簡単で便利です。しかし、実物を伴うサービスロボットなどで使う場合には、単に音声を認識するだけではなく、環境までAI側が理解する必要があります。
たとえば、ユーザーが「おやつを持ってきて」といった場合を考えましょう。人間であれば、「おやつは棚にある」「食べものはテーブルの上に置けば良い」という知識があるので普通に実行できますが、これがいまの音声対話システムには難しい。かといって、毎回「棚のなかのおやつを持ってきて、そのテーブルの上に置いて」と細かく指示するのでは不便です。
また「薬を持ってきて」といったときには、薬だけではなく水も一緒に持ってきてほしいところですが、これも「薬は水で飲む」という知識があって初めて実行できること。こういったさまざまなタスクにおいて、毎回1から10まで細かく説明していてはストレスが溜まり、とても快適とはいえません。
深層学習という革新的な技術の登場により、AIは大幅に進歩。対話システムについても、チャットボットのように、ある程度自然なやり取りまで可能になっています。ただ現在のAIは、会話の内容を人間のように「理解」しているわけではありません。会話中の「単語」と、実世界の「物体」は、まったくつながっていないのです。これを記号接地問題といいます。HRIでは音声対話システムの開発において、こうした問題の解決に取り組んでいます。
「知らないことを知る」のがいちばん難しい
現在考えているのは、モジュール型の対話システムです。複数のモジュールで構成されており、まずASR(音声認識)で音声をテキスト化、それをNLU(自然言語理解)、Dialog Manager(対話管理)、Generator(文章生成)で順次処理し、最後にTTS(音声合成)がテキストを音声に変換して出力します。
私たち研究グループが注力しているのは、このなかで、ユーザーの話した内容を解析する役割を担うNLUです。私たちはここに、新技術である機械学習ベースのNLUと伝統的なルールベースのNLU、ふたつで構成されるハイブリッドシステムを採用しました。
AIで対話システムを実現するとき、難しいことのひとつは、新しい単語の理解。時代の移り変わりによって、新しい俗語や略語は日々生まれてきます。人によりそい、一緒に暮らしていくロボットには、事前に設定していない単語にも自動で対応できる仕組みが必要になってきます。
しかし、「新しい単語」であると認識するには、まず「自分が知らない単語である」ことに気づく必要があります。人間であれば普通にわかることですが、じつは機械学習にはこれが難しい。機械学習には、わからなくてもわからないなりに何らかの答えを出してしまう特徴があるので、そのままだと気づけないのです。
将来的には、機械学習だけでもこの問題を解決できるようになるかもしれませんが、おそらくそれにはまだブレイクスルーがいくつか必要でしょう。本プロジェクトでルールベースのNLUを併用しているのは、まさにこの「知らないこと」を検出するのが目的。ハイブリッド方式にしたことで、認識精度が向上したという試験結果を得ることができました。
AIが本当に、このような理解力を得られるかどうかは、まだわかっていません。本当の意味で人に使いやすい音声対話システムの実現は大きなチャレンジですが、実用化を目指して研究開発を続けていきます。
Voice
竹内 誉羽
ホンダの伝統的な特徴でしょうが、HRIには誰とでも気軽に話せて、仕事を進めやすいという風土がありますね。私は研究職のなかでもエンジニアリング寄りのことをやっていますが、実際に動くものをつくって、それが使われるところにいつもやりがいを感じています。