人とロボットが協力し合う未来に向けて、温かい関係を創る技術(前編)
こんにちは。Cygnusです。
先の記事では、人と機械のインターフェースとしての「対話」技術について、自然言語処理のアプローチを中心に紹介しました。(参考記事)
その記事の結びでも記載しましたが、人がコミュニケーションするとき、言語情報以外の表情・目線やジェスチャー、声のトーンや早さが重要で、それによりお互いの感情や意図を汲み取っています。
人とロボットというと、主従関係や人の仕事を奪うなどマイナスの側面がフォーカスされがちですが、お互いが得意な分野を分担し協力することで、今までとは違った未来が築いていけると期待されています。そこで今回から2回に渡り、人とロボットが理解し合うために重要となる言語情報以外の技術を紹介していきます。
理解し合う土台となること
この記事を読んでいる皆様も、仕事やプライベートなど様々な場面で人と対話し、お互いの理解に努めておられることと思います。対話をする際、会話内容だけでなく頷きや相槌で受け止めて促しながら、目線、表情、声のトーン、さらに姿勢やジェスチャーまでを適切に変えて相互理解を進めていっていると思います。このような外見的・画像的アプローチと音声的アプローチの両面が重要になってきますが、これはロボットとの対話でも同様で、ここがちぐはぐになると、理解が深まらないだけでなく対話そのものが続かなくなります。
例えば、ロボットに向けて発話をしているにも関わらず反応がなかったり、もう対話を止めたいのに話しかけてきたら、対話する意思をそがれてしまうと思います。
まずは、対話を適切に開始し、回答や検索結果などの求めている結果を獲得するまでスムーズに進めていくためのアプローチを紹介していきます。
状況を見て対話を開始・終了する仕組み
多くの人が行きかう街中や建物・部屋の中にロボットがいる場合、ロボットとコミュニケーションを取りたい人を識別し、声をかけていくこと、そして用件が済んだらお別れの挨拶をすることができれば、ロボットがいる空間を自然に受け入れていくことができるかと思います。
コミュニケーションを取りたい人を識別するのは言語情報では実質不可能(対話が始まっていないため分析しようがない)なため、画像や音声情報などの活用が必要となります。
対話の開始・終了を判定するためのモデルがMicrosoftで研究されています(参考記事:Directions Robot: In-the-Wild Experiences and Lessons Learned)。
この研究では、ビルや施設内のナビゲーションをするロボットを想定し、モデルを構築しています。
ロボットは「not engage」(コミュニケーションしていない)状態で佇んでいて、視界となるカメラ画像に人が移りこんでたら、「開始判定」を実施します。
<開始判定>
- 人の顔が画面の中心付近にあるか
- 顔の大きさが一定以上か
- 顔の出現回数が一定以上か
これらを数値的に評価するために、顔の場所・大きさ・正面に向いている度合いの0.25、0.5、1、2、4、8秒ごとの平均・変化量・標準偏差をとったものを特徴量として使用。これに加え、人数、フレーム内への滞在時間も使用。
(フレームとは動画の1コマのことで、1秒間のフレーム数が多いほど動画が滑らかになる)
この開始判定が基準値を超えた場合、ロボット側から「こんにちは!道案内をご希望ですか?」と挨拶し、人から「はい」と返答があれば「engage」(コミュニケーション中)状態に遷移の上コミュニケーションを開始し、返答がなければ状態変更をしません。
「engage」状態においては、以下のような流れで進みます。
- 人の発話に合わせて会話を進めていき、必要に応じてロボットが手のジェスチャーや顔の向きでわかりやすく説明
- 人からの発話が一定時間なくなった場合、「継続判定」として他に追加の質問がないかを確認
- 追加の質問がある場合は継続して回答し、追加の質問がない場合、「お話しできて嬉しかったです!さようなら!」と挨拶
→「not engage」状態へ遷移
なお、会話の途中で人が立ち去ってしまった場合は、少し驚いたように「またね!」と挨拶して「not engage」状態へ遷移するという愛着がわく対応も可能となっています。
この研究では、人が2人以上のグループである場合でも対応しています。「engage」状態は発話を待つ状態なので、グループの誰かが発話したらその内容に沿って会話を進めていき、発話が途切れたり人が立ち去った場合のロボットのアクションは1人のときと同様となります。画像処理だけでグループか否かを判定するのは限界があるので、「一緒ですか?」「近くに来てください」「もう少し待ってください」など、ロボットから主体的にマネジメントする手法も有用と考えているようです。
研究の評価として、誤って対話を開始してしまうことは数%未満に抑えられ比較的高い精度となったが、誤って終了してしまうことは十数%(グループの場合20%超)となった。継続したいのに打ち切られてしまうことは問題であるため、発話がロボットに向けられたものであるのかを判定することが重要になってきます。そこで、ロボットが応答すべき発話であるかを推定する手法を紹介します。
ロボットが正確に反応する仕組み
ロボットが人の発話に正確に反応するためには、2つの要素を考慮する必要があります。1つ目は、周りの音楽や雑踏、人同士の会話、他のロボットの動作音など、発話以外の音声と区別することです。2つ目は、複数の人がロボットと対話する場合に、人に向けられた対話や独り言など、ロボット自身に向けられていない発話と区別することです。これらの点をクリア、もしくは実用的なレベルに精度を上げられれば、人が行きかう環境の中でも適切に対話できるようになります。
この点にアプローチした研究をご紹介します(参考記事:多人数対話におけるユーザの状態に着目した. ロボットの応答義務の推定)。
ロボットが検出した音(入力音)に対して応答義務の有無を推定できるモデルを提案していますが、言語情報を使わず、画像情報・音声情報による推定を行っています。これは、一般的に言語情報はドメインに依存しやすく、他のドメインに適用するときの再学習や再定義などのコストが大きくなるため、汎用的な推定を目指しているためです。
(ここでいうドメインとは、専門分野の意味合いで、道案内に必要な言葉の使い方と、医療分野の言葉の使い方は異なるので、そのまま流用するのは難しいものになります。)
実用に耐えうるものになるよう、実環境で入力されうるあらゆる音に対応できる特徴量の設定・選定、特徴を活用する手法を検討しています。
まずは、下の表で、推定のための特徴、それを数値化する特徴量、特徴量を用いた学習指標について整理しています。
各特徴量は、収集・計測の精度が高く、かつ応答義務の推定への効果が高いが多いと思われるものを選定しています。これらの特徴量を統合的に利用して人への応答義務を判定する推定器を作成することで、音声情報のみの手法の結果と比較して高い精度となることが評価結果からわかっています。(4000件の対話で評価)。
今後さらに多くの対話に対して学習、評価すること、そしてカメラやセンサー、マイクの発展により新たな特徴量の考察や既存の特徴量の深堀が可能になることで、精度向上を目指していけそうです。
総論
人とロボットの対話において、スムーズに対話を開始し違和感なく進めていくために、画像処理、音声処理など言語処理以外の複合的な技術の活用が効果的であることをみてきました。カメラやセンサー、マイクなどハードウェアの発展による新しい特徴量の収集、その特徴量を様々な研究分野を超えて連携し発展させていくことの両面が重要になってくるのは間違いありません。
次回は、対話において人の意図をどのようにくみ取るか、それを実現する技術についてご紹介していきます。