(57)【要約】【課題】ロボットによる応対品質の低下を抑制すること。【解決手段】制御プログラムは、ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得し、取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する、処理をコンピュータに実行させる。【選択図】図５
2019188528.tif 000002
【特許請求の範囲】
【請求項１】
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得し、
取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、
特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、
特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項２】
前記共通する期間が閾値未満である場合に、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
処理をコンピュータに実行させることを特徴とする請求項１記載の制御プログラム。
【請求項３】
前記共通する期間が前記閾値未満である場合に、前記共通する期間が閾値以上となるように、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
処理をコンピュータに実行させることを特徴とする請求項２記載の制御プログラム。
【請求項４】
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データと、前記第１の発話データに含まれる発話データ部分に対応付けられた第１の動作データ及び前記第２の発話データに含まれる発話データ部分に対応付けられた第２の動作データと、を含むデータ構造であって、
前記ロボットを制御する指示を生成する生成部が、
前記データ構造を参照して、前記第１の発話データ及び前記第２の発話データを取得するとともに、取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作データが対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、
特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、
特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記同一の動作データに応じた動作を開始又は終了させる指示を、前記ロボットに出力する、
処理に用いられる、データ構造。
【請求項５】
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得し、
取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、
特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、
特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する、
処理をコンピュータが実行することを特徴とする制御方法。
【請求項６】
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得する取得部と、
前記取得部が取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定する第１の特定部と、
前記第１の特定部が特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定する第２の特定部と、
前記第２の特定部が特定した前記第１の期間と、前記第２の特定部が特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する出力部と、
を有することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム、データ構造、制御方法及び制御装置に関する。
【背景技術】
【０００２】
展示会場等において、身振り手振り等の動作を交えながら来場者等の応対を行うロボットによる説明が、並行して複数の言語で出力される場合が有る。例えば、ロボットが備えるスピーカからは日本語が出力され、言語別に用意された各ヘッドホンからは、それぞれの言語で説明が出力される場合が有る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２５４１０３号公報
【特許文献２】特開２００４−０３４２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、同じ説明に対応する発話時間は、言語に応じて異なりうる。したがって、ロボットの動作のタイミングが日本語での説明に合わされている場合、他の言語で説明を聞いている人に対して、ロボットの発話のタイミングと動作のタイミングとがずれてしまう可能性が有る。その結果、ロボットによる応対の品質が低下する可能性が有る。
【０００５】
そこで、一側面では、本発明は、ロボットによる応対品質の低下を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様では、制御プログラムは、ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得し、取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する、処理をコンピュータに実行させる。
【発明の効果】
【０００７】
一側面として、ロボットによる応対品質の低下を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】説明シナリオと動作との関係性を説明するための図である。
【図２】本発明の実施の形態におけるシステム構成例を示す図である。
【図３】本発明の実施の形態における制御装置１０のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における制御装置１０の機能構成例を示す図である。
【図５】制御装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図６】シナリオデータのデータ構造の一例を示す図である。
【図７】開始許容期間及び終了許容期間の特定結果の一例を示す図である。
【図８】各共通期間の特定結果の一例を示す第１の図である。
【図９】各共通期間の特定結果の一例を示す第２の図である。
【図１０】共通開始許容期間拡張処理の処理手順の一例を説明するためのフローチャートである。
【図１１】共通開始許容期間拡張処理において利用される変数を説明するための図である。
【図１２】共通終了許容期間拡張処理の処理手順の一例を説明するためのフローチャートである。
【図１３】共通終了許容期間拡張処理において利用される変数を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。まず、本実施の形態の概要について説明する。本願発明者は、ロボットが実行する説明シナリオについて、発話内容とポインティング動作との間に、図１に示されるような関係性が見うけられることに着目した。
【００１０】
すなわち、説明シナリオのうち、一つのポインティング動作に対応する発話部分ｐ１は、（ａ）導入部分から始まり、（ｂ）図示等を行うポインティング動作が重要となる説明に移り、その後、（ｃ）論理的な細部の説明に至る。ここで、（ａ）〜（ｃ）と、ポインティング動作との関係は以下の通りである。
（ａ）導入部分：ポインティングしてもしなくても良い。
（ｂ）図示等のポインティング動作が必要な説明部分：必ずポインティングすべき。
（ｃ）細部説明部分：ポインティングしてもしなくても良い。
【００１１】
着目点から言えることは、ポインティング動作の開始は、（ａ）区間のどこでも良いが、（ｂ）区間に入ってからポインティング動作を開始するのは遅すぎる。また、ポインティング動作の終了は（ｃ）区間のどこでも良いが、（ｂ）区間内でポインティング動作を終了してしまうのは早すぎる。そこで、（ａ）区間をポインティング動作の開始の許容期間（以下「開始許容期間」という。）と考え、（ｃ）区間をポインティング動作の終了の許容期間（以下「終了許容期間」という。）と考えて、（ａ）区間でポインティング動作を開始することにより（ｂ）区間（以下、「必須期間」という。）のいずれかの時点で必ずポインティングしている状態にすることを可能とする。また、（ｃ）区間で動作の終了を開始することにより、次の区間の動作へとスムーズに繋げることを可能とする。
【００１２】
図１では、日本語での説明シナリオの例が示されているが、同一の意味内容（説明内容）について日本語と並行して出力される各言語（例えば、中国語）での説明シナリオについても開始許容期間及び終了許容期間が特定され、複数の言語の説明シナリオ間で、開始許容期間の重複期間（以下「共通開始期間」という。）と、終了許容期間の重複期間（以下「共通終了期間」という。）とが特定される。
【００１３】
共通開始期間においてロボット２０によるポインティング動作を開始させ、共通終了期間においてロボット２０によるポインティング動作を終了させることで、複数の言語に跨って、発話と動作との連動を可能とし、発話と動作のタイミングがずれることで生じる）応対品質の低下を抑制する。
【００１４】
ロボット２０に関して上記のような制御を可能とするため、本実施の形態では、例えば、以下のようなシステム構成が採用される。図２は、本発明の実施の形態におけるシステム構成例を示す図である。図２において、１以上のロボット２０は、例えば、展示会場等の特定のエリアにおける来場者に対して接客又はプレゼンテーション等を行うコミュニケーションロボットである。各ロボット２０は、例えば、無線ＬＡＮ等の無線通信網を介してネットワークＮ１に接続される。ネットワークＮ１には、制御装置１０が接続されている。したがって、各ロボット２０と制御装置１０とはネットワークＮ１を介して通信可能である。又は、制御装置１０とロボット２０とは有線のネットワーク若しくはＵＳＢ（Universal  Serial  Bus）ケーブル等で接続されてもよい。なお、各ロボット２０は、所定の位置に固定されていてもよいし、移動可能であってもよい。
【００１５】
制御装置１０は、各ロボット２０を制御する１以上のコンピュータ（情報処理装置）である。例えば、制御装置１０は、ロボット２０の発話の内容を示すデータや、発話に合わせた動作の内容及びタイミングを示すデータ等をロボット２０に送信する。
【００１６】
図３は、本発明の実施の形態における制御装置１０のハードウェア構成例を示す図である。図３の制御装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１７】
制御装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１８】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って制御装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１９】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard  Disk  Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２０】
図４は、本発明の実施の形態における制御装置１０の機能構成例を示す図である。図４において、制御装置１０は、シナリオデータ取得部１１、必須期間特定部１２、発話部分特定部１３、許容期間特定部１４、共通期間特定部１５、判定部１６、補正部１７、決定部１８及び送信部１９等を有する。これら各部は、制御装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。制御装置１０は、また、閾値記憶部１２１を利用する。閾値記憶部１２１は、例えば、補助記憶装置１０２、又は制御装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２１】
シナリオデータ取得部１１は、ロボット２０に実行させる説明シナリオ（発話シナリオ）について、言語別のシナリオデータを取得する。シナリオデータは、説明シナリオに関して、発話に関する内容及びタイミングと、動作に関する種別及びタイミングとを規定するデータである。
【００２２】
必須期間特定部１２は、言語別の各シナリオデータに基づいて、各動作の必須期間を言語別に特定する。発話部分特定部１３は、言語別の各シナリオデータに基づいて、各動作に対応する発話部分を言語別に特定する。許容期間特定部１４は、言語別の各シナリオデータに基づいて、各動作に対応する開始許容期間及び終了許容期間を言語別に特定する。なお、必須期間が特定されれば、開始許容期間及び終了許容期間が特定される（又はその逆も可である）ため、必須期間特定部１２及び許容期間特定部１４が他方を兼ねてもよい。
【００２３】
共通期間特定部１５は、各動作について言語別に特定された必須期間、開始許容期間、終了許容期間のそれぞれについて、動作ごとに共通期間（共通必須期間、共通開始期間、共通終了期間）を判定する。
【００２４】
判定部１６は、各動作について特定された共通開始期間及び共通終了期間が、閾値記憶部１２１に記憶されている閾値以上であるか否かを判定する。すなわち、動作を開始してから動作が完了するまでの時間、又は動作が完了した状態から動作が終了した状態までの移行の時間が十分に有るか否かが判定される。
【００２５】
補正部１７は、いずれかの共通開始期間又は共通終了期間が閾値未満である場合に、当該共通開始期間又は当該共通終了期間が閾値以上となるように、いずれかの言語のシナリオデータを変更（補正）する。
【００２６】
決定部１８は、各動作の開始のタイミング及び終了のタイミングを決定する。送信部１９は、各動作の共通開始期間、共通必須期間及び共通終了期間と、決定部１８により決定されたタイミング等を示す情報とを含む制御データをロボット２０に送信する。
【００２７】
以下、制御装置１０が実行する処理手順について説明する。図５は、制御装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００２８】
ステップＳ１０１において、シナリオデータ取得部１１は、或る説明シナリオ（以下、「対象説明シナリオ」という。）について、言語別のシナリオデータを取得する。シナリオデータは、補助記憶装置１０２から取得されてもよいし、ネットワークを介して取得されてもよい。
【００２９】
図６は、シナリオデータのデータ構造の一例を示す図である。図６には、一つの説明シナリオに関して、日本語のシナリオデータｄｊと中国語のシナリオデータｄｃとのデータ構造が示されている。図６において、水平方向（列方向）は、説明シナリオの開始時からの経過時間に対応し、垂直方向（行方向）は、言語別の各データ（発話データ、動作データ）に対応する。
【００３０】
図６に示されるように、各シナリオデータは、発話データ及び動作データを含む。発話データは、発話の内容と発話のタイミングとを示すデータである。図６では、発話のタイミングが、最初の発話からの経過時間によって示されている。動作データは、発話に合わせた動作の内容（動作の種別）と動作のタイミング（必須期間）とを示すデータである。図６では、各動作の必須期間が、矩形によって示されている。各矩形の左端は、必須期間の開始時期を示し、右端は、必須期間の終了時期を示す。なお、各動作の内容が（）内に示されている。
【００３１】
なお、発話データは、それぞれが１つの動作に対応する複数の発話データ部分を含む。図６では、発話データ部分ｐ［１］〜ｐ［３］が示されている。日本語の発話データと中国語の発話データとにおいて、同じ意味を示す発話データ部分には、同じ符号が付与されている。また、動作データを構成する複数の必須期間のうち、発話データ部分ｐ［ｋ］（ｋ＝１，２，又は３）に対応する必須期間（すなわち、ｉ番目の必須期間）には、括弧内（［］内）にｉの値が示されている。したがって、日本語の動作データと中国語の動作データとにおいて、同じ動作に対応する必須期間には、同じ括弧番号が付与されている。以下、必須期間を区別する場合、括弧番号を必須期間に対して付与する。例えば、［１］が付与されている必須期間を、必須期間［１］という。
【００３２】
なお、日本語のシナリオデータｄｊと、中国語のシナリオデータｄｃとは、個別に作成されてよい。すなわち、一方を他方に合わせるのではなく、それぞれの言語での発話の長さに適した内容で、各言語のシナリオデータが作成されてよい。
【００３３】
なお、図６において、シナリオデータｄｊの上には、参考までに、シナリオデータｄｊ内の動作データに合わせたタイミングでのロボット２０の動作が示されている。すなわち、当該動作データの必須期間［１］に対応するタイミングで、ロボット２０は右手を上げる。また、当該動作データの必須期間［２］に対応するタイミングで、ロボット２０は左手を上げる。更に、当該動作データの必須期間［３］に対応するタイミングで、ロボット２０は両手を上げる。但し、図６に示されているロボット２０の動作のタイミングは、必ずしも、中国語のシナリオデータｄｃ内の動作データが示す各必須期間には合っていない。特に、両手を上げる動作は、中国語のシナリオデータｄｃ内の動作データの必須期間［３］の期間外となってしまっている。本実施の形態では、このようなシナリオデータ間の不整合を解消するための処理も実行される。
【００３４】
続いて、必須期間特定部１２は、変数ｉに１を代入する（Ｓ１０２）。変数ｉは、処理対象とする必須期間及び発話データ部分を識別するための変数である。
【００３５】
続いて、必須期間特定部１２は、変数ｉの値がＮ以下であるか否かを判定する（Ｓ１０３）。Ｎは、対象説明シナリオにおける発話データ部分の総数である。Ｎの値は、いずれかの言語のシナリオデータに基づいて特定されてもよいし、対象説明シナリオの識別情報に関連付けられて補助記憶装置１０２等に記憶されていてもよい。なお、同一の説明シナリオに関する各言語でのシナリオデータにおける発話データ部分の総数は同じであるとする。
【００３６】
変数ｉの値がＮ以下である場合（Ｓ１０３でＹｅｓ）、必須期間特定部１２は、各言語の動作データに基づいて、ｉ番目の必須期間［ｉ］を言語ごとに特定する（Ｓ１０４）。すなわち、各言語の必須期間［ｉ］の開始時期及び終了時期が特定される。図６によれば、ｉ＝１の場合、シナリオデータｄｊの必須期間［１］の開始時期（ｔ＝３）及び終了時期（ｔ＝１１）と、シナリオデータｄｃの必須期間［１］の開始時期（ｔ＝４）及び終了時期（ｔ＝８）とが特定される。
【００３７】
続いて、発話部分特定部１３は、各言語の発話データに基づいて、ｉ番目の発話データ部分ｐ［ｉ］に応じた発話期間を言語ごとに特定する（Ｓ１０５）。すなわち、発話データ部分ｐ［ｉ］の開始時期及び終了時期が特定される。図６によれば、ｉ＝１の場合、シナリオデータｄｊの発話データ部分ｐ［１］の開始時期（ｔ＝０）及び終了時期（ｔ＝１５）と、シナリオデータｄｃの発話データ部分ｐ［１］の開始時期（ｔ＝０）及び終了時期（ｔ＝１３）とが特定される。
【００３８】
続いて、発話部分特定部１３は、ｉがＮ未満であるか否かを判定する（Ｓ１０６）。ここでＮは、上記した通り、発話データ部分の総数である。ｉがＮ未満である場合（Ｓ１０６でＹｅｓ）、発話部分特定部１３は、各言語の発話データを参照して、ｉ＋１番目の発話データ部分ｐ［ｉ＋１］の期間を言語ごとに特定する（Ｓ１０７）。
【００３９】
ステップＳ１０６でＮｏの場合、又はステップＳ１０７に続いて、許容期間特定部１４は、各言語の動作データを参照して、必須期間［ｉ］に係る動作について、開始許容期間［ｉ］及び終了許容期間［ｉ］を言語ごとに特定する（Ｓ１０８）。ｉ番目の必須期間［ｉ］に対する開始許容期間［ｉ］は、発話データ部分ｐ［ｉ−１］の終了時期（但し、ｉ＝１の場合、発話データ部分ｐ［ｉ］の開始時期）から必須期間［ｉ］の開始時期までの期間である。また、必須期間［ｉ］の終了許容期間［ｉ］は、必須期間［ｉ］の終了時期から発話データ部分ｐ［ｉ＋１］の開始時期までの期間である。但し、発話データ部分ｐ［ｉ＋１］が無い場合（すなわち、ｉ≧Ｎの場合）、終了許容期間［ｉ］の終了時期は、シナリオデータの終了時期でよい。
【００４０】
図７は、開始許容期間及び終了許容期間の特定結果の一例を示す図である。図７には、日本語のシナリオデータｄｊ及び中国語のシナリオデータｄｃのそれぞれについて、必須期間の行の１行下に開始許容期間を示す行が追加され、更にその下に終了許容期間を示す行が追加されている。図７では、ｉ＝１の際に特定される開始許容期間［１］及び終了許容期間［１］の範囲が示されている。
【００４１】
続いて、共通期間特定部１５は、各言語の開始許容期間［ｉ］の共通期間（重複期間）である共通開始許容期間［ｉ］と、各言語の終了許容期間［ｉ］の共通期間（重複期間）である共通終了許容期間［ｉ］とを特定する（Ｓ１０９）。
【００４２】
続いて、共通期間特定部１５は、各言語の必須期間［ｉ］の共通必須期間［ｉ］を特定する（Ｓ１１０）。具体的には、共通開始許容期間［ｉ］の終了時期から共通終了許容期間［ｉ］の開始時期までが共通必須期間［ｉ］として特定される。
【００４３】
図８は、各共通期間の特定結果の一例を示す第１の図である。図８には、日本語の終了許容期間の行と、中国語の発話データの行との間に、共通必須期間を示す行、共通開始許容期間を示す行、及び共通終了許容期間を示す行が追加されている。
【００４４】
具体的には、共通開始許容期間を示す行には、日本語の開始許容期間［１］と中国語の開始許容期間［１］との重複期間である共通開始許容期間［１］が示されている。共通終了許容期間を示す行には、日本語の終了許容期間［１］と中国語の終了許容期間［１］との重複期間である共通終了許容期間［１］が示されている。更に、共通必須期間を示す行には、共通開始許容期間［１］の終了時期を開始時期とし、共通終了許容期間［１］の開始時期を終了時期とする共通必須期間［１］が示されている。
【００４５】
続いて、判定部１６は、共通開始許容期間［ｉ］が、閾値ａｔ［ｉ］以上であるか否かを判定する（Ｓ１１１）。閾値ａｔ［ｉ］は、共通開始許容期間［ｉ］の下限に対する閾値であり、閾値記憶部１２１に記憶されている。閾値ａｔ［ｉ］は、例えば、ｉ番目の動作について、動作の開始から完了までの所要時間に基づいて定められてもよい（例えば、当該所要時間＋α（α≧０））。動作の開始から完了までとは、例えば、ｉ番目の動作が右手を上げることであれば、右手を上げ始めてから、右手が目的とする高さまで上がった状態になるまでのことをいう。
【００４６】
共通開始許容期間［ｉ］が、閾値ａｔ［ｉ］以上である場合（Ｓ１１１でＹｅｓ）、判定部１６は、共通終了許容期間［ｉ］が、閾値ｂｔ［ｉ］以上であるか否かを判定する（Ｓ１１３）。閾値ｂｔ［ｉ］は、共通終了許容期間［ｉ］の下限に対する閾値であり、閾値記憶部１２１に記憶されている。閾値ｂｔ［ｉ］は、例えば、ｉ番目の動作について、動作が完了している状態から動作が終了している状態への移行の所要時間に基づいて定められてもよい（例えば、当該所要時間＋α（α≧０））。動作が完了している状態から動作が終了している状態への移行とは、例えば、ｉ番目の動作が右手を上げることであれば、右手を下げ始めてから右手が下がった状態になるまでのことをいう。
【００４７】
共通終了許容期間［ｉ］が、閾値ｂｔ［ｉ］以上である場合（Ｓ１１３でＹｅｓ）、決定部１８は、共通開始許容期間［ｉ］において、ｉ番目の動作の開始のタイミング（開始時期）を決定すると共に、共通開始許容期間［ｉ］において、ｉ番目の動作の終了のタイミング（終了時期）を決定する（Ｓ１１５）。動作の終了のタイミングとは、当該動作の終了を開始するタイミングである。例えば、共通開始許容期間［ｉ］内であって、（共通開始許容期間［ｉ］の終了時期−ａｔ［ｉ］）以前の期間内において、開始時期が決定されればよい。同様に、共通終了許容期間［ｉ］内であって、（共通終了許容期間［ｉ］の終了時期−ｂｔ［ｉ］）以前の期間内において、終了時期が決定されればよい。なお、決定された開始時期及び終了時期は、例えば、共通開始許容期間［ｉ］又は共通終了許容期間［ｉ］に対して記録（付与）される。
【００４８】
続いて、必須期間特定部１２は、変数ｉに１を加算して（Ｓ１１６）、ステップＳ１０３以降を実行する。したがって、図８の発話データ部分ｐ［２］及び発話データ部分ｐ［３］についても、ステップＳ１０４以降が実行されて、図９に示されるように、各言語の必須期間、開始許容期間、終了許容期間が特定され、それぞれの共通期間が特定される。
【００４９】
図９は、各共通期間の特定結果の一例を示す第２の図である。図９において、共通期間許容期間の行に注目すると、共通開始許容期間［３］が無い。これは、日本語の開始許容期間［３］と、中国語の開始許容期間［３］との間に共通期間が無いからである。その結果、共通必須許容期間［３］も特定されていない。
【００５０】
このように、共通開始許容期間［ｉ］が閾値ａｔ［ｉ］未満である場合（Ｓ１１１でＮｏ）、補正部１７は、共通開始許容期間拡張処理を実行する（Ｓ１１２）。共通開始許容期間拡張処理では、共通開始許容期間［ｉ］がａｔ［ｉ］以上になるように、各言語の発話データ部分ｐ［ｉ］のうちの少なくとも一つの発話データ部分ｐ［ｉ］の期間が変更される。換言すれば、各言語の発話データ部分ｐ［ｉ］のうちの少なくとも一つの発話データ部分ｐ［ｉ］の期間を変更することで、閾値ａｔ［ｉ］以上の共通開始許容期間［ｉ］が確保される。
【００５１】
いずれかの言語の発話データ部分ｐ［ｉ］の期間が変更された結果、共通終了許容期間［ｉ］及び共通必須許容期間［ｉ］等も変化する可能性が有る。そこで、この場合、ステップＳ１０６以降が繰り返される。
【００５２】
また、共通終了許容期間［ｉ］が、閾値ｂｔ［ｉ］未満である場合（Ｓ１１３でＮｏ）、補正部１７は、共通終了許容期間拡張処理を実行する（Ｓ１１４）。共通終了許容期間拡張処理では、共通終了許容期間［ｉ］がｂｔ［ｉ］以上になるように、各言語の発話データ部分ｐ［ｉ＋１］のうちの少なくとも一つの発話データ部分ｐ［ｉ＋１］の期間が変更される。換言すれば、各言語の発話データ部分ｐ［ｉ＋１］のうちの少なくとも一つの発話データ部分ｐ［ｉ＋１］の期間を変更することで、ｂｔ［ｉ］以上の共通終了許容期間［ｉ］が確保される。
【００５３】
なお、共通終了許容期間拡張処理は、共通開始許容期間［ｉ］及び共通終了許容期間［ｉ］には影響しないため、ステップＳ１１４に続いてステップＳ１１５へ進む。
【００５４】
その後、変数ｉの値がＮを超えると（すなわち、全ての発話データ部分についてステップＳ１０４以降が実行されると）（Ｓ１０３でＮｏ）、送信部１９は、図９における各行のうち、各言語の発話データと、共通必須期間、共通開始許容期間及び共通終了許容期間の行とを含む制御データを、ロボット２０に送信（出力）する（Ｓ１１７）。ここで、各共通開始許容期間には、当該共通開始許容期間で開始すべき動作の種別と、当該動作の開始時期を含む情報が付与されている。また、各共通終了許容期間には、当該共通終了許容期間で終了すべき動作の種別と、当該動作の終了時期を含む情報が付与されている。したがって、当該制御データの送信は、各共通開始許容期間において動作を開始させ、各共通終了許容期間において動作を終了させる指示をロボット２０への出力することと等価である。
【００５５】
ロボット２０は、各言語の発話データに基づいて並列的に出力される発話内容に伴って、共通開始許容期間に記録された開始時期に動作を開始し、共通終了許容期間に記録された終了時期に動作を終了する。その結果、各言語の発話のタイミングとロボット２０の動作とを連動させることができる。
【００５６】
又は、送信部１９は、制御データをロボット２０に送信せずに、制御データに基づいて、動作の開始又は終了の指示を、逐次的にロボット２０に送信してもよい。
【００５７】
続いて、ステップＳ１１２の一例について説明する。図１０は、共通開始許容期間拡張処理の処理手順の一例を説明するためのフローチャートである。なお、図１０において、変数ｉの値は、図１０の処理手順が実行される時点における、図５での変数ｉの値である。
【００５８】
ステップＳ２０１において、補正部１７は、閾値ａｔ［ｉ］からｍａｔを差し引いた結果を変数ｒａｔに代入する。
【００５９】
図１１は、共通開始許容期間拡張処理において利用される変数を説明するための図である。図１１に示されるように、ｍａｔは、共通開始許容期間［ｉ］を示す。したがって、ｒａｔの値は、閾値ａｔ［ｉ］に対する共通開始許容期間［ｉ］の不足分を示す。なお、以下の説明において、図１１に示した変数が利用される。
【００６０】
続いて、補正部１７は、日本語の開始許容期間［ｉ］の終了時期ｊａｔ２から共通開始許容期間［ｉ］の終了時期ｍａｔ２を差し引いた結果を変数ｊｒａｔに代入する（Ｓ２０２）。続いて、補正部１７は、ｊｒａｔがｒａｔ未満であるか否かを判定する（Ｓ２０３）。すなわち、共通開始許容期間［ｉ］の不足の原因が、日本語側に有るか否かが判定される。ｊｒａｔがｒａｔ以上である場合（Ｓ２０３でＮｏ）、ステップＳ２０５へ進む。
【００６１】
ｊｒａｔがｒａｔ未満である場合（Ｓ２０３でＹｅｓ）、補正部１７は、日本語の発話データ部分ｐ［ｉ］の期間（開始時期及び終了時期）を（ｒａｔ−ｊｒａｔ）だけ遅らすように日本語のシナリオデータｄｊを修正（補正）する（Ｓ２０４）。本実施の形態において、日本語の開始許容期間［ｉ］は、日本語の発話データ部分ｐ［ｉ］の開始時期を終了時期とする。したがって、当該発話データ部分［ｉ］を遅らせることは、当該開始許容期間［ｉ］を延長することを意味する。
【００６２】
なお、斯かる修正の結果、シナリオデータｄｊにおいて、発話データ部分ｐ［ｉ］と発話データ部分ｐ［ｉ＋１］との期間との間に重複が発生してしまったり、発話データ部分ｐ［ｉ］と発話データ部分ｐ［ｉ＋１］との順序が逆になってしまったりする場合には、発話データ部分ｐ［ｉ＋１］の開始時期が、発話データ部分［ｉ］の終了時期より後になるように、発話データ部分ｐ［ｉ＋１］以降の各発話データ部分の期間が、一定時間ずつ後ろにずらされてもよい。又は、斯かる重複や順序の逆転の有無に関係なく、発話データ部分ｐ［ｉ］以降の全ての発話データ部分の期間が、（ｒａｔ−ｊｒａｔ）だけ遅れるようにシナリオデータｄｊが修正されてもよい。
【００６３】
ステップＳ２０３でＮｏの場合、又はステップＳ２０４に続いて、補正部１７は、中国語のシナリオデータｄｃについても同様の処理を実行する。
【００６４】
すなわち、ステップＳ２０５において、補正部１７は、中国語の開始許容期間［ｉ］の終了時期ｃａｔ２から共通開始許容期間［ｉ］の終了時期ｍａｔ２を差し引いた結果を変数ｃｒａｔに代入する。続いて、補正部１７は、ｃｒａｔがｒａｔ未満であるか否かを判定する（Ｓ２０６）。すなわち、共通開始許容期間［ｉ］の不足の原因が、中国語側に有るか否かが判定される。ｃｒａｔがｒａｔ以上である場合（Ｓ２０６でＮｏ）、図１０の処理は終了する。
【００６５】
ｃｒａｔがｒａｔ未満である場合（Ｓ２０６でＹｅｓ）、補正部１７は、中国語の発話データ部分ｐ［ｉ］の期間（開始時期及び終了時期）を（ｒａｔ−ｃｒａｔ）だけ遅らすように中国語のシナリオデータｄｃを修正（補正）する（Ｓ２０７）。斯かる修正の方法は、日本語において説明した通りである。
【００６６】
図１０の処理によって、ａｔ［ｉ］以上の共通開始許容期間［ｉ］が確保される。
【００６７】
続いて、図５のステップＳ１１４の一例について説明する。図１２は、共通終了許容期間拡張処理の処理手順の一例を説明するためのフローチャートである。なお、図１２において、変数ｉの値は、図１２の処理手順が実行される時点における、図５での変数ｉの値である。
【００６８】
ステップＳ３０１において、補正部１７は、閾値ｂｔ［ｉ］からｍｂｔを差し引いた結果を変数ｒｂｔに代入する。
【００６９】
図１３は、共通終了許容期間拡張処理において利用される変数を説明するための図である。図１３に示されるように、ｍｂｔは、共通終了許容期間［ｉ］を示す。したがって、ｒｂｔの値は、閾値ｂｔ［ｉ］に対する共通終了許容期間［ｉ］の不足分を示す。なお、以下の説明において、図１３に示した変数が利用される。
【００７０】
続いて、補正部１７は、日本語の終了許容期間［ｉ］の終了時期ｊｂｔ２から共通終了許容期間［ｉ］の終了時期ｍｂｔ２を差し引いた結果を変数ｊｒｂｔに代入する（Ｓ３０２）。続いて、補正部１７は、ｊｒｂｔがｒｂｔ未満であるか否かを判定する（Ｓ３０３）。すなわち、共通終了許容期間［ｉ］の不足の原因が、日本語側に有るか否かが判定される。ｊｒｂｔがｒｂｔ以上である場合（Ｓ３０３でＮｏ）、ステップＳ３０５へ進む。
【００７１】
ｊｒｂｔがｒｂｔ未満である場合（Ｓ３０３でＹｅｓ）、補正部１７は、日本語の発話データ部分ｐ［ｉ＋１］の期間（開始時期及び終了時期）を（ｒｂｔ−ｊｒｂｔ）だけ遅らすように日本語のシナリオデータｄｊを修正（補正）する（Ｓ３０４）。本実施の形態において、日本語の終了許容期間［ｉ］は、日本語の発話データ部分ｐ［ｉ＋１］の開始時期を終了時期とする。したがって、当該発話データ部分［ｉ＋１］を遅らせることは、当該終了許容期間［ｉ］を延長することを意味する。
【００７２】
なお、斯かる修正の結果、シナリオデータｄｊにおいて、発話データ部分ｐ［ｉ＋１］と発話データ部分ｐ［ｉ＋２］との期間との間に重複が発生してしまったり、発話データ部分ｐ［ｉ＋１］と発話データ部分ｐ［ｉ＋２］との順序が逆になってしまったりする場合には、発話データ部分ｐ［ｉ＋２］の開始時期が、発話データ部分［ｉ＋１］の終了時期より後になるように、発話データ部分ｐ［ｉ＋２］以降の各発話データ部分の期間が、一定時間ずつ後ろにずらされてもよい。又は、斯かる重複や順序の逆転の有無に関係なく、発話データ部分ｐ［ｉ＋１］以降の全ての発話データ部分の期間が、（ｒｂｔ−ｊｒｂｔ）だけ遅れるようにシナリオデータｄｊが修正されてもよい。
【００７３】
ステップＳ３０３でＮｏの場合、又はステップＳ３０４に続いて、補正部１７は、中国語のシナリオデータｄｃについても同様の処理を実行する。
【００７４】
すなわち、ステップＳ３０５において、補正部１７は、中国語の終了許容期間［ｉ］の終了時期ｃｂｔ２から共通終了許容期間［ｉ］の終了時期ｍｂｔ２を差し引いた結果を変数ｃｒｂｔに代入する。続いて、補正部１７は、ｃｒｂｔがｒｂｔ未満であるか否かを判定する（Ｓ３０６）。すなわち、共通終了許容期間［ｉ］の不足の原因が、中国語側に有るか否かが判定される。ｃｒｂｔがｒｂｔ以上である場合（Ｓ３０６でＮｏ）、図１２の処理は終了する。
【００７５】
ｃｒｂｔがｒｂｔ未満である場合（Ｓ３０６でＹｅｓ）、補正部１７は、中国語の発話データ部分ｐ［ｉ］の期間（終了時期及び終了時期）を（ｒｂｔ−ｃｒｂｔ）だけ遅らすように中国語のシナリオデータｄｃを修正（補正）する（Ｓ３０７）。斯かる修正の方法は、日本語において説明した通りである。
【００７６】
図１２の処理によって、ｂｔ［ｉ］以上の共通終了許容期間［ｉ］が確保される。
【００７７】
なお、図１０及び図１２では、いずれかの言語の発話データ部分を遅らせることで、共通開始許容期間［ｉ］又は共通終了期間［ｉ］が拡張される例について説明したが、いずれかの言語の発話データ部分を早めることで、共通開始許容期間［ｉ］又は共通終了期間［ｉ］が生成されてもよい。この場合、当該発話データ部分より前の発話データ部分の発話速度が高められてもよいし、当該前の発話データ部分の発話の長さ（文字列長）が短縮されてもよい。発話データ部分の発話の長さの短縮は、同じ意味内容を異なる表現で置き換えることによって行われてもよい。
【００７８】
なお、図１０及び図１２に示した処理は、一例である。発話データ部分をずらすことで、十分な共通開始許容期間［ｉ］又は共通終了期間［ｉ］を確保可能な方法であれば、他の方法によって図１０及び図１２の処理手順が置換されてもよい。
【００７９】
なお、上記では、制御装置１０が、図５の処理手順を実行する例について説明したが、各ロボット２０が、図３に示したハードウェアを含み、図４に示した機能構成を有していてもよい。すなわち、図５に示した処理手順は、各ロボット２０によって実行されてもよい。
【００８０】
また、上記では、説明の便宜上、日本語及び中国語の２つの言語のシナリオデータが有る例について説明したが、３種類以上の言語のシナリオデータが有る場合であっても、同様の処理内容によって、共通開始期間及び共通終了期間等が特定及び拡張されてもよい。
【００８１】
上述したように、本実施の形態によれば、複数の言語の発話データについて、同一の動作に対応付いた発話データ部分が特定され、各発話データ部分の前又は後の期間の共通期間に、当該動作の開始又は終了の指示がロボット２０に出力される。したがって、ロボット２０の動作を、各言語の発話のタイミングに連動されることができる。その結果、複数の言語による応対時に発話と動作のタイミングがずれることで生じる、ロボット２０による応対品質の低下を抑制することができる。また、ロボットによる説明内容を正確に伝達することができる。
【００８２】
なお、本実施の形態において、発話部分特定部１３、許容期間特定部１４及び送信部１９は、生成部の一例である。シナリオデータ取得部１１は、取得部の一例である。発話部分特定部１３は、第１の特定部の一例である。許容期間特定部１４は、第２の特定部の一例である。送信部１９は、出力部の一例である。日本語は、第１の言語の一例である。中国語は、第２の言語の一例である。日本語の発話データは、第１の発話データの一例である。中国語の発話データは、第２の発話データの一例である。日本語の発話データ部分ｐ［ｉ］は、第１の発話データ部分の一例である。中国語の発話データ部分ｐ［ｉ］は、第２の発話データ部分の一例である。日本語の開始許容期間又は終了許容期間は、第１の期間の一例である。中国語の開始許容期間又は終了許容期間は、第２の期間の一例である。日本語の動作データは、第１の動作データの一例である。中国語の動作データは、第２の動作データの一例である。
【００８３】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８４】
以上の説明に関し、更に以下の項を開示する。
（付記１）
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得し、
取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、
特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、
特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
（付記２）
前記共通する期間が閾値未満である場合に、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
処理をコンピュータに実行させることを特徴とする付記１記載の制御プログラム。
（付記３）
前記共通する期間が前記閾値未満である場合に、前記共通する期間が閾値以上となるように、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
処理をコンピュータに実行させることを特徴とする付記２記載の制御プログラム。
（付記４）
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データと、前記第１の発話データに含まれる発話データ部分に対応付けられた第１の動作データ及び前記第２の発話データに含まれる発話データ部分に対応付けられた第２の動作データと、を含むデータ構造であって、
前記ロボットを制御する指示を生成する生成部が、
前記データ構造を参照して、前記第１の発話データ及び前記第２の発話データを取得するとともに、取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作データが対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、
特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、
特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記同一の動作データに応じた動作を開始又は終了させる指示を、前記ロボットに出力する、
処理に用いられる、データ構造。
（付記５）
前記生成部は、前記共通する期間が閾値未満である場合に、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
ことを特徴とする付記４記載のデータ構造。
（付記６）
前記生成部は、前記共通する期間が前記閾値未満である場合に、前記共通する期間が閾値以上となるように、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
ことを特徴とする付記５記載のデータ構造。
（付記７）
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得し、
取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定し、
特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定し、
特定した前記第１の期間と、特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する、
処理をコンピュータが実行することを特徴とする制御方法。
（付記８）
前記共通する期間が閾値未満である場合に、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
処理をコンピュータが実行することを特徴とする付記７記載の制御方法。
（付記９）
前記共通する期間が前記閾値未満である場合に、前記共通する期間が閾値以上となるように、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
処理をコンピュータが実行することを特徴とする付記８記載の制御方法。
（付記１０）
ロボットによる特定の発話シナリオに応じた、第１の言語に対応する第１の発話データ及び第２の言語に対応する第２の発話データを取得する取得部と、
前記取得部が取得した前記第１の発話データ及び前記第２の発話データのうち、前記ロボットによる同一の動作が対応付けられた第１の発話データ部分及び第２の発話データ部分を特定する第１の特定部と、
前記第１の特定部が特定した前記第１の発話データ部分に応じた発話期間の前又は後の一方の期間である第１の期間と、特定した前記第２の発話データ部分に応じた発話期間の前又は後の前記一方の期間である第２の期間とを特定する第２の特定部と、
前記第２の特定部が特定した前記第１の期間と、前記第２の特定部が特定した前記第２の期間とに共通する期間に、前記動作を開始又は終了させる指示を、前記ロボットに出力する出力部と、
を有することを特徴とする制御装置。
（付記１１）
前記共通する期間が閾値未満である場合に、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する変更部、
を有することを特徴とする付記１０記載の制御装置。
（付記１２）
前記変更部は、前記共通する期間が前記閾値未満である場合に、前記共通する期間が閾値以上となるように、前記第１の発話データ部分に応じた発話期間及び前記第２の発話データ部分に応じた発話期間の少なくともいずれか一方を変更する、
ことを特徴とする付記１１記載の制御装置。
【符号の説明】
【００８５】
１０          制御装置
１１          シナリオデータ取得部
１２          必須期間特定部
１３          発話部分特定部
１４          許容期間特定部
１５          共通期間特定部
１６          判定部
１７          補正部
１８          決定部
１９          送信部
２０          ロボット
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        閾値記憶部
Ｂ            バス
【図１】
2019188528.tif 000003
【図２】
2019188528.tif 000004
【図３】
2019188528.tif 000005
【図４】
2019188528.tif 000006
【図５】
2019188528.tif 000007
【図６】
2019188528.tif 000008
【図７】
2019188528.tif 000009
【図８】
2019188528.tif 000010
【図９】
2019188528.tif 000011
【図１０】
2019188528.tif 000012
【図１１】
2019188528.tif 000013
【図１２】
2019188528.tif 000014
【図１３】
2019188528.tif 000015