JP2017121680A - 発話制御システム、発話制御装置及び発話制御プログラム - Google Patents

発話制御システム、発話制御装置及び発話制御プログラム Download PDF

Info

Publication number
JP2017121680A
JP2017121680A JP2016001177A JP2016001177A JP2017121680A JP 2017121680 A JP2017121680 A JP 2017121680A JP 2016001177 A JP2016001177 A JP 2016001177A JP 2016001177 A JP2016001177 A JP 2016001177A JP 2017121680 A JP2017121680 A JP 2017121680A
Authority
JP
Japan
Prior art keywords
utterance
speaker
robot
next speaker
probability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016001177A
Other languages
English (en)
Other versions
JP6480351B2 (ja
Inventor
亮 石井
Akira Ishii
亮 石井
和弘 大塚
Kazuhiro Otsuka
和弘 大塚
史朗 熊野
Shiro Kumano
史朗 熊野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016001177A priority Critical patent/JP6480351B2/ja
Publication of JP2017121680A publication Critical patent/JP2017121680A/ja
Application granted granted Critical
Publication of JP6480351B2 publication Critical patent/JP6480351B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数の利用者と会話するロボット又はエージェントに、より適切なタイミングで発話を行わせることができる発話制御システム、発話制御装置及び発話制御プログラムを提供する。
【解決手段】複数の利用者と会話を行うロボットの発話を、又は、複数の利用者と会話を行う表示装置に表示される話者の発話を制御する発話制御部と、前記利用者が任意の時刻に次話者となる確率である第1の次話者確率を取得する次話者推定部とを備え、前記発話制御部は、前記次話者推定部が取得した前記利用者の前記第1の次話者確率に基づいて前記ロボット又は前記話者の発話を制御する。
【選択図】図1

Description

本発明は、発話制御システム、発話制御装置及び発話制御プログラムに関する。
従来、ヒューマノイドロボット及びコンピュータグラフィックにより描画されたエージェント(仮想的な人物)を表示するエージェントシステムは、周囲にいる複数の利用者と会話を行う会話機能を有するものがある。
複数の利用者と対話を行う対話システムとして、例えば、利用者の発話の内容から、次に対話システムが発話するべきであるか否かを推定し、対話システムからの発話を行う技術が開示されている(特許文献1を参照。)。
特開2013−6232号公報
しかしながら、特許文献1に記載の対話システムは、利用者の発話の内容にのみ基づいて発話の判断を行い、利用者の発話が誰に向けてのものかを考慮していない。このため、特許文献1に記載の対話システムは、誤った判断により発話する可能性がある。例えば、利用者A及び利用者Bを含む複数の利用者の会話において、利用者Aが利用者Bに対して「どう思う?」と質問をしたとする。この場合は、特許文献1に記載の対話システムは、誰に対して「どう思う?」と質問をしたのかを把握できないため、誤った判断により発話する可能性がある。このように、従来のヒューマノイドロボット及びエージェントの発話は、周囲にいる複数の利用者に対して適切なタイミングで発話することが困難であった。
上記事情に鑑み、本発明は、複数の利用者と会話するロボット又はエージェントにより適切なタイミングで発話を行わせることができる発話制御システム、発話制御装置及び発話制御プログラムを提供することを目的としている。
本発明の一態様は、複数の利用者と会話を行うロボットの発話を、又は、複数の利用者と会話を行う表示装置に表示される話者の発話を制御する発話制御部と、前記利用者が任意の時刻に次話者となる確率である第1の次話者確率を取得する次話者推定部と、を備え、前記発話制御部は、前記次話者推定部が取得した前記利用者の前記第1の次話者確率に基づいて前記ロボット又は前記話者の発話を制御する発話制御システムである。
本発明の一態様は、前記の発話制御システムであって、前記発話制御部は、複数の前記利用者の前記第1の次話者確率が所定の閾値以下の場合に前記ロボット又は前記話者の発話を行わせるよう制御する。
本発明の一態様は、前記の発話制御システムであって、前記発話制御部は、複数の前記利用者の前記第1の次話者確率を所定時間積分した積分値が所定の閾値以下の場合に前記ロボット又は前記話者の発話を行わせるよう制御する。
本発明の一態様は、前記の発話制御システムであって、前記次話者推定部は、前記利用者の非言語行動に基づいて前記第1の次話者確率を取得する。
本発明の一態様は、前記の発話制御システムであって、前記ロボット又は前記話者は、前記非言語行動に対応した動作を行うよう制御が可能であり、前記次話者推定部は、前記ロボットの前記非言語行動に対応した動作に関する情報に基づいて、前記時刻に前記ロボット又は前記話者が次話者となる確率である第2の次話者確率を取得し、前記発話制御部は、複数の前記利用者の前記第1の次話者確率と、前記ロボット又は前記話者の前記第2の次話者確率との比較に基づいて、前記ロボット又は前記話者の発話を制御する。
本発明の一態様は、前記の発話制御システムであって、前記発話制御部は、前記ロボット又は前記話者の発話の必要性を表す指標である発話必要度を取得して、取得した前記発話必要度に応じて前記次話者推定部が取得した前記第2の次話者確率の値を変化させる。
本発明の一態様は、複数の利用者と会話を行うロボットの発話を、又は、複数の利用者と会話を行う表示装置に表示される話者の発話を制御する発話制御部と、前記利用者が任意の時刻に次話者となる確率である第1の次話者確率を取得する次話者推定部と、を備え、前記発話制御部は、前記次話者推定部が取得した前記利用者の前記第1の次話者確率に基づいて前記ロボット又は前記話者の発話を制御する発話制御装置である。
本発明の一態様は、複数の利用者と会話を行うロボットの発話を、又は、複数の利用者と会話を行う表示装置に表示される話者の発話を制御する発話制御プログラムであって、前記利用者が任意の時刻に次話者となる確率である第1の次話者確率を取得する次話者推定ステップと、前記次話者推定ステップにおいて取得した前記利用者の前記第1の次話者確率に基づいて前記ロボット又は前記話者の発話を制御する発話制御ステップと、をコンピュータに実行させるための発話制御プログラムである。
本発明により、複数の利用者と会話するロボット又はエージェントにより適切なタイミングで発話を行わせることができる。
第1の実施形態におけるロボット100が備える機能構成の概略を示す図である。 第1の実施形態におけるセンサ103の具体的な構成例を示す図である。 第1の実施形態における次話者推定部108が出力する次話者確率Pns (t)の例を示す図である。 第1の実施形態における音制御部110の構成の詳細の具体例を示す図である。 第1の実施形態におけるロボット100の外観及び構成の具体例を示す図である。 第1の実施形態におけるロボット100の動作を示すフロー図である。 第2の実施形態におけるロボット100Aが備える機能構成の概略を示す図である。 第2の実施形態における制御部109Aの構成の詳細の具体例を示す図である。 第2の実施形態における音制御部110Aの構成の詳細の具体例を示す図である。 第2の実施形態におけるロボット100Aの会話前動作の具体例を示す図である。 第2の実施形態におけるロボット100Aの会話動作を示すフロー図である。 息の吸い込み区間の例を示す図である。 注視対象ラベルの具体例を示す図である。 話者である利用者P1(R=S)の注視対象ラベルL1についての時間構造情報を示す図である。
以下、図面を参照して、本発明の実施形態について説明する。
(第1の実施形態)
図1は、第1の実施形態におけるロボット(発話制御システム)100が備える機能構成の概略を示す図である。第1の実施形態におけるロボット100は、複数人の利用者と会話を行うロボットである。図1に示すように、ロボット100は、マイク101と、カメラ102と、センサ103と、音声入力部104と、映像入力部105と、センサ入力部106と、発話区間検出部107と、次話者推定部108と、発話制御部109と、音制御部110と、スピーカ115とを備える。
マイク101は、会話する利用者の音声等を含むロボット100の周囲の音を集音して、音声信号を含む音信号(以下の説明では単に音声信号という)を出力する。なお、マイク101は、複数の各利用者それぞれに装着された複数のマイクで構成される。なお、ロボット100自身にマイク101が搭載されていても良い。マイク101は、利用者やロボット100に装着される構成に限られるものではなく、利用者又はロボット100の周囲に配置しても良い。マイク101は、利用者の口元により近い位置に配置することが望ましいが、少なくとも利用者の声が集音可能な位置であれば、任意の位置及び任意の数を配置してよい。ロボット100において、複数のマイク101と音声入力部104とは、有線又は無線で音声信号の送受信が可能に接続された構成である。
カメラ102は、会話する利用者の映像を撮影して、映像信号を出力する。カメラ102は、好ましくは、利用者全員の姿が画角にはいるよう広角な画角を有する撮像装置である。また、カメラ102は、利用者全員の姿をそれぞれ撮影する利用者の人数分の複数のカメラであってもよい。カメラ102は、少なくとも利用者全員を撮影可能な位置に配置するのであれば、任意の位置及び任意の台数で構成してもよい。この場合には、ロボット100において、映像入力部105と、複数のカメラとは、有線又は無線で映像信号を送受信可能に接続された構成となる。
センサ103は、会話する利用者の位置を計測する第1のセンサ、利用者の呼吸動作を計測する第2のセンサ、利用者の注視対象を検出する第3のセンサ及び利用者の頭部動作を検出する第4のセンサ等の複数のセンサを備え、それらの各センサからのセンサ信号をセンサ入力部106へ出力する。
図2は、第1の実施形態におけるセンサ103の具体的な構成例を示す図である。
図2に示すように、センサ103は、会話する利用者の位置を計測する位置計測装置(第1のセンサ)201と、利用者の呼吸動作を計測する呼吸動作計測装置(第2のセンサ)202と、利用者の注視対象を検出する注視対象検出装置(第3のセンサ)203と、利用者の頭部動作を検出する頭部動作検出装置(第4のセンサ)204とを備える。位置計測装置201は、例えばロボット100内に設置され、呼吸動作計測装置202、注視対象検出装置203及び頭部動作検出装置204は、利用者の頭部等に装着される。位置計測装置201は、センサ入力部106と接続されている。呼吸動作計測装置202、注視対象検出装置203及び頭部動作検出装置204は、センサ入力部106と、有線又は無線でセンサ信号の送受信が可能に接続されている。
音声入力部104は、マイク101からの音声信号を入力とし、発話区間検出部107、次話者推定部108及び音制御部110へ音声信号を出力する。音声入力部104は、マイク101からの音声信号を、ロボット100内で処理可能な信号形式の音声信号に変換する等の処理を行う。映像入力部105は、カメラ102からの映像信号を入力とし、次話者推定部108へ映像信号を出力する。映像入力部105は、カメラ102からの映像信号を、ロボット100内で処理可能な信号形式の映像信号に変換する等の処理を行う。センサ入力部106は、センサ103からのセンサ信号を入力とし、次話者推定部108へセンサ信号を出力する。センサ入力部106は、センサ103からのセンサ信号を、ロボット100内で処理可能な信号形式のセンサ信号に変換する等の処理を行う。
発話区間検出部107は、音声入力部104からの音声信号に基づいて、任意の窓幅を設けてその区間内の音声信号のパワー、ゼロ交差数、周波数などを、音声の特徴を示す値である音声特徴量として算出する。発話区間検出部107は、算出した音声特徴量と所定の閾値を比較して発話区間を検出する。発話区間検出部107は、検出した発話区間に関する情報である発話区間情報を次話者推定部108及び音制御部110へ出力する。なお、マイク101から取得される音声信号において、音声の存在する区間(発話区間)と音声の存在しない区間(非発話区間)を自動的に検出するVAD(Voice Activity Detection)技術は、以下の参考文献1に示すように公知の技術である。発話区間検出部107は、公知のVAD技術を用いて発話区間を検出する。
参考文献1:澤田 宏、外4名、"多人数多マイクでの発話区間検出〜ピンマイクでの事例〜"、日本音響学会 春季研究発表会、pp.679−680、2007年3月
次話者推定部108は、音声入力部104からの音声信号と、映像入力部105からの映像信号と、センサ入力部106からのセンサ信号と、発話区間検出部107からの発話区間情報とを入力とし、各利用者が時刻tに次話者となる確率である次話者確率を出力する。次話者推定部108は、音声信号、映像信号、センサ信号及び発話区間情報に基づいて、発話区間情報で特定される発話区間の発話者を示す発話者情報を取得する。次話者推定部108は、音声信号、映像信号、センサ信号及び取得した発話者情報に基づいて、各利用者iが時刻tに次話者となる確率である次話者確率Pns (t)を算出して、発話制御部109へ出力する。次話者推定部108は、利用者の非言語行動に基づいて次話者確率Pns (t)を算出している。すなわち、次話者推定部108での、次話者確率Pns (t)の算出は、利用者の発話内容を解析等して利用者の言語行動に関する情報を得る必要はない。
図3は、第1の実施形態における次話者推定部108が出力する次話者確率Pns (t)の例を示す図である。図3においては、4名の利用者A〜Dについて利用者Aの発話の切れ目となる時刻tbue以降における次話者確率Pns (t)の変化例を示している。符号31を付与した矩形は、利用者Aの発話区間を示している。発話区間31は、発話終了時刻tbueで終了している。次話者確率Pns (t)32で示す点線は、利用者Aにおける発話終了時刻tbue以降の時刻tにおける次話者確率の変化を示している。次話者確率Pns (t)33で示す点線は、利用者Bにおける発話終了時刻tbue以降の時刻tにおける次話者確率の変化を示している。次話者確率Pns (t)34で示す点線は、利用者Cにおける発話終了時刻tbue以降の時刻tにおける次話者確率の変化を示している。次話者確率Pns (t)35で示す点線は、利用者Dにおける発話終了時刻tbue以降の時刻tにおける次話者確率の変化を示している。このように、次話者推定部108は、利用者iの発話終了時刻tbue以降の時刻tにおける次話者確率Pns (t)の変化を算出する。なお、次話者推定部108における次話者の推定処理の詳細については後述する。
発話制御部109は、次話者推定部108からの次話者確率を入力とし、音制御部110に対して発話制御信号を出力する。発話制御部109は、次話者推定部108からの各利用者の次話者確率に基づいて、ロボット100に発話を行わせるか否かを制御する発話制御信号を出力する。発話制御部109は、例えば利用者のいずれか一人の次話者確率が閾値以上であれば、ロボット100に発話させず、全利用者の次話者確率が閾値以下であれば、ロボット100に発話させるように制御する発話制御信号を出力する。これにより、ロボット100は、他の利用者における発話開始の確率が低いタイミングで、発話を開始することができる。このように、ロボット100は、複数の利用者と会話する際に、より適切なタイミングで発話を行うことができる。
発話制御部109は、具体的には、以下に示す第1制御方法〜第4制御方法の4つの制御方法のいずれかを用いてロボット100の発話の制御を行う。なお、以下の説明においては、利用者A、B、C、Dの4名とロボット100とが会話を行う場合について説明する。
(第1制御方法)
発話制御部109は、次話者推定部108から取得した時刻tにおける利用者A〜Dの次話者確率Pns (t),(i∈{A,B,C,D})と、第1の閾値である任意の確率Pαとを比較する(以下、第1の比較という。)。発話制御部109は、上記第1の比較により、利用者A〜Dのいずれか一人の次話者確率Pns (t)が確率Pα以上である(Pns (t)≧Pα)と判断した場合は、ロボット100に発話させないよう制御する発話制御信号を出力する。発話制御部109は、上記第1の比較により、利用者A〜Dの全員の次話者確率Pns (t)が確率Pα未満である(Pns (t)<Pα)と判断した場合は、ロボット100に時刻tで発話させるよう制御する発話制御信号を出力する。
(第2制御方法)
発話制御部109は、次話者推定部108から取得した時刻tにおける利用者A〜Dの次話者確率Pns (t),(i∈{A,B,C,D})を、時刻tについて所定時間(例えば、3〜4秒以上の時間)積分して、積分値Pns を取得する。発話制御部109は、この積分値Pns と、第2の閾値である任意の確率Pβとを比較する(以下、第2の比較という。)。発話制御部109は、上記第2の比較により、利用者A〜Dのいずれか一人の積分値Pns が確率Pβ以上である(Pns ≧Pβ)と判断した場合は、ロボット100に発話させないよう制御する発話制御信号を出力する。発話制御部109は、上記第2の比較により、利用者A〜Dの全員の積分値Pns が確率Pβ未満である(Pns <Pβ)と判断した場合は、ロボット100に時刻tで発話させるよう制御する発話制御信号を出力する。
(第3制御方法)
発話制御部109は、次話者推定部108から取得した時刻tにおける利用者A〜Dの次話者確率Pns (t),(i∈{A,B,C,D})を用いて、利用者全員の次話者確率を加算した加算値(Pns (t)+Pns (t)+Pns (t)+Pns (t))を取得する。発話制御部109は、加算値(Pns (t)+Pns (t)+Pns (t)+Pns (t))と、第3の閾値である任意の確率Pγとを比較する(以下、第3の比較という。)。発話制御部109は、上記第3の比較により、利用者A〜Dのいずれか一人の加算値(Pns (t)+Pns (t)+Pns (t)+Pns (t))が確率Pγ以上である((Pns (t)+Pns (t)+Pns (t)+Pns (t))≧Pγ)と判断した場合は、ロボット100に発話させないよう制御する発話制御信号を出力する。発話制御部109は、上記第3の比較により、利用者A〜Dの全員の加算値(Pns (t)+Pns (t)+Pns (t)+Pns (t))が確率Pγ未満である((Pns (t)+Pns (t)+Pns (t)+Pns (t))<Pγ)と判断した場合は、ロボット100に時刻tで発話させるよう制御する発話制御信号を出力する。
(第4制御方法)
発話制御部109は、次話者推定部108から取得した時刻tにおける利用者A〜Dの次話者確率Pns (t),(i∈{A,B,C,D})を、時刻tについて所定時間(例えば、3〜4秒以上の時間)積分して、積分値Pns を取得する。発話制御部109は、利用者全員の積分値Pns を加算した加算値(Pns +Pns +Pns +Pns )を取得する。発話制御部109は、加算値(Pns +Pns +Pns +Pns )と、第4の閾値である任意の確率Pθとを比較する(以下、第4の比較という。)。発話制御部109は、上記第4の比較により、利用者A〜Dのいずれか一人の加算値(Pns +Pns +Pns +Pns )が確率Pθ以上である((Pns +Pns +Pns +Pns )≧Pθ)と判断した場合は、ロボット100に発話させないよう制御する発話制御信号を出力する。発話制御部109は、上記第4の比較により、利用者A〜Dの全員の加算値(Pns +Pns +Pns +Pns )が確率Pθ未満である((Pns +Pns +Pns +Pns )<Pθ)と判断した場合は、ロボット100に時刻tで発話させるよう制御する発話制御信号を出力する。
次話者確率Pns (t),(i∈{A,B,C,D})は、図3に示したように、発話終了から所定時間後にピークを有する場合が多い。そこで、発話制御部109は、第1制御方法〜第4制御方法において、次話者確率Pns (t)を求める時刻tを含む窓幅を設けて、その窓幅の中における次話者確率の最大値を、時刻tにおける次話者確率Pns (t)として出力するようにしてもよい。また、発話制御部109は、第1制御方法〜第4制御方法において、次話者確率Pns (t)を求める時刻tを含む窓幅を設けて、その窓幅の中における次話者確率に複数のピークがある場合に、n番目(nは1以上の整数)のピークの次話者確率を、時刻tにおける次話者確率Pns (t)として出力するようにしてもよい。
音制御部110は、音声入力部104からの音声信号と、発話区間検出部107からの発話区間情報と、発話制御部109からの発話制御信号とに基づいて、スピーカ115に対して音信号を出力する。音制御部110は、発話制御信号に基づいて、ロボット100に発話を行わせるか否かを判断する。音制御部110は、発話制御信号に基づいて、ロボット100に発話を行わせると判断した場合には、ロボット100に発話させる会話内容(言葉)を含む会話情報を生成し、生成した会話情報に基づいた音信号を出力する。音制御部110は、例えば、音声信号及び発話区間情報に基づいて利用者の会話内容を解析し、解析結果に基づいて、ロボット100に発話させるための会話情報を生成する。
ここで、第1の実施形態における音制御部110の構成の詳細について一例を示して説明する。
図4は、第1の実施形態における音制御部110の構成の詳細の具体例を示す図である。音制御部110は、音声解析部401と、会話情報生成部402と、会話情報DB(データベース)403と、発声情報生成部404と、音信号生成部405とを備える。
会話情報DB403は、ロボット100に会話させるための会話サンプル情報を格納する。会話サンプル情報とは、日常の会話でよく使われる名詞、「こんにちは」等の挨拶及び「ありがとうございます」、「大丈夫ですか」等の日常会話でよく利用するフレーズの音声信号を含む情報である。
音声解析部401は、音声入力部104からの音声信号と、発話区間検出部107からの発話区間情報とに基づいて、音声信号を解析して、その内容(言葉)を特定し、解析結果を出力する。
会話情報生成部402は、音声解析部401の解析結果に基づいて、ロボット100の発話内容となる会話情報を生成する。会話情報生成部402は、音声解析部401の解析結果に基づいて、会話する内容に応じた会話サンプル情報を会話情報DB403から取得する。会話情報生成部402は、取得した会話サンプル情報に基づいて、会話情報を生成する。会話情報生成部402は、発声情報生成部404からの会話情報の要求に応じて、会話情報を生成し、発声情報生成部404へ出力する。
発声情報生成部404は、会話情報生成部402からの会話情報と、発話制御部109からの発話制御情報とを入力として、発話信号を出力する。発声情報生成部404は、発話制御部109からの発話制御情報に基づいて、会話情報生成部402に対して会話情報を要求する。発声情報生成部404は、要求に応じて会話情報生成部402から取得した会話情報と、発話制御部109からの発話制御情報とに基づいて、ロボット100が発声するための発話信号を生成する。発声情報生成部404は、生成した発話信号を音信号生成部405へ出力する。
音信号生成部405は、発声情報生成部404からの発話信号を入力とし、音信号を出力する。音信号生成部405は、発声情報生成部404からの発話信号に基づいてスピーカ115から発話させるための音信号を生成して、スピーカ115へ出力する。
図5は、第1の実施形態におけるロボット100の外観及び構成の具体例を示す図である。第1の実施形態におけるロボット100は、例えば図5に示す外観を有し、図1に示す機能構成を有する。
図5に示すように、ロボット100は、例えば、人間の上半身をモデルとした形状のヒューマノイドロボット(人型ロボット)である。ロボット100は、発話を行う発話機能、人の音声を認識する音声認識機能、利用者を撮影するカメラ機能を少なくとも備える。ロボット100は、右目51a及び左目51bと、口部52とが配置された顔を有する頭部53を備える。
ロボット100は、頭部53を支持する頸部54と、頸部54を支える胴部55とを備える。胴部55は、右腕55aと左腕55bとが側面上部に設けられている。また、頭部53の右目51a、左目51bの間には、カメラ102が設置されている。以下の説明において、右目51a、左目51bをまとめて説明する場合は、眼部51と称する。
図1に示す構成の内、図5に示しているのは、カメラ102のみであるので、カメラ102以外の図1に示す構成の設置位置の一例について説明する。マイク101及びセンサ103は、ロボット100の胴部55内における任意の位置又は胴部55から離れた位置(例えば利用者の位置)に設置される。図1に示すマイク101、カメラ102及びセンサ103以外の構成は、ロボット100内部に設置されるものであり、例えば、スピーカ115は、図5に示した口部52の内部に設置されている。
次に、第1の実施形態におけるロボット100の動作について説明する。
図6は、第1の実施形態におけるロボット100の動作を示すフロー図である。図6に示す処理は、ロボット100において、複数の利用者と会話を行う動作を開始した際に行う処理である。
音声入力部104は、マイク101からの音声信号が入力され、映像入力部105は、カメラ102からの映像信号が入力され、センサ入力部106は、センサ103からのセンサ信号が入力される(ステップS101)。発話区間検出部107は、音声入力部104からの音声信号に基づいて、音声特徴量を算出し、算出した音声特徴量と所定の閾値を比較して発話区間を検出する(ステップS102)。
次話者推定部108は、音声信号、映像信号、センサ信号及び取得した発話者情報に基づいて、各利用者iが時刻tに次話者となる確率である次話者確率Pns (t)を算出する(ステップS103)。発話制御部109は、次話者推定部108からの各利用者の次話者確率に基づいて、ロボット100に発話を行わせるか否かを制御する発話制御信号を出力する(ステップS104)。
音制御部110は、発話制御部109からの発話制御信号に基づいて、ロボット100に発話を行わせるか否かを判断する(ステップS105)。ここで、ロボット100に発話を行わせないと判断した場合(ステップS105のNO)には、ステップS101の処理に戻る。ロボット100に発話を行わせると判断した場合(ステップS105のYES)には、音制御部110は、ロボット100に発話させるための会話情報を生成し、生成した会話情報に基づいた音信号をスピーカ115へ出力する(ステップS106)。これにより、ロボット100は、音信号に応じた発話をスピーカ115から発音する。
音制御部110は、発話制御部109からの発話制御信号に基づいて、ロボット100の発話を終了するか否かを判断する(ステップS107)。ここで、ロボット100の発話を終了しない場合(ステップS107のNO)には、音制御部110は、ステップS106の処理に戻る。ロボット100の発話を終了する場合(ステップS107のYES)には、音制御部110は、会話情報の生成を停止することに応じて音信号の出力を停止する。
次に、ロボット100は、複数の利用者と会話を行う会話動作を終了するか否かを判断する(ステップS108)。ここで、会話動作を終了しないと判断した場合(ステップS108のNO)には、ステップS101の処理に戻る。会話動作を終了すると判断した場合(ステップS108のYES)には、ロボット100は、会話動作を終了する。例えば、利用者が電源スイッチ(図示せず)を入れたタイミングや会話モードのスイッチ(図示せず)をオンにしたタイミングで、ロボット100は、会話動作を開始し、利用者が電源スイッチを切ったタイミングや会話モードのスイッチをオフにしたタイミングで、ロボット100は、会話動作を終了する。
以上に説明したとおり、第1の実施形態におけるロボット100は、複数の利用者と会話する際に、各利用者の次話者確率に基づいて、各利用者が発話する可能性の低い、より適切なタイミングで発話を行うことができる。これにより、ロボット100は、他の利用者と発話のタイミングが重なる発話衝突の発生を低減した発話を行うことができる。また、発話中のロボット100は、各利用者の次話者確率に基づいて、利用者の内の誰かが発話をしそうな場合には、発話を終了することができる。
(第2の実施形態)
第2の実施形態におけるロボット100Aについて説明する。第2の実施形態におけるロボット100Aが、第1の実施形態におけるロボット100と異なる点は、ロボット100A自身の動き(呼吸動作、視線動作、頭部動作)からロボット100A自身の次話者確率Pns (t)を求める点と、求めた次話者確率Pns (t)と他の利用者の次話者確率とに基づいて、ロボット100Aの発話を制御する点である。
また、第2の実施形態におけるロボット100Aは、会話中に、会話中の人間同様の動きを行う点でも異なる。ロボット100Aは、会話中に、呼吸音を発したり胸の膨らみを変化させたりする呼吸動作、視線を現話者に向ける等の視線動作、会話に応じて頷いたりする頭部動作を行う。
図7は、第2の実施形態におけるロボット100Aが備える機能構成の概略を示す図である。図7に示す第2の実施形態におけるロボット100Aは、第1の実施形態におけるロボット100と同じ構成要素を含む。よって、ロボット100Aの説明においては、第1の実施形態におけるロボット100と同じ構成要素については、同じ符号を付与して説明を省略する。
図7に示すように、ロボット100Aは、マイク101と、カメラ102と、センサ103と、音声入力部104と、映像入力部105と、センサ入力部106と、発話区間検出部107と、次話者推定部108Aと、制御部109Aと、音制御部110Aと、口部制御部111と、視線制御部112と、頭部制御部113と、胴部制御部114と、スピーカ115と、口部駆動部116と、眼部駆動部117と、頭部駆動部118と、胴部駆動部119とを備える。
次話者推定部108Aは、音声入力部101からの音声信号と、映像入力部102からの映像信号と、センサ入力部106からのセンサ信号と、発話区間検出部107からの発話区間情報と、制御部109Aからの疑似センサ信号とを入力とし、各利用者及びロボット100Aが時刻tに次話者となる確率である次話者確率を出力する。疑似センサ信号は、制御部109Aが生成する動作制御信号に基づいてロボット100Aを動作させ、かつ、そのロボット100Aの動作をセンサ103で検出したと仮定した場合に、センサ103が出力するセンサ信号である。
次話者推定部108Aは、音声信号、映像信号、センサ信号及び発話区間情報に基づいて、発話区間情報で特定される発話区間の発話者を示す発話者情報を取得する。次話者推定部108Aは、音声信号、映像信号、センサ信号、疑似センサ信号及び取得した発話者情報に基づいて、ロボット100A及び各利用者iが時刻tに次話者となる確率である次話者確率Pns (t)を算出して、制御部109Aへ出力する。次話者推定部108Aは、次話者確率Pns (t)の他に、発話者情報及び利用者の位置情報を制御部109Aへ出力する。
次話者推定部108Aは、利用者の位置情報を、例えば、センサ103からの利用者の位置を計測したセンサ信号に基づいて取得してもよいし、映像信号に基づいて取得してもよいし、センサ103からの利用者の位置を計測したセンサ信号及び映像信号に基づいて取得してもよい。
制御部109Aは、次話者推定部108Aからの次話者確率Pns (t)、発話者情報及び利用者の位置情報を入力とし、発話制御信号及び動作制御信号を出力する。制御部109Aは、次話者推定部108Aからのロボット100A及び各利用者の次話者確率に基づいて、ロボット100Aに発話を行わせるか否かを制御する発話制御信号を生成し、生成した発話制御信号を音制御部110Aへ出力する。制御部109Aは、生成した発話制御信号と、発話者情報と、利用者の位置情報とに基づいて、動作制御信号を生成し、生成した動作制御信号を口部制御部111、視線制御部112、頭部制御部113及び胴部制御部114へ出力する。
制御部109Aは、動作制御信号に基づいて疑似センサ信号を生成し、生成した疑似センサ信号を次話者推定部108Aへ出力する。これにより、次話者推定部108Aは、ロボット100Aが時刻tに次話者となる確率である次話者確率Pns (t)を推定することができる。なお、第2の実施形態における制御部109Aは、疑似センサ信号を生成する構成であるが、この構成に限られるものではない。例えば、制御部109Aは、疑似センサ信号を生成する機能を有さずに、次話者推定部108Aが、ロボット100Aの動作制御信号から疑似センサ信号を生成する機能を有する構成としてもよい。また、次話者推定部108Aにおいて、ロボット100Aの動作制御信号に基づいてロボット100Aの次話者確率を推定する構成としてもよい。
制御部109Aは、ロボット100Aの次話者確率Pns (t)と、全利用者の次話者確率との関係に応じて、ロボット100Aの発話を制御する発話制御信号を出力する。例えば、制御部109Aは、ロボット100Aの次話者確率Pns (t)が、全利用者の次話者確率以下の値であれば、ロボット100Aに発話させないように制御する発話制御信号を出力する。制御部109Aは、ロボット100Aの次話者確率Pns (t)が、全利用者の次話者確率より大きい値であれば、ロボット100Aに発話させるように制御する発話制御信号を出力する。これにより、ロボット100Aは、自身の次話者確率が高く、他の利用者における次話者確率が低いタイミングで、発話を開始することができる。このように、ロボット100は、複数の利用者と会話する際に、より適切なタイミングで発話を行うことができる。
制御部109Aは、具体的には、以下に示す第5制御方法〜第8制御方法の4つの制御方法のいずれかを用いてロボット100Aの発話の制御を行う。なお、以下の説明においては、利用者A、B、C、Dの4名とロボット100AであるRとが会話を行う場合について説明する。
(第5制御方法)
制御部109Aは、次話者推定部108Aから、時刻tにおける利用者A〜D及びロボット100AであるRの次話者確率Pns (t),(i∈{A,B,C,D,R})を取得する。制御部109Aは、ロボット100Aの次話者確率Pns (t)と、利用者A〜Dの次話者確率Pns (t)、Pns (t)、Pns (t)、Pns (t)とを比較して、Pns (t)が最大であると判断した場合は、ロボット100Aに時刻tで発話させるよう制御する発話制御信号を出力する。制御部109Aは、上記比較においてPns (t)が最大でないと判断した場合は、ロボット100Aに発話させないよう制御する発話制御信号を出力する。
(第6制御方法)
制御部109Aは、次話者推定部108Aから取得した時刻tにおけるロボット100A及び利用者A〜Dの次話者確率Pns (t),(i∈{A,B,C,D,R})を、時刻tについて所定時間(例えば、3〜4秒以上の時間)積分して、積分値Pns を取得する。制御部109Aは、ロボット100Aの積分値Pns と、利用者A〜Dの積分値Pns 、Pns 、Pns 、Pns とを比較して、Pns が最大であると判断した場合は、ロボット100AにPns (t)が最大となる時刻tで発話させるよう制御する発話制御信号を出力する。制御部109Aは、上記比較において、Pns が最大でないと判断した場合は、ロボット100Aに発話させないよう制御する発話制御信号を出力する。
(第7制御方法)
制御部109Aは、次話者推定部108Aから、時刻tにおける利用者A〜D及びロボット100AであるRの次話者確率Pns (t),(i∈{A,B,C,D,R})を取得する。制御部109Aは、利用者全員の次話者確率を加算した加算値(Pns (t)+Pns (t)+Pns (t)+Pns (t))を取得する。制御部109Aは、加算値(Pns (t)+Pns (t)+Pns (t)+Pns (t))と、ロボット100Aの次話者確率Pns (t)に定数ιを乗算したPns (t)・ιとを比較する(ιは正の値となる任意の定数)。制御部109Aは、(Pns (t)+Pns (t)+Pns (t)+Pns (t))≧Pns (t)・ιと判断した場合は、ロボット100Aに発話させないよう制御する発話制御信号を出力する。制御部109Aは、(Pns (t)+Pns (t)+Pns (t)+Pns (t))<Pns (t)・ιと判断した場合は、ロボット100Aに時刻tで発話させるよう制御する発話制御信号を出力する。なお、定数ιは、例えば、利用者の人数と同じ値としてもよく、ロボット100Aの発話機会を増やしたければより大きな値としてもよく、ロボット100Aの発話を控えめにしたければより小さい値としてもよい。
(第8制御方法)
制御部109Aは、次話者推定部108Aから取得した時刻tにおけるロボット100A及び利用者A〜Dの次話者確率Pns (t),(i∈{A,B,C,D,R})を、時刻tについて所定時間(例えば、3〜4秒以上の時間)積分して、積分値Pns を取得する。制御部109Aは、利用者全員の積分値Pns を加算した加算値(Pns +Pns +Pns +Pns )を取得する。発話制御部109は、加算値(Pns +Pns +Pns +Pns )と、ロボット100Aの積分値Pns に定数ζを乗算したPns ・ζとを比較する(ζは正の値となる任意の定数)。制御部109Aは、(Pns +Pns +Pns +Pns )≧Pns ・ζと判断した場合は、ロボット100Aに発話させないよう制御する発話制御信号を出力する。制御部109Aは、(Pns +Pns +Pns +Pns )<Pns ・ζと判断した場合は、ロボット100にPns (t)が最大となる時刻tで発話させるよう制御する発話制御信号を出力する。
次話者確率Pns (t),(i∈{A,B,C,D,R})は、図3に示したように、発話終了から所定時間後にピークを有する場合が多い。そこで、制御部109Aは、第5制御方法〜第8制御方法において、次話者確率Pns (t)を求める時刻tを含む窓幅を設けて、その窓幅の中における次話者確率の最大値を、時刻tにおける次話者確率Pns (t)として出力するようにしてもよい。また、制御部109Aは、第5制御方法〜第8制御方法において、次話者確率Pns (t)を求める時刻tを含む窓幅を設けて、その窓幅の中における次話者確率に複数のピークがある場合に、n番目(nは1以上の整数)のピークの次話者確率を、時刻tにおける次話者確率Pns (t)として出力するようにしてもよい。
音制御部110Aは、音声入力部104からの音声信号と、発話区間検出部107からの発話区間情報と、制御部109Aからの発話制御信号とに基づいて、スピーカ115に対して音信号を出力する。音制御部110Aは、発話制御信号に基づいて、ロボット100Aに発話を行わせるか否かを判断する。音制御部110Aは、発話制御信号に基づいて、ロボット100Aに発話を行わせると判断した場合には、ロボット100Aに発話させる会話内容(言葉)を含む会話情報を生成し、生成した会話情報に基づいた音信号を出力する。音制御部110Aは、例えば、音声信号及び発話区間情報に基づいて利用者の会話内容を解析し、解析結果に基づいて、ロボット100Aに発話させるための会話情報を生成する。
口部制御部111は、制御部109Aからの動作制御信号に基づいて、口部駆動部116に対して口部駆動信号を出力する。視線制御部112は、制御部109Aからの動作制御信号に基づいて、眼部駆動部117に対して眼部駆動信号を出力する。頭部制御部113は、制御部109Aからの動作制御信号に基づいて、頭部駆動部118に対して頭部駆動信号を出力する。胴部制御部114は、制御部109Aからの動作制御信号に基づいて、胴部駆動部119に対して胴部駆動信号を出力する。
第2の実施形態におけるロボット100Aの外観は、図2に示したロボット100と同一である。ここで、図2を用いてロボット100Aが備える口部駆動部116、眼部駆動部117、頭部駆動部118及び胴部駆動部119の配置と駆動する対象について説明する。頭部23は、右目21a及び左目21bの黒目(視線)を移動させる眼部駆動部117と、口部22の開閉を行う口部駆動部116とを備える。
頸部24は、頭部23に対して所定の動き(例えば、頷かせたり、顔の方向を変えたりする動き)を行わせる頭部駆動部118を備え、頭部23を支持する。胴部25は、呼吸をしているかのように、肩を動かしたり、胸の部分を膨らませたりする胴部駆動部119を備える。口部駆動部116は、口部制御部111からの口部駆動信号に基づいてロボット100Aの口部22の開閉を行う。眼部駆動部117は、視線制御部112からの眼部駆動信号に基づいてロボット100Aの眼部21における黒目の方向(=ロボット100の視線の方向)を制御する。
頭部駆動部118は、頭部制御部113からの頭部駆動信号に基づいてロボット100Aの頭部23の動きを制御する。胴部駆動部119は、胴部制御部114からの胴部駆動信号に基づいてロボット100の胴部25の形状を制御する。また、胴部駆動部119は、胴部制御部114からの胴部駆動信号に基づいてロボット100の右腕25a及び左腕25bの動きも制御する。
第2の実施形態における制御部109Aの構成の詳細について一例を示して説明する。
図8は、第2の実施形態における制御部109Aの構成の詳細の具体例を示す図である。制御部109Aは、発話制御部301と、動作パターン情報格納部302と、動作制御部303と、センサ信号変換部304とを備える。発話制御部301は、ロボット100Aの発話を制御する発話制御信号を出力する。
発話制御部301は、次話者推定部108Aからの次話者確率を入力とし、音制御部110Aに対して発話制御信号を出力する。発話制御部301は、次話者推定部108Aからのロボット100A及び各利用者の次話者確率に基づいて、上述した第5制御方法〜第8制御方法の4つの制御方法のいずれかを用いてロボット100Aの発話の制御を行う発話制御信号を出力する。発話制御部301は、動作制御部303に対しても発話制御信号を出力する。発話制御部301は、動作制御部303からの呼吸音やフィラーを発音するよう指示する発音指示信号に応じて、その発音指示信号を音制御部110Aへ出力する。ここで、フィラーとは、言い淀み時などに出現する場つなぎのための発声であり、例えば、「あのー」、「そのー」、「えっと」、等の音声である。
動作パターン情報格納部302は、ロボット100Aが会話中に行う動作の動作パターンの情報である動作パターン情報を格納する。動作パターン情報格納部302は、例えば、発話を開始する前に、これから発話を行うことを周りの人に察知させるよう人が行っている動作と同様の動作をロボット100Aに行わせる動作パターン情報を格納している。
複数人が会話している際に、非話者である人が次話者として発話する直前に行う行動を解析した結果、以下の(1)〜(3)の行動が「次は私が話を始めます」ということを周囲に示す行動であると考えられる。
(1)吸気音又はフィラーを発声する
(2)現話者に視線向ける
(3)現話者の会話に頷く
上述した解析結果を参考にして、制御部109Aは、ロボット100Aの発話前に、ロボット100Aに上述した(1)〜(3)の動作を行わせるよう制御することで、ロボット100がもうすぐ発話を開始することを利用者に予見させることができる。ロボット100Aが上述した(1)〜(3)の動作を行うと次話者推定部108Aが推定するロボット100Aの次話者確率Pns (t)が上昇する。すなわち、発話を行うことを周りの人に察知させる動作とは、例えば、現話者に視線を移動させる動作、頭を頷かせる動作、吸気音とともに吸気する動作等を含む。
制御部109Aは、以下の参考文献に記載の技術を用いてロボット100Aに上述した(1)〜(3)の動作を行わせるよう制御してもよい。
(1)の吸気音を発声する動作をロボット100Aに行わせるための技術として以下の参考文献2に記載された公知技術がある。
参考文献2:吉田直人、外3名、“吐息と腹部運動を伴う呼吸表現に関する因子分析に基づいた生物的身体感情インタラクションの設計”、HAIシンポジウム2014、2014年
(2)の現話者に視線を向ける動作をロボット100Aに行わせるための技術として以下の参考文献3に記載された公知技術がある。
参考文献3:石井 亮、外2名、“アバタ音声チャットシステムにおける会話促進のための注視制御”、ヒューマンインタフェース学会論文誌、2008年
(3)の現話者の会話に頷く動作をロボット100Aに行わせるための技術として以下の参考文献4に記載された公知技術がある。
参考文献4:渡辺富夫、外3名、“InterActorを用いた発話音声に基づく身体的インタラクションシステム”、ヒューマンインタフェース学会論文誌、Vol.2、No.2、pp.21−29、2000年
動作制御部303は、発話制御部301からの発話制御信号と、次話者推定部108Aからの発話者情報及び利用者の位置情報とに基づいて、動作パターン情報格納部302から動作パターン情報を取得して動作制御信号を生成し、生成した動作制御信号を口部制御部111、視線制御部112、頭部制御部113及び胴部制御部114へ出力する。動作制御部303は、動作パターン情報に応じて、呼吸音やフィラーを発音するよう指示する発音指示信号を発話制御部301へ出力する。位置計測装置201は、利用者の位置情報として、利用者の顔の位置を特定する位置情報を取得する機能を有してもよい。これにより、ロボット100は、利用者の位置情報として、利用者の顔の位置を特定する位置情報を用いることで、例えば、現話者の顔に対してのロボット100の顔および視線を向ける動作を行うことができる。
第2の実施形態における音制御部110Aの構成の詳細について一例を示して説明する。
図9は、第2の実施形態における音制御部110Aの構成の詳細の具体例を示す図である。図9に示す第2の実施形態における音制御部110Aは、第1の実施形態における音制御部110と同じ構成要素を含む。よって、音制御部110Aの説明においては、第1の実施形態における音制御部110と同じ構成要素については、同じ符号を付与して説明を省略する。
音制御部110Aは、音声解析部401と、会話情報生成部402と、会話情報DB403Aと、発声情報生成部404Aと、音信号生成部405とを備える。
会話情報DB403Aは、上述した第1の実施形態の会話情報DB403が格納していた会話サンプル情報に加えて、更に呼吸音情報及びフィラー情報を格納する。呼吸音情報は、ロボット100Aに発音させる呼吸音の情報である。呼吸音情報は、例えば、「スーッ」又は「シュー」という人が吸気する際に出す吸気音の音声信号を含む情報である。フィラー情報は、ロボット100に発音させるフィラーの情報であるフィラー情報を格納する。フィラー情報は、「あのー」、「そのー」、「えっと」等のフィラーの音声信号を含む情報である。
発声情報生成部404Aは、上述した第1の実施形態の発声情報生成部404の機能に加えて、制御部109Aからの呼吸音やフィラーを発音するよう指示する発音指示信号に応じて、会話情報生成部402に対して呼吸音やフィラーを発音する会話情報を要求する。これにより、会話情報生成部402は、呼吸音やフィラーを発音するための音声信号を含む呼吸音情報やフィラー情報を会話情報DB403Aから参照して、呼吸音やフィラーを発音する会話情報を発声情報生成部404Aへ出力する。発声情報生成部404Aは、要求に応じて会話情報生成部402から取得した呼吸音やフィラーを発音する会話情報に基づいて、ロボット100に呼吸音やフィラーを発声させるための発話信号を生成する。発声情報生成部404は、生成した発話信号を音信号生成部405へ出力する。
以上の構成により、ロボット100Aは、発話を行いたい場合に、発話前に、動作制御信号に基づいて視線を利用者に向けたり、呼吸音やフィラーを発音したりすることができる。これにより、ロボット100Aの次話者確率Pns (t)が上昇するので、制御部109Aが、ロボット100Aに発話させる発話制御情報を出力する可能性が高まる。利用者は、ロボット100が発話を開始する前に、ロボット100がまもなく発話することを予見することができる。この予見により、利用者とロボット100との発話衝突を防ぎ、スムーズな会話を実現することができる。
図10は、第2の実施形態におけるロボット100Aの会話前動作の具体例を示す図である。図10に示すとおり、ロボット100Aと発話中の利用者である現話者60とがいる場合の具体例について説明する。図10の左側は、現話者60の話をロボット100Aが聞いている状態を示している。図10の右側は、ロボット100Aが発話を開始する直前の動作を示している。図10に示すとおり、ロボット100は、発話開始の直前に、頭部53を矢印61に示す方向に回転させることで、視線を現話者60に向ける。その頭部53の回転と同時又は前後して口部52内にあるスピーカ115から「スーッ」という吸気音62を発音する。これにより、ロボット100Aの次話者確率Pns (t)を上昇するので、ロボット100Aの発話の可能性を高めることができる。現話者60は、ロボット100Aがもうすぐ発話することを予見することができる。すなわち、ロボット100Aは、より適切なタイミングで発話を行うことができる。
次に、第2の実施形態におけるロボット100Aの会話動作について説明する。
図11は、第2の実施形態におけるロボット100Aの会話動作を示すフロー図である。図11に示す処理は、図6に示した処理と同様に、ロボット100Aにおいて、複数の利用者と会話を行う動作を開始した際に行う処理である。
音声入力部104は、マイク101からの音声信号が入力され、映像入力部105は、カメラ102からの映像信号が入力され、センサ入力部106は、センサ103からのセンサ信号が入力される。また、制御部109Aの制御によりロボット100Aの会話動作を行う(ステップS201)。ロボット100Aの会話動作には、上述した(1)〜(3)の動作が含まれる。このロボット100Aの会話動作に応じて、制御部109Aは、疑似センサ信号を次話者推定部108Aに出力する。
発話区間検出部107は、音声入力部104からの音声信号に基づいて、音声特徴量を算出し、算出した音声特徴量と所定の閾値を比較して発話区間を検出する(ステップS202)。次話者推定部108Aは、音声信号、映像信号、センサ信号、疑似センサ信号及び発話者情報に基づいて、ロボット100A及び各利用者iが時刻tに次話者となる確率である次話者確率Pns (t)を算出する(ステップS203)。
制御部109Aは、次話者推定部108Aからのロボット100A及び各利用者の次話者確率に基づいて、発話制御信号を出力する(ステップS204)。音制御部110Aは、制御部109Aからの発話制御信号に基づいて、ロボット100Aに発話を行わせるか否かを判断する(ステップS205)。ここで、ロボット100Aに発話を行わせないと判断した場合(ステップS205のNO)には、ステップS201の処理に戻る。ロボット100Aに発話を行わせると判断した場合(ステップS105のYES)には、音制御部110Aは、ロボット100Aに発話させるための会話情報を生成し、生成した会話情報に基づいた音信号をスピーカ115へ出力する(ステップS206)。これにより、ロボット100Aは、音信号に応じた発話をスピーカ115から発音する。
音制御部110Aは、制御部109Aからの発話制御信号に基づいて、ロボット100Aの発話を終了するか否かを判断する(ステップS207)。ここで、ロボット100Aの発話を終了しない場合(ステップS207のNO)には、音制御部110Aは、ステップS206の処理に戻る。ロボット100Aの発話を終了する場合(ステップS207のYES)には、音制御部110Aは、会話情報の生成を停止することに応じて音信号の出力を停止する。
次に、ロボット100Aは、複数の利用者と会話を行う会話動作を終了するか否かを判断する(ステップS208)。ここで、会話動作を終了しないと判断した場合(ステップS208のNO)には、ステップS201の処理に戻る。会話動作を終了すると判断した場合(ステップS208のYES)には、ロボット100Aは、会話動作を終了する。
以上に説明したとおり、第2の実施形態におけるロボット100Aは、複数の利用者と会話する際に、ロボット100Aの次話者確率と、各利用者の次話者確率との比較に基づいて、より適切なタイミングで発話を行うことができる。これにより、ロボット100Aは、他の利用者と発話のタイミングが重なる発話衝突の発生を低減した発話を行うことができる。また、ロボット100Aは、発話前にこれから発話を行うことを周りの人に察知させる動作を行うことで、より確実に発話衝突の発生を低減した発話を行うことができる。
(第2の実施形態の変形例)
第2の実施形態の変形例は、ロボット100Aの発話の必要性を表す指標であり、発話の必要性が高いほど大きな値となる、発話必要度を算出し、算出した発話必要度を用いて、ロボット100Aの次話者確率を変更する構成である。ロボット100Aは、公知の音声認識技術を用いて利用者の発話の内容を取得して、取得した発話内容に応じて発話必要度を算出する。
発話必要度の具体的な算出方法として、「発話内容」、「相手との関係」及び「発話者の性格」に基づいて、発話必要度を示す発話レベルUを算出する方法が、以下の参考文献5に記載されている。
参考文献5:河添 麻衣子、北村 泰彦“発話タイミングを考慮したマルチエージェント対話システム”、電子情報通信学会技術研究報告、AI、人工知能と知識処理、106(617)、pp53−56、2007年3月21日
制御部109Aは、発話レベルUを用いて例えば、下記の式により上述した第5制御方法又は第7制御方法で用いる次話者確率Pns (t)の代わりのPns (t)’を求める。
ns (t)’=Pns (t)・U・ζ(ζは任意の定数)
なお、上記式の変形例として以下の式を用いてもよい。
ns (t)’=Pns (t)+U・ζ(ζは任意の定数)
制御部109Aは、発話レベルUを用いて例えば、下記の式により上述した第6制御方法又は第8制御方法で用いる積分値Pns の代わりのPns ’を求める。
ns ’=Pns ・U・ζ(ζは任意の定数)
なお、上記式の変形例として以下の式を用いてもよい。
ns ’=Pns +U・ζ(ζは任意の定数)
このように発話必要度に応じて変化する次話者確率に基づいて発話を制御することにより、ロボット100Aは、発話が必要な際により発話を行うようになり、発話が不必要な時は、より発話を行わないようになる。すなわち、ロボット100Aは、より適切なタイミングで発話を行うことができる。
(第1、第2の実施形態に共通の次話者を推定する処理の具体例)
次に、上述した第1の実施形態におけるロボット100および第2の実施形態におけるロボット100Aに共通である次話者を推定する処理の具体例について説明する。ロボット100及びロボット100Aにおける次話者推定には、例えば、以下の参考文献6、7の技術などを適用することができるが、任意の既存の技術を利用してもよい。参考文献6、7記載の技術を利用した場合は、注視対象検出装置203が出力する注視対象情報に基づく発話者と非発話者の注視行動の遷移パターンを用いて、次話者推定部108又は次話者推定部108Aは、次発話者および発話のタイミングを予測する。
参考文献6:特開2014−238525号公報
参考文献7:石井亮、外4名、“複数人対話における注視遷移パターンに基づく次話者と発話タイミングの予測”、人工知能学会研究会資料、SIG-SLUD-B301-06、pp.27-34、2013年
以下に、本実施形態に適用可能な参考文献6、7以外の次話者推定技術の例を示す。
会話の利用者の呼吸動作は次発話者と発話のタイミングに深い関連性がある。このことを利用して、会話の利用者の呼吸動作をリアルタイムに計測し、計測された呼吸動作から発話の開始直前に行われる特徴的な呼吸動作を検出し、この呼吸動作を基に次発話者とその発話タイミングを高精度に算出する。具体的には、発話開始直前におこなわれる呼吸動作の特徴として、発話を行っている発話者は、継続して発話する際(発話者継続時)には、発話終了直後にすぐに急激に息を吸い込む。逆に発話者が次に発話を行わない際(発話者交替時)には、発話者継続時に比べて、発話終了時から間を空けて、ゆっくりと息を吸い込む。また、発話者交替時に、次に発話をおこなう次発話者は、発話を行わない非発話者に比べて大きく息を吸い込む。このような発話の前におこなわれる呼吸は、発話開始に対しておおよそ決められたタイミングで行われる。このように、発話の直前に次発話者は特徴的な息の吸い込みを行うため、このような息の吸い込みの情報は、次発話者とその発話タイミングを予測するのに有用である。本次話者推定技術では、人物の息の吸い込みに着目し、息の吸い込み量や吸い込み区間の長さ、タイミングなどの情報を用いて、次発話者と発話タイミングを予測する。
以下では、A人の利用者P,…,Pが対面コミュニケーションを行う状況を想定する。利用者P(ただし、a=1,…,A、A≧2)には呼吸動作計測装置202およびマイク101が装着される。呼吸動作計測装置202は、利用者Pの呼吸動作を計測し、各離散時刻tでの計測結果を表す呼吸情報Ba,tを得て、次話者推定部108又は次話者推定部108Aに出力する。呼吸動作計測装置202が、バンド式の呼吸装置を備える構成について説明する。バンド式の呼吸装置は、バンドの伸縮の強さによって呼吸の深さの度合いを示す値を出力する。息の吸い込みが大きいほどバンドの伸びが大きくなり、逆に息の吐き出しが大きいほどバンドの縮みが大きくなる(バンドの伸びが小さくなる)。以降、この値をRSP値と呼ぶ。なお、RSP値は、バンドの伸縮の強さに応じて利用者Pごとに異なる大きさを取る。そこで、これに起因するPごとのRSP値の相違を排除するために、各利用者PのRSP値の平均値μと標準偏差値δを用いて、μが1、μ−δが−1になるように利用者PごとにRSP値を正規化する。これによって、すべての利用者Pの呼吸動作データを同一に分析することが可能となる。各呼吸動作計測装置202は、正規化されたRSP値を呼吸情報Ba,tとして次話者推定部108又は次話者推定部108Aに送る。
さらに、マイク101は、利用者Pの音声を取得し、各離散時刻tでの利用者Pの音声を表す音声信号Va,tを得て、次話者推定部108又は次話者推定部108Aに出力する。次話者推定部108又は次話者推定部108Aは、入力された音声信号Va,t(ただし、a=1,…,A)から雑音を除去し、さらに発話区間U(ただし、kは発話区間Uの識別子)とその発話者Pukとを抽出する。ただし、「Puk」の下付き添え字はu=1,…,Aを表す。1つの発話区間UをTd[ms]連続した無音区間で囲まれた区間と定義し、この発話区間Uを発話の一つの単位と規定する。これにより、次話者推定部108又は次話者推定部108Aは、各発話区間Uを表す発話区間情報、およびその発話者Pukを表す発話者情報(利用者P,…,Pのうち何れが発話区間Uでの発話者Pukであるかを表す発話者情報)を得る。
次話者推定部108又は次話者推定部108Aは、各利用者Pの呼吸情報Ba,tを用いて、各利用者Pの息の吸い込み区間Ia,kを抽出し、さらに息の吸い込みに関するパラメータλa,kを取得する。息の吸い込み区間とは、息を吐いている状態から、息を吸い込みだす開始位置と、息を吸い込み終わる終了位置との間の区間を示す。
図12は、息の吸い込み区間の例を示す図である。図12を用いて、息の吸い込み区間Ia,kの算出方法を例示する。ここで利用者Pの離散時刻tでのRSP値をRa,tと表記する。RSP値Ra,tは呼吸情報Ba,tに相当する。図12に例示するように、例えば、以下の(式1)が成り立つとき、
Figure 2017121680
離散時刻t=ts(k)の前2フレームでRSP値Ra,tが連続して減少し、その後2フレームでRSP値Ra,tが連続して上昇しているから、離散時刻ts(k)を息の吸い込みの開始位置とする。さらに、以下の(式2)が成り立つとき、
Figure 2017121680
離散時刻t=te(k)の前2フレームのRSP値Ra,tが連続して上昇し、その後2フレームのRSP値Ra,tが連続して減少しているから、離散時刻te(k)を息の吸い込みの終了位置とする。このとき、利用者Pの息の吸い込み区間Ia,kはts(k)からte(k)までの区間となり、息の吸い込み区間の長さはte(k)−ts(k)となる。
次話者推定部108又は次話者推定部108Aは、息の吸い込み区間Ia,kが抽出されると、息の吸い込み区間Ia,k、呼吸情報Ba,t、および発話区間Uの少なくとも一部を用い、息の吸い込みに関するパラメータλ’a,kを抽出する。パラメータλ’a,kは、利用者Pの吸い込み区間Ia,kでの息の吸い込みの量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Uと吸い込み区間Ia,kとの時間関係の少なくとも一部を表す。パラメータλ’a,kは、これらの一つのみを表してもよいし、これらのうち複数を表してもよいし、これらすべてを表してもよい。パラメータλ’a,kは、例えば以下のパラメータMINa,k,MAXa,k,AMPa,k,DURa,k,SLOa,k,INT1a,kの少なくとも一部を含む。パラメータλ’a,kは、これらの1つのみを含んでいてもよいし、これらのうち複数を含んでいてもよいし、これらのすべてを含んでいてもよい。
・MINa,k:利用者Pの息の吸い込み開始時のRSP値Ra,t、すなわち、息の吸い込み区間Ia,kのRSP値Ra,tの最小値。
・MAXa,k:利用者Pの息の吸い込み終了時のRSP値Ra,t、すなわち、息の吸い込み区間Ia,kのRSP値Ra,tの最大値。
・AMPa,k:利用者Pの息の吸い込み区間Ia,kのRSP値Ra,tの振幅、すなわち、MAXa,k−MINa,kで算出される値。吸い込み区間Ia,kでの息の吸い込み量を表す。
・DURa,k:利用者Pの息の吸い込み区間Ia,kの長さ、すなわち、息の吸い込み区間Ia,kの終了位置の離散時刻te(k)から開始位置の離散時刻ts(k)を減じて得られる値te(k)−ts(k)
・SLOa,k:利用者Pの息の吸い込み区間Ia,kにおけるRSP値Ra,tの単位時間当たりの傾きの平均値、すなわち、AMPa,k/DURa,kで算出される値。吸い込み区間Ia,kでの息の吸い込み量の時間変化を表す。
・INT1a,k:手前の発話区間Uの終了時刻tue(k)(発話区間末)から利用者Pの息の吸い込みが開始されるまでの間隔、すなわち、息の吸い込み区間Ia,kの開始位置の離散時刻ts(k)から発話区間Uの終了時刻tue(k)を減じて得られる値ts(k)−tue(k)。発話区間Uと吸い込み区間Ia,kとの時間関係を表す。
次話者推定部108又は次話者推定部108Aは、さらに以下のパラメータINT2a,kを生成してもよい。
・INT2a,k:利用者Pの息の吸い込み終了時から次発話者の発話区間Uk+1が開始されるまでの間隔、すなわち、次発話者の発話区間Uk+1の開始時刻tus(k+1)から息の吸い込み区間Ia,kの終了位置の離散時刻te(k)を減じて得られる値tus(k+1)−te(k)。発話区間Uk+1と吸い込み区間Ia,kとの時間関係を表す。パラメータλ’a,kにINT2a,kを加えたものをパラメータλa,kと表記する。
次話者推定部108又は次話者推定部108Aは、例えば発話区間Uk+1を表す情報が得られ、さらに、パラメータλa,kが得られた以降(発話区間Uk+1が開始された後)に、発話区間Uおよびその発話者Puk、発話区間Uk+1およびその発話者Puk+1とその発話開始タイミングTuk+1を表す情報とともにデータベースに記録する。次発話者Puk+1の発話タイミングとは、発話区間Uk+1の何れかの時点またはそれに対応する時点であればよい。発話タイミングTuk+1は、発話区間Uk+1の開始時刻tus(k+1)であってもよいし、時刻tus(k+1)+γ(ただし、γは正または負の定数)であってもよいし、発話区間Uk+1の終了時刻tue(k+1)であってもよいし、時刻tue(k+1)+γであってもよいし、発話区間Uk+1の中心時刻tus(k+1)+(tue(k+1)−tus(k+1))/2であってもよい。λa,k,U,Puk,Puk+1,Tuk+1を表す情報の一部またはすべてがデータベースに保持され、次話者推定部108又は次話者推定部108Aが発話区間Uk+1よりも後の次発話者とその発話タイミングを予測するために使用される。
次話者推定部108又は次話者推定部108Aは、発話者情報Puk、発話区間U、利用者Pの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Uと吸い込み区間Ia,kとの時間関係の少なくとも一部に基づき、利用者P,…,Pのうち何れが次発話者Puk+1であるか、および次発話者Puk+1の発話タイミングの少なくとも一方を表す推定情報を得る。ただし、「Puk+1」の下付き添え字「uk+1」はuk+1を表す。発話区間Uの発話者Pukが発話区間Uk+1でも発話を行う場合(発話継続する場合)、次発話者は発話区間Uの発話者Pukと同一である。一方、発話区間Uの発話者Puk以外の利用者が発話区間Uk+1でも発話を行う場合(すなわち発話交替する場合)、次発話者は発話区間Uの発話者Puk以外の利用者である。
次話者推定部108又は次話者推定部108Aは、発話者情報Puk、発話区間U、利用者Pの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Uと吸い込み区間Ia,kとの時間関係の少なくとも一部に対応する特徴量fa,kに対する推定情報を得るためのモデルを機械学習し、このモデルを用いて特徴量に対する推定情報を得る。特徴量fa,kは、発話者情報Puk、発話区間U、利用者Pの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Uと吸い込み区間Ia,kとの時間関係の1つのみに対応してもよいし、これらのうち複数に対応してもよいし、すべてに対応してもよい。モデルの機械学習には、例えば、過去の吸い込み区間Ia,i(ただし、i<k)での息の吸い込み量、吸い込み区間Ia,iの長さ、吸い込み区間Ia,iでの息の吸い込み量の時間変化、および発話区間Uと吸い込み区間Ia,iとの時間関係の少なくとも一部に対応する特徴量fa,k、ならびに発話区間U,Ui+1およびそれらの発話者Puk,Puk+1の情報が学習データとして用いられる。
次話者推定部108又は次話者推定部108Aによる次発話者/発話タイミング推定処理を例示する。この例では、次発話者Puk+1を推定するモデルである次発話者推定モデルと、次発話者Puk+1の発話タイミングを推定するモデルである発話タイミング推定モデルとが生成され、それぞれのモデルを用いて次発話者Puk+1とその発話タイミングが推定される。
次発話者推定モデルを学習する場合、次話者推定部108又は次話者推定部108Aは、学習データとして、データベースから過去のパラメータλa,i(ただし、a=1,…,Aであり、i<kである)の少なくとも一部、および発話区間U,Ui+1およびそれらの発話者Pui,Pui+1を表す情報を読み出す。次話者推定部108又は次話者推定部108Aは、パラメータλa,iの少なくとも一部に対応する特徴量F1a,iおよびU,Ui+1,Pui,Pui+1を学習データとして、次発話者推定モデルを機械学習する。次発話者推定モデルには、例えば、SVM(Support Vector Machine)、GMM(Gaussian Mixture Model)、HMM(Hidden Markov Model)等を用いることができる。
次話者推定部108又は次話者推定部108Aは、パラメータλ’a,kの少なくとも一部に対応する特徴量F1a,kを次発話者推定モデルに適用し、それによって推定された次発話Puk+1を表す情報を「推定情報」の一部とする。なお、次発話Puk+1を表す情報は、何れかの利用者Pを確定的に表すものであってもよいし、確率的に表すものであってもよい。利用者Pが次話者になる確率を、P1とする。
発話タイミング推定モデルを学習する場合、次話者推定部108又は次話者推定部108Aは、学習データとして、データベースから過去のパラメータλa,i(ただし、a=1,…,Aであり、i<kである)の少なくとも一部、発話区間U,Ui+1およびそれらの発話者Pui,Pui+1、および発話区間Ui+1の発話開始タイミングTui+1を表す情報を読み出す。次話者推定部108又は次話者推定部108Aは、パラメータλa,iの少なくとも一部に対応する特徴量F2a,iおよびU,Ui+1,Pui,Pui+1,Tui+1を学習データとして、発話タイミング推定モデルを機械学習する。次発話者推定モデルには、例えば、SVM、GMM、HMM等を用いることができる。
次話者推定部108又は次話者推定部108Aは、発話者Puk、パラメータλ’a,kの少なくとも一部、および次発話者推定モデルにより推定された次発話者Puk+1が得られると、パラメータλ’a,kの少なくとも一部に対応する特徴量F2a,kを発話タイミング推定モデルに適用する。次話者推定部108又は次話者推定部108Aは、特徴量F2a,kを発話タイミング推定モデルに適用して推定された次の発話区間Uk+1の発話タイミングTuk+1(例えば、発話区間Uk+1の開始時刻)を表す情報を「推定情報」の一部として出力する。なお、発話タイミングを表す情報は、何れかの発話タイミングを確定的に表すものであってもよいし、確率的に表すものであってもよい。利用者Pが時刻tに発話を開始する確率(時刻tが利用者Pの発話タイミングである確率)を、P2(t)とする。
上述した実施形態の次話者推定部108又は次話者推定部108Aが推定する利用者iの時刻tにおける次話者確率Pns (t)は、利用者iが本次話者推定技術における利用者Pである場合、確率P1×確率P2(t)により算出される。
上述の次話者推定部108又は次話者推定部108Aは、呼吸動作の観測値に基づいて次に発話を開始する利用者およびタイミングを推定しているが、さらに、視線の観測値を用いてもよい。
視線行動をさらに利用する場合、各利用者P(ただし、a=1,…,A)には注視対象検出装置203がさらに装着される。注視対象検出装置203は、利用者Pが誰を注視しているか(注視対象)を検出し、利用者Pおよび各離散時刻tでの注視対象Ga,tを表す情報を次話者推定部108又は次話者推定部108Aに送る。次話者推定部108又は次話者推定部108Aは、注視対象情報G1,t,…,GA,t、発話区間U、および話者情報Pukを入力とし、発話区間終了前後における注視対象ラベル情報θv,k(ただし、v=1,…,V、Vは注視対象ラベルの総数)を生成する。注視対象ラベル情報は、発話区間Uの終了時点Tseに対応する時間区間における利用者の注視対象を表す情報である。ここでは、終了時点Tseを含む有限の時間区間における利用者Pの注視対象をラベル付けした注視対象ラベル情報θv,kを例示する。この場合、例えば、発話区間Uの終了時点Tseよりも前の時点Tse−Tから終了時点Tseよりも後の時点Tse+Tまでの区間に出現した注視行動を扱う。T,Tは0以上の任意の値でよいが、目安として、Tは0秒〜2.0秒、Tは0秒〜3.0秒程度にするのが適当である。
次話者推定部108又は次話者推定部108Aは、注視対象の利用者を以下のような種別に分類し、注視対象のラベリングを行う。なお、ラベルの記号に意味はなく、判別できればどのような表記でも構わない。
・ラベルS:現話者(すなわち、現話者である利用者Pukを表す)
・ラベルLξ:非話者(ただし、ξは互いに異なる非話者である利用者を識別し、ξ=1,…,A−1である。例えば、ある利用者が、非話者P、非話者P、の順に注視をしていたとき、非話者PにLというラベル、非話者PにLというラベルが割り当てられる。)
・ラベルX:誰も見ていない
ラベルがSまたはLξのときには、相互注視(視線交差)が起きたか否かという情報を付与する。本形態では、相互注視が起きた際には、S,LξM(下付き添え字の「ξM」はξを表す)のように、ラベルS,Lξの末尾にMラベルを付与する。
図13は、注視対象ラベルの具体例を示す図である。図13はA=4の例であり、発話区間U,Uk+1と各利用者の注視対象が時系列に示されている。図13の例では、利用者Pが発話した後、発話交替が起き、新たに利用者Pが発話をした際の様子を示している。ここでは、現話者である利用者Pが利用者Pを注視した後、利用者Pを注視している。Tse−Tの時点からTse+Tの時点までの区間では、利用者Pが利用者Pを見ていたとき、利用者Pは利用者Pを見ている。これは、利用者Pと利用者Pとで相互注視が起きていることを表す。この場合、利用者Pの注視対象情報G1,tから生成される注視対象ラベルはLとL2Mの2つとなる。上述の区間では、利用者Pは利用者Pを注視した後、現話者である利用者Pを注視している。この場合、利用者Pの注視対象ラベルはLとSの2つとなる。また、上述の区間では、利用者Pは現話者である利用者Pを注視している。この場合、利用者Pの注視対象ラベルはSとなる。また、上述の区間では、利用者Pは誰も見ていない。この場合、利用者Pの注視対象ラベルはXとなる。したがって、図13の例では、V=6である。
次話者推定部108又は次話者推定部108Aは、注視対象ラベルごとの開始時刻、終了時刻も取得する。ここで、誰(R∈{S,L})のどの注視対象ラベル(GL∈{S,S,L,L1M,L,L2M,…})であるかを示す記号としてRGL、その開始時刻をST_RGL、終了時刻をET_RGLと定義する。ただし、Rは利用者の発話状態(現話者か非話者か)を表し、Sは現話者、Lは非話者である。例えば、図13の例において、利用者Pの最初の注視対象ラベルはSL1であり、その開始時刻はST_SL1、終了時刻はET_SL1である。注視対象ラベル情報θv,kは注視対象ラベルRGL、開始時刻ST_RGL、および終了時刻ET_RGLを含む情報である。
次話者推定部108又は次話者推定部108Aは、注視対象ラベル情報θv,kを用いて、各利用者Pの注視対象遷移パターンEa,kを生成する。注視対象遷移パターンの生成は、注視対象ラベルRGLを構成要素として、時間的な順序を考慮した遷移n−gramを生成して行う。ここで、nは正の整数である。例えば、図13の例を考えると、利用者P1の注視対象ラベルから生成される注視対象遷移パターンE1,kはL−L2Mである。同様にして、利用者Pの注視対象遷移パターンE2,kはL−S、利用者Pの注視対象遷移パターンE3,kはS、利用者Pの注視対象遷移パターンE4,kはXとなる。
注視対象遷移パターンEa,kは、例えば発話区間Uk+1が開始された後に、発話区間Uおよびその発話者Puk、発話区間Uk+1に該当する発話を行う次発話者Puk+1および次発話開始タイミングTuk+1を表す情報とともにデータベースに送られる。データベースでは、注視対象遷移パターンEa,kが、パラメータλa,kと併合され、Ea,k,λa,k,U,Puk,Puk+1,Tuk+1を表す情報の一部またはすべてがデータベースに保持される。
次話者推定部108又は次話者推定部108Aは、注視対象ラベル情報θv,kを入力とし、注視対象ラベルごとの時間構造情報Θv,kを生成する。時間構造情報は利用者の視線行動の時間的な関係を表す情報であり、(1)注視対象ラベルの時間長、(2)注視対象ラベルと発話区間の開始時刻または終了時刻との間隔、(3)注視対象ラベルの開始時刻または終了時刻と他の注視対象ラベルの開始時刻または終了時刻との間隔、をパラメータとして持つ。
具体的な時間構造情報のパラメータを以下に示す。以下では、発話区間の開始時刻をST_U、発話区間の終了時刻をET_Uと定義する。
・INT1(=ET_RGL−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLと終了時刻ET_RGLの間隔
・INT2(=ST_U−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLが発話区間の開始時刻ST_Uよりもどれくらい前であったか
・INT3(=ET_U−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLが発話区間の終了時刻ET_Uよりもどれくらい前であったか
・INT4(=ET_RGL−ST_U):注視対象ラベルRGLの終了時刻ET_RGLが発話区間の開始時刻ST_Uよりもどれくらい後であったか
・INT5(=ET_U−ET_RGL):注視対象ラベルRGLの終了時刻ET_RGLが発話区間の終了時刻ET_Uよりもどれくらい前であったか
・INT6(=ST_RGL−ST_RGL’):注視対象ラベルRGLの開始時刻ST_RGLが他の注視対象ラベルRGL’の開始時刻ST_RGL’よりもどれくらい後であったか
・INT7(=ET_RGL’−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLが他の注視対象ラベルRGL’の終了時刻ET_RGL’よりもどれくらい前であったか
・INT8(=ET_RGL−ST_RGL’):注視対象ラベルRGLの終了時刻ET_RGLが注視対象ラベルRGL’の開始時刻ST_RGL’よりもどれくらい後であったか
・INT9(=ET_RGL−ET_RGL’):注視対象ラベルRGLの終了時刻ET_RGLが注視対象ラベルRGL’の終了時刻ET_RGL’よりもどれくらい後であったか
なお、INT6〜INT9については、すべての利用者の注視対象ラベルとの組み合わせに対して取得する。図13の例では、注視対象ラベル情報は全部で6つ(L,L2M,L,S,S,X)あるため、INT6〜INT9は、それぞれ6×5=30個のデータが生成される。
時間構造情報Θv,kは注視対象ラベル情報θv,kについてのパラメータINT1〜INT9からなる情報である。時間構造情報Θv,kを構成する上記の各パラメータについて、図14を用いて具体的に示す。図14は、現話者である利用者P1(R=S)の注視対象ラベルL1についての時間構造情報を示す図である。すなわち、RGL=SL1における時間構造情報である。なお、INT6〜INT9については、図示を簡略化するために、利用者P2の注視対象ラベルL1、すなわちRGL=LL1との関係のみを示す。図14の例では、INT1〜INT9は以下のように求められることがわかる。
・INT1=ET_SL1−ST_SL1
・INT2=ST_U−ST_SL1
・INT3=ET_U−ST_SL1
・INT4=ET_SL1−ST_U
・INT5=ET_U−ET_SL1
・INT6=ST_SL1−ST_LL1
・INT7=ET_LL1−ST_SL1
・INT8=ET_SL1−ST_LL1
・INT9=ET_SL1−ET_LL1
時間構造情報Θv,kは、例えば発話区間Uk+1が開始された後に、発話区間Uおよびその発話者Puk、発話区間Uk+1に該当する発話を行う次発話者Puk+1および次発話開始タイミングTuk+1を表す情報とともにデータベースに送られる。データベースでは、時間構造情報Θv,kが、パラメータλa,kと併合され、Θv,k,λa,k,U,Puk,Uk+1,Puk+1,Tuk+1を表す情報の一部またはすべてがデータベースに保持される。
次話者推定部108又は次話者推定部108Aは、注視対象遷移パターンEa,k、時間構造情報Θv,k、発話者情報Puk、発話区間U、利用者Pの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Uと吸い込み区間Ia,kとの時間関係の少なくとも一部に対応する特徴量fa,kに対する推定情報を得るためのモデルを機械学習し、モデルを用いて特徴量に対する推定情報である次話者確率Pns (t)を得て出力する。
上述の次話者推定部108又は次話者推定部108Aは、呼吸動作の観測値および視線の観測値に基づいて次に発話を開始する利用者およびタイミングを推定しているが、さらに、利用者の頭部の動きに関する情報を用いてもよい。これは、人は発話の直前に大きく頷く傾向があることを利用するものである。次話者推定部108又は次話者推定部108Aは、映像入力部102からの各利用者の画像データを解析して、頭部が上下に動いたか否かにより利用者が頷いたか否かを判定する。次話者推定部108又は次話者推定部108Aは、利用者iが時刻tの数秒前に頷いたと判定した場合には、利用者iの時刻tにおける次話者確率Pns (t)に所定値を加算する処理等を行う。また、次話者推定部108又は次話者推定部108Aは、呼吸動作の観測値、視線の観測値および、利用者の頭部の動きに関する情報の少なくとも一つに基づいて次話者確率Pns (t)を算出してもよい。
また、次話者推定部108又は次話者推定部108Aが呼吸動作の観測値、視線の観測値および、利用者の頭部の動きに関する情報の少なくとも一つを用いている場合は、次話者推定部108又は次話者推定部108Aで用いる情報に応じて、センサ103は、位置計測装置201、呼吸動作計測装置202、注視対象検出装置203及び頭部動作検出装置204のいずれか一つ又は複数を備える構成でよい。
なお、第1の実施形態におけるロボット100及び第2の実施形態におけるロボット100Aは、マイク101、カメラ102、センサ103、音声入力部104、映像入力部105、センサ入力部106、発話区間検出部107、次話者推定部108又は次話者推定部108A及び発話制御部109又は制御部109Aを内蔵する構成としたが、この構成に限られるものではない。マイク101、カメラ102、センサ103、音声入力部104、映像入力部105、センサ入力部106、発話区間検出部107、次話者推定部108(又は次話者推定部108A)及び発話制御部109(又は制御部109A)を備える発話制御装置をロボット100(又はロボット100A)と別装置で設ける構成としてもよい。発話制御装置は、ロボット100(又はロボット100A)と通信可能な構成であり、発話制御部109(又は制御部109A)からの制御信号をロボット100(又はロボット100A)へ送信することで、ロボット100(又はロボット100A)の発話を制御する。
ロボット100及びロボット100Aは、その体の一部をディスプレイ等の表示部に体の一部を表示する構成であっても良く、全身が仮想的な人物であるエージェントとして表示部に表示されるものであってもよい。ロボット100及びロボット100Aの体の一部を表示部で表現するとは、例えば、顔全体が表示部となっており、その表示部に顔の画像を表示する構成等が考えられる。表示部に表示した顔の画像を変化させていろいろな表現を行うことができる。話者となるエージェントを表示部に表示する表示装置は、ロボット100と同様に、マイク101と、カメラ102と、センサ103と、音声入力部104と、映像入力部105と、センサ入力部106と、発話区間検出部107と、利用者情報取得部108と、動作制御部109と、音制御部110と、口部制御部111と、視線制御部112と、頭部制御部113と、胴部制御部114と、スピーカ115とを備える。エージェントは、例えば、口を含む口部及び目を含む眼部を有する顔があり、顔を含む頭部の下には手、腕、及び足を有する胴部がある人物である。表示装置は、口部制御部111、視線制御部112、頭部制御部113及び胴部制御部114からの制御信号に応じて、表示部に表示中のエージェントの口、目の視線、頭及び胴体(手、腕及び足等を含む)を動かす画像処理部をさらに備える。なお、ロボット100及びロボット100Aは、複数のマイク101及びセンサ103を備えない構成であってもよく、例えば、ロボット100及びロボット100Aの外部に設置された複数のマイク101及びセンサ103と有線又は無線にて信号を送受信可能な構成であってもよい。
第1の実施形態におけるロボット100及び第2の実施形態におけるロボット100Aにおいて、上述した発話制御処理の妨げにならない範囲であれば、図1及び図7に示した機能以外の通常のロボットが備えている機能等を備えてもよい。例えば、第1の実施形態におけるロボット100は、第2の実施形態におけるロボット100Aのような呼吸動作等の会話時の人間と同様の動作を行うことができる構成としてもよい。
上述した本実施形態におけるロボット100又はロボット100Aの備える各機能部は、例えば、コンピュータで実現することができる。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
利用者と会話を行うロボットの制御に適用したり、利用者と会話を行う表示装置に表示されたエージェント(仮想的な人物)の動きの制御に適用したりすることができる。
51a…右目,51b…左目,52…口部,53…頭部,54…頸部,55…胴部,100、100A…ロボット, 101…マイク, 102…カメラ, 103…センサ, 104…音声入力部, 105…映像入力部, 106…センサ入力部, 107…発話区間検出部, 108、108A…次話者推定部, 109、301…発話制御部,109A…制御部, 110、110A…音制御部, 111…口部制御部, 112…視線制御部, 113…頭部制御部, 114…胴部制御部, 115…スピーカ(発音部), 116…口部駆動部, 117…眼部駆動部, 118…頭部駆動部, 119…胴部駆動部, 201…位置計測装置, 202…呼吸動作計測装置, 203…注視対象検出装置, 204…頭部動作検出装置,302…動作パターン情報格納部, 303…動作制御部, 304…センサ信号変換部, 401…音声解析部, 402…会話情報生成部, 403、403A…会話情報DB, 404、404A…発声情報生成部, 405…音信号生成部

Claims (8)

  1. 複数の利用者と会話を行うロボットの発話を、又は、複数の利用者と会話を行う表示装置に表示される話者の発話を制御する発話制御部と、
    前記利用者が任意の時刻に次話者となる確率である第1の次話者確率を取得する次話者推定部と、
    を備え、
    前記発話制御部は、前記次話者推定部が取得した前記利用者の前記第1の次話者確率に基づいて前記ロボット又は前記話者の発話を制御する発話制御システム。
  2. 前記発話制御部は、複数の前記利用者の前記第1の次話者確率が所定の閾値以下の場合に前記ロボット又は前記話者の発話を行わせるよう制御する請求項1に記載の発話制御システム。
  3. 前記発話制御部は、複数の前記利用者の前記第1の次話者確率を所定時間積分した積分値が所定の閾値以下の場合に前記ロボット又は前記話者の発話を行わせるよう制御する請求項1に記載の発話制御システム。
  4. 前記次話者推定部は、前記利用者の非言語行動に基づいて前記第1の次話者確率を取得する請求項1から請求項3のいずれか一項に記載の発話制御システム。
  5. 前記ロボット又は前記話者は、前記非言語行動に対応した動作を行うよう制御が可能であり、
    前記次話者推定部は、前記ロボット又は前記話者の前記非言語行動に対応した動作に関する情報に基づいて、前記時刻に前記ロボット又は前記話者が次話者となる確率である第2の次話者確率を取得し、
    前記発話制御部は、複数の前記利用者の前記第1の次話者確率と、前記ロボット又は前記話者の前記第2の次話者確率との比較に基づいて、前記ロボット又は前記話者の発話を制御する請求項4に記載の発話制御システム。
  6. 前記発話制御部は、前記ロボット又は前記話者の発話の必要性を表す指標である発話必要度を取得して、取得した前記発話必要度に応じて前記次話者推定部が取得した前記第2の次話者確率の値を変化させる請求項5に記載の発話制御システム。
  7. 複数の利用者と会話を行うロボットの発話を、又は、複数の利用者と会話を行う表示装置に表示される話者の発話を制御する発話制御部と、
    前記利用者が任意の時刻に次話者となる確率である第1の次話者確率を取得する次話者推定部と、
    を備え、
    前記発話制御部は、前記次話者推定部が取得した前記利用者の前記第1の次話者確率に基づいて前記ロボット又は前記話者の発話を制御する発話制御装置。
  8. 複数の利用者と会話を行うロボットの発話を、又は、複数の利用者と会話を行う表示装置に表示される話者の発話を制御する発話制御プログラムであって、
    前記利用者が任意の時刻に次話者となる確率である第1の次話者確率を取得する次話者推定ステップと、
    前記次話者推定ステップにおいて取得した前記利用者の前記第1の次話者確率に基づいて前記ロボット又は前記話者の発話を制御する発話制御ステップと、
    をコンピュータに実行させるための発話制御プログラム。
JP2016001177A 2016-01-06 2016-01-06 発話制御システム、発話制御装置及び発話制御プログラム Active JP6480351B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016001177A JP6480351B2 (ja) 2016-01-06 2016-01-06 発話制御システム、発話制御装置及び発話制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016001177A JP6480351B2 (ja) 2016-01-06 2016-01-06 発話制御システム、発話制御装置及び発話制御プログラム

Publications (2)

Publication Number Publication Date
JP2017121680A true JP2017121680A (ja) 2017-07-13
JP6480351B2 JP6480351B2 (ja) 2019-03-06

Family

ID=59306133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016001177A Active JP6480351B2 (ja) 2016-01-06 2016-01-06 発話制御システム、発話制御装置及び発話制御プログラム

Country Status (1)

Country Link
JP (1) JP6480351B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019035897A (ja) * 2017-08-18 2019-03-07 ヤフー株式会社 決定装置、決定方法、及び決定プログラム
CN110223700A (zh) * 2018-03-02 2019-09-10 株式会社日立制作所 讲话者推定方法及讲话者推定装置
JP2020134545A (ja) * 2019-02-13 2020-08-31 ヤフー株式会社 音声処理装置、音声処理方法および音声処理プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006071936A (ja) * 2004-09-01 2006-03-16 Matsushita Electric Works Ltd 対話エージェント
JP2010054574A (ja) * 2008-08-26 2010-03-11 Nippon Hoso Kyokai <Nhk> 話者交替推定装置、話者識別装置、及びコンピュータプログラム
JP2012076162A (ja) * 2010-09-30 2012-04-19 Waseda Univ 会話ロボット
JP2013006232A (ja) * 2011-06-23 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> コミュニケーションエージェントの動作制御装置、コミュニケーションエージェントの動作制御方法、及びそのプログラム
JP2014238525A (ja) * 2013-06-10 2014-12-18 日本電信電話株式会社 推定装置、推定方法、およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006071936A (ja) * 2004-09-01 2006-03-16 Matsushita Electric Works Ltd 対話エージェント
JP2010054574A (ja) * 2008-08-26 2010-03-11 Nippon Hoso Kyokai <Nhk> 話者交替推定装置、話者識別装置、及びコンピュータプログラム
JP2012076162A (ja) * 2010-09-30 2012-04-19 Waseda Univ 会話ロボット
JP2013006232A (ja) * 2011-06-23 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> コミュニケーションエージェントの動作制御装置、コミュニケーションエージェントの動作制御方法、及びそのプログラム
JP2014238525A (ja) * 2013-06-10 2014-12-18 日本電信電話株式会社 推定装置、推定方法、およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019035897A (ja) * 2017-08-18 2019-03-07 ヤフー株式会社 決定装置、決定方法、及び決定プログラム
CN110223700A (zh) * 2018-03-02 2019-09-10 株式会社日立制作所 讲话者推定方法及讲话者推定装置
JP2020134545A (ja) * 2019-02-13 2020-08-31 ヤフー株式会社 音声処理装置、音声処理方法および音声処理プログラム
JP7085500B2 (ja) 2019-02-13 2022-06-16 ヤフー株式会社 音声処理装置、音声処理方法および音声処理プログラム

Also Published As

Publication number Publication date
JP6480351B2 (ja) 2019-03-06

Similar Documents

Publication Publication Date Title
JP2019164352A (ja) 人間型ロボットとユーザーの間におけるマルチモード会話を実行する方法、前記方法を実装するコンピュータプログラム及び人間型ロボット
US20190371318A1 (en) System and method for adaptive detection of spoken language via multiple speech models
EP3752957A1 (en) System and method for speech understanding via integrated audio and visual based speech recognition
US20040243416A1 (en) Speech recognition
CN111002303B (zh) 识别装置、机器人、识别方法和存储介质
JP2017118364A (ja) コミュニケーションシステム、コミュニケーション装置およびコミュニケーションプログラム
WO2008069187A1 (ja) プレゼンテーション支援装置および方法並びにプログラム
US20220101856A1 (en) System and method for disambiguating a source of sound based on detected lip movement
CN111935573B (zh) 音频增强方法、装置、存储介质及可穿戴设备
JP2008509455A (ja) ユーザとシステムとの間の通信方法及びシステム
JP6480351B2 (ja) 発話制御システム、発話制御装置及び発話制御プログラム
JP6445473B2 (ja) 会話支援システム、会話支援装置及び会話支援プログラム
CN110634505A (zh) 声音期间检测装置、声音期间检测方法、存储介质、声音认识装置以及机器人
Bilac et al. Gaze and filled pause detection for smooth human-robot conversations
JP7205533B2 (ja) 情報処理装置及び情報処理方法、並びにロボット装置
JP6363987B2 (ja) 音声処理システム、音声処理装置および音声処理プログラム
JP2010110864A (ja) ロボットシステム、コミュニケーション活性化方法及びプログラム
JP2007155986A (ja) 音声認識装置および音声認識装置を備えたロボット
JP2020126195A (ja) 音声対話装置、音声対話装置の制御装置及び制御プログラム
WO2021166811A1 (ja) 情報処理装置および行動モード設定方法
JP2021135363A (ja) 制御システム、制御装置、制御方法及びコンピュータプログラム
JP6502865B2 (ja) 会話支援システム、会話支援装置及び会話支援プログラム
JP2018149625A (ja) コミュニケーションロボット、プログラム及びシステム
JP6383349B2 (ja) コミュニケーションスキル評価システム、コミュニケーションスキル評価装置及びコミュニケーションスキル評価プログラム
JP6335157B2 (ja) 会話支援システム、会話支援装置及び会話支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190207

R150 Certificate of patent or registration of utility model

Ref document number: 6480351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150