(57)【要約】【課題】複数のロボットの制御にかかる労力を軽減する。【解決手段】実施形態におけるロボット制御装置は、複数のロボットの発話時間を予測する発話時間予測手段と、発話文章の対話行為を推定する対話行為推定手段と、音声発話の終了から次の音声発話の開始までの時間の確率モデルおよび対話行為に基づいて対話行為の時間を決定する第１の決定手段と、対話行為におけるジェスチャ発生確率モデルと対話行為に基づいてジェスチャを決定する第２の決定手段と、視線方向と位置情報に基づいて視線制御方向および視線制御までの時間である視線制御時間をそれぞれ決定する第３の決定手段と、発話時間と対話行為の時間に基づいて、音声発話および決定したジェスチャを実行させるまでの時間を算出し、予測した発話時間、対話行為の時間および視線制御時間に基づいて、視線制御動作を実行させるまでの時間を算出する送信手段とを有する。【選択図】図１
2019032468.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の複数のロボットが発話文章の音声発話に要する発話時間を予測する発話時間予測手段と、
複数の前記ロボットによる前記発話文章の対話行為を推定する対話行為推定手段と、
前記複数のロボットによる音声発話の終了から次の音声発話の開始までの時間の確率モデルおよび前記推定した対話行為に基づいて、前記複数のロボットの対話行為の時間を決定する第１の決定手段と、
前記対話行為における前記ロボットによるジェスチャ発生確率モデル、および前記推定した対話行為に基づいて、前記ロボットによるジェスチャを決定する第２の決定手段と、
前記ロボットの視線方向および前記ロボットの位置情報に基づいて、前記ロボットの視線制御方向、および前記ロボットの音声発話終了から視線制御までの時間である視線制御時間をそれぞれ決定する第３の決定手段と、
送信手段とを具備し、
前記送信手段は、
前記発話時間予測手段により予測された発話時間および前記第１の決定手段により決定された時間に基づいて、前記複数のロボットに前記発話文章の音声発話、および前記第２の決定手段により決定されたジェスチャを、前記複数のロボットにそれぞれ実行させるまでの第１の時間を算出し、前記第１の時間が経過したときに、前記音声発話のイベント、および前記ジェスチャの命令を前記複数のロボットに送信する手段と、
前記発話時間予測手段により予測された発話時間、前記第１の決定手段により決定された対話行為の時間および前記第３の決定手段により決定された視線制御時間に基づいて、前記複数のロボットに視線制御動作を実行させるまでの第２の時間を算出し、前記第２の時間が経過したときに、前記第３の決定手段により決定された視線制御方向を考慮した視線制御動作の命令を前記複数のロボットにそれぞれ送信する手段と
を備えるロボット制御装置。
【請求項２】
前記確率モデルは、
前記ロボットの対話行為が第１の対話行為から第２の対話行為へ移行する場合の対話行為の間の平均および前記対話行為の間の分散を含み、
前記第１の決定手段は、
前記推定した対話行為に基づいて、前記対話行為の間の平均および前記対話行為の間の分散に基づく正規分布を求め、前記正規分布にしたがって前記ロボットの対話行為の時間を決定する
請求項１に記載のロボット制御装置。
【請求項３】
前記ジェスチャ発生確率モデルは、
対話行為の発話とともに前記ロボットによりジェスチャが実行される確率の離散分布を含み、
前記第２の決定手段は、
前記離散分布に従ってジェスチャを決定する
請求項１に記載のロボット制御装置。
【請求項４】
前記ロボットの視線方向の分類の集合に対応する確率離散分布と、前記ロボットの音声発話終了後から視線制御を行なうまでの時間の平均および前記音声発話終了後から視線制御を行なうまでの時間の分散に基づく、視線制御時間の正規分布をそれぞれ含む、前記ロボットの視線制御時間のパラメータを記憶し、かつ前記ロボットの位置情報を記憶する記憶手段をさらに備え、
前記第３の決定手段は、
前記確率離散分布および前記位置情報に基づいて前記視線制御方向を決定し、かつ前記視線制御時間の正規分布に基づいて前記視線制御時間を決定する
請求項１に記載のロボット制御装置。
【請求項５】
ロボット制御装置が行うロボット制御方法であって、
制御対象の複数のロボットが発話文章の音声発話に要する発話時間を予測し、
複数の前記ロボットによる前記発話文章の対話行為を推定し、
前記複数のロボットによる音声発話の終了から次の音声発話の開始までの時間の確率モデルおよび前記推定された対話行為に基づいて、前記複数のロボットの対話行為の時間を決定し、
前記対話行為における前記ロボットによるジェスチャ発生確率モデル、および前記推定された対話行為に基づいて、前記ロボットによるジェスチャを決定し、
前記ロボットの視線方向および前記ロボットの位置情報に基づいて、前記ロボットの視線制御方向および前記ロボットの音声発話終了から視線制御を行なうまでの時間である視線制御時間をそれぞれ決定し、
前記予測された発話時間および前記決定された時間に基づいて、前記複数のロボットに前記発話文章の音声発話、および前記決定されたジェスチャを、前記複数のロボットにそれぞれ実行させるまでの第１の時間を算出し、前記第１の時間が経過したときに、前記音声発話のイベント、および前記ジェスチャの命令を前記複数のロボットに送信し、
前記予測された発話時間、前記決定された対話行為の時間および前記決定された視線制御時間に基づいて、前記複数のロボットに視線制御動作を実行させるまでの第２の時間を算出し、前記第２の時間が経過したときに、前記決定された視線制御方向を考慮した視線制御動作の命令を前記複数のロボットにそれぞれ送信するロボット制御方法。
【請求項６】
請求項１乃至４のいずれか１項に記載のロボット制御装置の前記各手段としてプロセッサを機能させるロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ロボット制御装置、ロボット制御方法およびロボット制御プログラムに関する。
【背景技術】
【０００２】
広告や接客などの分野で、音声発話（以下、発話と称することがある）機能を有するロボットを使ったサービスが行われている。この種のサービスの一例としては、ロボットがある商品の特徴や使い方や使い勝手などを顧客（人）に説明しながら、説明の途中で顧客に対して「ご興味ありますか？」、「今まで困ったことはありませんか？」などと話しかけることで、ロボット自身による説明への顧客の興味を維持し、商品を宣伝することで商品の購入を顧客に働きかける販売促進のための接客などがある。
【０００３】
このようなロボットを使ったサービスでは、複数台のロボットを使用することで表現の幅を広げることができる。例えば、説明役のロボットと、説明を促す役のロボットとをそれぞれ用意し、例えば下記のように対話形式で商品について説明を行うことができる。
【０００４】
ロボットＡ[説明役]：「この商品って知ってる？」
ロボットＢ[説明を促す役]：「え、何々、聞いたことないよ？」
ロボットＣ[説明を促す役]：「あ、前に少し聞いたことあるかも。もしかしてあのブームになったやつ？」
ロボットＡ[説明役]：「そうそう、その商品の、なんと最新作が発売されたんだよ！」
ロボットＢ[説明を促す役]：「え、何！？すごい面白そうだね！！」
一方で、ロボットに対して広告や接客を効果的に実施させるためには、ロボットの表現として視線、ジェスチャ、および発話タイミングを適切に決定し、これらに基づく説明をロボットに実行させる制御プログラムを作成する必要がある。さらに、複数台のロボットの制御を行う場合には、台数分のロボットへの制御をそれぞれ実施する必要があり、制御プログラムの作成のための労力が大きくなることが１つの課題となっていた。
【０００５】
そこで、ロボットの制御プログラムを簡易に作成する手法として、従来技術では、プログラム言語による制御プログラム作成ではなく、GUI（グラフィカルユーザインタフェース）を用いたグラフィカルプログラミングによる手法が用いられてきた。例えばロボット単体に対する制御プログラムの作成ツールとして非特許文献１で示されているChoregrapheが挙げられる。また、複数のロボットやIoT（Internet of Things）機器を連携させる制御プログラムのツールとして、非特許文献２で示されているクラウド型統合開発環境などが挙げられる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】E.Pot, J.Monceaux, R.Gelin and B.Maisonnier等，“Choregraphe: a Graphical Tool for Humanoid Robot Programming”，Robot and Human Interactive Communication, 2009, pp.46-51.
【非特許文献２】松元崇裕，松村成宗，細淵貴司，“インタラクションロボットサービスのためのクラウド型総合開発環境”，電子情報通信学会技術研究報告，pp33-36, 2015．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１の手法は、プログラム言語を書くことができない人がGUIツールを利用してロボットを細かく制御することが可能であるが、GUIツールを使ってロボットが向けるべき視線方向、実施するべきジェスチャ、および、これらを実施するタイミングなどを作成していく作業が必要なことは変わらず、一方でGUIツールの使い方自体も習得する必要がある。  
さらに、非特許文献１の手法は、ロボット単体を動かすことを主眼に置いており、上記のように複数のロボットを制御するためのプログラム言語を書くことは容易ではないので改善の余地があった。
【０００８】
また、非特許文献２の手法は、複数のロボットやIoT機器を連携させることを主眼に置いているため、複数台のロボットの発話時における視線方向、ジェスチャ、および発話タイミングについて、１つのGUI画面で記述することができる点で、非特許文献１に記載された手法と比べ容易に記載可能ではある。  
しかしながら、各制御対象のロボットに対して、ロボットが向けるべき視線方向、実施するべきジェスチャ、およびこれらを実施するタイミングを記述する必要がある点は変わらずで、プログラムの作成に労力が大きくかかる点では改善の余地があった。
【０００９】
本発明の目的は、複数のロボットの制御にかかる労力を軽減できるロボット制御装置、ロボット制御方法およびロボット制御プログラムを提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、この発明の一実施形態におけるロボット制御装置の第１の態様は、制御対象の複数のロボットが発話文章の音声発話に要する発話時間を予測する発話時間予測手段と、複数の前記ロボットによる前記発話文章の対話行為を推定する対話行為推定手段と、前記複数のロボットによる音声発話の終了から次の音声発話の開始までの時間の確率モデルおよび前記推定した対話行為に基づいて、前記複数のロボットの対話行為の時間を決定する第１の決定手段と、前記対話行為における前記ロボットによるジェスチャ発生確率モデル、および前記推定した対話行為に基づいて、前記ロボットによるジェスチャを決定する第２の決定手段と、前記ロボットの視線方向および前記ロボットの位置情報に基づいて、前記ロボットの視線制御方向、および前記ロボットの音声発話終了から視線制御までの時間である視線制御時間をそれぞれ決定する第３の決定手段と、送信手段とを具備し、前記送信手段は、前記発話時間予測手段により予測された発話時間および前記第１の決定手段により決定された時間に基づいて、前記複数のロボットに前記発話文章の音声発話、および前記第２の決定手段により決定されたジェスチャを、前記複数のロボットにそれぞれ実行させるまでの第１の時間を算出し、前記第１の時間が経過したときに、前記音声発話のイベント、および前記ジェスチャの命令を前記複数のロボットに送信する手段と、前記発話時間予測手段により予測された発話時間、前記第１の決定手段により決定された対話行為の時間および前記第３の決定手段により決定された視線制御時間に基づいて、前記複数のロボットに視線制御動作を実行させるまでの第２の時間を算出し、前記第２の時間が経過したときに、前記第３の決定手段により決定された視線制御方向を考慮した視線制御動作の命令を前記複数のロボットにそれぞれ送信する手段とを有する装置を提供する。
【００１１】
上記構成のロボット制御装置の第２の態様は、第１の態様において、前記確率モデルは、前記ロボットの対話行為が第１の対話行為から第２の対話行為へ移行する場合の対話行為の間の平均および前記対話行為の間の分散を含み、前記第１の決定手段は、前記推定した対話行為に基づいて、前記対話行為の間の平均および前記対話行為の間の分散に基づく正規分布を求め、前記正規分布にしたがって前記ロボットの対話行為の時間を決定する装置を提供する。
【００１２】
上記構成のロボット制御装置の第３の態様は、第１の態様において、前記ジェスチャ発生確率モデルは、対話行為の発話とともに前記ロボットによりジェスチャが実行される確率の離散分布を含み、前記第２の決定手段は、前記離散分布に従ってジェスチャを決定する装置を提供する。
【００１３】
上記構成のロボット制御装置の第４の態様は、第１の態様において、前記ロボットの視線方向の分類の集合に対応する確率離散分布と、前記ロボットの音声発話終了後から視線制御を行なうまでの時間の平均および前記音声発話終了後から視線制御を行なうまでの時間の分散に基づく、視線制御時間の正規分布をそれぞれ含む、前記ロボットの視線制御時間のパラメータを記憶し、かつ前記ロボットの位置情報を記憶する記憶手段をさらに備え、前記第３の決定手段は、前記確率離散分布および前記位置情報に基づいて前記視線制御方向を決定し、かつ前記視線制御時間の正規分布に基づいて前記視線制御時間を決定する装置を提供する。
【００１４】
本発明の一実施形態におけるロボット制御方法の態様は、ロボット制御装置が行うロボット制御方法であって、制御対象の複数のロボットが発話文章の音声発話に要する発話時間を予測し、複数の前記ロボットによる前記発話文章の対話行為を推定し、前記複数のロボットによる音声発話の終了から次の音声発話の開始までの時間の確率モデルおよび前記推定された対話行為に基づいて、前記複数のロボットの対話行為の時間を決定し、前記対話行為における前記ロボットによるジェスチャ発生確率モデル、および前記推定された対話行為に基づいて、前記ロボットによるジェスチャを決定し、前記ロボットの視線方向および前記ロボットの位置情報に基づいて、前記ロボットの視線制御方向および前記ロボットの音声発話終了から視線制御を行なうまでの時間である視線制御時間をそれぞれ決定し、前記予測された発話時間および前記決定された時間に基づいて、前記複数のロボットに前記発話文章の音声発話、および前記決定されたジェスチャを、前記複数のロボットにそれぞれ実行させるまでの第１の時間を算出し、前記第１の時間が経過したときに、前記音声発話のイベント、および前記ジェスチャの命令を前記複数のロボットに送信し、前記予測された発話時間、前記決定された対話行為の時間および前記決定された視線制御時間に基づいて、前記複数のロボットに視線制御動作を実行させるまでの第２の時間を算出し、前記第２の時間が経過したときに、前記決定された視線制御方向を考慮した視線制御動作の命令を前記複数のロボットにそれぞれ送信する方法を提供する。
【００１５】
本発明の一実施形態におけるロボット制御プログラムの態様は、第１乃至第４態様のいずれか１つにおけるロボット制御装置の前記各手段としてプロセッサを機能させるプログラムを提供する。
【発明の効果】
【００１６】
本発明によれば、複数のロボットの制御にかかる労力を軽減することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態におけるロボット対話制御システムの構成例を示すブロック図。
【図２】本発明の一実施形態におけるロボット対話制御システムの対話シナリオ１００の一例を示す図。
【図３】本発明の一実施形態におけるロボット対話制御システムの発話情報リストＤ１００の記憶内容の一例を示す図。
【図４】本発明の一実施形態におけるロボット対話制御システムの位置情報Ｄ２００の記憶内容の一例を示す図。
【図５】本発明の一実施形態におけるロボット対話制御システムの視線制御情報リストＤ３００の記憶内容の一例を示す図。
【図６】本発明の一実施形態におけるロボット対話制御システムの対話の間のリストＤ４００の記憶内容の一例を示す図。
【図７】本発明の一実施形態におけるロボット対話制御システムのロボットジェスチャデータベースＤ５００の記憶内容の一例を示す図。
【図８】本発明の一実施形態におけるロボット対話制御システムのジェスチャ情報リストの一例を示す図。
【図９】本発明の一実施形態におけるロボット対話制御システムの対話の間モデルＤ７００の記憶内容の一例を示す図。
【図１０】本発明の一実施形態におけるロボット対話制御システムの視線制御パラメータＤ８００の記憶内容の一例を示す図。
【図１１】本発明の一実施形態におけるロボット対話制御システムのジェスチャ発生確率モデルＤ９００の記憶内容の一例を示す図。
【図１２】本発明の一実施形態におけるロボット対話制御システムの発話時間予測器Ｓ１００における処理手順の一例を示すフローチャート。
【図１３】本発明の一実施形態におけるロボット対話制御システムの視線制御器Ｓ２００における処理手順の一例を示すフローチャート。
【図１４】本発明の一実施形態におけるロボット対話制御システムの対話の間決定器Ｓ３００における処理手順の一例を示すフローチャート。
【図１５】本発明の一実施形態におけるロボット対話制御システムの対話行為推定器Ｓ４００における処理手順の一例を示すフローチャート。
【図１６】本発明の一実施形態におけるロボット対話制御システムのジェスチャ付与器Ｓ５００における処理動作の一例を示すフローチャート。
【図１７】本発明の一実施形態におけるロボット対話制御システムのイベント送信器Ｓ６００における処理手順の一例を示すフローチャート。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、この発明に係わる一実施形態を説明する。  
一実施形態では、話者情報（発話を実施するロボット）と、ロボットに音声発話させる発話文章とを対とするセットのリスト（対話シナリオ）に基づいて、複数台のロボットがユーザと対話しているかのように視線・ジェスチャおよび発話タイミングを自動制御することを実現する。
【００１９】
これにより、制御プログラムを作成するための労力が少なくなり、かつロボットに何を話させるかの文章を書くだけでロボットの制御を行えることができるようになるため、制御プログラムを作成する技術を持った人でなくとも、ロボットサービスを作成することができるようになる。
【００２０】
図１は、本発明の一実施形態におけるロボット対話制御システムの構成例を示すブロック図である。図１に示すように、本発明の一実施形態におけるロボット対話制御システムは、複数台のロボットの視線・ジェスチャおよび発話タイミングを自動制御するシステムであって、対話シナリオ１００、ロボット２００、複数ロボット制御装置（以下、ロボット制御装置と呼ぶことがある）３００を有する。  
対話シナリオ１００は、複数ロボット制御装置３００に入力される対話シナリオである、ロボットの話者情報と、このロボットによる発話文章とを含む。  
また、複数ロボット制御装置３００は、外部の制御対象としてのロボット２００と接続可能である。
【００２１】
一例として、ロボット対話制御システムは、複数ロボット制御装置３００をスマートフォン、タブレット型端末、パーソナルコンピュータ（ＰＣ）などのコンピュータデバイスとした装置とすることにより実現される。例えば、コンピュータデバイスは、ＣＰＵ（Central Processing Unit）などのプロセッサと、プロセッサに接続されるメモリと、ロボット２００と（例えば無線で）通信するための通信インタフェースと、を備える。なお、ロボット対話制御システムの実現形態は、この例に限定されるものではない。
【００２２】
本実施形態におけるロボット対話制御システムは下記の構成を含む。  
（１）ロボットが発話文章を音声発話するために要する発話時間を予測する、発話時間予測器Ｓ１００
（２）発話文章の対話行為を推定する、対話行為推定器Ｓ４００
（３）発話の終了から次の発話開始までの時間である対話の間の確率モデルに基づいて対話の間を求める、対話の間決定器Ｓ３００（第１の決定手段）
（４）ある発話に対して付与されるジェスチャを決定する、ジェスチャ付与器Ｓ５００（第２の決定手段）
（５）各ロボットの位置関係を表現する、位置情報データベースＤ２００（以下、位置情報Ｄ２００と称することがある）
（６）ロボットの視線方向および視線変更のタイミングを決定する、視線制御器Ｓ２００（第３の決定手段）
（７）ロボットに対して発話、視線、ジェスチャのイベントを、指定の時間後にNW（ネットワーク）経由で送信する、イベント送信器Ｓ６００（送信手段）
（８）音声発話機能（音声合成または音声ファイル再生）、視線方向表出機能、ジェスチャ表出機能およびNW接続機能を有する、複数台のロボット
本実施形態におけるロボット対話制御システムの複数ロボット制御装置３００は、まず対話シナリオ１００を読み込む。そして、複数ロボット制御装置３００は、対話シナリオ１００の各発話文章Tiに対して、発話時間予測器Ｓ１００および対話行為推定器Ｓ４００をそれぞれ用いることで、各発話文章Tiの発話時間tiおよび対話行為DAiをそれぞれ決定する。対話行為は、発話の意図を分類する手段の１つであり、質問、挨拶、フィラーなどの分類要素から構成される。
【００２３】
（対話の間決定器Ｓ３００）
次に、対話の間決定器Ｓ３００により、各発話の終了から次の発話開始までの時間（対話の間の時間（対話行為の時間と称することがある））diを計算する。本実施形態では、対話行為に基づく、対話の間モデルを用いた対話の間決定器Ｓ３００を提案する。本実施形態では、ある対話行為αからある対話行為βへ移行する場合の対話の間の平均（対話行為の間の平均）μαβおよび分散（対話行為の間の分散）σαβ２から、対話の間モデルを正規分布Ｎ（μαβ，σαβ２）を定義する。その場合、対話の間決定器Ｓ３００は、対話行為DAiと対話行為DAi+1より
【００２４】
【数１】
2019032468.tif 000003
【００２５】
で表される正規分布に従い、対話の間の時間diを出力するものとする。
【００２６】
（ジェスチャ付与器Ｓ５００）
次に、ロボット対話制御システムは、ある発話iに対して、各ロボットrjの適切なジェスチャ
【００２７】
【数２】
2019032468.tif 000004
【００２８】
を生成する。本実施形態では、次の対話行為におけるジェスチャ発生確率モデルを用いたジェスチャ付与器Ｓ５００を提案する。対話行為におけるロボットrjのジェスチャ発生確率モデルは次のように定義される。ロボットrjのジェスチャ集合を
【００２９】
【数３】
2019032468.tif 000005
【００３０】
とし、ある対話行為αの発話と一緒にジェスチャ
【００３１】
【数４】
2019032468.tif 000006
【００３２】
がロボットrjにより実施される確率を
【００３３】
【数５】
2019032468.tif 000007
【００３４】
とする。すると、対話行為におけるロボットrjのジェスチャ発生確率モデルは、対話行為αに対する各ジェスチャがロボットrjにより実施される確率の離散分布
【００３５】
【数６】
2019032468.tif 000008
【００３６】
(このとき
【００３７】
【数７】
2019032468.tif 000009
【００３８】
)として表現できる。  
ジェスチャ付与器Ｓ５００は、対話行為DAiにおけるロボットrjのジェスチャ発生確率モデル
【００３９】
【数８】
2019032468.tif 000010
【００４０】
に従ってランダムに生成したジェスチャをジェスチャ
【００４１】
【数９】
2019032468.tif 000011
【００４２】
として生成するものとする。
【００４３】
（視線制御器Ｓ２００）
次に、ロボットによる発話が、ある発話iから別の発話i+1へ移行するときのロボットrjの視線方向(xirj, yirj)および発話i終了後から視線制御を行なうまでの時間である視線制御時間sirjを求める。xirjは地面に対する水平方向の角度とし、yirjは地面に対する垂直方向の角度とする。  
本実施形態において、上記の視線方向(xirj, yirj)および視線制御時間sirjを求める方法として、ロボット対話制御システムは、次の、ユーザを含む複数ロボットが対話するときの視線制御パラメータを用いた視線制御器Ｓ２００を用いる。この視線制御器Ｓ２００は、まず、各発話において話者（先の発話の話者）S、次話者（次の発話の話者）Ne、聴衆者（先の発話または次の発話の聴衆者）L、その他Oでなる、視線方向の４つの分類を利用する。
【００４４】
このとき、ある発話において、あるロボットが話者Sであって、次話者Neでもあるとき、このロボットが対応する視線方向分類の集合をESNe={L, O}とし、この集合の確率離散分布を
【００４５】
【数１０】
2019032468.tif 000012
【００４６】
とし、集合の各要素において発話終了後から視線制御を行なうまでの時間である視線制御時間を求める正規分布（視線制御時間の正規分布）の集合を
【００４７】
【数１１】
2019032468.tif 000013
【００４８】
とする。
【００４９】
また、ある発話において、あるロボットが話者Sであって、次の発話の聴衆者Lでもあるとき、このロボットが対応する視線方向分類の集合をESL={Ne, L, O}とし、この集合の確率離散分布を
【００５０】
【数１２】
2019032468.tif 000014
【００５１】
とし、集合の各要素において発話終了後から視線制御を行なうまでの時間である視線制御時間を求める正規分布の集合を
【００５２】
【数１３】
2019032468.tif 000015
【００５３】
とする。
【００５４】
さらに、ある発話において、あるロボットが最初の発話の聴衆者Lであって次話者Neでもあるとき、このロボットが対応する視線方向分類の集合をELNe={S, L, O}とし、この集合の確率離散分布を
【００５５】
【数１４】
2019032468.tif 000016
【００５６】
とし、集合の各要素において発話終了後から視線制御を行なうまでの時間である視線制御時間を求める正規分布の集合を
【００５７】
【数１５】
2019032468.tif 000017
【００５８】
とする。
【００５９】
最後に、ある発話において、あるロボットが最初の発話の聴衆者Lであって次の聴衆者Lでもあるとき、このロボットが対応する視線方向の分類の集合をELL={S, Ne, L, O}とし、この集合の確率離散分布を
【００６０】
【数１６】
2019032468.tif 000018
【００６１】
とし、集合の各要素において発話終了後から視線制御を行なうまでの時間である視線制御時間を求める正規分布の集合をSLL={N(μLL_S,σLL_S)2),N(μLL_Ne),σLL_Ne2),N(μLL_L,σLL_L2),N(μLL_O,σLL_O2)}
とする。
【００６２】
更に、視線制御器Ｓ２００は、ロボットrjからみて他のロボットrKまたは人uの方向を決定するための関数をH(rj, tar)とする（ただしtar={rk, u}）。  
このとき、視線方向分類が話者Sのときにロボットrjに対して視線制御器Ｓ２００が実施する視線制御の関数は、視線制御時に話者SであるロボットをrSとするとH(rj, rS)として定められる。
【００６３】
更に、視線方向分類が次話者Neのときに、ロボットrjに対して視線制御器Ｓ２００が実施する視線制御の関数は、視線制御時に次話者NeであるロボットをrNeとするとH(rj, rNe)として定められる。  
更に、視線方向分類が聴衆者Lのときに、ロボットrjに対して視線制御器Ｓ２００が実施する視線制御の関数は、全ロボットの集合をRとすると、ある発話においてR-{rs, rNe, rj}+u の集合の中から一様の確率で１つの要素を選択する関数W(rj)を用いて、HL(rj, W(rj))として定められる。  
人同士において複数人における対話時は、通常の聴衆者に対しても視線が向くことがあるが、関数W(rj)においてユーザを要素の１つとして含めることで、ユーザを常に聴衆者の一人としてロボットが扱い、視線を向ける対象の１候補として各ロボットの視線を制御することを意味するようになる。
【００６４】
最後に、視線方向分類がその他Oのときに、ロボットrjに対して視線制御器Ｓ２００が実施する視線制御の関数は、ロボットが視線を外すときの方向を定める関数Dにより定められる。
【００６５】
このとき、視線制御器Ｓ２００は、ある発話iから次の発話i+1に移行するときに、ロボットrjが話者Sまたは次話者Neになるか否かを判定し、視線方向の分類の集合ESNe、ESL、ELNe、ELLの中から適した１つを選択する第１のステップと、この選択した集合と対となる確率離散分布（QSNe、QSL、QLNe、QLL）に基づき、４つの視線方向の分類から視線方向と視線制御時間の正規分布をそれぞれ選択する第２のステップと、この選択した視線方向の分類の対となる視線制御の関数H(rj, rS)，H(rj, rNe)，HL(rj, W(rj))，Ｄのいずれかから視線方向(xirj, yirj)を決定する第３のステップを実施する。  
視線制御時間sirjは、第１のステップと第２のステップで選択された要素と対となる、各要素において発話終了後から視線制御を行なうまでの時間である視線制御時間を求める正規分布の集合から求められる。
【００６６】
（イベント送信器Ｓ６００）
最後に、ロボットに対して、発話、視線、ジェスチャのイベント（命令）を、指定の時間後にNW経由で送信する、イベント送信器Ｓ６００を次のように実現する。  
まず、制御開始から発話iおよび各ロボットのジェスチャ
【００６７】
【数１７】
2019032468.tif 000019
【００６８】
を実行する時間はΣi(ti-1+di-1)-Dとして定められる。このとき、t0=0,d0=0であり、Dはイベント送信器Ｓ６００が命令を出力してからロボットによる実行までに必要な遅延時間である。
【００６９】
次に、制御開始から各ロボットの視線動作を実行する時間はΣi(ti-1+di-1)+ti+sirj-Dとして定められる。
【００７０】
イベント送信器Ｓ６００は、対話シナリオ１００の各発話文章Tiと対となる話者情報に記されたロボットに対して発話文章Tiの発話の実行と
【００７１】
【数１８】
2019032468.tif 000020
【００７２】
のジェスチャの実行とのイベントを、制御開始から時間Σi(ti-1+di-1)-D後に送信する。同様に、イベント送信器Ｓ６００は、全ロボットに対して、視線方向(xirj, yirj)の方向を向く視線制御の実行のイベントを、制御開始から時間Σi(ti-1+di-1)+ti+sirj-D後に送信する。複数台のロボットは、NW経由で自身宛てに送信された発話、ジェスチャ、視線制御の命令を受け取り次第、動作を実行する。
【００７３】
次に、本発明の実施例について示す。本実施例では、対話シナリオ１００に沿って、３台のロボットのジェスチャ、視線および発話タイミングの制御を自動で生成して実行することができる。
【００７４】
ロボット２００は、NWに接続し、複数ロボット制御装置３００より発話イベント・視線制御イベント・ジェスチャイベントを受け取って、発話、視線制御、ジェスチャを実行する３台のロボット（ロボット「１」、「２」、「３」）である。  
複数ロボット制御装置３００は、対話シナリオ１００を入力として受け付けてNWに接続し、ロボット２００に発話・視線制御・ジェスチャのイベントを送信する。
【００７５】
図２は、本発明の一実施形態におけるロボット対話制御システムの対話シナリオ１００の一例を示す図である。  
図２に示した例では、対話シナリオ１００は、（１）発話文章、および（２）この発話文章を発声するロボットを表す話者情報、の２つの要素のリストとして構成される。
【００７６】
複数ロボット制御装置３００は、更に６つの制御モジュールと、９つの情報記憶装置を有する。  
制御モジュールは、上記の発話時間予測器Ｓ１００、視線制御器Ｓ２００、対話の間決定器Ｓ３００、対話行為推定器Ｓ４００、ジェスチャ付与器Ｓ５００、イベント送信器Ｓ６００を含む。
【００７７】
情報記憶装置は、例えば不揮発性メモリなどにより実現され、発話情報リストデータベースＤ１００（以下、発話情報リストＤ１００と称することがある）、視線制御情報リストデータベースＤ３００（視線制御情報リストＤ３００と称することがある）、対話の間のリストデータベースＤ４００（以下、対話の間のリストＤ４００と称することがある）、ロボットジェスチャデータベースＤ５００、ジェスチャ情報リストデータベースＤ６００（以下、ジェスチャ情報リストＤ６００と称することがある）、対話の間モデルデータベースＤ７００（以下、対話の間モデルＤ７００と称することがある）、視線制御パラメータデータベースＤ８００（以下、視線制御パラメータＤ８００と称することがある）、ジェスチャ発生確率モデルデータベースＤ９００（以下、ジェスチャ発生確率モデルＤ９００と称することがある）、上記の位置情報データベースＤ２００を含む。
【００７８】
発話時間予測器Ｓ１００は、対話シナリオ１００の入力を読み込み、発話情報リストを発話情報リストＤ１００に書き込む。  
視線制御器Ｓ２００は、発話情報リストＤ１００、位置情報Ｄ２００、視線制御パラメータＤ８００より、発話情報リスト、位置情報、視線制御パラメータをそれぞれ読み込み、視線制御情報リストを生成して視線制御情報リストＤ３００に書き込む。  
対話の間決定器Ｓ３００は、対話行為推定器Ｓ４００の出力である対話行為リストと、対話の間モデルＤ７００からの対話の間モデルとをそれぞれ読み込み、対話の間リストＤ４００に対話の間リストを書き込む。  
対話行為推定器Ｓ４００は、対話シナリオ１００を読み込み、対話行為リストを対話の間決定器Ｓ３００、ジェスチャ付与器Ｓ５００にそれぞれ送信する。  
ジェスチャ付与器Ｓ５００は、対話行為リストを受信し、ジェスチャ発生確率モデルＤ９００よりジェスチャ発生確率モデルを読み込み、ロボットジェスチャデータベースＤ５００から各ロボットジェスチャ情報を参照し、ジェスチャ情報リストＤ６００にジェスチャ情報リストを書き込む。
【００７９】
図３は、本発明の一実施形態におけるロボット対話制御システムの発話情報リストＤ１００の記憶内容の一例を示す図である。  
図３に示した例では、発話情報リストＤ１００は、（１）対話シナリオ１００における発話文章の順にラベルされた発話ID、（２）対話シナリオ１００に記載された話者情報と一致する話者情報、（３）対話シナリオ１００に記載された発話文章と一致する発話文章、および（４）ロボットが発話文章を発声する場合に発話にかかる時間である発話時間、の４つの要素のリストとして構成される。
【００８０】
図４は、本発明の一実施形態におけるロボット対話制御システムの位置情報Ｄ２００の記憶内容の一例を示す図である。  
図４に示した例では、位置情報Ｄ２００は、（１）制御対象のロボットの識別情報、（２）制御対象のロボットの視線先のロボットの識別情報、（３）制御対象のロボットに対して、視線先のロボットとユーザが、どの程度の水平方向角度の方向にいるかを示す水平方向角度、（４）、制御対象のロボットに対して、視線先のロボットとユーザが、どの程度の垂直方向角度の方向にいるかを示す垂直角度、という４つの要素の情報のリストとして構成される。
【００８１】
図５は、本発明の一実施形態におけるロボット対話制御システムの視線制御情報リストＤ３００の記憶内容の一例を示す図である。  
図５に示した例では、視線制御情報リストＤ３００は、（１）どの発話の終了後に制御を実施するかを表す発話ID、（２）視線制御の対象となるロボットを示す制御対象、（３）視線制御を発話終了後からみてどの程度の時間後に実施するかを表す時間である、発話終了から視線制御を行なうまでの時間である視線制御時間（以下、視線制御時間と称することがある）、（４）視線方向の水平方向角度、（５）視線方向の垂直方向角度、という５つの要素の情報のリストとして表現される。
【００８２】
図６は、本発明の一実施形態におけるロボット対話制御システムの対話の間のリストＤ４００の記憶内容の一例を示す図である。  
図６に示した例では、対話の間のリストＤ４００は、（１）どの発話の発話終了から次の発話までの間を表すかを示す発話ID、（２）対話の間の時間（対話の間時間と称することもある）、の２要素の情報のリストとして表現される。
【００８３】
図７は、本発明の一実施形態におけるロボット対話制御システムのロボットジェスチャデータベースＤ５００の記憶内容の一例を示す図である。  
図７に示した例では、ロボットジェスチャデータベースＤ５００は、（１）どのロボットによるジェスチャの情報であるかを示す制御対象、（２）ロボットが実行する各ジェスチャに対して１から順に一意に付与されるジェスチャID、（３）このジェスチャIDに対応するジェスチャが示すジェスチャイベント名、の３要素の情報のリストとして表現される。
【００８４】
図８は、本発明の一実施形態におけるロボット対話制御システムのジェスチャ情報リストの一例を示す図である。  
図８に示した例では、ジェスチャ情報リストＤ６００は、（１）どの発話の際にジェスチャを実行するかという発話IDと、（２）ジェスチャを実施させる制御対象と、（３）実施させるジェスチャのジェスチャイベント名、の３要素の情報のリストとして表現される。
【００８５】
図９は、本発明の一実施形態におけるロボット対話制御システムの対話の間モデルＤ７００の記憶内容の一例を示す図である。  
図９に示した例では、対話の間モデルＤ７００は、（２）全対話行為に一意に振られたIDを用いたIDであって、対話の間を挟む、前の発話の対話行為IDである前対話行為ID、（２）全対話行為に一意に振られたIDを用いたIDであって、対話の間を挟む、後の発話に振られる後対話行為ID、（３）時間の正規分布を表現する第１のパラメータ
【００８６】
【数１９】
2019032468.tif 000021
【００８７】
、および（４）時間の正規分布を表現する第２のパラメータ
【００８８】
【数２０】
2019032468.tif 000022
【００８９】
、の４要素のリストとして表現される。
【００９０】
図１０は、本発明の一実施形態におけるロボット対話制御システムの視線制御パラメータＤ８００の記憶内容の一例を示す図である。  
図１０に示すように、視線制御パラメータＤ８００は、（１）どの確率離散分布の集合と、どの正規分布の集合とを利用するかを定めるための視線方向分類条件ID、および（２）各確率離散分布の集合
【００９１】
【数２１】
2019032468.tif 000023
【００９２】
、
【００９３】
【数２２】
2019032468.tif 000024
【００９４】
、
【００９５】
【数２３】
2019032468.tif 000025
【００９６】
、
【００９７】
【数２４】
2019032468.tif 000026
【００９８】
の値、（３）各正規分布の集合
【００９９】
【数２５】
2019032468.tif 000027
【０１００】
、
【０１０１】
【数２６】
2019032468.tif 000028
【０１０２】
、
【０１０３】
【数２７】
2019032468.tif 000029
【０１０４】
、
【０１０５】
【数２８】
2019032468.tif 000030
【０１０６】
の値、の３要素のリストとして表現される。
【０１０７】
図１１は、本発明の一実施形態におけるロボット対話制御システムのジェスチャ発生確率モデルＤ９００の記憶内容の一例を示す図である。  
図１１に示すように、ジェスチャ発生確率モデルＤ９００は、（１）対話行為ID、（２）制御対象のロボットを示す情報、（３）ジェスチャ発生確率離散分布、の３つの要素のリストとして構成される。ジェスチャ発生確率離散分布は、制御対象の全ジェスチャ数と同じ長さの全要素の合計が１となる配列である。
【０１０８】
次に、発話時間予測器Ｓ１００の処理について説明する。  
図１２は、本発明の一実施形態におけるロボット対話制御システムの発話時間予測器Ｓ１００における処理手順の一例を示すフローチャートである。図１２に示した処理Ｓ１０１〜Ｓ１０５は、対話シナリオ１００が発話時間予測器Ｓ１００に入力された際に実行される。  
Ｓ１０１では、発話時間予測器Ｓ１００は、対話シナリオ１００から発話文章（図２参照）と、この話者情報と対となる発話文章とを対話シナリオ１００からを１つずつ順に読み込む。発話時間予測器Ｓ１００は、読み込みが終了したらＳ１０２へ進む。
【０１０９】
Ｓ１０２では、発話時間予測器Ｓ１００は、Ｓ１０１で読み込んだ発話文章を音声合成することで音声合成ファイルを作成する。発話時間予測器Ｓ１００は、音声合成ファイルを作成したらＳ１０３へ進む。  
Ｓ１０３では、発話時間予測器Ｓ１００は、音声合成ファイルの時間長を発話時間として取得する。発話時間予測器Ｓ１００は、発話時間を取得したらＳ１０４に進む。
【０１１０】
Ｓ１０４では、発話時間予測器Ｓ１００は、発話文章、話者情報の組み合わせに固有のIDとして生成した発話IDを生成し、（１）Ｓ１０１で読み込んだ発話文章、（２）Ｓ１０１で読み込んだ話者情報、（３）発話ID、（４）Ｓ１０３で取得した発話時間、を対応付けてなる発話情報リスト（図３参照）を生成して、発話情報リストＤ１００に書き込む。
【０１１１】
Ｓ１０５では、発話時間予測器Ｓ１００は、対話シナリオ１００をすべて読み込んだか否かの判定を行い、読み込みが終了していない場合には、Ｓ１０１に戻る。発話時間予測器Ｓ１００は、対話シナリオ１００をすべて読み込んだと判定した場合には、処理フローを終了する。
【０１１２】
次に、視線制御器Ｓ２００の処理について説明する。  
図１３は、本発明の一実施形態におけるロボット対話制御システムの視線制御器Ｓ２００における処理手順の一例を示すフローチャートである。図１３に示した処理Ｓ２０１〜２１０は、発話時間予測器Ｓ１００で発話情報リストＤ１００への書き込みが終了したときに実行される。
【０１１３】
Ｓ２０１では、視線制御器Ｓ２００は、発話情報リストＤ１００から各列の発話情報（発話ID、話者情報、発話文章、発話時間）（図３参照）を順に読み込む。視線制御器Ｓ２００は、発話IDに沿ったi番目の発話情報とi+1番目の発話情報とをそれぞれ読み込んだら、処理をＳ２０２へ進める。
【０１１４】
Ｓ２０２では、視線制御器Ｓ２００は、Ｓ２０１で読み込んだ発話情報より、i番目の話者情報と、i+1番目の話者情報とをそれぞれ取得する。視線制御器Ｓ２００は、これらの話者情報を取得したら処理をＳ２０３へ進める。
【０１１５】
Ｓ２０３では、視線制御器Ｓ２００は、視線制御パラメータＤ８００から視線制御パラメータ（図１０参照）をすべて読み込む。視線制御器Ｓ２００は、視線制御パラメータの読み込みが終了すると、処理をＳ２０４へ進める。
【０１１６】
Ｓ２０４では、視線制御器Ｓ２００は、各ロボットに対して視線制御パラメータから選択する視線制御パラメータの視線方向分類条件IDを判定する。  
具体的には、Ｓ２０２で取得したi番目の話者情報とi+1番目の話者情報との両方が、あるロボット（例えばロボット「１」）と一致する（同じロボットの話者情報である）場合には、視線制御パラメータから視線方向分類条件IDとしてSNeが選択され、Ｓ２０２で取得したi番目の話者情報とi+1番目の話者情報のうちi番目の話者情報のみが、一致する（上記の、あるロボットの話者情報である）場合には、視線制御パラメータから視線方向分類条件IDとしてSLが選択される。
【０１１７】
また、Ｓ２０２で取得したi番目の話者情報とi+1番目の話者情報のうちi+1番目の話者情報のみが、あるロボットと一致する場合には、視線制御パラメータから視線方向分類条件IDとしてLNeが選択され、Ｓ２０２で取得したi番目の話者情報とi+1番目の話者情報の両方が、あるロボットと一致しない（上記の、あるロボットの話者情報でない）場合には、視線制御パラメータから視線方向分類条件IDとしてLLが選択される。  
視線制御器Ｓ２００は、視線方向分類条件IDを判定したら、処理をＳ２０５へ進める。
【０１１８】
Ｓ２０５では、視線制御器Ｓ２００は、0〜1までの乱数iと数列A {a1,a2,a3…ak}に対して、
【０１１９】
【数２９】
2019032468.tif 000031
【０１２０】
のときkを返す関数f(i,A)を用いて、Ｓ２０４で判定済みの視線方向分類条件IDに対し、視線制御パラメータ上で対となる確率離散分布Qに対して、f(i,Q)を取得する。
【０１２１】
さらに、Ｓ２０４で判定済みの視線方向分類条件IDがSNeのときは、視線制御器Ｓ２００は、視線方向分類の集合ESNe={L,O}に対して、f(i,Q)番目の要素を視線方向として選択する。  
判定済みの視線方向分類条件IDがSLのときは、視線制御器Ｓ２００は、視線方向分類の集合ESL={Ne,L,O}に対して、f(i,Q)番目の要素を視線方向として選択する。  
判定済みの視線方向分類条件IDがLNeのときは、視線制御器Ｓ２００は、視線方向分類の集合ELNe={S,L,O}に対して、f(i,Q)番目の要素を視線方向として選択する。  
判定済みの視線方向分類条件IDがLLのときは、視線制御器Ｓ２００は、視線方向分類の集合ELL={S,Ne,L,O}に対して、f(i,Q)番目の要素を視線方向として選択する。
【０１２２】
さらに、視線制御器Ｓ２００は、視線制御パラメータ上で、この選択した要素と対となる正規分布Sから、f(i,Q)番目の正規分布を視線制御時間の正規分布として選択する。視線制御器Ｓ２００は、視線方向と、視線制御時間の正規分布とをそれぞれ選択したら、処理をＳ２０６へ進める。Ｓ２０６では、視線制御器Ｓ２００は、位置情報Ｄ２００から位置情報を読み込み、処理をＳ２０７へ進める。
【０１２３】
Ｓ２０７では、視線制御器Ｓ２００は、Ｓ２０５で選択した視線方向の分類とＳ２０６で読み込んだ位置情報とから視線制御方向を決定する。  
具体的には、Ｓ２０５で選択した視線方向の分類がS（話者）のときは、視線制御器Ｓ２００は、視線を向けるロボットを制御対象として、i番目に発話を行うロボットを視線先として、両方の要素（制御対象、視線先）が一致する情報を位置情報（図４）から取得し、この取得した情報に対し位置情報上で対となる水平方向角度をxとし、同じく対となる垂直方向角度をyとしたときの(x, y)を視線制御方向とする。
【０１２４】
Ｓ２０５で選択した視線方向の分類がL（聴衆者）のときは、視線制御器Ｓ２００は、全ロボットの発話情報リストから、Ｓ２０２で取得したi番目の話者情報とi+1番目の話者情報とをそれぞれ取り除いてユーザを話者情報として追加してなる視線先の候補のリストを生成する。  
そして、視線制御器Ｓ２００は、このリストから１つの候補をランダムで選択し、視線を向けるロボットを制御対象として、上記の選択した候補を視線先として、両方の要素が一致する情報を位置情報（図４）から取得し、この取得した情報に対し位置情報上で対となる水平方向角度をxとし、同じく対となる垂直方向角度をyとしたときの(x, y)を視線制御方向とする。
【０１２５】
Ｓ２０５で選択した視線方向がNe（次話者）のときは、視線制御器Ｓ２００は、視線を向けるロボットを制御対象とし、発話情報リストからＳ２０２で取得したi＋１番目に発話を行うロボットを視線先として、両方の要素が一致する情報を位置情報（図４）から取得し、この取得した情報に対し位置情報上で対となる水平方向角度をxとし、同じく対となる垂直方向角度をyとしたときの(x, y)を視線制御方向とする。
【０１２６】
最後に、Ｓ２０５で選択した視線方向がO（その他）のときは、視線制御器Ｓ２００は、ロボット視線を逸らす固定の方向X，Yの(X,Y)を視線制御方向とする。視線制御器Ｓ２００は、各ロボットに対して上記のように視線制御方向を決定したら、処理をＳ２０８へ進める。
【０１２７】
Ｓ２０８では、視線制御器Ｓ２００は、各ロボットに対してＳ２０５で視線方向の分類条件IDに基づいて選択した正規分布（視線制御時間の正規分布）に従うランダムな１つの時間情報を生成し、この時間情報を発話終了から視線制御を行なうまでの時間である視線制御時間とする。視線制御器Ｓ２００は、この視線制御時間を決定したら、処理をＳ２０９へ進める。
【０１２８】
Ｓ２０９では、視線制御器Ｓ２００は、（１）Ｓ２０１で読み込んだ発話情報リストの発話ID、（２）Ｓ２０１で読み込んだ発話情報リストの各ロボットを示す制御対象、（３）Ｓ２０８で求めた視線制御時間、（４）Ｓ２０７で求めた水平方向角度、（５）Ｓ２０７で求めた垂直方向角度、を対応付けてなる視線制御情報リスト（図５参照）を生成して、視線制御情報リストＤ３００に書き込む。視線制御器Ｓ２００は、この書き込みが終了したら、処理をＳ２１０へ進める。
【０１２９】
Ｓ２１０では、視線制御器Ｓ２００は、Ｓ２０１で発話情報リストから読み込んだ発話情報リストに次の次の発話（話者情報）が存在するか否かを判定する。次の次の発話が存在する場合は、視線制御器Ｓ２００は、Ｓ２０１へ戻り処理を継続する。次の次の発話が存在しない場合には、視線制御器Ｓ２００は、処理フローを終了する。
【０１３０】
次に、対話の間決定器Ｓ３００の処理について説明する。  
図１４は、本発明の一実施形態におけるロボット対話制御システムの対話の間決定器Ｓ３００における処理手順の一例を示すフローチャートである。図１４に示した処理Ｓ３０１〜Ｓ３０６は、対話の間決定器Ｓ３００へ対話行為リスト（発話ID、話者情報、対話行為IDが関連付けられたリスト）が送られたタイミングで開始される。
【０１３１】
Ｓ３０１では、対話の間決定器Ｓ３００は、対話行為リストを対話行為推定器Ｓ４００より受信する。対話の間決定器Ｓ３００は、対話行為リストの受信が終了したら、処理をＳ３０２へ進める。
【０１３２】
Ｓ３０２では、対話の間決定器Ｓ３００は、対話行為リストから現在の対話行為に対応する対話行為ID（現在の対話行為IDと称することがある）と、このIDと対となる発話IDとをそれぞれ読み込む。また、対話の間決定器Ｓ３００は、対話行為リストから、現在から1つ先の対話行為に対応する対話行為ID（1つ先の対話行為IDと称することもある）と、このIDと対となる発話IDとをそれぞれ読み込む。対話の間決定器Ｓ３００は、これらの読み込みが終了したら、処理をＳ３０３へ進める。
【０１３３】
Ｓ３０３では、対話の間決定器Ｓ３００は、Ｓ３０２で読み込んだ、現在の対話行為IDを前対話行為IDとし、Ｓ３０２で読み込んだ、１つ先の対話行為IDを後対話行為IDとする。対話の間決定器Ｓ３００は、対話の間モデルＤ７００（図９参照）から、これらの前対話行為IDおよび後対話行為IDと対となる第１のパラメータ（対話行為DAiから対話行為DAi＋１へ移行する場合の対話の間の平均）
【０１３４】
【数３０】
2019032468.tif 000032
【０１３５】
と、第２のパラメータ（対話行為DAiから対話行為DAi＋１へ移行する場合の対話の間の分散）
【０１３６】
【数３１】
2019032468.tif 000033
【０１３７】
とをそれぞれ読み込み、これらのパラメータを適応した正規分布
【０１３８】
【数３２】
2019032468.tif 000034
【０１３９】
を、対話の間の時間を算出するための正規分布として決定する。対話の間決定器Ｓ３００は、正規分布を決定したら、処理をＳ３０４へ進める。
【０１４０】
Ｓ３０４では、対話の間決定器Ｓ３００は、Ｓ３０３で決定した正規分布に従うランダムな値を算出し、この値を対話の間の時間とする。対話の間決定器Ｓ３００は、対話の間の時間を計算したら、処理をＳ３０５へ進める。
【０１４１】
Ｓ３０５では、対話の間決定器Ｓ３００は、（１）Ｓ３０２で対話行為リストから読み込んだ現在の対話行為IDと対となる発話ID、（２）Ｓ３０４で算出した、対話の間の時間、を対応付けて対話の間リストにそれぞれ追加する。対話の間決定器Ｓ３００は、追加が終了したら処理をＳ３０６へ進める。
【０１４２】
Ｓ３０６では、対話の間決定器Ｓ３００は、Ｓ３０２で対話行為リストから読み込んだ現在の対話行為IDからみて次の次の対話行為を示す対話行為IDが存在するか否かを判定する。次の次の対話行為を示す対話行為IDがまだ存在する場合には、対話の間決定器Ｓ３００は、Ｓ３０２に戻り処理を継続する。次の次の対話行為を示す対話行為IDが存在しない場合には、対話の間決定器Ｓ３００は、処理フローを終了する。
【０１４３】
次に、対話行為推定器Ｓ４００の処理について説明する。  
図１５は、本発明の一実施形態におけるロボット対話制御システムの対話行為推定器Ｓ４００における処理手順の一例を示すフローチャートである。図１５に示したＳ４０１〜Ｓ４０６は、対話シナリオ１００が対話行為推定器Ｓ４００に入力されたタイミングで開始される。  
Ｓ４０１では、対話行為推定器Ｓ４００は、自身がもつ対話行為リストの領域を空にする。当該領域を空にしたら、対話行為推定器Ｓ４００は、処理をＳ４０２へ進める。
【０１４４】
Ｓ４０２では、対話行為推定器Ｓ４００は、入力された対話シナリオ１００から発話文章および話者情報を上の行から順に１つずつ読み込む。読み込みが終了したら、対話行為推定器Ｓ４００は、処理をＳ４０３へ進める。
【０１４５】
Ｓ４０３では、対話行為推定器Ｓ４００は、Ｓ４０２で読み込んだ発話文章に対して一致する対話行為を分析し、分析結果を発話文章の対話行為IDとして判定する。判定が終了したら、対話行為推定器Ｓ４００は、処理をＳ４０４へ進める。
【０１４６】
Ｓ４０４では、対話行為推定器Ｓ４００は、（１）Ｓ４０２で読み込んだ発話文章に固有の発話ID、（２）Ｓ４０２で発話IDとともに読み込んだ話者情報、（３）Ｓ４０３で判定した対話行為ID、をセットで対話行為リストにそれぞれ追加する。追加が終了したら、対話行為推定器Ｓ４００は、処理をＳ４０５へ進める。
【０１４７】
Ｓ４０５では、対話行為推定器Ｓ４００は、Ｓ４０２で対話シナリオ１００の話者情報と発話文章をすべて読み込んだか否かを判定する。対話シナリオ１００のすべての話者情報と発話文章の読み込みが終了していないと判定した場合には、対話行為推定器Ｓ４００は、Ｓ４０２で処理を継続する。対話シナリオ１００のすべての話者情報と発話文章を読み込んだと判定した場合には、対話行為推定器Ｓ４００は、Ｓ４０６へ処理を進める。
【０１４８】
Ｓ４０６では、対話行為推定器Ｓ４００は、Ｓ４０４で追加がなされた対話行為リストを、対話の間決定器Ｓ３００およびジェスチャ付与器Ｓ５００へそれぞれ送信する。送信が終了したら、対話行為推定器Ｓ４００は、処理フローを終了する。
【０１４９】
次に、ジェスチャ付与器Ｓ５００の処理について説明する。  
図１６は、本発明の一実施形態におけるロボット対話制御システムのジェスチャ付与器Ｓ５００における処理動作の一例を示すフローチャートである。図１６に示した処理Ｓ５０１〜５０６は、対話行為推定器Ｓ４００が対話行為リストを送信したタイミングで実施される。
【０１５０】
Ｓ５０１では、ジェスチャ付与器Ｓ５００は、対話行為リストを対話行為推定器Ｓ４００から受信する。対話行為リストを受信したら、ジェスチャ付与器Ｓ５００は、処理をＳ５０２へ進める。
【０１５１】
Ｓ５０２では、ジェスチャ付与器Ｓ５００は、対話行為リストから、（１）対話行為ID、（２）当該対話行為IDと対となる発話ID、（３）当該対話行為IDと対となる話者情報と、を順に読み込む。これら、対話行為ID、発話ID、話者情報の読み込みが終了したら、ジェスチャ付与器Ｓ５００は、処理をＳ５０３へ進める。
【０１５２】
Ｓ５０３では、ジェスチャ付与器Ｓ５００は、（１）Ｓ５０２で対話行為リストから読み込んだ対話行為ID、（２）Ｓ５０２で対話行為リストから読み込んだ話者情報である制御対象、に基づいて、これら対話行為IDおよび制御対象が一致する対話行為IDや制御対象と対となるジェスチャ発生確率離散分布をジェスチャ発生確率モデルＤ９００（図１１参照）から選択する。
【０１５３】
Ｓ５０４では、ジェスチャ付与器Ｓ５００は、Ｓ５０３で選択したジェスチャ発生確率離散分布をJとしたとき、f(i,J)の結果の値をジェスチャIDとして取得する。  
さらに、ジェスチャ付与器Ｓ５００は、Ｓ５０２で読み込んだ話者情報を制御対象として、この制御対象と、上記取得したジェスチャIDとが一致するジェスチャイベント名をロボットジェスチャデータベースＤ５００（図７参照）から取得する。ジェスチャイベント名を取得したら、ジェスチャ付与器Ｓ５００は、処理をＳ５０５へ進める。
【０１５４】
Ｓ５０５では、ジェスチャ付与器Ｓ５００は、（１）Ｓ５０２で読み込んだ発話ID、（２）Ｓ５０２で読み込んだ話者情報を示す制御対象、（３）Ｓ５０４で取得したジェスチャイベント名、を対応付けてジェスチャ情報リストＤ６００（図８参照）に追加する。追加が終了したら、ジェスチャ付与器Ｓ５００は、処理をＳ５０６へ進める。
【０１５５】
Ｓ５０６では、ジェスチャ付与器Ｓ５００は、Ｓ５０２で読み込んだ対話行為リストにおける、次の対話行為に対応する対話行為ID（次の対話行為IDと称することがある）が存在するか否かを判定する。次の対話行為IDが存在する場合には、ジェスチャ付与器Ｓ５００は、Ｓ５０２に戻り処理を継続する。次の対話行為IDが存在しない場合には、ジェスチャ付与器Ｓ５００は、処理フローを終了する。
【０１５６】
次に、イベント送信器Ｓ６００の処理について説明する。  
図１７は、本発明の一実施形態におけるロボット対話制御システムのイベント送信器Ｓ６００における処理手順の一例を示すフローチャートである。図１７に示した処理Ｓ６０１〜Ｓ６１０は、発話情報リストＤ１００の発話情報リスト、視線制御情報リストＤ３００の視線制御情報リスト、対話の間のリストＤ４００の対話の間リスト、ジェスチャ情報リストＤ６００のジェスチャ情報リストへの追記が終了したタイミングで実行される。
【０１５７】
Ｓ６０１では、イベント送信器Ｓ６００は、発話情報リスト（図３）、視線制御情報リスト（図５）、対話の間リスト（図６）、ジェスチャ情報リスト（図８）をそれぞれ読み込む。読み込みが終了したら、イベント送信器Ｓ６００は、処理をＳ６０２へ進める。
【０１５８】
Ｓ６０２では、イベント送信器Ｓ６００は、発話情報リストの各発話IDiの発話時間をdiとし、対話の間リストの対話の間の時間をtiとしたとき、所定の基準タイミングを起点として（１）発話IDiの発話文章をロボット２００に発生させる発話イベント、および（２）ジェスチャ情報リストの発話IDiのジェスチャイベント名のジェスチャイベント、をロボット２００にそれぞれ実行させるまでの発話・ジェスチャ制御時間を、Σi(ti-1+di-1)-Dとして算出する。  
このときNW遅延を示すDは50[sec]とする。イベント送信器Ｓ６００は、発話情報リストの全ての発話IDにおける発話・ジャスチャ制御時間を求めて、（１）この発話・ジャスチャ制御時間、（２）発話・ジャスチャ制御時間を求めたときの発話IDに対して発話情報リスト上で対となる発話文章（２）発話・ジャスチャ制御時間を求めたときの発話IDに対してジェスチャ情報リスト上で対となるジェスチャイベント名、（４）このジェスチャイベント名に対してジェスチャ情報リスト上で対となる制御対象、でなる４つの要素をリストとしたものを発話・ジェスチャ実行時間リストとして作成する。イベント送信器Ｓ６００は、このリストを作成したら、処理をＳ６０３へ進める。
【０１５９】
Ｓ６０３では、イベント送信器Ｓ６００は、発話情報リスト（図３参照）の各発話IDiの発話時間をdi、対話の間リスト（図６参照）の対話の間の時間をtiとし、視線制御情報リストにおける、発話IDiである制御対象のロボット２００の発話終了から視線制御を行なうまでの時間である視線制御時間をsirjとしたときに、上記の基準タイミングを起点として視線制御を行なうまでの時間である視線制御時間をΣi(ti-1+di-1)+ti+sirj-Dとして算出する。
【０１６０】
そして、イベント送信器Ｓ６００は、視線制御情報リストの全ての発話IDにおける上記の視線制御時間を算出して、（１）この視線制御時間、（２）視線制御時間を求めたときの発話IDに対して視線制御情報リスト上で対となる視線制御方向（水平方向角度、垂直方向角度）、（３）視線制御時間を求めたときの発話IDに対して視線制御情報リスト上で対となる制御対象、でなる３つの要素をリストとした視線制御時間リスト（図５参照）を作成し、このリストを作成したら処理をＳ６０４へ進める。  
Ｓ６０４では、イベント送信器Ｓ６００は、タイマーを0[msec]からスタートする。このタイミングが基準タイミングとなる。タイマーをスタートしたら、イベント送信器Ｓ６００は、処理をＳ６０５へ進める。
【０１６１】
Ｓ６０５では、イベント送信器Ｓ６００は、現時点でのタイマーの値を超える発話・ジャスチャ制御時間が関わる要素（発話・ジェスチャ実行時間リスト上で対となる発話文章、ジェスチャ名、制御対象、発話・ジェスチャ制御時間）が発話・ジェスチャ実行時間リストで要素として存在するか否かを判定する。この要素が存在する場合には、イベント送信器Ｓ６００は、処理をＳ６０６へ進める。上記の要素が存在しい場合には、イベント送信器Ｓ６００は、処理をＳ６０７へ進める。
【０１６２】
Ｓ６０６では、イベント送信器Ｓ６００は、タイマーの値を超える発話・ジャスチャ制御時間が関わる要素を発話・ジェスチャ実行時間リストから取得し、ジェスチャイベント名からジェスチャイベントを作成し、発話文章から発話イベントを作成し、これらのイベントをロボット２００のうち制御対象のロボットに対して送信する。  
イベント送信器Ｓ６００は、上記の取得した要素については発話・ジェスチャ実行時間リストより削除する。削除を終えたら、イベント送信器Ｓ６００は、処理をＳ６０５に進める。
【０１６３】
Ｓ６０７では、イベント送信器Ｓ６００は、現時点でのタイマーの値を超える視線制御時間が関わる要素（視線制御時間リスト上で対となる視線制御方向、制御対象、視線制御時間）が視線制御時間リストで要素として存在するか否かを判定する。この要素が存在する場合には、イベント送信器Ｓ６００は、処理をＳ６０８へ進める。上記の要素が存在しい場合には、イベント送信器Ｓ６００は、処理をＳ６０９へ進める。
【０１６４】
Ｓ６０８では、イベント送信器Ｓ６００は、タイマーの値を超えた視線制御時間が関わる要素を視線制御時間リストから取得し、この要素に含まれる視線制御方向を向く視線制御イベントを作成し、このイベントをロボット２００のうちの制御対象のロボットに対して送信する。イベント送信器Ｓ６００は、上記の取得した要素については視線制御時間リストより削除する。削除を終えたら、イベント送信器Ｓ６００は、処理をＳ６０５に進める。
【０１６５】
Ｓ６０９では、イベント送信器Ｓ６００は、発話・ジェスチャの実行時間リスト、視線制御時間リストに、現在のタイマーを超える時間が関わる要素がもう存在しないか否かを判定する。  
まだ、現在のタイマーを超える時間が関わる要素が発話・ジェスチャの実行時間リスト、視線制御時間リストのどちらかに存在する場合には、イベント送信器Ｓ６００は、処理をＳ６０５に戻し、処理を繰り返す。また、どちらのリストにも、現在のタイマーを超える時間が関わる要素がもう存在しない場合には、イベント送信器Ｓ６００は、処理フローを終了する。
【０１６６】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１６７】
また、各実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【０１６８】
１００…対話シナリオ、２００…ロボット、３００…複数ロボット制御装置、Ｄ１００…発話情報リストデータベース、Ｄ２００…位置情報データベース、Ｄ３００…視線制御情報リストデータベース、Ｄ４００…対話の間のリストデータベース、Ｄ５００…ロボットジェスチャデータベース、Ｄ６００…ジェスチャ情報リストデータベース、Ｄ７００…対話の間モデルデータベース、Ｄ８００…視線制御パラメータデータベース、Ｄ９００…ジェスチャ発生確率モデルデータベース、Ｓ１００…発話時間予測器、Ｓ２００…視線制御器、Ｓ３００…対話の間決定器、Ｓ４００…対話行為推定器、Ｓ５００…ジェスチャ付与器、Ｓ６００…イベント送信器。
【図１】
2019032468.tif 000035
【図２】
2019032468.tif 000036
【図３】
2019032468.tif 000037
【図４】
2019032468.tif 000038
【図５】
2019032468.tif 000039
【図６】
2019032468.tif 000040
【図７】
2019032468.tif 000041
【図８】
2019032468.tif 000042
【図９】
2019032468.tif 000043
【図１０】
2019032468.tif 000044
【図１１】
2019032468.tif 000045
【図１２】
2019032468.tif 000046
【図１３】
2019032468.tif 000047
【図１４】
2019032468.tif 000048
【図１５】
2019032468.tif 000049
【図１６】
2019032468.tif 000050
【図１７】
2019032468.tif 000051