(57)【要約】【課題】複数の参加者間で行われるコミュニケーションにおいて、次に話し始めるタイミングを推定する。【解決手段】推定装置は、発話区間の終了時刻に対応する時間区間におけるコミュニケーション参加者の頭部動作を表す頭部動作情報を得る頭部動作情報生成部と、頭部動作情報に基づき、発話区間の次の発話開始タイミングとして、「次の発話開始時刻」、又は「発話の終了時刻から次発話の開始時刻までの間隔」を推定する推定部と、を有する。【選択図】図２
2019208215.tif 000002
【特許請求の範囲】
【請求項１】
発話区間の終了時刻に対応する時間区間におけるコミュニケーション参加者の頭部動作を表す頭部動作情報を得る頭部動作情報生成部と、
前記頭部動作情報に基づき、前記発話区間の次の発話開始タイミングとして、「次の発話開始時刻」、又は「発話の終了時刻から次発話の開始時刻までの間隔」を推定する推定部と、
を有する推定装置。
【請求項２】
請求項１の推定装置であって、
前記推定部は、全参加者の頭部位置、回転角度を含む頭部状態から生成される各々の座標値・回転角度の(1)変化量、(2)変化を波と捉えた時の振幅、(3)変化を波と捉えた時の周波数の少なくとも何れかから得られる頭部動作情報を特徴量として、前記発話区間の次の発話開始タイミングを推定する、
推定装置。
【請求項３】
発話区間の終了時刻に対応する時間区間におけるコミュニケーション参加者の頭部動作を表す頭部動作情報を得る頭部動作情報生成ステップと、
前記頭部動作情報に基づき、前記発話区間の次の発話開始タイミングとして、「次の発話開始時刻」、又は「発話の終了時刻から次発話の開始時刻までの間隔」を推定する推定ステップと、
を有する推定方法。
【請求項４】
請求項１または請求項２の推定装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の参加者間で行われるコミュニケーションにおいて、次に話し始める参加者およびタイミングの少なくとも一方を推定するための技術に関する。
【背景技術】
【０００２】
複数の参加者間で行われるコミュニケーションにおいて、音声や映像の情報を解析して次に話し始める参加者（次発話者）を推定する手法や、推定結果から参加者に次発話者を通知することで発話衝突を軽減する手法が提案されている（例えば、特許文献１，２等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３３８４９３号公報
【特許文献２】特開２０１２−１４６０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、これらの次発話者推定手法は、推定精度が低く不十分なものである。特許文献２の手法では、参加者の動作や同調リズムから次発話者が推定可能であるとしているが、具体的な計算方法は明記されていない。また、特許文献１の手法では、話者以外の参加者が見ていた被注視対象者を次発話者と決定している。しかしながら、必ず次発話者を他の参加者が注視するとは限らないため、精度に課題がある。また、いつ次発話者が話し始めるかといった厳密なタイミングを推定する試みは行われていなかった。
【０００５】
本発明はこのような点に鑑みてなされたものであり、複数の参加者間で行われるコミュニケーションにおいて、次に話し始める参加者（以下「次発話者」ともいう）およびタイミング（以下「次発話開始タイミング」ともいう）の少なくとも一方を推定することを課題とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様によれば、推定装置は、発話区間の終了時刻に対応する時間区間におけるコミュニケーション参加者の頭部動作を表す頭部動作情報を得る頭部動作情報生成部と、頭部動作情報に基づき、発話区間の次の発話開始タイミングとして、「次の発話開始時刻」、又は「発話の終了時刻から次発話の開始時刻までの間隔」を推定する推定部と、を有する。
【０００７】
上記の課題を解決するために、本発明の他の態様によれば、推定方法は、発話区間の終了時刻に対応する時間区間におけるコミュニケーション参加者の頭部動作を表す頭部動作情報を得る頭部動作情報生成ステップと、頭部動作情報に基づき、発話区間の次の発話開始タイミングとして、「次の発話開始時刻」、又は「発話の終了時刻から次発話の開始時刻までの間隔」を推定する推定ステップと、を有する。
【発明の効果】
【０００８】
本発明では、複数の参加者間で行われるコミュニケーションにおいて、次発話者および次発話開始タイミングの少なくとも一方を推定することができる。
【図面の簡単な説明】
【０００９】
【図１】第一実施形態で取り扱う頭部状態を説明するための図。
【図２】第一実施形態に係る推定装置の機能ブロック図。
【図３】第一実施形態に係る推定装置の処理フローの例を示す図。
【図４】第一実施形態で取り扱う頭部動作を説明するための図。
【発明を実施するための形態】
【００１０】
図面を参照して本発明の実施形態を説明する。以下では既に説明した機能構成および処理に対して同じ参照番号を用いて重複した説明を省略する。
＜第一実施形態＞
第一実施形態では、複数の参加者間で行われる会話を含むコミュニケーションにおいて、発話終了前後の参加者の頭部動作と次発話者および次発話開始タイミングとに強い相関があることを利用する。本実施形態で取り扱う頭部動作は、頭部の前後，左右，上下の3自由度の位置の変化、および3自由度の回転角度の変化の計6自由度の情報の少なくとも１つに基づき得られる。6自由度の情報は、例えば、頭部計測装置（ヘッドトラッカ）で計測され、図１のような座標系で、3次元位置（X,Y,Z）と3自由度の回転角度（azimuth,elevation,roll）の6自由度の位置および回転情報として定義され、それぞれの座標値で位置と回転角度が表される。
【００１１】
本実施形態では、(1)発話をしている参加者（以下「現発話者」ともいう）が、さらに発話を継続するときと、しないときとで、発話終了付近の頭部動作（例えば頭部の移動や回転）が異なること、また、(2)非話者（発話者以外のものであり、現発話者以外の参加者）が次に話を開始する（すなわち，次発話者になる）ときと、しないときとで、発話終了付近の頭部動作が異なることを利用する。例えば、4人対話においては、現発話者の（A）頭部位置X、Y、Z、回転角度rollにおける変化量と、頭部位置Y、Z、回転角度rollにおける頭部動作の変化を波として捉えたときの波の振幅（以下、単に「振幅」ともいう）と、回転角度elevationにおける頭部動作の変化を波として捉えたときの波の周波数（以下、単に「周波数」ともいう）は、話者継続時よりも話者交替時で大きくなる傾向にある。また、現発話者の(B)頭部位置Yにおける周波数は話者継続時よりも話者交替時で小さくなる傾向にあることが分かっている。また、(C)頭部位置X、Y、Z、回転角度azimuth、elevation、rollにおける変化量と振幅は、話者継続時の非話者に比べて、話者交替時の非話者と次発話者の方が大きい。なお、話者継続時の非話者とは現発話者以外の参加者のことを意味し、話者交代時の非話者とは現発話者および次発話者以外の参加者のことを意味する。逆に、(D)頭部位置X、Y、Z、回転角度azimuth、elevation、rollにおける周波数は、話者継続時の非話者に比べて、話者交替時の非話者と次発話者の方が小さい傾向にある。(E)頭部位置X、Zにおける変化量は、話者交替時の非話者に比べて、次発話者の方が大きい。逆に、(F) 頭部位置Zにおける周波数は、話者交替時の非話者に比べて、次発話者の方が小さい傾向にある。ただし、これらの傾向は、あくまでも一例であり、必ずしもすべての状況および対話においても同じ傾向であるとは限らない。そうであっても、このような頭部動作と次発話者および発話開始タイミングとの間には、相関があり、頭部状態情報に基づく頭部動作を用いることは、次発話者および発話開始タイミングを推定する上で非常に有用であると考えられる。
【００１２】
本実施形態は、このような、参加者の頭部位置・回転角度の変化量、振幅および周波数を利用して、次発話者と発話開始タイミングとを予測する。
【００１３】
本実施形態では、まず、参加者の音声情報から発話単位を自動的に生成し、参加者全員ないしは複数の参加者の発話単位付きの頭部状態情報（例えば、6自由度の頭部位置（X,Y,Z）、回転角度（azimuth, elevation, roll））を入力とし、発話区間の終了時刻に対応する時間区間におけるコミュニケーション参加者の頭部動作に関する情報である頭部動作情報（例えば、各々の座標値・回転角度の変化量、振幅、周波数）を生成する。これらの情報の各パラメータに応じて、次発話者、発話開始タイミングがどのようになるか予測する予測モデルを、機械学習手法などを用いて、事前にもしくはオンラインで学習しておき、発話区間の終了時刻に対応する時間区間における座標値・回転角度の変化量、振幅、周波数に基づき次発話者、発話開始タイミングを高精度で推定し、出力する。
【００１４】
なお、本形態で取り扱うコミュニケーションは、参加者間での対面コミュニケーションであってもよいし、テレビ電話やビデオチャットなど映像を用いた遠隔コミュニケーションであってもよい。また、対面コミュニケーションを行う複数の参加者の遠隔地に遠隔コミュニケーションを行う他の参加者が存在し、対面コミュニケーションおよび遠隔コミュニケーションの両方が行われるものであってもよい。また、参加者は人間と同等なコミュニケーション能力を保有したコミュニケーションロボットでも良い。コミュニケーションの参加人数については2人以上であれば、特に制約はない。
【００１５】
＜本形態のシステム構成＞
図２は本形態のシステムの機能ブロック図を、図３はその処理フローの例を示す。図２に例示するように、本形態のシステムは、推定装置１００、Ｎ個の頭部状態検出装置１０１−１〜Ｎ、および音声情報取得装置１０２−１〜Ｎを有し、推定装置１００は、発話単位生成部１０３、頭部動作情報生成部１０４、および推定部１１０を有する。推定部１１０は、次発話者算出部１０６、発話開始タイミング算出部１０７および次発話者およびタイミング情報保存データベース１０５を有する。Ｎは２以上の整数であり、コミュニケーションの参加者U1〜UNの人数を表す。頭部状態検出装置１０１−ｊおよび音声情報取得装置１０２−ｊは、各参加者Uj（ただし、j=1,…,N）の頭部状態の検出および音声情報の取得を行う。対面コミュニケーション環境下で本システムを利用する場合、頭部状態検出装置１０１−１〜Ｎおよび音声情報取得装置１０２−１〜Ｎは、参加者U1〜UNが対面コミュニケーションを行う場所に配置され、それらで得られた情報が推定装置１００に直接送られる。遠隔コミュニケーション環境下で本システムを利用する場合、各頭部状態検出装置１０１−ｊおよび音声情報取得装置１０２−ｊは、各参加者Ujが存在する各拠点に配置され、それらで得られた情報がネットワーク経由で推定装置１００に送信される。対面コミュニケーションおよび遠隔コミュニケーションの両方が行われる環境下で本システムを利用する場合、各参加者Ujが存在する場所に頭部状態検出装置１０１−ｊおよび音声情報取得装置１０２−ｊが配置され、それらで得られた情報がネットワーク経由または直接に推定装置１００に送られる。
【００１６】
本システムは、頭部状態検出装置１０１−１〜Ｎ、音声情報取得装置１０２−１〜Ｎ、発話単位生成部１０３、頭部動作情報生成部１０４、および推定部１１０が実行する一連の処理を繰り返し行うことで、常時、次発話者および発話開始タイミングの推定を行う。ただし、次発話者算出部１０６で次発話者を推定し、発話開始タイミング算出部１０７で発話開始タイミングを推定するので、それぞれ独立して処理を行うことができる。そのため、どちらか一方のみを利用することも可能である。次発話者算出部１０６で次発話者算出を行わずに、発話開始タイミング算出部１０７で発話開始タイミング算出のみを行う場合は、図２に示した次発話者算出部１０６から発話開始タイミング算出部１０７に送られる次発話者は利用できない。すなわち、次発話者はわからないが、誰かがどれくらいのタイミングで発話を開始するかを出力する。
【００１７】
次に各部での処理について述べる。本説明では、４人の参加者の対面コミュニケーション環境下を前提とする。
【００１８】
［頭部状態検出装置１０１−ｊ］
頭部状態検出装置１０１−ｊは、各参加者Ujの頭部状態Gj(t)を検出し（ｓ１０１）、参加者Ujおよび頭部状態Gj(t)を表す情報を推定部１１０に送る。ただし、tは離散時間を表す。頭部状態とは、例えば、3自由度の頭部位置、3自由度の回転角度のうち、少なくとも一つにより表される状態である。例えば、公知の頭部計測装置（ヘッドトラッカ）などを利用して頭部状態を取得する。頭部計測装置（ヘッドトラッカ）には、磁気センサを利用したもの、光学マーカーを頭部に装着し、その位置をカメラで捉えるもの、画像処理による顔検出処理を用いるものなどさまざま方法が広く利用されている。これら、どのような手法を用いても良い。ここで取得される、頭部状態は、頭部の前後，左右，上下の3自由度の位置，および3自由度の回転角度の計6自由度の情報である。例えば、頭部状態は、図１のような座標系で、3次元位置（X,Y,Z）と3自由度の回転角度（azimuth, elevation,roll）の6自由度の頭部位置・回転角度として定義され、それぞれの座標値で頭部位置と回転角度が表される。以降、本説明では、図１の座標系での頭部位置・回転角度を頭部状態として取得することを前提に説明する。
【００１９】
［音声情報取得装置１０２−ｓ］
音声情報取得装置１０２−ｓ（ただし、ｓ＝１，...，Ｎ）は、参加者Usの音声情報を取得し（ｓ１０２）、取得した音声情報Xs(t)を表す情報を推定装置１００に送る装置である。例えば、音声情報取得装置１０２−ｓは、マイクロホンを使用して参加者Usの音声情報Xs(t)を取得する。
【００２０】
［発話単位生成部１０３］
発話単位生成部１０３は、音声情報Xs(t)を入力とし、音声情報Xsから雑音成分を除去して発話成分のみを抽出し、それから発話区間Tsを得て（ｓ１０３）、出力する。なお、本実施形態では、発話区間Tsを発話開始時刻と発話終了時刻を表す情報とする。抽出された発話区間Tsに対して誰が発話者であるかを示す話者情報を取得し、発話区間Tsと合わせて出力する。なお、本実施形態ではN人の参加者Usにそれぞれ1個の音声情報取得装置１０２−ｓを割り当てているが、N人の参加者Usに対してM(≠N)個の音声情報取得装置を割り当ててもよい。例えば、Ｍ個の音声情報取得装置で取得した音声情報に参加者Us全員分（つまりN人分）の音声が含まれている場合には、音声情報取得装置ごとに集音される音声の時間差、音の大きさや、音声的特徴などを使って、各参加者Usの音声を抽出する。他にも一般的に考えられるあらゆる手段を用いてよい。本形態では、１つの発話区間Tsを、Td[ms]連続した無音区間で囲まれた、発話成分が存在する区間を含む時間区間と定義する。すなわち、本形態の1つの発話区間Tsは、2つのTd[ms]連続した無音区間に囲まれた発話成分が存在する区間からなる時間区間である。たとえば、Tdを200msとしたとき、参加者Usが、500msの無音，200msの発話、50msの無音、150msの発話、150msの無音、400msの発話、250msの無音、の連続した発話データがあったとき、500msの無音区間と250msの無音区間の間に挟まれた950msの発話区間が一つ生成される。本形態の1つの発話区間Tsは、Td[ms]連続した2つの無音区間の間に、発話成分が存在する区間で囲まれた別のTd[ms]連続した無音区間を含まない。本形態では、この発話区間Tsを参加者Usの発話の一つの単位と規定し、ある発話区間Tsの終了時に、(1)次にどの参加者が発話をするか、(2)発話開始がいつになるのかを判定する。なお、Tdは、状況に応じて自由に決定できる。ただし、Tdを長くすると、実際の発話終了から発話区間終了を判定するまでの時間が長くなるため、一般的な日常会話であればTd=200〜500ms程度とするのが適当である。発話単位生成部１０３は、以上のように得た発話区間Tsとそれに対応する話者情報（誰が発話したかを表す情報）を頭部動作情報生成部１０４に出力する。上述の方法により、発話区間Tsを求めるので、発話区間Tsは対応する発話が終了した後（少なくとも最後に発話成分を抽出してからTd[ms]連続した無音区間の経過後）に生成される。
【００２１】
［頭部動作情報生成部１０４］
頭部動作情報生成部１０４は、参加者Ujおよび頭部状態Gj(t)を表す情報、および発話区間Tsとその話者情報とを入力とし、発話区間終了前後における各参加者Ujの頭部動作を表す頭部動作情報fjを生成して（ｓ１０４）、出力する。頭部動作情報fjは、発話区間Tsの終了時刻Tseに対応する時間区間における参加者Ujの頭部の動作を表す。本形態では、終了時刻Tseを含む有限の時間区間における参加者Ujの頭部動作情報fjを例示する（図４参照）。例えば、頭部動作情報生成部１０４は、入力された参加者Ujおよび頭部状態Gj(t)を表す情報の中から、発話区間Tsの終了前後における現発話者、非話者の6自由度の頭部位置(X,Y,Z)、回転角度（azimuth, elevation, roll）を含む頭部状態を抽出し、各々の座標値・回転角度の変化量、振幅、周波数を生成する（図４参照）。
【００２２】
図４に、参加者Aが現発話者であったときの、参加者Aの頭部位置・回転角度から頭部位置・回転角度の変化量、振幅、周波数の算出方法を図示する。図４は、説明のため、参加者Aの頭部位置・回転角度のみが示されているが、実際は非話者である参加者B、C、Dについても同様の情報を算出する。頭部位置・回転角度の変化量、振幅、周波数を生成するに当たり、発話区間の終了時刻Tseを基点に、発話区間終了前Tse-Tbから発話区間終了後Tse+Taの区間に出現した頭部状態にのみ着目をする。
【００２３】
Tb、Taは任意の値をとって良いが、目安として、Taは0s〜2.0s、Tbは0s〜5.0s程度にするのが適当である。
【００２４】
上述した発話区間終了前Tse-Tbから発話区間終了後Tse+Taの間における、頭部位置(X,Y,Z)の各座標値と、頭部回転角度（azimuth, elevation, roll）の各回転角度において、下記の3つのパラメータを算出する。
・AC（平均変化量）：頭部位置または回転角度の任意の単位時間当たりの変化量の平均。例えば、1秒間の変化量の平均。
・AM（平均振幅）：頭部位置または回転角度の変化を波の振動とみなしたときの波の振幅の平均。
・FQ（平均周波数）：頭部位置または回転角度の変化を波の振動とみなしたときの波の周波数の平均。
【００２５】
例えば、図４でTaが2.0s、Tbが5.0sであったとしたとき、頭部の位置のZ軸上の位置においては、分析区間7.0sの間に、変化量が35cmで、2周期分の波が抽出されたとする。そのとき、1秒間当たりの変化量の平均である平均変化量ACは5(cm/s)、平均振幅AMは8.75cm、平均周波数FQはおよそ0.29Hzとなる。
【００２６】
同様にして、全員分の頭部動作の各座標位置と回転角度についての平均変化量AC、平均振幅AM、平均周波数FQを算出する。以下、「頭部動作の各座標位置と回転角度についての平均変化量AC、平均振幅AM、平均周波数FQ」を頭部動作情報ともいう。なお、頭部動作情報は、頭部動作の各座標位置と回転角度（X,Y,Z, azimuth, elevation, roll）の少なくとも1つについてのAC,AM,FQの少なくとも1つを含めばよい。
【００２７】
頭部動作情報生成部１０４は、発話区間Tsの示す発話終了時刻に基づき、発話区間終了前Tse-Tbから発話区間終了後Tse+Taの区間に対応する全員分の頭部動作情報fjを抽出する。頭部動作情報生成部１０４は、（現在の）発話区間Tsの話者情報と全員分の頭部動作情報fjとを次発話者算出部１０６に出力し、（現在の）発話区間Tsの話者情報と（現在の）発話区間Tsの示す発話終了時刻Tseと全員分の頭部動作情報fjとを発話開始タイミング算出部１０７に出力する。
【００２８】
また、後述する次発話者算出部１０６や発話開始タイミング算出部１０７において、オンラインで予測モデルを学習する場合には、次の発話区間Ts（発話の開始時刻Tss'と終了時刻Tse'）とその話者情報が発話単位生成部１０３から送られてきた時点で、次発話者およびタイミング情報保存データベース１０５に、全員分の頭部動作情報と、発話区間Ts（発話の開始時刻Tssと終了時刻Tse）とその話者情報、さらに、次の発話区間Ts（発話の開始時刻Tss'と終了時刻Tse'）とその話者情報が送られる。この次発話者およびタイミング情報保存データベース１０５に送られる情報は、予測モデルを構築する際に用いられる。この情報は、ある頭部動作情報に対して、誰が次発話者になるか？いつ発話が開始されるか？といった過去の情報であり、これらの情報を基にして予測は行われる。
【００２９】
［次発話者およびタイミング情報保存データベース１０５］
次発話者およびタイミング情報保存データベース１０５は、頭部動作情報生成部１０４で取得された情報が保持されるデータベースであり、少なくとも、頭部動作情報、およびその頭部動作情報に対する、次の発話区間（発話の開始時刻を発話開始タイミング情報ともいう）とその話者情報（次発話者を表す情報）が保持されている。これらの情報は、次発話者算出部１０６、発話開始タイミング算出部１０７において予測モデルを構築する際の学習データや判別パラメータを設定する際に利用される。なお事前に、過去の会話データから同様の情報（頭部動作情報、次発話者および発話開始タイミング情報）を保持しておくことで、より多くのデータを次発話者算出部１０６、発話開始タイミング算出部１０７の処理に利用することができる。
【００３０】
具体的な処理の流れとして、後述する次発話者算出部１０６や発話開始タイミング算出部１０７において、オンラインで予測モデルを学習する場合には、頭部動作情報生成部１０４から、各参加者の頭部動作情報が送られた時点で、その頭部動作情報と、その頭部動作情報に対応する発話区間の次の発話の発話者（次発話者）が次発話者算出部１０６に、その頭部動作情報と、その頭部動作情報に対応する発話区間の次の発話区間の発話開始タイミング情報と、その発話者（次発話者）が発話開始タイミング算出部１０７に送られる。
【００３１】
後述する次発話者算出部１０６や発話開始タイミング算出部１０７において、予め過去の情報のみを用いて予測モデルを学習する場合には、処理の初めに前処理として、次発話者およびタイミング情報保存データベース１０５に保持されている情報が、次発話者算出部１０６および発話開始タイミング算出部１０７に送られる。
【００３２】
さらに、予め過去の情報を用いて予測モデルを学習した上で、オンラインで取得した情報に基づき予測モデルを学習してもよい。この場合、一連の処理を行う中で、新たな頭部動作情報と次発話者および発話開始タイミング情報が頭部動作情報生成部１０４から送られてくる。これらの情報も、逐次、次発話者およびタイミング情報保存データベース１０５に全てもしくは一部のものが保持され、次発話者算出部１０６および発話開始タイミング算出部１０７において予測モデルを学習するために使用される。
【００３３】
［次発話者算出部１０６］
次発話者算出部１０６は、次発話者およびタイミング情報保存データベース１０５から送られる、過去の各発話の話者情報とその各発話に対する全参加者の頭部動作情報とその各発話の次の発話の発話者（つまり、次発話者）と、頭部動作情報生成部１０４から送られる現在の発話区間Tsの話者情報と全員分の頭部動作情報とを用いて、次発話者を算出し（Ｓ１０６）、出力する。
【００３４】
算出方法として、話者情報と各頭部動作情報のデータを少なくとも一つ（例えば、全参加者の頭部動作情報であって、X,Y,Z, azimuth, elevation, rollの少なくとも1つについてのAC,AM,FQの少なくとも1つ）を用いて、その少なくとも一つの頭部動作情報のデータと閾値との大小関係に応じて、次発話者を決定する方法や、サポートベクターマシンに代表されるような機械学習により構築された予測モデルに、少なくとも一つの頭部動作情報のデータを与えて次発話者を決定する方法等が考えられる。
【００３５】
(1)閾値を用いた場合の処理例
例えば、XとZにおけるACは、話者交替時の非話者に比べて、次発話者の方が大きい傾向にある。このような傾向を利用して、任意の閾値α、βを用いて、XにおけるAC＞α、かつ／または、ZにおけるAC＞βが成り立つときに、上記条件を満たす頭部動作情報に対応する参加者が次発話者になると判定する。なお、次発話者およびタイミング情報保存データベース１０５から送られる、過去の各発話の話者情報とその各発話に対する全参加者の頭部動作情報とその各発話の次の発話の発話者（つまり、次発話者）は、閾値を決める際に用いる。
【００３６】
(2)予測モデルを用いた場合の処理例
まず、次発話者の予測モデル構築のための学習データとして、以下の特徴量を用いて学習を行う。
・誰が話者か（話者情報）
・次発話をおこなった参加者
・全参加者の頭部動作の各座標位置と回転角度についてのAC、AM、FQの内少なくとも一つ以上（全てを用いてもちろん良い）
また、予測対象は、
・次発話をおこなった参加者
である。学習データは、次発話者およびタイミング情報保存データベース１０５から取得されるデータである。学習は、使用する際に最初に一度だけ行っても良いし、次発話者およびタイミング情報保存データベース１０５でデータがオンラインで増加するに応じて、毎回、または、所定の回数、データを受け取る度に行ってもよい。
【００３７】
このようにして、予測モデルを構築する。
【００３８】
つぎに、学習された予測モデルを用いて、頭部動作情報生成部１０４から取得した下記の特徴量から、次発話をおこなう参加者を予測する。
・誰が話者か（現在の話者情報）
・全参加者の頭部動作の各座標位置と回転角度についてのAC、AM、FQの内少なくとも一つ以上（全てを用いてもちろん良い、予測モデルを構築する際に用いたものを用いるのが望ましい）
【００３９】
このようにして、次発話者算出部１０６は、閾値または予測モデルと、頭部動作情報生成部１０４から送られる現在の話者情報と各頭部動作情報とを用いて、次発話者を算出する。なお、この予測結果（次発話者）が、出力結果の一つである。
【００４０】
［発話開始タイミング算出部１０７］
発話開始タイミング算出部１０７では、次発話者およびタイミング情報保存データベース１０５から送られる、過去の各発話の話者情報とその各発話に対する全参加者の頭部動作情報とその各発話の次の発話の発話開始時刻（つまり、発話開始タイミング情報）と、頭部動作情報生成部１０４から送られる現在の発話区間Tsの示す発話終了時刻と、発話区間Tsの話者情報と全員分の頭部動作情報fjとを用いて、現在の発話に対する次の発話の開始時刻（発話開始タイミング情報）を算出し（Ｓ１０７）、出力する。このとき，次発話者算出部１０６から出力される予測結果である次発話者が誰であるかという情報（次発話者の推定値）を開始時刻の算出に用いても良い。以後、説明では、この情報も利用することを前提とする。
【００４１】
算出方法として、話者情報、次発話者と各頭部動作情報のデータ、を少なくとも一つ（例えば、全参加者の頭部動作情報であって、X,Y,Z, azimuth, elevation, rollの少なくとも1つについてのAC,AM,FQの少なくとも1つ）を用いて、(1)その少なくとも一つの頭部動作情報のデータと閾値との大小関係に応じて、次発話の開始時刻を決定する方法や、(2)その少なくとも一つの頭部動作情報のデータと発話の終了時刻Tseから次発話の開始時刻Tss'までの間隔Tss'-Tseとの関係を定式化する方法や、(3)サポートベクターマシンに代表されるような機械学習により構築された予測モデルに、少なくとも一つの頭部動作情報のデータを与えて発話開始タイミング情報を決定する方法等が考えられる。
【００４２】
(1)閾値を用いた場合の処理例
例えば、XにおけるACと、発話の終了時刻Tseから次発話の開始時刻Tss'までの間隔Tss'-Tseとの間に所定の関係がある場合、閾値を複数個設け、α１≦AC＜α２であれば間隔Tss'-Tse=a1とし、α２≦AC＜α３であれば間隔Tss'-Tse=a2とし、α３≦AC＜α４であれば間隔Tss'-Tse=a3とする。例えば、間隔Tss'-TseとACとが正の比例関係を持つのであれば、a1<a2<a3とする。このようにして、頭部動作情報と閾値との大小関係に基づき、発話区間の次の発話開始タイミングを決定する。なお、次発話者およびタイミング情報保存データベース１０５から送られる、過去の各発話の話者情報とその各発話に対する全参加者の頭部動作情報とその各発話の次の発話の開始時刻（つまり、発話開始タイミング情報）とは、閾値を決める際に用いる。
【００４３】
(2)定式化する方法（関係式を用いる方法）
例えば、参加者を現発話者、次発話者、非発話者、全参加者に分類して，各々におけるACの値に対して、発話の終了時刻Tseから次発話の開始時刻Tss'までの間隔Tss'-Tseの過去の情報を用いて、Tss'-Tse=f(AC)の関係を定式化しておく。たとえば、時間間隔間隔Tss'-TseとACとが正の比例関係を持つのであれば、Tss'-Tse= γ*AC（γは任意の値）で算出することも考えらる。これに、限らずACと間隔Tss'-Tseの関係を表すあらゆる近似式が利用できる。現在の発話に対する各頭部動作情報のACから、関係式Tss'-Tse=f(AC)により、発話の終了時刻から次発話の開始時刻までの間隔を求め、現在の発話の終了時刻に求めた間隔を加えることで、次発話の開始時刻（発話開始タイミング情報）を算出する。なお、次発話者およびタイミング情報保存データベース１０５から送られる、過去の各発話の話者情報とその各発話に対する全参加者の頭部動作情報とその各発話の次の発話の開始時刻（つまり、発話開始タイミング情報）とは、関係式を求める際に用いる。
【００４４】
(3)予測モデルを用いた場合の処理例
まず、次発話者の発話開始タイミングの予測モデル構築のための学習データとして、以下の特徴量を用いて学習を行う。
・誰が話者か（話者情報）
・次発話をおこなった参加者
・全参加者の頭部動作の各座標位置と回転角度についてのAC、AM、FQの内少なくとも一つ以上（全てを用いてもちろん良い）
また、予測対象は、
・現在の発話の終了時刻Tseから次発話の開始時刻Tss'までの間隔Tss'-Tse
である。学習データは、次発話者およびタイミング情報保存データベース１０５から取得されるデータである。学習は、使用する際に最初に一度だけ行っても良いし、次発話者およびタイミング情報保存データベース１０５でデータがオンラインで増加するに応じて、毎回、または、所定の回数、データを受け取る度に行ってもよい。
【００４５】
このようにして、予測モデルを構築する。
【００４６】
つぎに、学習された予測モデルを用いて、頭部動作情報生成部１０４から取得した下記の特徴量から、現在の発話の終了時刻から次発話の開始時刻までの間隔を予測し、そこから発話開始タイミング情報を予測する。
・誰が話者か（現在の話者情報）
・次発話者算出部１０６で出力される次発話をおこなう参加者（次発話者）
・全参加者の頭部動作の各座標位置と回転角度についてのAC、AM、FQの内少なくとも一つ以上（全てを用いてもちろん良い、予測モデルを構築する際に用いたものを用いるのが望ましい）
【００４７】
このようにして、次発話者算出部１０６は、関係式または予測モデルと、頭部動作情報生成部１０４から送られる現在の話者情報と各頭部動作情報、次発話者算出部１０６から送られる次発話者とを用いて、発話開始タイミング情報を算出する。なお、この予測結果（発話開始タイミング情報）が、出力結果の一つである。
【００４８】
＜効果＞
このような構成により、複数の参加者間で行われるコミュニケーションにおいて、次に話し始める参加者およびタイミングの少なくとも一方を推定することができる。高精度に次発話者および次発話開始のタイミングをリアルタイムで予測推定可能となる。この次発話者と次発話の開始タイミングの推定は様々なシーンで利用可能であり、たとえば、遅延のある遠隔コミュニケーションシステムにおいて、予測結果を基に参加者に次発話者を提示することで発話回避をさせることや、コミュニケーションロボットが参加者の発話開始を予測しながらタイミングよく発話をするための基盤的な技術となる。
【００４９】
なお、発話開始タイミング算出部１０７や次発話者算出部１０６において、オンラインで学習した予測モデルを用いることで、より推定精度を高めることができる。頭部動作は個人差が大きいので、別の人物の頭部動作に基づいて学習して得られた予測モデルだけから推定するよりも、オンラインで推定装置の現在の参加者の頭部動作の情報に基づき予測モデルを更新して推定する方が、推定精度が高まるためである。
【００５０】
＜変形例＞
本実施形態では、平均変化量AC、平均振幅AM、平均周波数FQを用いているが、必ずしも平均値を用いる必要はない。頭部動作と次発話者および発話開始タイミングとに強い相関があることを利用すればよいため、例えば、例えば、変化量、振幅、周波数の最小値、最大値、最頻値等の代表値を用いてもよい。
【００５１】
本発明は上述の実施の形態に限定されるものではない。例えば、発話単位生成部１０３が推定装置の外部に構成され、推定装置が発話単位生成部１０３を含まない構成であってもよい。
【００５２】
上述の各実施形態では、２つ以上のTd[ms]連続した無音区間で囲まれた区間とそれらで囲まれた発話成分が存在する区間とからなり、Td[ms]連続した2つの無音区間の間に、発話成分が存在する区間で囲まれた別のTd[ms]連続した無音区間を含まないこととした。しかしながら、2つ以上のTd[ms]連続した無音区間で囲まれた区間とそれらで囲まれた発話成分が存在する区間とからなり、Td[ms]連続した2つの無音区間の間に、発話成分が存在する区間で囲まれた別のTd[ms]連続した無音区間を含むもの1つの発話区間Tjとしてもよい。
【００５３】
上述の各実施形態では、終了時刻Tseを含む有限の時間区間における参加者Ujの頭部動作を頭部動作情報fjとした。しかしながら、終了時刻Tseの近傍の時間区間における参加者Ujの頭部動作を表す情報を、頭部動作情報fjとしてもよい。
【００５４】
第一実施形態では、話者継続するか話者交替するかを推定し、話者交替であると判定された場合に次発話者が誰となるのかの推定を行った。しかしながら、話者継続するか話者交替するかのみを推定し、その結果が出力されてもよい。  
【００５５】
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００５６】
上述した各装置は、例えば、ＣＰＵ（central processing unit）、ＲＡＭ（random-access memory）等を有する汎用または専用のコンピュータに所定のプログラムが読み込まれることによって構成される。このプログラムには各装置が有すべき機能の処理内容が記述され、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００５７】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５８】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。
【００５９】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【産業上の利用可能性】
【００６０】
以上により、高精度に次発話者および次発話開始のタイミングをリアルタイムで予測推定可能となる。この次発話と次発話開始のタイミング推定はさまざまなシーンで利用可能であり、例えば、遅延のある遠隔コミュニケーションシステムにおいて、予測結果を基に参加者に次発話者を提示することで発話回避をさせることや、コミュニケーションロボットが参加者の発話開始を予測しながらタイミングよく発話をするための基盤的な技術となる。
【図１】
2019208215.tif 000003
【図２】
2019208215.tif 000004
【図３】
2019208215.tif 000005
【図４】
2019208215.tif 000006