(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】視線制御装置及び方法、非一時的記憶媒体、並びにコンピュータプログラム
(51)【国際特許分類】
G06F 3/01 20060101AFI20250107BHJP
G06F 3/16 20060101ALI20250107BHJP
B25J 13/08 20060101ALI20250107BHJP
【FI】
G06F3/01 510
G06F3/16 690
G06F3/16 650
B25J13/08 Z
(21)【出願番号】P 2024522892
(86)(22)【出願日】2022-10-18
(86)【国際出願番号】 JP2022038670
(87)【国際公開番号】W WO2023228433
(87)【国際公開日】2023-11-30
【審査請求日】2024-08-29
(31)【優先権主張番号】P 2022086674
(32)【優先日】2022-05-27
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「存在感CAの自在動作生成の研究開発」委託研究、産業技術力強化法第17条第1項の適用を受ける特許出願
【早期審査対象出願】
(73)【特許権者】
【識別番号】503359821
【氏名又は名称】国立研究開発法人理化学研究所
(74)【代理人】
【識別番号】100099933
【氏名又は名称】清水 敏
(74)【代理人】
【識別番号】100124028
【氏名又は名称】松本 公雄
(72)【発明者】
【氏名】イシイ カルロス トシノリ
(72)【発明者】
【氏名】新谷 太健
【審査官】相川 俊
(56)【参考文献】
【文献】特開2002-222437(JP,A)
【文献】特開2017-123027(JP,A)
【文献】特開2017-204231(JP,A)
【文献】特開2019-32468(JP,A)
【文献】新谷 太健 他,複数人対話における役割に応じた視線の振る舞いの解析とロボットへの実装,第57回人工知能学会 AIチャレンジ研究会 [online],日本,人工知能学会,2020年11月21日,第106-114頁
【文献】深山 篤 他,擬人化エージェントの印象操作のための視線制御方法,情報処理学会論文誌,日本,社団法人情報処理学会,2002年12月15日,第43巻 第12号,第3596-3606頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/16
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
エージェントを含む3人以上の複数人対話における
前記エージェントの視線を制御するための視線制御装置であって、
前記エージェントの視線方向の決定のためのタイミングとなったことに応答して、
前記複数人対話の参加者の前記複数人対話におけ
る役割と対話フローの状態との組み合わせに基づいて、前
記エージェントの視線方向を定めるための視線方向設定手段と、
前記視線方向設定手段により前
記エージェントの視線方向が定められたことに応答して、前記
エージェントの顔の向き及び眼球の方向を制御するための制御パラメータを生成するための制御パラメータ生成手段とを含む、視線制御装置
であって、
前記対話フローの状態は、ターン交替よりも所定時間前に開始し、ターン交替後に所定条件が成立するまで継続するターン交替状態と、それ以外の状態である発話状態とを含み、
前記視線方向設定手段は、前記ターン交替状態の開始と終了とを検出し、前記対話フローの状態により異なる方法により前記タイミングを定め、各前記タイミングにおいて、前記対話フローの状態と当該状態における前記エージェントの役割とに応じて、異なる確率モデルを用いて前記エージェントの視線方向を定める、視線制御装置。
【請求項2】
前記視線方向設定手段は、
前記参加者の各役割と、前記対話フローの状態との組み合わせに応じて、前記
エージェントの視線方向があらかじめ定められた複数の方向をそれぞれ向く確率を役割ごとに定める方向決定モデルを記憶するための方向決定モデル記憶手段と、
前記ターン交替状態の開始と終了とを検出し、前記複数人対話における前記エージェントの役割と、前記対話フローが前記ターン交替状態か否かとに従って前記タイミングを決定し、当該タイミングとなったことに応答して、前記方向決定モデルから前
記エージェントの役割と前記対話フローの状態との組み合わせに応じた確率分布を抽出するための確率分布抽出手段と、
前記確率分布抽出手段により抽出された確率分布から前記
エージェントの視線方向をサンプリングするための第1サンプリング手段とを含む、請求項1に記載の視線制御装置。
【請求項3】
前記方向決定モデルの前記複数の方向は、
前記エージェント以外の前
記参加者の方向と、前
記参加者の方向のいずれとも異なる視線逸らし方向とを含む、請求項2に記載の視線制御装置。
【請求項4】
前記視線方向設定手段はさらに、
前
記エージェントの役割と前記対話フローの状態との組み合わせに応じて前記視線逸らし方向を確率的に決定するための確率モデルからなる視線逸らし方向モデルを記憶するための視線逸らし方向モデル記憶手段と、
前記第1サンプリング手段によりサンプリングされた視線方向が、前記視線逸らし方向であることに応答して、前記視線逸らし方向モデルから前
記エージェントの視線を逸らす方向をサンプリングするための第2サンプリング手段とを含む、請求項3に記載の視線制御装置。
【請求項5】
さらに、
前記タイミングとなったことに応答して、前
記エージェントの役割と、前記対話フローの状態と、前記視線方向設定手段により定められた視線方向との組み合わせに応じて、前
記エージェントの視線の継続時間を算出するための継続時間算出部を含む、請求項1から請求項4のいずれか1項に記載の視線制御装置。
【請求項6】
前記タイミングは、前記対話フローの状態がターン交替状態
のときには
、当該ターン交替状態におけるあらかじめ定められたタイミングであり、前記対話フローの状態がターン交替状態でないときには、直前に前記継続時間算出部により算出された継続時間が満了したタイミングである、請求項
5に記載の視線制御装置。
【請求項7】
前記ターン交替状態における前記視線方向の決定のための前記タイミングは、前記ターン交替状態の開始後のあらかじめ定められた複数のタイミングである、請求項6に記載の視線制御装置。
【請求項8】
前記視線方向設定手段は、
前
記参加者の各役割と、前記対話フローの状態と、前記
エージェントに想定される個性との組み合わせに応じて、前記
エージェントの視線方向があらかじめ定められた複数の方向をそれぞれ向く確率を役割ごとに定める方向決定モデルを記憶するための方向決定モデル記憶手段と、
前記ターン交替状態の開始と終了とを検出し、前記対話における前記エージェントの役割と、前記対話フローの状態とに従って前記タイミングを決定し、当該タイミングとなったことに応答して、前記方向決定モデルから前
記エージェントの役割と前記対話フローの状態と前記個性との組み合わせに応じた確率分布を抽出するための確率分布抽出手段と、
前記確率分布抽出手段により抽出された確率分布から前記
エージェントの視線方向をサンプリングするための第1サンプリング手段とを含む、請求項1に記載の視線制御装置。
【請求項9】
前記方向決定モデルの前記複数の方向は、
前記エージェント以外の前
記参加者の方向と、前
記参加者の方向のいずれとも異なる視線逸らし方向とを含む、請求項8に記載の視線制御装置。
【請求項10】
前記視線方向設定手段はさらに、
前記
エージェントの役割と前記対話フローの状態と前記個性との組み合わせに応じて
、前記エージェントの前記視線逸らし方向を確率的に決定するための確率モデルからなる視線逸らし方向モデルを記憶するための視線逸らし方向モデル記憶手段と、
前記第1サンプリング手段によりサンプリングされた視線方向が、前記視線逸らし方向であることに応答して、前記視線逸らし方向モデルから前
記エージェントの視線を逸らす方向をサンプリングするための第2サンプリング手段とを含む、請求項9に記載の視線制御装置。
【請求項11】
さらに、
前記タイミングとなったことに応答して、前
記エージェントの役割と、前記対話フローの状態と、前記個性と、前記視線方向設定手段により定められた視線方向との組み合わせに応じて、前記
エージェントの視線の継続時間を算出するための継続時間算出部を含む、請求項8から請求項10のいずれか1項に記載の視線制御装置。
【請求項12】
前記視線方向の決定のための前記タイミングは、前記対話フローの状態がターン交替状態のときには当該ターン交替状態におけるあらかじめ定められたタイミングであり、前記対話フローの状態がターン交替状態でないときには、直前に前記継続時間算出部により算出された継続時間が満了したタイミングである、請求項11に記載の視線制御装置。
【請求項13】
前記ターン交替状態における前記視線方向の決定のための前記タイミングは、前記ターン交替状態の開始後のあらかじめ定められた複数のタイミングである、請求項12に記載の視線制御装置。
【請求項14】
前記エージェントは、視線方向を制御可能な眼球と、発話する機能とを実装するエージェントであって、ロボット、仮想空間上に3次元的な画像として表現される3次元仮想エージェント、及び2次元的な画像として表現される2次元仮想エージェントからなるグループから選択される、請求項1から請求項4、及び請求項8から請求項10のいずれか1項に記載の視線制御装置。
【請求項15】
エージェントを含む3人以上の複数人対話における
前記エージェントの視線を制御するための、コンピュータにより実現される視線制御方法であって、
コンピュータが、視線方向の決定のためのタイミングとなったことに応答して、
前記複数人対話の参加者の前記複数人対話におけ
る役割と対話フローの状態との組み合わせに基づいて、前
記エージェントの視線方向を定めるステップと、
コンピュータが、前記視線方向を定めるステップにおいて前
記エージェントの視線方向が定められたことに応答して、前記
エージェントの顔の向き及び眼球の方向を制御するための制御パラメータを生成するステップとを含
み、
前記対話フローの状態は、ターン交替よりも所定時間前に開始し、ターン交替後に所定条件が成立するまで継続するターン交替状態と、それ以外の状態である発話状態とを含み、
前記視線方向を定める前記ステップは、前記ターン交替状態の開始と終了とを検出し、前記対話フローの状態により異なる方法により前記タイミングを定め、各前記タイミングにおいて、前記対話フローの状態と当該状態における前記エージェントの役割とに応じて、異なる確率モデルを用いて前記エージェントの視線方向を定めるステップを含む、視線制御方法。
【請求項16】
エージェントを含む3人以上の複数人対話における
前記エージェントの視線を制御するためのコンピュータプログラムであって、コンピュータを、
前記エージェントの視線方向の決定のためのタイミングとなったことに応答して、
前記複数人対話の参加者の前記複数人対話におけ
る役割と対話フローの状態との組み合わせに基づいて、前
記エージェントの視線方向を定めるための視線方向設定手段と、
前記視線方向設定手段により前
記エージェントの視線方向が定められたことに応答して、前記
エージェントの顔の向き及び眼球の方向を制御するための制御パラメータを生成するための制御パラメータ生成手段として機能さ
せ、
前記対話フローの状態は、ターン交替よりも所定時間前に開始し、ターン交替後に所定条件が成立するまで継続するターン交替状態と、それ以外の状態である発話状態とを含み、
前記視線方向設定手段は、前記ターン交替状態の開始と終了とを検出し、前記対話フローの状態により異なる方法により前記タイミングを定め、各前記タイミングにおいて、前記対話フローの状態と当該状態における前記エージェントの役割とに応じて、異なる確率モデルを用いて前記エージェントの視線方向を定める、コンピュータプログラム。
【請求項17】
エージェントを含む3人以上の複数人対話における
前記エージェントの視線を制御するための、プロセッサを持つコンピュータにより実現される視線制御装置であって、
前記プロセッサは、
前
記エージェントの視線方向の決定のためのタイミングとなったことに応答して、
前記複数人対話の参加者の前記複数人対話におけ
る役割と対話フローの状態との組み合わせに基づいて、前
記エージェントの視線方向を定め、
前
記エージェントの視線方向が定められたことに応答して、前記
エージェントの顔の向き及び眼球の方向を制御するための制御パラメータを生成するように構成されて
おり、
前記対話フローの状態は、ターン交替よりも所定時間前に開始し、ターン交替後に所定条件が成立するまで継続するターン交替状態と、それ以外の状態である発話状態とを含み、
前記プロセッサはさらに、前記ターン交替状態の開始と終了とを検出し、前記対話フローの状態により異なる方法により前記タイミングを定め、各前記タイミングにおいて、前記対話フローの状態と当該状態における前記エージェントの役割とに応じて、異なる確率モデルを用いて前記エージェントの視線方向を定めるように構成されている、視線制御装置。
【請求項18】
請求項1
7に記載の視線制御装置として機能するようコンピュータを動作させるコンピュータプログラムを記憶した、非一時的な、コンピュータ読み出し可能な非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ロボットなどのエージェントの、人との対話時における視線を制御する技術に関する。この出願は2022年5月27日出願の日本出願第2022-086674号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
【背景技術】
【0002】
ロボット及びバーチャルエージェントを含む様々な対話エージェントが社会進出している。人々が対話エージェントに触れる機会は増え始めている。小売店、ホテルのロビー及び駅など、人々が集まる場においてロボットなどのエージェントを見かけることも多くなっている。
【0003】
ロボットなどのエージェントが人と対話する際、発話が含む言語情報のみならずジェスチャ、表情、韻律、視線などのような非言語情報も対話を円滑に進めるために重要である。また言語情報及び非言語情報は、人々が個性を意識的に又は無意識的に表出する媒体となっているとも考えられる。
【0004】
したがって、ロボットなどのエージェントが人と対話するときにも、言語情報のみならず非言語情報が大きな意味を持つ。特に、エージェントが人と対話するときに、その視線の制御は、対話を円滑にするためだけではなく、エージェントに個性を表出させる上でも重要である。
【0005】
非特許文献1には、2人の人が何らかの作業をしているときの両者の振る舞いを観察することにより、外向的な人と内向的な人とでは、視線を相手に向ける時間と、作業の対象に向ける時間とが相違することが報告されている。非特許文献1は、この結果に基づいてロボットの動作を制御することにより、ロボットと対話する人がどのような印象を受けるかに関する実験を行った結果を報告している。
【0006】
しかし、非特許文献1の報告は、特定の環境において所定の作業をするときの人の振る舞いに基づくものである。一般的な対話において、ロボットの視線をどのように制御するかに関する指針は非特許文献1の開示からは得られない。
【0007】
これに対し、後掲の特許文献1には、1人又は複数の人と対話するときのロボットの視線の制御に関する技術が開示されている。特許文献1に開示された技術においては、発話している人の方向にロボットの視線を向ける。しかし、ある人が発話中に他の人が発話しても、基本的にはロボットの視線をその新たな発話者の方向には向けない。最初の発話者の発話に対するロボットの関心度を算出し、その値がしきい値より低ければ新たな発話の方向にロボットの視線を向ける。
【0008】
非特許文献1によれば、このようにしてロボットの視線を制御することにより、ロボットが短期間に視線の方向をあちこちに向ける不自然な動きを防止できるという効果があるとされている。
【先行技術文献】
【特許文献】
【0009】
【非特許文献】
【0010】
【文献】Sean Andrist他、”Look Like Me: Matching Robot Personality via Gaze to Increase Motivation”、Proceedings of the 33rd annual ACM conference on human factors in computing systems、2015
【発明の概要】
【発明が解決しようとする課題】
【0011】
人の対話時には、発話権(ターン)がある人から別の人に移動するとき(ターン交替時)付近において特徴的な視線方向の動きが見られる。それだけでなく、発話者が話をしているときにも、他の発話者が必ず発話者の方向を向いているわけではない。人は、発話者ではなく別の方向に視線を向けたり、参加者が3人以上いるときには、話をしていない別の参加者の方向に視線を向けたりすることもある。発話者の視線についても同様である。さらにその視線方向の動きも、人の性格(個性)によって違いが見られる。特許文献1に開示の技術は、こうした情報に基づいてロボットの視線を制御しているわけではない。そのため、得られるロボットの視線の動きは必ずしも自然なものとはならない。
【0012】
したがって、ロボットなどのエージェントの人との対話時の視線を、より自然に実現できるような視線の制御装置が望まれている。
【課題を解決するための手段】
【0013】
この発明の第1の局面に係る視線制御装置は、複数人対話におけるロボットの視線を制御するための視線制御装置であって、視線方向の決定のためのタイミングとなったことに応答して、複数人対話におけるロボットの役割と対話フローの状態との組み合わせに基づいて、ロボットの視線方向を定めるための視線方向設定手段と、視線方向設定手段によりロボットの視線方向が定められたことに応答して、ロボットの顔の向き及び眼球の方向を制御するための制御パラメータを生成するための制御パラメータ生成手段とを含む。
【0014】
好ましくは、視線方向設定手段は、複数人対話における複数の参加者の各役割と、対話フローの状態との組み合わせに応じて、複数の参加者があらかじめ定められた複数の方向をそれぞれ向く確率を役割ごとに定める方向決定モデルを記憶するための方向決定モデル記憶手段と、視線方向の決定のためのタイミングとなったことに応答して、方向決定モデルからロボットの役割と対話フローの状態との組み合わせに応じた確率分布を抽出するための確率分布抽出手段と、確率分布抽出手段により抽出された確率分布からロボットの視線方向をサンプリングするための第1サンプリング手段とを含む。
【0015】
より好ましくは、方向決定モデルの複数の方向は、複数の参加者の方向と、複数の参加者の方向のいずれとも異なる視線逸らし方向とを含む。
【0016】
さらに好ましくは、視線方向設定手段はさらに、ロボットの役割と対話フローの状態との組み合わせに応じて視線逸らし方向を確率的に決定するための確率モデルからなる視線逸らし方向モデルを記憶するための視線逸らし方向モデル記憶手段と、第1サンプリング手段によりサンプリングされた視線方向が、視線逸らし方向であることに応答して、視線逸らし方向モデルからロボットの視線を逸らす方向をサンプリングするための第2サンプリング手段とを含む。
【0017】
好ましくは、視線制御装置は、さらに、ロボットの役割と、対話フローの状態と、視線方向設定手段により定められた視線方向との組み合わせに応じて、ロボットの視線の継続時間を算出するための継続時間算出部を含む。
【0018】
より好ましくは、視線方向の決定のためのタイミングは、対話フローの状態がターン交替状態のときと、それ以外のときとで異なる。
【0019】
さらに好ましくは、視線方向の決定のためのタイミングは、対話フローの状態がターン交替状態のときにはターン交替状態中におけるあらかじめ定められたタイミングであり、対話フローの状態がターン交替状態でないときには、直前に継続時間算出部により算出された継続時間が満了したタイミングである。
【0020】
好ましくは、視線方向設定手段は、複数人対話における複数の参加者の各役割と、対話フローの状態と、ロボットに想定される個性との組み合わせに応じて、複数の参加者があらかじめ定められた複数の方向をそれぞれ向く確率を役割ごとに定める方向決定モデルを記憶するための方向決定モデル記憶手段と、視線方向の決定のためのタイミングとなったことに応答して、方向決定モデルからロボットの役割と対話フローの状態と個性との組み合わせに応じた確率分布を抽出するための確率分布抽出手段と、確率分布抽出手段により抽出された確率分布からロボットの視線方向をサンプリングするための第1サンプリング手段とを含む。
【0021】
より好ましくは、方向決定モデルの複数の方向は、複数の参加者の方向と、複数の参加者の方向のいずれとも異なる視線逸らし方向とを含む。
【0022】
さらに好ましくは、視線方向設定手段はさらに、ロボットの役割と対話フローの状態と個性との組み合わせに応じて視線逸らし方向を確率的に決定するための確率モデルからなる視線逸らし方向モデルを記憶するための視線逸らし方向モデル記憶手段と、第1サンプリング手段によりサンプリングされた視線方向が、視線逸らし方向であることに応答して、視線逸らし方向モデルからロボットの視線を逸らす方向をサンプリングするための第2サンプリング手段とを含む。
【0023】
好ましくは、視線制御装置は、さらに、ロボットの役割と、対話フローの状態と、個性と、視線方向設定手段により定められた視線方向との組み合わせに応じて、ロボットの視線の継続時間を算出するための継続時間算出部を含む。
【0024】
より好ましくは、視線方向の決定のためのタイミングは、対話フローの状態がターン交替状態のときと、それ以外のときとで異なる。
【0025】
さらに好ましくは、視線方向の決定のためのタイミングは、対話フローの状態がターン交替状態のときにはターン交替状態中におけるあらかじめ定められたタイミングであり、対話フローの状態がターン交替状態でないときには、直前に継続時間算出部により算出された継続時間が満了したタイミングである。
【0026】
この発明の第2の局面に係る視線制御方法は、複数人対話におけるロボットの視線を制御するための、コンピュータにより実現される視線制御方法であって、コンピュータが、視線方向の決定のためのタイミングとなったことに応答して、複数人対話におけるロボットの役割と対話フローの状態との組み合わせに基づいて、ロボットの視線方向を定めるステップと、コンピュータが、視線方向を定めるステップにおいてロボットの視線方向が定められたことに応答して、ロボットの顔の向き及び眼球の方向を制御するための制御パラメータを生成するステップとを含む。
【0027】
この発明の第3の局面に係るコンピュータプログラムは、複数人対話におけるロボットの視線を制御するためのコンピュータプログラムであって、コンピュータを、視線方向の決定のためのタイミングとなったことに応答して、複数人対話におけるロボットの役割と対話フローの状態との組み合わせに基づいて、ロボットの視線方向を定めるための視線方向設定手段と、視線方向設定手段によりロボットの視線方向が定められたことに応答して、ロボットの顔の向き及び眼球の方向を制御するための制御パラメータを生成するための制御パラメータ生成手段として機能させる。
【発明の効果】
【0028】
以上のようにこの発明によれば、ロボットなどのエージェントの人との対話時の視線を、より自然に実現できるような視線の制御装置及び方法、並びにコンピュータプログラムを提供できる。
【図面の簡単な説明】
【0029】
【
図1】
図1は、予備実験の設定を模式的に示す図である。
【
図2】
図2は、予備実験における各参加者の発話に対するタグ付け方法を説明するための模式図である。
【
図3】
図3は、発話のターン交替のタイミングを説明するための模式図である。
【
図4】
図4は、予備実験の3者対話のターン交替時における、各発話者の視線方向の頻度を示すグラフである。
【
図5】
図5は、予備実験の3者対話における、ターン交替時以外の各発話者の視線方向の時間的割合を示すグラフである。
【
図6】
図6は、対話の各参加者について、発話中の視線を他の各参加者に向ける割合と視線を逸らす時間とを表形式で示す図である。
【
図7】
図7は、予備実験の3者対話における、外向的な特定参加者の、対話への参与役割の各々における視線方向の時間的割合を示すグラフである。
【
図8】
図8は、予備実験の3者対話における、内向的な特定参加者の、対話への参与役割の各々における視線方向の時間的割合を示すグラフである。
【
図9】
図9は、外向的な対話参加者が発話者のときに、各参加者に視線を向けた時間の分布を示すグラフである。
【
図10】
図10は、内向的な対話参加者が発話者のときに、各参加者に視線を向けた時間の分布を示すグラフである。
【
図11】
図11は、発話中における各役割の参加者の視線を逸らした回数の頻度を示すグラフである。
【
図12】
図12は、対話参加者が視線を逸らすときの時間の分布を示すヒストグラムとその近似曲線を示すグラフである。
【
図13】
図13は、対話参加者が視線を逸らすときの瞳の位置の割合を示す図である。
【
図14】
図14は、外向的な対話参加者が視線を逸らすときの瞳の位置の割合を示す図である。
【
図15】
図15は、内向的な対話参加者が視線を逸らすときの瞳の位置の割合を示す図である。
【
図16】
図16は、この発明の実施形態に係る会話ロボットシステム150のハードウェア構成を示すブロック図である。
【
図19】
図19は、
図16に示すロボットの制御装置が実現する視線制御装置の機能的構成を示すブロック図である。
【
図23】
図23は、
図22に示す個性別・ターン交替時・視線逸らし時視線方向モデルの1例を示す模式図である。
【
図24】
図24は、この発明の実施形態において、コンピュータを視線制御装置として機能させるコンピュータプログラムの制御構造を示すフローチャートである。
【
図25】
図25は、
図24に示す状態センシングステップをコンピュータに実行させるコンピュータプログラムの制御構造を示すフローチャートである。
【
図26】
図26は、
図24に示す視線方向と継続時間を決定するステップをコンピュータに実行させるコンピュータプログラムの制御構造を示すフローチャートである。
【
図27】
図27は、
図24に示す視線方向決定ステップをコンピュータに実行させるコンピュータプログラムの制御構造を示すフローチャートである。
【
図28】
図28は、
図26に示す視線継続時間の決定ステップをコンピュータに実行させるコンピュータプログラムの制御構造を示すフローチャートである。
【
図29】
図29は、
図26の示す視線逸らし時の視線方向を決定するステップをコンピュータに実行させるコンピュータプログラムの制御構造を示すフローチャートである。
【
図30】
図30は、評価実験のためのビデオ画面の配置を示す図である。
【発明を実施するための形態】
【0030】
以下の説明及び図面においては、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお以下の実施形態は、エージェントとして人の形をしたロボットを用いている。しかしこの発明はそのような実施形態には限定されない。ロボットとして必ずしも人の形をしたものではなく、眼球があって話をすることが前提とされているものならばどのような形でもよい。また、ロボットのように3次元的な実体を持たずとも、例えば2次元的な画像として表現される仮想エージェント、又は仮想空間上に3次元的な画像として表現される仮想エージェントに対してもこの発明を適用できる。
【0031】
第1 予備実験
1.データ収集の目的
複数対話時のロボットの視線の動きを自然なものにするためには、実際の人間の視線を調べ、必要な情報を収集する必要がある。そこために、我々は以下のような予備実験を行った。
図1に、予備実験の設定を示す。
【0032】
図1を参照して、予備実験は3者対話50として行った。3者対話50の参加者は参加者60、62及び64である。
図1では参加者60、62及び64はいずれも立っているが、予備実験においては視線の方向が重要であり、互いの位置を固定する必要がある。そのために、予備実験では後述するように椅子を準備し、参加者にはそれらの椅子に座って対話をしてもらった。予備実験においては、これら参加者に、井戸端会議のように、特に目的なく明確に議論の進め方が存在しないような形により自由に対話してもらい、そのときの各参加者の視線の方向に関する情報を収集した。このような対話においては、明確な議論の進め方のルールが存在しないにもかかわらず、会話が弾むことも多い。エージェントが社会進出するためには、会議のような目的のある対話から何気ない対話まで広い範囲のインタラクションができるようにすることが望ましい。
【0033】
ところで、このように3者対話をしているときには、誰が発話をするか、すなわち誰が発話する権利を持つかが大きな意味を持つ。ここではこのような権利を発話権と呼び、発話権を保持している参加者を発話者と呼ぶものとする。他の参加者は聞く人の役割を持つことになる。これをここではリスナと呼ぶ。発話者は適宜交替していく。このように発話権が交替することをここではターン交替と呼ぶ。ターン交替があるたびに、対話における各参加者は発話者になったり、リスナになったりする。このように対話に参与する各参加者の立場をここでは参与役割、又は単に役割と呼ぶ。
【0034】
過去の研究から、対話の参加者は、対話の状況に応じて自己の役割を意識的に、又は無意識的に認識していることが知られている。すなわち、各参加者は、自分自身が発話者なのか、発話者から主に話しかけられているリスナなのか、会話に少ししか関与していないリスナなのかを常に認識している。ここでは、発話者から主に話しかけられているリスナをメインリスナ(ML)と呼び、会話に少ししか関与していないリスナをサブリスナ(SL)と呼ぶ。
【0035】
これも従来の研究から、会話における各参加者の役割と、その視線の動きに相関があることが知られている。予備実験においては、この考え方に従い、3者対話50における参加者が、各役割に応じてどのように視線を動かしているかに関する情報を収集した。
【0036】
2.データ解析(ラベル付け)
A.データセット
予備実験には男女あわせて9人が参加した。これら参加者により、各グループが3人を含む6グループを形成した。各グループ内において、参加者3名が自由に対話を行った。対話の内容はフリートークである。対話の継続時間は20分から30分の範囲だった。
【0037】
各グループの参加者は、三角形の3頂点にそれぞれ配置された3個の椅子にすわって話を行った。各参加者の前にカメラが設置され、各参加者の真正面から顔及び体の動きが撮影された。各参加者はヘッドセットマイクを装着しており、各参加者の音声データ及び議論全体の動画を収集した。対話終了後、これら録画及び音声データから対話の書き起こしを作成した。
【0038】
次に、アノテータが、視線方向、眼球の方向、発話権の有無、ターン交替、各参加者の対話における役割に注目して書き起こしデータに対するラベル付を行った。
図2にそうして得られたラベル付対話データの例を示す。こうして得られたラベル付対話データに対して以下に説明する解析が行われた。
【0039】
B.データの分析
図2には3人の参加者A、B及びCの視線ラベル列80、82及び84の例を示す。
図2を参照して、例えば参加者Aの視線ラベル列80におけるラベル「B」は、この時間帯に参加者Aが参加者Bを見ていたことを示す。同様に視線ラベル列80におけるラベル「C」は参加者Aが参加者Cを見ていたことを示す。視線ラベル列80における「視線逸らし」は、参加者Aが参加者B及び参加者Cのいずれも見ていなかったことを示す。すなわちこのラベルは、この期間に参加者Aが他の参加者から目を逸らしていたことを示す。このように参加者が他の参加者を見ていないことをこの明細書においては「視線逸らし」と呼び、その継続時間を「視線逸らし継続時間」と呼ぶ。
【0040】
視線ラベル列82及び84についても視線ラベル列80と同様に作成した。
【0041】
C.眼球の方向
人が人を見る動作において、ラベルと顔及び瞳の位置との間にはあまり大きなズレは生じない。一方、視線を逸らすという動きにおいては、視線、特に瞳の位置は非常に重要である。しかし、視線の方向を定める精度に限界があることに鑑み、この予備実験においては瞳の位置に対応する眼球の方向に関しては、中央及び中央の斜めを含む上下左右からなる9方向によりラベル付を行った。
【0042】
図2の視線ラベル列80の「視線逸らし」と記載された部分の下には、そのときに参加者Aの視線がどの方向を向いていたかを示すラベルが付加情報として記載されている。
【0043】
例えば「上」と記載された期間には参加者Aの視線が上を向いていたことを示し「右上」と記載された期間には、参加者Aの視線が右上を向いていたことを示す。このとき、顔の角度だけではなく眼球の方向も含めて視線とし、この2つの要素から総合的に判断された方向を視線の方向としている。参加者B及び参加者Cについても同様のラベル付を行った。
【0044】
D.発話権の有無及びターン交替
図3に、実際のターン交替の様子を示す。この例においては、最初に参加者Aが発話権を持ち、発話100を行っている。これをターン交替ラベル102により示す。この次に発話者Cが発話権を取り、発話104を行っている。これをターン交替ラベル106により示す。ターン交替のタイミングはアノテータが判断する。例えばターン交替ラベル106により、発話権が参加者Aから参加者Cに移動したことが明確に分かる。
【0045】
この実験においては、両者の発話権が交替するタイミングの前後1秒間の合計2秒間をターン交替108とし、特にこの間の各参加者の視線の方向の動きを視線ラベルから解析した。
【0046】
E.役割
3者対話における視線解析においては、対話における各参加者の役割が重要である。この予備実験においては、上記したように発話者、メインリスナ及びサブリスナを定義し、これらの各々についてターン交替時及びそれ以外に分けて視線解析を行った。なお、ターン交替時には発話権が移動する。ターン交替時の各参加者の役割を明確にするため、ここでは、ターン交替時における発話者とは、ターン交替により発話権をとった人のことをいう。
図3の場合には参加者Cが発話者である。ターン交替時におけるメインリスナとは、一つ前に発話権を持っていて、ターン交替により発話者に発話権を譲った人のことをいう。
図3の場合には参加者Aがメインリスナである。この発話権の交替に関与しなかった人がサブリスナである。
図3の場合、参加者Bがサブリスナである。
【0047】
F.解析結果
a.ターン交替時
ターン交替時の役割ごとの視線の動きの割合の推移について
図4に示す。
図4において、横軸は時間(単位は秒)である。時間t=0.0の時に発話者がターンを取り、話し始める。縦軸は時間tにおいて発話者がどこを見ているのかの統計に基づき、その割合(0.0-1.0)を表している。例えば
図3(A)の横軸t=0.0秒において縦軸の値を見るとML、SL、視線逸らしはそれぞれ0.37、0.19及び0.44である。これは話し始めたタイミングでの発話者の視線の先の総計の中で、0.37がメインリスナを、0.19がサブリスナを、それぞれ見ており、残る0.44は視線を逸らしていたことを表す。視線方向は0.1秒ごとに算出されており、
図3は、発話者が発話権を取り話し始めたタイミングの前後1秒ずつ、合計2秒の区間における発話者の視線のやり場の割合が、時間経過とともに遷移する様子を表している。
【0048】
なお、後述する実施形態においては、ターン交替時の2秒の区間を、ターン交替のタイミングを原点(0秒)として、-1.0秒から-0.3秒、-0.3秒から0.3秒、及び0.3秒から1秒の3つの区間に分割し、各区間の先頭において視線方向の決定を行う。そのため、予備実験においては、これら各区間についてそれぞれ別々に統計をとりモデルを作成する。
【0049】
・発話者(SP)
図4(A)にターン交替時における発話者(SP)の視線の割合の推移を示す。発話者はターンを取る1秒前はメインリスナ(ML)、つまり、前の発話者を見ている割合が高い。しかし、発話者が発話権を取り、発話を開始する時点(t=0.0秒)に向かうにつれて、メインリスナから視線を外す割合が高くなる。そして、発話者が話し始めて0.1秒経過したあたりにおいて発話者が視線を逸らす割合はピークを迎える。その後、発話者の視線がメインリスナを向く割合と視線を逸らす割合がほぼ同等に高くなり、ターン交替における視線の遷移を終える。この結果より、人はターン交替時の最初に前の発話者を見て、話を始める際に視線を逸らし、以降は視線を逸らしたまま、あるいは前の発話者であるメインリスナを見る傾向にある。
【0050】
・メインリスナ(ML)
図4(B)に、ターン交替の直前まで発話権を持っていたメインリスナの視線の割合の遷移を示す。ターン交替時には、メインリスナが発話権を発話者に渡した、発話者に取られた、又は自然に発話者が交替したなど、状況は様々に考えられる。しかし、全体として、次の発話者が話し始める前から、メインリスナには次の発話者がわかっているか又は決めており、ターン交替の1秒前から発話権を譲ってから1秒後までの発話交替の区間において、メインリスナは発話者の方を見続ける傾向にある。
【0051】
・サブリスナ(SL)
最後に、ターン交替に関与しなかったサブリスナの視線の割合の遷移を
図3(C)に示す。
図4(C)において、横軸t=-1.0秒の時、すなわち、発話者が発言する1秒前までは、サブリスナはメインリスナを見る割合及び発話者を見る割合が同等に高い。しかし、そこからt=1.0秒、つまり発話者が発話を開始し1秒経過した時点に向かうにつれてサブリスナの発話者を見る割合が高くなる。したがって、サブリスナはターン交替の1秒前からターン交替までに次発話者を推測し、それまではメインリスナの方又は次の発話者の方に視線を向け、それからは次の発話者へと視線を動かす傾向にあると考えられる。
【0052】
b.ターン交替時以外(発話期間)
ターン交替時以外を、ここでは発話期間と呼ぶ。発話期間の先頭及び末尾はターン交替の影響を受けていると考えられる。したがって、以下の発話期間における視線解析においては、発話期間の先頭及び末尾の2秒ずつについては解析の対象から除いた。
図5に、発話期間における各参加者の視線の方向の割合を示した。
図6には、
図5に示した発話区間における視線の割合の具体的な数字を表形式により示す。
【0053】
図5において、横軸は視線の方向を表す。縦軸は各方向を向いていた時間の全体に対する割合を示す。
【0054】
・発話者
図5(A)を参照して、発話者については、発話中にメインリスナを見る割合が少し高い。しかし、発話者は全体としてバランスよく視線を配分している。
【0055】
・メインリスナ
図5(B)を参照して、メインリスナの場合、発話期間の7割近くは発話者の方向をむいており、サブリスナを見る割合はかなり低い。メインリスナが目を逸らす割合はサブリスナを見る割合よりかなり高いが発話者を見る割合よりもかなり低い。
【0056】
・サブリスナ
図5(C)を参照して、サブリスナの場合も傾向はメインリスナとほぼ同様である。すなわちサブリスナも、発話期間の7割近くは発話者の方向を見ている。目を逸らす割合はメインリスナを見る割合より高いが、メインリスナが目を逸らす割合よりは低い。
【0057】
c.個性による視線の動き
視線の動きは個性によっても異なるのではないかという問題意識のもと、上記予備実験(第1の予備実験)とは別に、個性に関する視線の動きを解析するために、別の予備実験(第2の予備実験)を行った。第2の予備実験においては、男女あわせて17名の参加者による3者対話を行った。全部で14セッションを行い、各セッションにおいては10分から20分程度の自由会話を行った。3名の話者は一辺2メートル程度の正三角形の3頂点にそれぞれ配置された3個の椅子に座りヘッドセットマイクと加速度センサを装着した。これらとは別に画像深度カメラを用いて各参加者の動きを記録した。
【0058】
個性を表現する指標としてBIG5と呼ばれる指標が存在する。BIG5は人間のパーソナリティ特性を5つの次元により説明する。その一つに「外向性」がある。この予備実験において、我々は「外向性」に着目し、外向性により参加者の視線の動きがどのように異なるかを調べることを目的とした。
【0059】
この実験においては、17名の参加者の中で、特に外向性の印象が異なる2名の参加者を選定し、この2名の参加者から得られたデータにからそれぞれの視線の動きを解析した。以下の説明においてはこの2名の参加者をそれぞれ話者A及び話者Bとする。話者Aは外向寄りという印象を与え、話者Bは内向寄りという印象を与えた。この2名の視線に関する解析結果を使用して異なるモデルを構築することにより、異なった個性をロボットなどのエージェントにより表出できる可能性がある。
【0060】
・発話者として
図7(A)に、話者Aが発話者(SP)のときに、メインリスナ(ML)を見た時間、サブリスナ(SL)を見た時間、及び視線を逸らした時間(GA)の割合を示す。
図8(A)には話者Bについて得られた結果を同様に示す。
【0061】
図7(A)から、話者Aが発話者のときにはメインリスナだけではなく、サブリスナを見る時間の割合も比較的高いことが分かる。すなわち、メインリスナ、サブリスナを見る時間の割合は互いにほぼ等しく、さらに視線を逸らす時間の割合もほぼ同じことが分かる。なお、個性による区別をしていない先の予備実験の結果である
図5(A)と比較すると、話者Aがメインリスナを見る確率は相対的に低くなっている。
【0062】
一方、
図8(A)から、話者Bが発話者のときには、話者Aと比較して視線を逸らす時間帯が多く、かつサブリスナをあまり見ない傾向にあることが分かる。特に
図5(A)と比較すると、話者Bの場合には視線を逸らす時間の割合がかなり高いことも分かる。
【0063】
・メインリスナとして
図7(B)に、話者Aがメインリスナのときに、発話者を見た時間、サブリスナを見た時間、及び目を逸らした時間の割合を示す。図(B)には、話者Bについて得られた結果を同様に示す。
【0064】
図7(B)を参照して、話者Aがメインリスナのときには、発話者を見る時間の割合が非常に高く、時々、視線を逸らす傾向にあることが分かる。一方、
図8(B)を参照して、話者Bの場合は、話者Aと同様に発話者を見る時間の割合が高いものの、視線を逸らす時間の割合も話者Aよりかなり高いことが分かる。話者A及び話者Bのいずれの場合もサブリスナを見る時間の割合は低いことも分かる。
【0065】
図7(B)及び
図8(B)を
図5(B)と比較すると、これらは同じ傾向を示すことが分かる。ただし、
図8(B)に示すように話者Bの場合には視線を逸らす時間の割合が高いことが注目される。
【0066】
・サブリスナとして
図7(C)に話者Aがサブリスナのときに発話者を見た時間、メインリスナを見た時間、及び目を逸らした時間の割合を示す。
図8(C)に、話者Bについて得られた結果を同様に示す。
【0067】
図7(C)より、話者Aがサブリスナとなったときには、メインリスナの場合と同様、発話者を見る時間の割合が非常に高く、メインリスナを見たり、視線を逸らしたりする時間の割合はかなり低い。一方、
図8(C)より、話者Bがサブリスナの場合には、話者を見る時間の割合は高いものの、話者Aと比較するとその割合は低い。その代わりに話者Bの場合には、視線を逸らす時間の割合が高く、発話者を見る時間の割合と等しい。
【0068】
これらを
図5(C)と比較すると、話者Aと話者Bの傾向の違いがより明らかとなる。すなわち、話者Aは個性を考慮しない場合と比較して発話者を見る時間の割合が高く、視線を逸らす時間の割合は低い。逆に話者Bは個性を考慮しない場合と比較して、発話者を見る時間の割合が低く、視線を逸らす時間の割合が高い。なお話者Bの場合には、メインリスナを見る時間の割合もかなり低くなっている。
【0069】
d.個性による視線の継続時間
話者A及び話者Bの各々について、発話期間中(ターン交替期間以外の期間)の、発話者、メインリスナ、及びサブリスナとしての役割時における視線の継続時間の分布をそれぞれ解析した。その結果を
図9(A)から(C)及び
図10(A)から(C)にそれぞれ示す。これら図には、各条件において視線の継続時間のヒストグラムと、以下の式により表されるχ
2分布によって近似される分布曲線とを示す。
【0070】
【数1】
上式においてnはχ
2分布の自由度であり、scaleは分布曲線の縦軸方向の振幅の大きさを、locは分布曲線の横軸方向のバイアスを、それぞれ決めるパラメータである。
【0071】
話者A及び話者Bのそれぞれについて、発話者である時にメインリスナを見る継続時間、サブリスナを見る継続時間、及び視線を逸らす継続時間の3種類の継続時間の分布を算出した。
図9は話者Aの結果を、
図10は話者Bの結果を、それぞれ示す。
【0072】
図9(A)を参照して、話者Aにおいては、メインリスナを見る時間の分布の近似曲線はn=3.4,loc=0.15,scale=0.2により与えられる。
図9(B)に示されるサブリスナを見る継続時間の分布の近似曲線はn=4.34,loc=0.0,scale=0.18により与えられる。したがって、話者Aが発話者のときには、話者Bが発話者のときより、対話相手(メインリスナとサブリスナ)を見る継続時間は長めになる傾向にある。一方、
図9(C)に記される、話者Aが視線を逸らす継続時間の分布の近似曲線はn=4.67,loc=0.0,scale=0.12である。この結果から、話者Aの場合には視線を逸らす継続時間は短くなる傾向にあることが分かる。
【0073】
以上により、話者Aが発話者となったとき、対話相手を見る継続時間は長めであり、時々視線を逸らす動作は短めに行う傾向にあることが分かる。
【0074】
これに対し話者Bの場合、
図10(A)を参照して、メインリスナを見る時間の分布の近似曲線はn=7.9,loc=0.0,scale=0.1により与えられる。また
図10(B)に示されるサブリスナを見る時の継続時間の分布の近似曲線はn=4.7,loc=0.12,scale=0.12により与えられる。この結果より話者Bの場合には、メインリスナを見る継続時間及びサブリスナを見る継続時間の双方とも短めになることが分かる。さらに、
図10(C)に示す、視線を逸らす継続時間の分布の近似曲線はn=3.28、loc=0.1、scale=0.2)により与えられる。この結果より、話者Bの場合には、視線を逸らす継続時間が長めになる傾向にあることが分かる。
【0075】
以上により、話者Bが発話者の場合には視線逸らしの継続時間が長くなり、時々メインリスナ及びサブリスナの方を短時間だけ見る傾向にあることが分かる。
【0076】
なお、話者A及び話者Bの各々がメインリスナ及びサブリスナのときの視線方向の継続時間分布についての詳細はここでは示されない。しかし、これら話者が発話者のときと類似した継続時間の分布の傾向が見られた。
【0077】
e.視線逸らし
・視線逸らしの間隔
図11に、第1予備実験において参加者が発話中に視線を逸らした回数の散布図を示す。横軸は発話中の時間を示す。縦軸は人から視線を逸らした回数を示す。なお横軸の時間は前述したとおり、発話の冒頭部分と末端部分とを除いた時間である。
図11には、視線逸らしの近似直線も表している。近似直線の回帰係数rは
図11(A)、(B)及び(C)に関しそれぞれ0.83,0.82,0.67である。
図11及び
図6より、役割と関係なく視線を逸らす間隔が変わらないことが分かる。
【0078】
・眼球の向き
人が他の人を見るときの視線の動きは非常に単純である。したがってロボットが人を見る場合には、違和感のないようにロボットの顔を相手に向ければよい。しかしロボットが対話相手などから視線を逸らすときは単純な動きただけでは不十分なことが分かった。実際に収録された人による3者対話のデータを見ると、人の場合には眼球だけ移動させて視線を逸らす動きが見られた。このため、ロボットが視線を逸らすときに必要な人の眼球の動きの解析として、視線を逸らすときに人の眼球がどこを向いているのかに特に着目した。また、人が視線を逸らすときに、どの程度の時間、視線を逸らしているのかについて、その時間の分布について解析を行った。
【0079】
・視線逸らしの継続時間
図12に、人が視線を逸らす動きをした時の継続時間のヒストグラムを示す。この分布は次の指数分布により近似される。
【0080】
【数2】
ただしμ=0.2、λ=0.63である。なお、0.2秒未満のサンプルは実際のエージェントへの実装を考えたとき、非現実的だと考え、0.2秒以上のサンプルに限って分析した。解析対象となったサンプルの継続時間の平均値は0.83秒、中央値は0.55秒だった。
【0081】
・視線逸らし時の瞳の配分
人は、対話相手から視線を逸らすとき、顔だけでなく、瞳(眼球)を主に動かして視線を逸らす。そのように視線を逸らすとき、人は眼球を何回動かすのか、どのようなパターンに従って視線を逸らすのかについても解析した。
【0082】
第1の予備実験の結果から、各話者において、視線を逸らす際の眼球の向きを{前方、上、下、左、右、左上、右上、左下、右下}の9方向に分類して割合を求めた。その結果を
図13に示す。
図13を参照して、人が視線を逸らすときには、中央及び中央下側という2箇所に瞳を逸らす傾向が強いことが分かる。また、他の7箇所については、多少の偏りはあるものの、人が目を逸らす際にはほぼ同等の割合により瞳を分散させることが分かる。
【0083】
・個性による瞳の配分
第2予備実験の結果を第1予備実験と同様にして視線逸らし時の瞳の配分を解析した。
図14に話者Aの結果を、
図15に話者Bの結果を、それぞれ示す。
【0084】
図14及び
図15を参照して、第2予備実験においても、第1予備実験における結果と同様、話者Aも話者Bも、視線を逸らす際に、上方向よりも、下方向に目を逸らす頻度が高いことが分かる。ただし、話者Bの方が下方向に目を逸らす頻度が高い傾向にある。両話者とも眼球が前方を向いている(すなわち瞳が中央に位置する)頻度が比較的高い。第2予備実験において得られた3者対話データにおいては、対話者は斜め左右に位置している。そのため、話者の眼球が前方を向いているということは、話者が対話相手のいずれからも視線を逸らしていることを意味している。
【0085】
なお、
図14及び
図15においては右下に瞳を逸らす割合が、
図13と比較して高く、中央及び中央下部のいずれでもない他の6箇所と比較しても高い。この偏りの原因は不明である。しかし、我々は、
図13の結果に鑑み、後述の実施形態においては
図14及び
図15の場合も、視線逸らし時には、中央及び中央下部以外の7箇所には、ほぼ均等に瞳が向くような実装をした。
【0086】
・視線逸らしの回数
第1実験においても第2実験においても、対話参加者が視線を逸らすとき、一点を長時間見ているのではなく、眼球を複数回動かす傾向が見られた。視線逸らしの時間が長くなるほど、眼球を動かす回数も多くなる傾向が見られた。視線を逸らした回数ごとの継続時間の分布を解析した結果に基づき、後掲の実施形態においては、ロボットが視線を逸らす回数は、視線逸らしの継続時間が0.7秒以下のときに1回、1.4秒以下のときに2回、2.1秒以下のときに3回、というように、0.7秒ごとに1回だけ、眼球を動かす回数を増やすこととした。
【0087】
第2 実施形態
1.システム構成
図16を参照して、以下にロボット160を制御するための、この発明の実施形態に係る視線制御システムを採用した会話ロボットシステム150の構成を説明する。ロボットなどのエージェントが人と対話するためには、音声認識機能、音声合成機能、及びこれらを使用した対話機能を実装する必要がある。この実施形態においては、これら機能については既存のものを用いることを前提とする。また3者対話を行うためには、ターン交替及び各対話参加者の役割を動的に認識する必要がある。ターン交替を認識するのは難しいが、例えば以下の参考文献に記載されたターン交替のタイミングを認識する技術を利用できる。
【0088】
Chaoran Liu et al, “Turn-taking Estimation Model Based on Joint Embedding of Lexical and Prosodic Contents”, INTERSPEECH 2017, [Online], August 20-24, 2017, Stockholm, Sweden, [令和4年5月3日検索], インターネット <URL:https://isca-speech.org/archive_v0/Interspeech_2017/pdfs/0965.PDF>
上記参考文献においては、ターン交替のタイミングを検出するモデルを使用している。それに対し本実施形態においてはターン交替のタイミングの1秒前を検出する必要がある。しかし、これについても、検出すべきタイミングをターン交替の1秒前に設定した上で、上記参考文献に記載の手法を用いてモデルの訓練を行うことによりターン交替のタイミングの1秒前を検出できる。
【0089】
また、以下の実施形態においては、ロボットを含めた参加者の役割の認識と、ロボットが発話権を獲得する動作をすべきか否かについての認識とは、所与のものとして外部から与えられるものとする。しかし、例えば発話者が誰かについては、発話者の位置を把握した上で、後述するように音源を定位することにより特定できる。またメインリスナが誰かについては対話参加者の顔画像に基づき、発話者が各参加者の方を向いている時間の割合などに基づいて推定できる。ロボットがメインリスナならば、ターン交替が検出されたときに発話を開始するようにすればよい。ロボットが発話者のときには、他の参加者の顔画像から、より長い時間だけロボットの方向を向いている参加者をメインリスナにする、などの手法も考えられる。
【0090】
図16に、この実施形態に係る会話ロボットシステム150のハードウェア構成を示す。
図16を参照して、会話ロボットシステム150は、ロボット160の視線制御を行うための確率モデルを記憶した確率モデル記憶装置172と、確率モデル記憶装置172に記憶された確率モデルを使用してロボット160の視線に関する動作を制御するための動作制御PC(Personal Computer)162と、動作制御PC162が接続されるネットワーク176とを含む。この実施形態に係るロボット160は、他の2人の対話参加者とともに3者対話を行うためのものである。
【0091】
会話ロボットシステム150はさらに、対話相手の位置を検出するための人位置センサ178、及び人位置センサ178とネットワーク176とに接続された人位置認識PC180を含む。人位置センサ178は対話相手の位置を検出して検出信号を人位置認識PC180に与えるためのものである。人位置認識PC180は、人位置センサ178からの信号に基づいて、ロボット160から見た対話相手の位置を算出し、ネットワーク176を介して動作制御PC162に送信するためのものである。
【0092】
会話ロボットシステム150はさらに、マイクロフォン164と、マイクロフォン164から受ける音声信号に基づいて対話参加者の発話内容の認識とターン交替及び各参加者の役割とを認識し、その結果をネットワーク176を介して動作制御PC162に送信するための音声処理PC166とを含む。マイクロフォン164はマイクロフォンアレイであり、音声処理PC166はマイクロフォン164の出力に基づいて音源の位置が特定できる。音声処理PC166は、発話テキスト、ターン交替の検出情報、及び各参加者の役割とともに、発話を行った人物の位置を示す情報も動作制御PC162に送信する機能を持つ。動作制御PC162は、発話テキストの内容と音声処理PC166によるターン交替のタイミングの検出結果及び役割の認識結果とに基づいて、自己が発話権を取得すべきか否かを判定する機能を持つ。
【0093】
会話ロボットシステム150はさらに、発話テキストを受けてそのテキストに対応する音声信号を生成するための音声合成PC170と、音声合成PC170から音声信号を受けて音声に変換するためのスピーカ168とを含む。音声合成PC170による音声合成の声質は、ロボット160の外観にふさわしいものに選ばれる。
【0094】
会話ロボットシステム150はさらに、ネットワーク176に接続され、ネットワーク176を介して他のPCから発話テキストを受けたことに応答して、その発話に対する応答を生成し出力するための対話用PC174を含む。動作制御PC162は、音声処理PC166によりロボット160が発話権を取得すべきと判定されたときには、発話者の発話のテキストを対話用PC174に送る機能を持つ。対話用PC174がこの入力に対する応答の発話テキストを生成して動作制御PC162及び確率モデル記憶装置172に送信することにより、その発話テキストに対応する音声が音声合成PC170及びスピーカ168により生成され、動作制御PC162は発話に対応して音声処理PC166の動きを制御できる。
【0095】
音声処理PC166は、マイクロフォン164の出力する音声信号に対して音声認識を行い、さらにマイクロフォン164の出力に基づいて音源定位を行って、音声認識の結果として得られるテキストと、発話者の位置を示す情報とを動作制御PC162に送信する機能を持つ音声認識部190とを含む。音声処理PC166はさらに、音声認識部190の出力するテキストと、マイクロフォン164の音声信号から得られる音声パワー及び基本周波数F0を含む韻律情報とを用いて、上記した参考文献により開示された方法に従ってターン交替を検出する処理と、ターン交替に伴う各参加者の役割を認識する処理とを実行し、結果を動作制御PC162に送信するためのターン認識部192を含む。
【0096】
図17にロボット160の外観を示す。
図17に示すようにロボット160はやや小ぶりなロボットであり、上半身及び頭部を左右に回転させることができる。さらにロボット160の眼球には大きな瞳が描かれており、眼球の回転角度を制御することによりロボット160の視線方向を上下左右に移動させることができる。
【0097】
2.ハードウェア構成
図18は、例えば
図16に示す動作制御PC162として動作するコンピュータシステムのハードウェアブロック図である。
図16に示す音声処理PC166、音声合成PC170、及び人位置認識PC180についても動作制御PC162とほぼ同様の構成のコンピュータシステムにより実現できる。ここではこれらPC162を代表するものとしてコンピュータシステム250の構成についてのみ述べることとし、個々のPCの構成の詳細については述べない。
【0098】
図18を参照して、このコンピュータシステム250はDVD(Digital Versatile Disc)ドライブ302を有するコンピュータ270と、いずれもコンピュータ270に接続された、ユーザと対話するためのキーボード274、マウス276、及びモニタ272とを含む。もちろんこれらはユーザ対話が必要となったときのための構成の一例であって、ユーザ対話に利用できる一般のハードウェア及びソフトウェア(例えばタッチパネル、音声入力、ポインティングデバイス一般)ならばどのようなものも利用できる。
【0099】
図18を参照して、コンピュータ270は、DVDドライブ302に加えて、CPU(Central Processing Unit)290と、GPU(Graphics Processing Unit)292と、CPU290、GPU292、DVDドライブ302に接続されたバス310と、バス310に接続され、コンピュータ270のブートアッププログラムなどを記憶するROM(Read-Only Memory)296と、バス310に接続され、プログラムを構成する命令、システムプログラム、及び作業データなどを記憶するRAM(Random Access Memory)298と、バス310に接続された不揮発性メモリであるSSD(Solid State Drive)300とを含む。SSD300は、CPU290及びGPU292が実行するプログラム、並びにCPU290及びGPU292が実行するプログラムが使用するデータなどを記憶するためのものである。コンピュータ270はさらに、他端末との通信を可能とするネットワーク176への接続を提供するネットワークI/F(Interface)308と、USB(Universal Serial Bus)メモリ284が着脱可能で、USBメモリ284とコンピュータ270内の各部との通信を提供するUSBポート306とを含む。
【0100】
コンピュータ270はさらに、マイクロフォン164及びスピーカ168とバス310とに接続され、CPU290により生成されRAM298又はSSD300に保存された音声信号、映像信号及びテキストデータをCPU290の指示に従って読み出し、アナログ変換及び増幅処理をしてスピーカ168を駆動したり、マイクロフォン164からのアナログの音声信号をデジタル化し、RAM298又はSSD300の、CPU290により指定される任意のアドレスに保存したりする機能を持つ音声I/F304を含む。
【0101】
上記実施形態においては、動作制御PC162、音声処理PC166、音声合成PC170、及び人位置認識PC180などの機能を実現するプログラムなどは、いずれも例えば
図18に示すSSD300、RAM298、DVD278又はUSBメモリ284、若しくはネットワークI/F308及びネットワーク176を介して接続された図示しない外部装置の記憶媒体などに格納される。典型的には、これらのデータ及びパラメータなどは、例えば外部からSSD300に書込まれコンピュータ270の実行時にはRAM298にロードされる。
【0102】
このコンピュータシステムを、
図7に示す動作制御PC162、音声処理PC166、音声合成PC170、及び人位置認識PC180並びにその各構成要素の機能を実現するよう動作させるためのコンピュータプログラムは、DVDドライブ302に装着されるDVD278に記憶され、DVDドライブ302からSSD300に転送される。又は、これらのプログラムはUSBメモリ284に記憶され、USBメモリ284はUSBポート306に装着され、プログラムがSSD300に転送される。又は、このプログラムはネットワーク176を通じてコンピュータ270に送信されSSD300に記憶されてもよい。
【0103】
プログラムは実行のときにRAM298にロードされる。もちろん、キーボード274、モニタ272及びマウス276を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをSSD300に格納してもよい。上記実施形態のようにスクリプト言語の場合には、キーボード274などを用いて入力したスクリプトをSSD300に格納してもよい。仮想マシン上において動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ270にインストールしておく必要がある。音声認識及び音声合成などにはニューラルネットワークが使用される。訓練済のニューラルネットワークを使用してもよいし、会話ロボットシステム150において訓練を行ってもよい。
【0104】
CPU290は、その内部のプログラムカウンタと呼ばれるレジスタ(図示せず)により示されるアドレスに従ってRAM298からプログラムを読み出して命令を解釈し、命令の実行に必要なデータを命令により指定されるアドレスに従ってRAM298、SSD300又はそれ以外の機器から読み出して命令により指定される処理を実行する。CPU290は、実行結果のデータを、RAM298、SSD300、CPU290内のレジスタなど、プログラムにより指定されるアドレスに格納する。アドレスによってはロボットのアクチュエータへの指令、音声信号などとしてコンピュータから出力される。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、DVD278から、USBメモリ284から、又はネットワーク176を介して、RAM298に直接にロードしてもよい。なお、CPU290が実行するプログラムの中で、一部のタスク(主として数値計算)については、プログラムに含まれる命令により、又はCPU290による命令実行時の解析結果に従って、GPU292にディスパッチされる。
【0105】
コンピュータ270により上記した実施形態に係る各部の機能を実現するプログラムは、それら機能を実現するようコンピュータ270を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ270上において動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、コンピュータ270にインストールされる各種ツールキットのモジュール又はプログラムの実行環境により提供される場合もある。したがって、このプログラムはこの実施形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中で、所望の結果が得られるように制御されたやり方によって適切な機能又はモジュールなどを静的にリンクすることにより、又は動的に呼出すことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ270の動作方法は周知なので、ここでは繰り返さない。
【0106】
なお、GPU292は並列処理を行うことが可能であり、機械学習に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中に発見された並列的計算要素、又はプログラムの実行時に発見された並列的計算要素は、随時、CPU290からGPU292にディスパッチされ、実行され、その結果が直接に、又はRAM298の所定アドレスを介してCPU290に返され、プログラム中の所定の変数に代入される。
【0107】
3.機能的構成
図19に、この実施形態に係る会話ロボットシステム150の中の視線制御に関連する部分である視線制御システム350の機能的構成を示す。
図19を参照して、視線制御システム350は、ロボット160及び他の対話参加者の現在の役割を判定し出力するための役割判定部360と、ターン交替を検出するためのターン交替検出部362とを含む。この実施形態においてはターン交替の検出及び対話参加者の役割についてはその都度検出している。しかし、例えばあらかじめ準備したシナリオにそってロボットを含む3者対話を行う場合には、各参加者の役割及びターン交替はシナリオによりほぼ特定される。そのため、役割判定部360及びターン交替検出部362を設ける必要はない。後述する評価実験はそうした条件で視線制御を行っている。
【0108】
視線制御システム350はさらに、ターン交替時及び発話中のロボット160の視線方向を確率的に決定するための視線方向モデル364と、ロボット160の視線逸らし時の視線方向を過効率的に決定するための視線逸らしモデル366と、ロボット160の個性(外向的、内向的、中立)に関する情報を記憶するための個性情報記憶部368とを含む。視線方向モデル364の詳細については
図20及び
図21を参照して後述する。モデル366の詳細については
図22及び
図23を参照して後述する。なお、視線方向モデル364及び視線逸らしモデル366はいずれも
図16に示す確率モデル記憶装置172に記憶される。個性情報記憶部368も実際には確率モデル記憶装置172により実現される。確率モデル記憶装置172は
図18のSSD300により実現される。
【0109】
視線制御システム350はさらに、ターン交替検出部362からターン交替が検出されたことを示す信号を受けたことに応答して、役割判定部360からロボット160及び他の対話参加者の役割に関する情報を受けて、視線方向モデル364、個性情報記憶部368及び368を使用してロボット160の視線動作を制御するためのパラメータを作成するための視線動作生成部370と、視線動作生成部370により作成されたパラメータに従って、ロボット160の視線を制御するための各種のアクチュエータ(図示せず)を制御するための視線動作制御部372とを含む。
【0110】
4.モデル構成
A.視線方向モデル364
図20を参照して、視線方向モデル364は、個性及び役割の組み合わせに応じてあらかじめ準備される発話時視線方向モデル400と、個性別及び役割の組み合わせに応じてあらかじめ準備される視線継続時間モデル402と、個性及び役割の組み合わせに応じてあらかじめ準備される、それぞれターン交替時の1回目、2回目、及び3回目の区間における視線方向の決定のためのターン交替時視線方向モデル404、406及び408とを含む。
【0111】
発話時視線方向モデル400の構成は
図6に示したものと実質的に同じである。
図6に示したものは例えば外向的な参加者のモデルである。したがって発話時視線方向モデル400は、
図6に示したものに加えて、内向的な参加者のためのモデル、及び中立的な参加者のためのモデルを含む。
【0112】
図21に、視線継続時間モデル402の構成の1例を示す。
図21を参照して、視線継続時間モデル402は、ロボット160の役割(発話者、メインリスナ及びサブリスナ)、及びロボット160に想定される個性(外向的、内向的、中立)の組み合わせに応じ、各視線先(自分の役割を除く他の参加者の役割)の各々について、χ
2乗分布曲線の自由度(n)、横軸方向のバイアス(loc)及び縦軸方向の振幅(scale)の値を記憶したものである。これらの値をχ
2乗分布の式に代入することで分布を特定し、その分布からランダムに値をサンプリングすることにより、視線方向の決定時にその継続時間も決定できる。
【0113】
ターン交替時視線方向モデル404、406及び408は、発話時視線方向モデル400と同じ構成を持つ。違いは、その格納した値が、ターン交替時の各区間に限定されているという点である。
【0114】
B.視線逸らしモデル366
図22に、
図19に示す視線逸らしモデル366の構成を示す。
図22を参照して、視線逸らしモデル366は、ターン交替時視線逸らし方向モデル450及び発話時視線逸らし方向モデル452を含む。これらモデルはいずれも、個性別に設けられる。
【0115】
図23にターン交替時視線逸らし方向モデル450の構成の一例を示す。
図23を参照して、ターン交替時視線逸らし方向モデル450は、例えば
図14に示す外向的な参加者の視線逸らし方向をモデル化したものである。この実施形態においては、ターン交替時視線逸らし方向モデル450は配列により実現されている。各要素は、
図14の中央の列及び右の列を最も左側の列の下に移動させたときの順番に配列されている。各要素は、視線逸らし方向(左上から右下までの9方向)と、その方向に視線を逸らす割合(確率)とを示す。
図14において「L」は左を、「C」は中央を、「R」は右を、「U」は上を、「D」は下を、それぞれ示す。例えば「LD」は左下を表し、「CD」は中央下を表す。
【0116】
後述するように、プログラムがターン交替時視線逸らし方向モデル450を参照することにより、ロボット160の役割に応じ、ターン交替時にロボット160が視線逸らしを行うときの方向を確率的に定めることができる。
【0117】
5.プログラム構成
A.全体構成
図24に、この実施形態に係るロボット160を制御するために視線制御システム350が実行するプログラムの全体構成をフローチャート形式により示す。
図24を参照して、このプログラムは、一定の時間間隔をもって繰り返し起動され、起動時に対話の状態(ターン交替時か否か、各対話参加者の役割は何か、など)をセンシングするステップ480と、現時点が視線方向を決定するタイミングか否かに従って制御の流れを分岐させるステップ482とを含む。視線方向を決定するタイミングとは、例えばターン交替時であれば、ターン交替が発生するタイミングを0秒として-1秒、-0.3秒、及び0.3秒となったときである。ターン交替時以外、すなわち発話時には、その前の視線方向決定の際に決定された視線の継続時間が満了した時点である。その方向が視線逸らし方向であり、その継続時間が0.7秒以上となったときには、さらに0.7秒ごとに視線方向を決定し直す処理を行う。これらのタイミングについては、各イベントが発生したときにその時間をタイマに設定し、タイマが満了したか否かに従って検出できる。
【0118】
このプログラムはさらに、ステップ482の判定が肯定のときに実行され、現在のロボット160に割当てられた役割と、その個性と、発話時かターン交替時かという情報との組み合わせに従って、視線方向モデル364から選択したモデル、又はさらに視線逸らしモデル366から選択したモデルに従って視線方向とその継続時間とを決定するステップ484と、ステップ484の後、及びステップ482における判定が否定的である場合には直接に実行され、ロボット160の各部をステップ484で設定されたパラメータに従って制御してプログラムの実行を終了するステップ486とを含む。なお、このプログラムでは、図示していない他のステップにおいてロボットのための音声認識、音声合成、及び姿勢の制御などのための処理も実行される。ステップ486ではそうした処理に基づく制御も行われる。
【0119】
ステップ486では、ステップ484において決定されたパラメータに従って、タイマの進行にあわせてロボット160の視線を制御するために、ロボット160の頭部の向き、及び眼球の位置などが制御される。プログラムが実行されるたびに、時間が進行するため、プログラムが実行されるたびにロボット160の頭部の位置及び眼球の位置が変化していく。
【0120】
B.ステップ480(状態センシング)
図25に、
図24のステップ480を実現するプログラムの構成をフローチャート形式により示す。
図25を参照して、ステップ480は、
図19に示す役割判定部360からロボット160及び各参加者の役割を示す情報を読み出すステップ510と、
図19に示すターン交替検出部362からターン状態を示す情報を読み出すステップ512と、
図19に示す個性情報記憶部368からロボット160に付与された個性を示す情報とを読み出してこのプログラムの実行を終了するステップ514とを含む。
【0121】
ロボット160に付与された個性は固定されていると考えてよい。したがって個性に関する情報は必ずしもプログラムの実行の繰り返しごとに読み出す必要はない。しかし個性だけではなく、感情などのように時間により変化することが想定される状態まで含めてロボット160に付与する場合には、
図25に示すようにプログラムの実行の繰り返しごとにその情報を読み出すことが望ましい。
【0122】
C.ステップ484(視線方向と継続時間の決定)
図26を参照して、ステップ484は、ロボット160に割当てられた役割、ターン状態、及び個性に応じた視線方向モデル及び視線継続時間モデルを視線方向モデル364から選択し読み出すステップ550と、同じくロボット160に割当てられた役割、ターン状態、及び個性に応じたターン交替時視線逸らし方向モデル450又は発話時視線逸らし方向モデル452を視線逸らしモデル366から選択し読み出すステップ552とを含む。ステップ550では、ターン状態が発話時であれば
図20に示す発話時視線方向モデル400が選択される。ターン状態がターン交替時であれば、タイミングに従いターン交替時視線方向モデル404及び406及び408のいずれか1つが選択される。
【0123】
このプログラムはさらに、ステップ552に続き、一様分布から[0,1]の範囲の値pをサンプリングするステップ554と、ステップ554においてサンプリングされた値pを用い、ステップ550において選択された視線方向モデルから視線方向を決定するステップ556とを含む。この明細書では、このようにして視線方向モデルを[0,1]の範囲でランダムにサンプリングされた値を用いて視線方向を決定することを「視線方向のサンプリング」と呼ぶ。ステップ556の詳細については
図27を参照して後述する。
【0124】
このプログラムはさらに、ステップ554と同様、一様分布から[0,1]の範囲の値pをサンプリングするステップ558と、ステップ550で読み出された視線継続時間モデル402から、
図25示す処理により設定されたロボット160の役割及びロボット160に付与された個性に従ったχ
2乗分布のパラメータn、loc及びscaleを読み出しこれら値とステップ558においてサンプリングされた値pとを用いて視線の継続時間を決定するステップ560とを含む。ステップ560の詳細については
図28を参照して後述する。
【0125】
このプログラムはさらに、ステップ556で決定された視線方向が視線逸らしか否かに従って制御の流れを分岐させるステップ562を含む。ステップ562の判定が否定のときにはこのプログラムの実行は終了する。
【0126】
このプログラムはさらに、ステップ562の判定が肯定的であることに応答して、一様分布から[0,1]の範囲の値pをサンプリングするステップ564と、ステップ564でサンプリングされた値pを用い、ステップ556で選択された視線方向モデルを用いて視線方向を決定してこのプログラムの実行を終了するステップ566とを含む。ステップ566の詳細については
図29を参照して後述する。
【0127】
図27に、
図26のステップ556の詳細をフローチャート形式で示す。なおこの図では、視線をメインリスナに向ける確率を表す変数として変数S
M、視線を発話者に向ける確率としてS
S、及び視線をサブリスナに向ける確率としてS
Bを、それぞれ用いる。
図27を参照して、ステップ556は、変数S
Sの値と変数S
Mの値とを合計した値を変数S
Mに代入し、このように値が算出された変数S
Mとの値と変数S
Bの値とを合計した値を変数S
Bに代入するステップ600を含む。この計算を行うことにより、変数S
Sには発話者の方向を向く確率が格納される。変数S
Mには発話者の方向を向く確率とメインリスナの方向を向く確率とが合算された値が格納される。変数S
Bには発話者、メインリスナ及びサブリスナの方向を向く確率が合算された値が格納される。
【0128】
このプログラムはさらに、ステップ600に続き値pが変数SSの値より小さいか否かに従い制御の流れを分岐させるステップ602と、ステップ602における判定が肯定的であるときに、視線方向を発話者の方向であると決定しこのプログラムの実行を終了するステップ604とを含む。
【0129】
このプログラムはさらに、ステップ602における判定が否定的であることに応答して、値pが変数SMの値より小さいか否かに従って制御の流れを分岐させるステップ606と、ステップ606における判定結果が肯定的であることに応答して、視線方向をメインリスナの方向であると決定してこのプログラムの実行を終了するステップ608とを含む。
【0130】
このプログラムはさらに、ステップ606における判定が否定的であることに応答して、値pが変数SBの値より小さいか否かに従って制御の流れを分岐させるステップ610と、ステップ610における判定が肯定的であるときに、視線方向をサブリスナの方向に決定してこのプログラムの実行を終了するステップ612と、ステップ610における判定が否定的であるときに、視線方向を視線逸らし方向であると決定してこのプログラムの実行を終了するステップ614とを含む。
【0131】
ステップ600における処理を行うことにより、こうしたアルゴリズムを用いて、値pとモデルの表す確率とに従い視線方向を決定できる。
【0132】
図28に、
図26のステップ560で実行されるプログラムの制御構造をフローチャート形式で示す。
図28を参照して、このプログラムは、
図26のステップ556において選択された視線継続時間モデル402から値n、loc、及びscaleを読み出すステップ650と、[0,1]の一様分布から値pをサンプリングしこの値を変数xに代入するステップ652と、既に述べた視線継続時間を算出するχ
2乗分布の式にn、loc、scale及びxの値を代入することにより視線の継続時間を算出してこのプログラムの実行を終了するステップ654とを含む。
【0133】
図29に
図26のステップ566を実現するプログラムの制御構造をフローチャート形式で示す。
図29を参照して、このプログラムは、プログラム中のループ処理のための繰り返し変数iに0を、
図23に示す各確率を配列番号0から順番に累積していくための変数Sに0を、それぞれ代入するステップ680と、ステップ680に続き、変数iの値が8より小さいか否かに従って制御の流れを分岐させるステップ682とを含む。ここで「8」とは、
図23に示す配列における添字の最大値である。
【0134】
このプログラムはさらに、ステップ682の判定が肯定的であるときに、変数Sに、
図23に示す配列の確率P(i)を加算するステップ684と、変数pの値が変数Sの値より小さいか否かに従って制御の流れを分岐させるステップ686と、ステップ686の判定が否定的であるとき、すなわち変数pの値が変数Sの値以上であるときに、変数iの値に1を加算して制御をステップ682に戻すステップ688とを含む。ステップ686における判定が肯定的である場合には、視線逸らし方向を
図23の配列における視線逸らし方向D(i)に決定しプログラムの実行を終了するステップ690を含む。
【0135】
このプログラムはさらに、ステップ682における判定が否定的であることに応答して、視線逸らし方向を視線逸らし方向D(8)に決定しプログラムの実行を終了するステップ692を含む。
【0136】
このプログラムを実行することにより、例えば
図14に示す確率の分布に従って視線逸らし方向を決定できる。
【0137】
6.動作
この実施形態に係る会話ロボットシステム150は以下のように動作する。なお以下の説明は、視線制御システム350に関するもののみについて、主として
図24から
図29を参照して行う。
【0138】
視線制御システム350が起動されると、
図24のステップ480が実行される。この例では、ロボット160を含む対話参加者の各役割、ターン状態としてはあらかじめ定める初期値として役割=発話者、ターン状態として発話期間(ターン交替期間以外)が設定されているものとする。また
図19に示す個性情報記憶部368にはロボット160に付与する個性を示す情報が格納されているものとする。ここでは、ロボット160には「外向的」という個性が付与されているものとする。ステップ480ではこうした情報が
図18のRAM298に読み込まれる。
【0139】
続いてステップ482において、視線方向決定のタイミングか否かが決定される。ターン状態の初期値として発話期間が設定されており、かつ視線継続時間のタイマがクリアされているものとすると、
図24のステップ482における判定は肯定となり、制御はステップ484に進む。
【0140】
図26を参照して、ステップ550では、役割=発話者、ターン状態=発話期間、個性=外向的に対応する発話時視線方向モデル400が読み出され、ステップ552では役割=発話者、個性=外向的に対応する視線継続時間モデル402がそれぞれ選択される。さらにステップ554において値pがサンプリングされ、ステップ556が実行される。ステップ556においては、
図27に示す処理が実行され、視線方向が決定される。ここではロボット160の役割は発話者なので、視線方向としてはメインリスナ、サブリスナ及び視線逸らしのいずれかが選択される。
【0141】
図26に戻り、ステップ558において値pが再びサンプリングされる。続くステップ560においては以下のように視線継続時間が決定される。
【0142】
図28を参照して、ステップ650において、
図26のステップ552において読み出された視線継続時間モデル402から、ロボット160の役割及びロボット160に付与された個性に従ったχ
2乗分布のパラメータn、loc及びscaleが読み出される。ステップ652において、ステップ558においてサンプリングされた値pが変数xに代入される。続くステップ654において、パラメータn、loc及びscaleと変数xの値とを継続時間計算のための式に代入して値を計算することにより視線の継続時間が決定される。
【0143】
再び
図26に戻り、続くステップ560においては、ステップ556で決定された視線方向が視線逸らしか否かが判定される。ここでは視線方向が視線逸らしではないとする。すると、
図26に示す処理(
図24のステップ484)は直ちに終了する。
図24に戻り、ステップ486においては、ステップ484で決定された視線方向及び視線継続時間に従ったロボット160の制御が開始される。なおステップ486においては、これら視線制御以外についてもロボット160の制御が実行される。仮にステップ556で決定された視線方向が視線逸らしであれば、
図26のステップ564及び566が実行されてロボット160の視線逸らしの方向が決定される。ステップ486においては、ロボット160の視線はメインリスナでもサブリスナでもない方向となるように制御される。
【0144】
次に
図24に示す処理が起動されたものとする。ステップ480は1回目の処理と同様である。ステップ482においては、まだ視線方向の継続時間が満了していないのでステップ484の処理は実行されず、ステップ486の処理だけが実行される。したがって、ロボット160の視線方向の変化がまだ完了していなければ視線方向の変化が継続して実行され、完了していればその視線方向が維持される。
【0145】
こうして
図24の処理が複数回実行された後、ターン交替が検出されたものとする。ここでは実際のターン交替のタイミングの1秒前が検出され
図24のステップ480においてロボット160に通知される。ターン交替のタイミングの1秒前は視線方向決定のタイミングである。したがって上記したステップ484の処理が再度実行されて、ロボット160の新しい役割と、ターン状態=ターン交替期間と、ロボット160の個性とに応じて選択された視線方向モデルと視線継続モデルとを用いて新たな視線方向と新たな視線継続時間が決定される。その後、
図24のステップ486によりロボット160の視線の制御が新たなパラメータに従って開始される。
【0146】
以下、視線制御システム350は上記した処理を繰り返す。なお、既に述べたとおり、直前に決定した視線継続時間が満了した時、又はターン交替のタイミングを0秒として-1秒、-0.3秒、及び0.3秒のときにロボット160の視線方向の決定が行われる。
【0147】
なお、実際の3者対話では、視線逸らしのときには、一点を長時間見ているのではなく、途中で視線方向が変化することが観測された。この変化の回数は、視線逸らしの時間が長いほど多くなる傾向が見られた。そこで、視線を逸らした回数ごとの継続時間の分布の解析結果により、継続時間が0.7秒以下で1回、1.4秒以下で2回、2.1秒以下で3回、というように、0.7秒ごとに1回、視線方向を変化させる回数を増やすこととした。
【0148】
この場合にも、基本的には
図13から
図15に示す分布に従って視線方向を変化させた。ただし視線逸らしの間にさらに視線方向を変化させる場合、それまでの視線方向を中央とし、中央以外に視線方向を変化させることを前提に
図13から
図15に示す分布を適用した。また視線逸らしの間に2回以上視線方向を変化させる場合には、実際の観察結果として、視線を直前の方向に戻す傾向が見られたため、実装としても直前の視線方向に戻すようにした。
【0149】
第3 評価実験
1.評価実験1
上記実施形態に係るロボット160について、個性を指定しない場合の視線方向の変化が観察者にどのように感じられるかについての評価実験を行った。
【0150】
A.モデル
この実施形態では、役割ごとの視線パターン及び視線を逸らすときの瞳の動きが対話における重要な要素である。そのため、評価実験では以下の4つの条件によりロボット160の動きに対する評価を比較することにした。
【0151】
a.ベースライン(同割合-頭部モデル)
ベースラインとして、ロボット160の役割が発話者の時、2人の対話者の方向に同じ割合でロボットが視線を向けるモデルを使用した。2人の対話者とそれ以外のところを見る割合であるが、第1の対話者、第2の対話者、及びそれ以外を見る割合をおおよそ3:3:4になるように設定した。この際、ロボットが視線を向ける場所については、人の顔又は2人の対話者の間に角度4度を分散とした2次元ガウス分布を適用して得られた場所をロボットが見るようにした。聞き手の時は違和感を所持させないように、ロボットが話者の方向を向くようにした。
【0152】
b.比較モデル(同割合-頭部-眼球モデル)
ロボットの視線制御では、眼球の動きが大切である。そのため、前述の同割合モデルにおいて、動かす部位を頭だけでなく眼球も追加し共に動かすモデルとした。
【0153】
c.評価モデル1(実施形態に係る頭部-眼球モデル)
上記実施形態に基づいた視線制御及び視線逸らしの実装を行ったモデルである。
【0154】
d.評価モデル2(実施形態に係る頭部モデル)
前述の評価モデルの中で、眼球の動作をなくし、頭部動作のみを行うモデルである。
【0155】
B.印象評価
この実施形態において最も期待したい効果はロボットの振る舞いが自然らしいかどうかである。そのため、評価者に対する質問として「全体的にロボットの振る舞いは自然に感じましたか」という質問項目を設けた。
【0156】
C.実験の設定
この評価実験においては、実際に収録した3人により行われた対話の中の1人の会話音声をロボットに搭載したビデオを上記したモデルごとに作成した。その結果、4本のビデオが得られた。それらのビデオを評価者に視聴してもらい、その時の視線の動き方について評価してもらった。実際には
図30により示すような動画を各評価者に見てもらった。
【0157】
男女30人(平均年齢32.1歳、分散10.3)に対して4つの動画を視聴してもらい、それぞれに対して印象評価をしてもらった。
図30にこの実験において使用したビデオ画像720の1例を示す。実験はあくまでロボット160の視線方向の変化に関するものである。したがってこの評価実験では、発話は実際の人間による3者対話を使用し、その中の一人の発話をロボット160が行うようにした。その際には、ロボット160の視線方向をロボット160の役割、個性、ターン状態に従って、上記実施形態と同様に動くように制御した。実際の3者対話についてはラベル付がされているため、
図16に示す役割判定部360及びターン交替検出部362などについては不要で適切なタイミングでそうしたラベルに応じた情報を視線動作生成部370に与えるようにした。
【0158】
ビデオ画像720は、
図30に示すように中央にロボット160の動画を配置し、左右に他の2人の話者を示す簡単なキャラクタ画像730及び732を配置した。キャラクタ画像730及び732は3者対話であることを示すためのものだが、例えばロボット160の右側(
図30の左側)に存在する話者が発話しているときにはキャラクタ画像730の周りに発話していることを示すサインを表示するようにした。ロボット160の左側(向かって右側)の話者の場合も同様である。
図30は向かって右側の話者が発話している状況を示す。
【0159】
評価実験では、このような4本の動画を男女30人に視聴してもらい、印象評価を収集した。なお、この動画の視聴時には、向かって右側の話者の発話は評価者の右耳に、左側の話者の発話は評価者の左耳に、ロボットの発話は評価者の両耳に、それぞれ聞こえるようにした。こうした形で、前述した4つのモデルについてそれぞれ個別に印象評価をしてもらった。
【0160】
実験手順は次のとおりである。まず、順序効果を減らすために4つの動画の提示順序をランダム化した。次に、4つの手法の動画について個別に7点スケール(1:とても不自然、4:どちらともいえない、7:とても自然)で評価者に印象評価してもらった。以上を1セットとし、このセットを3つの対話区間(各対話区間の長さは1分程度)に対し合計12個の動画について印象評価し、結果を集計した。
【0161】
D.評価結果
上記3つの対話区間の中で、2つでは条件間に有意差が認められなかった。残りの1対話区間では
図31に示すように条件間で有意差が見られた。
図31に、「全体的にロボットの振る舞いは自然に感じましたか」という質問に対する評価結果を示す。各モデルについて、結果の平均値、標準誤差、ライアン法に基づいて多重比較の結果をそれぞれ算出した。
【0162】
ライアン法の結果、ベースラインモデルと評価モデル1の間にp値0.020(≦.05)、比較モデルと評価モデル1の間にp値0.001(≦.05)、評価モデル2と評価モデル1との間にp値0.008(≦.05)と、それぞれ有意差が見られた。
【0163】
以上の結果から、上記4つのモデルの中では、実施形態にもとづいた評価モデル3によるロボットの振る舞いが最も自然であることが示された。
【0164】
2.評価実験2
上記評価実験1の設定に加え、ロボットの視線制御に個性まで考慮し、視線動作による個性(外向性)の印象を評価するための実験を行った。
【0165】
A.実験手法
視線動作を評価するための実験を行うため、まず3者対話データから話者A又は話者Bが参加している対話区間を抽出した。さらに、各話者の会話音声を用いて、ロボットの視線動作を生成し、動画を作成した。実験では複数の条件において生成した視線動作を評価してもらった。視線動作による個性表出の印象の違いを調べるため、話者Aのデータから作成したモデル(PA-M)と、話者Bのデータから作成したモデル(PB-M)を使ってロボットの視線動作を生成した。比較対象として、話者の視線動作を再現したもの(PA-R又はPB-R)と、動作なしで音声のみを呈示したもの(PA-S又はPB-S)も準備した。
【0166】
話者Aと話者Bに関して、それぞれ40秒前後の会話区間を抽出し、上述の4つ条件で動画を収録し、被験者実験に用いた。動画の内容は
図30に示したものと同様である。評価者への発話の聞こえ方も評価実験1と同様である。では左右(斜め前)に対話者がいることを明確にするため、
図7(b)に示すように、画面の両側に対話者を示すキャラクタ画像を描き、声が発すると放射線が描かれるようにした。対話者の音声も左右の耳にそれぞれ聞こえるようにし、話者A又は話者Bの音声は両耳に聞こえるようにした。音声のみの動画では、対象となる話者もロボットの代わりに動作なしのキャラクタ画像を描いた。
【0167】
実験参加者は、各対話区間において、音声のみの動画(S-M)をまず視聴し、その後、ロボットの視線動作が含まれる3つの動画を視聴した。順序効果を減らすために、3つの動画の提示順序をランダム化した。各動画を視聴した直後に7点スケール(1:非常に内向的、4:どちらともいえない、7:非常に外向的)で印象評価をしてもらった。なお、実験参加者には視線動作を制御した実験であることは伝えなかった。
【0168】
B. 実験結果
男女41人(平均37.5歳、標準偏差14.1歳)が実験に参加した。
図32に印象評価の結果を示す。
【0169】
a.話者Aの声
図32(A)より、まず音声のみを聞いた場合(PA-S)の外向性の印象は、外向寄り(4以上)であることが分かる。ロボットを通して視線動作を制御した場合、話者Aのデータから構築した視線動作生成モデル(PA-M)は、話者Aの視線動作を再現した場合(PA-R)と同等の外向性の印象を受け、内向寄りである話者Bのデータから構築したモデル(PB-M)では外向性の印象が有意差をもって下がることが示されている。
【0170】
b.話者Bの声
図32(B)より、音声のみを聞いた場合(PB-S)は、内向寄り(4以下)であることが分かる。ロボットを通して視線動作を制御した場合、話者Bのデータから構築した視線動作生成モデル(PB-M)は、話者Bの視線動作を再現した場合(PB-R)と同等の外向性の印象で、外向寄りである話者Aのデータから構築したモデル(PA-M)では外向性の印象が有意的に上がることが示されている。
【0171】
C. 考察
以上の結果より、異なる個性(外向性)を持つ話者の視線生成モデルを使い分けることにより、同じ音声でも表出される個性の印象を変えることができることが示された。この結果より、モデルのパラメータを内挿又は外挿することにより、外向性の印象を連続的に制御できることも示唆された。
【0172】
第4 変形例
上記実施形態では、モデルには各方向に視線を向ける確率が格納され、実際に視線方向を決定するときにはそれら確率を加算してから乱数により視線方向をサンプリングしている。しかしこの発明はそのような実施形態には限定されない。例えばモデルには、あらかじめ各確率を加算した形の値(累積確率)を格納するようにしておいてもよい。上記実施形態では、視線逸らし時の方向は9方向としている。しかしこの発明はそのような実施形態には限定されない。より細かく方向を分類してもよい。
【0173】
さらに上記実施形態では、ロボットなどのエージェントの対話上の役割と、ターン状態と、個性との組み合わせにより視線方向モデル及び視線継続モデルを準備し利用している。しかしこの発明はそのような実施形態には限定されない。これらの中のいずれかを抜いた形でモデルを準備してもよい。またこれらとは異なる基準を視線方向モデル選択のために用いてもよい。例えば年齢、教師と学生、親と子などの社会的立場を基準としてもよい。
【0174】
上記実施形態は3者対話に関するものである。しかし、上記実施形態の説明からも明らかなとおり、各発話者が区別され、その役割が分類できるような状況であれば4人以上の対話でも本発明を適用できる。
【0175】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【0176】
50 3者対話
60、62、64 参加者
80、82、84 視線ラベル列
100、104 発話
102、106 ターン交替ラベル
108 ターン交替
150 会話ロボットシステム
160 ロボット
162 動作制御PC
164 マイクロフォン
166 音声処理PC
168 スピーカ
170 音声合成PC
172 確率モデル記憶装置
174 対話用PC
176 ネットワーク
178 人位置センサ
180 人位置認識PC
190 音声認識部
192 ターン認識部
250 コンピュータシステム
270 コンピュータ
272 モニタ
274 キーボード
276 マウス
278 DVD
284 USBメモリ
290 CPU
292 GPU
296 ROM
298 RAM
300 SSD
302 DVDドライブ
304 音声I/F
306 USBポート
308 ネットワークI/F
310 バス
350 視線制御システム
360 役割判定部
362 ターン交替検出部
364 視線方向モデル
366 モデル
368 個性情報記憶部
370 視線動作生成部
372 視線動作制御部
400 発話時視線方向モデル
402 視線継続時間モデル
404、406、408 ターン交替時視線方向モデル
450、452 方向モデル