(57)【要約】【課題】本発明の課題は、異なる言語間でのロボットの発話とアクションの同期を維持することを目的とする。【解決手段】上記課題は、ロボットに発話させる発話文と該発話に合わせたアクションとを指定するスクリプトに基づいて、前記発話文内で該アクションを開始させる第一の単語と前記アクションとの紐づけ情報を記憶部に記憶する取得部と、前記第一の単語に対応する翻訳結果である第二の単語と、前記第二の単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する変更部とを有するコミュニケーション装置により達成される。【選択図】図４
2020060805.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに発話させる発話文と該発話に合わせたアクションとを指定するスクリプトに基づいて、前記発話文内で該アクションを開始させる第一の単語と前記アクションとの紐づけ情報を記憶部に記憶する取得部と、
前記第一の単語に対応する翻訳結果である第二の単語と、前記第二の単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する変更部と
を有するコミュニケーション装置。
【請求項２】
前記変更部は、
前記スクリプトによって指定される前記アクションが、翻訳後の該アクションの紐づけにより開始位置が変更され翻訳後の発話文の終了後も該アクションが継続する場合、該アクションの終了時間を調整する
ことを特徴とする請求項１記載のコミュニケーション装置。
【請求項３】
前記変更部は、
前記アクションを分割し、翻訳後の発話文において、前記第二の単語が発話される前記開始位置より前の単語から開始し、翻訳後の各単語に対応する分割アクションを割り当てて、分割により取得した複数の分割アクションを実行させる
ことを特徴とする請求項２記載のコミュニケーション装置。
【請求項４】
前記変更部は、
前記スクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクション間の繋ぎに影響する動作が存在する場合、２以上のアクションの姿勢を補正する
ことを特徴とする請求項１記載のコミュニケーション装置。
【請求項５】
前記変更部は、
前記スクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクションのうち、最初のアクションの開始姿勢と、最後のアクションの終了姿勢とが定めた初期姿勢でない場合、該複数のアクションの動作を置き換えて該開始姿勢と該終了姿勢とが該定めた初期姿勢となるように前記ロボットの姿勢を補正する
ことを特徴とする請求項４記載のコミュニケーション装置。
【請求項６】
前記変更部は、
前記第一の単語を翻訳した単語が存在しない場合、翻訳前の前記発話文と翻訳後の発話文との間の単語の位置関係に基づいて、該翻訳後の発話文において、前記第一の単語の位置に近い位置に、前記紐づけ情報を変更する
ことを特徴とする請求項１記載のコミュニケーション装置。
【請求項７】
ロボットに発話させる発話文と該発話に合わせたアクションとを指定するスクリプトに基づいて、前記発話文内で該アクションを開始させる第一の単語と前記アクションとの紐づけ情報を記憶部に記憶し、
前記第一の単語に対応する翻訳結果である第二の単語と、前記第二の単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する
処理をコンピュータが行うコミュニケーション方法。
【請求項８】
ロボットに発話させる発話文と該発話に合わせたアクションとを指定するスクリプトに基づいて、前記発話文内で該アクションを開始させる第一の単語と前記アクションとの紐づけ情報を記憶部に記憶し、
前記第一の単語に対応する翻訳結果である第二の単語と、前記第二の単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する
処理をコンピュータに行わせるコミュニケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コミュニケーション装置、コミュニケーション方法、及びコミュニケーションプログラムに関する。
【背景技術】
【０００２】
従来より、さまざまなタイプのロボットの活用及び導入が考えられている。そのなかで、近年では、日常生活において人と自然な対話が可能なロボットが注目されている。特に、ロボットの会話中に動きを加えることで、人に対して親和性を高めることができる（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３３７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ある言語から他言語への翻訳機能を持ったロボットが、ある言語での発話に同期した動作を、翻訳後の言語での発話に際してで行なう場合に、不自然な動作となってしまう場合がある。
【０００５】
したがって、１つの側面では、異なる言語間でのロボットの発話とアクションとの同期を維持することを目的とする。
【課題を解決するための手段】
【０００６】
一態様によれば、ロボットに発話させる発話文と該発話に合わせたアクションとを指定するスクリプトに基づいて、前記発話文内で該アクションを開始させる第一の単語と前記アクションとの紐づけ情報を記憶部に記憶する取得部と、前記第一の単語に対応する翻訳結果である第二の単語と、前記第二の単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する変更部と
を有するコミュニケーション装置が提供される。
【発明の効果】
【０００７】
異なる言語間でのロボットの発話とアクションの同期を維持することができる。
【図面の簡単な説明】
【０００８】
【図１】翻訳後にアクションのタイミングが未調整の場合を説明するための図である。
【図２】翻訳後にアクションのタイミングを調整した場合を説明するための図である。
【図３】ロボットのハードウェア構成例を示す図である。
【図４】第１実施例における処理概要を説明する図である。
【図５】第１実施例における処理概要を説明するためのフローチャート図である。
【図６】日英翻訳の場合の変換テーブルのデータ遷移例を示す図である。
【図７】多言語に翻訳した場合の処理例を説明するための図である。
【図８】図７の処理例によるテーブル及びデータベースのデータ例を示す図である。
【図９】アクション定義テーブルのデータ例を示す図である。
【図１０】第１実施例における機能構成例を示す図である。
【図１１】図１０の機能構成例における処理を説明するためのフローチャート図である。
【図１２】スクリプト入力処理を説明するためのフローチャート図である。
【図１３】アクション位置決定処理を説明するためのフローチャート図である。
【図１４】スクリプト翻訳処理を説明するためのフローチャート図である。
【図１５】調整後スクリプトに基づく発話・動作処理について説明するためのフローチャート図である。
【図１６】視覚表現及び聴覚表現のアクションの場合の翻訳前後のスクリプトの例を示す図である。
【図１７】２つのアクションを繋げて連続したアクションの例を説明するための図である。
【図１８】第２実施例における姿勢調整の例を示す図である。
【図１９】第２実施例における機能構成例を示す図である。
【図２０】第２実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
【図２１】姿勢調整前のアクションシリーズの例を示す図である。
【図２２】開始及び終了姿勢の調整例（続く）を説明するための図である。
【図２３】開始及び終了姿勢の調整例（続き）を説明するための図である。
【図２４】姿勢調整処理の例を説明するための図である。
【図２５】翻訳後のアクションの終了時刻が、発話文の終了時刻より遅くなる場合を説明するための図である。
【図２６】アクションの分割例を説明するための図である。
【図２７】第３実施例における機能構成例を示す図である。
【図２８】第３実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
【図２９】第４実施例における全体処理の概要を説明するための図である。
【図３０】図２９の例における変換テーブルのデータ遷移例を示す図である。
【図３１】第４実施例における機能構成例を示す図である。
【図３２】第４実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。本実施の形態では、異なる言語間の翻訳例として、日本語を他の言語（一例として英語）に翻訳する場合で説明するが、この例に限定されない。
【００１０】
ロボットへのアクションの指示は、日本語の会話文に対して予め定められているとする。先ず、アクション指示を含む会話文を日本語から英語に翻訳した場合に、ロボットのアクションのタイミングの例について説明する。以下の例では、元の会話文、即ち、日本語の会話文を「この書類をご覧頂けますか？」として説明するが、この例に限定されず、如何なる会話文であっても本実施の形態の適用は可能である。
【００１１】
図１は、翻訳後にアクションのタイミングが未調整の場合を説明するための図である。図１において、指示２０は、
「この書類をご覧頂けますか？」
の文をロボット９に発話させる指示と、この文内の“この”でロボット９に書類８を指すアクションを行わせる指示とを含んでいる。ロボット９に発話させる文を以下「発話文」という。
【００１２】
ロボット９は、“この”で書類８を指すアクション指示により、“この”の発話と同時に書類８を指で指し示す動作を行う。日本語の会話文では、このロボット９と対話する人にとって、この動作は自然である。
【００１３】
ここで、指示２０の会話文を英語に翻訳すると、翻訳後の指示２１ａでは、
「Could  you  see  this  document?」
の会話文と、アクションとが指定される。指示されたアクションは、単純には、発話と同時に行われる。
【００１４】
ロボット９が指示２１ａに応じて、英語の会話文を発話するタイミングで書類８を指した場合、先頭の“Could”で書類８を指し、このアクションは聞き手にとって不自然に感じてしまう。この指示２１ａでは、“この”に対応する“this”を発話するタイミングで文書を指すアクションの方がより自然である。
【００１５】
このように、一般的に、日本語と英語の文構造の違いから、同じアクションであっても、日本語の会話文を発話する際の最適な実行タイミングと、英語の会話文を発話する際の最適なタイミングとは異なっている。タイミングの違いにより、聞き手に違和感を感じさせてしまう。
【００１６】
本実施の形態では、ロボット９を翻訳システムの聞き手とのインタフェースとして使用する場合、翻訳後の会話文において適切なタイミングでロボット９にアクションを実行させることを可能とする。
【００１７】
［第１実施例］
第１実施例では、アクションが指定されている単語の訳語に対して当該アクションを指定することで、翻訳後の会話文において適切なタイミングでロボット９にアクションを実行させる。その一例を、図１の指示２０を用いて説明する。
【００１８】
図２は、翻訳後にアクションのタイミングを調整した場合を説明するための図である。図２より、日英翻訳後に、後述される種々の第１実施例に係る処理によりアクションのタイミングを調整した場合、指示２０の日本語の会話文は、図１の指示２１ａと同様に、
「Could  you  see  this  document?」
と翻訳される。
【００１９】
図１で例示したように、指示２０の発話タイミングに合わせて特定のアクションをロボット９に実施させる場合に別の言語へ変換すると、言語ごとの文構造の違いからアクションが適切なタイミングで行われず、ずれてしまう。
【００２０】
しかしながら、第１実施例では、指示２０において単語“この”に紐づけられた書類８を指すアクションを、単語“この”の訳語である“this”を発話するタイミングで行われるように、指示２０ｂで示すように“this”で書類を指すアクションに動的に変更される。これにより、文化圏の違いによるアクションのタイミングのずれが考慮される。
【００２１】
また、異なる文化圏でのコミュニケーションにおけるジェスチャの方法の違いを予め用意し、文化圏ＡでのアクションＡと文化圏ＢでのアクションＢとの間で変換を行う。一例として、「手招き」のジェスチャでは、日本では掌が下を向き、米国では掌が上を向くようにアクションを変換する。
【００２２】
上述では、書類８を指すアクションで説明したが、第１実施例においてロボット９に行わせるアクションは、身振り手振りの表現、ＬＥＤを用いた視覚表現、効果音などの聴覚表現等を含む。
【００２３】
図２で説明したような、ロボット９のハードウェア構成例について図３で説明する。ハードウェア構成例は、以下に説明する第２〜第４実施例においても同様である。
【００２４】
図３は、ロボットのハードウェア構成例を示す図である。図３より、ロボット９は、バスＢを介して相互に接続されたＣＰＵ（Central  Processing  Unit）１１、主記憶装置１２と、補助記憶装置１３と、入出力装置１４と、モータ制御装置１６と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。ロボット９は、コミュニケーション装置に相当する。
【００２５】
ＣＰＵ１１は、ロボット９を制御するプロセッサに相当する。主記憶装置１２は、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等を有する。補助記憶装置１３には、ＨＤＤ（Hard  Disk  Drive）等が用いられる。
【００２６】
入出力装置１４は、スピーカ、マイク、ＬＥＤライト、タッチパネル等を有する。通信Ｉ／Ｆ１７は、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。主記憶装置１２、補助記憶装置１３、ロボット９がアクセス可能な外部記憶装置等を総称して、記憶部１３０とする。
【００２７】
モータ制御装置１６は、ＣＰＵ１１からの指示に応じて、接続される左右の、腕、手、足、首等のそれぞれのモータ１６ｍの動作を制御する。ロボット９は、更に、温度センサ、人感センサ等を備えてもよい。
【００２８】
ＣＰＵ１１は、主記憶装置１２の一部をワークエリアとして使用し、主記憶装置１２またはドライブ装置１８等に格納されたプログラムを実行することで、以下に説明する第１実施例に係る様々な処理を実現する。
【００２９】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等）とロボット９とのインターフェースを行う。
【００３０】
尚、第１実施例に係るプログラムを格納する記憶媒体１９は、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよいく、ＳＤ（Secure  Digital）メモリカード、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであればよい。
【００３１】
図４は、第１実施例における処理概要を説明する図である。図４より、翻訳対象となる元のスクリプト３０ａの
「この<Act:指差し>書類をご覧頂けますか？」
から、ロボット９に対する発話指示３１ａと、発話時のアクションの開始位置とアクション指示３９との紐づけを示す紐づけ情報３２ａとが作成される。発話指示３１ａ内の<Act:指差し>は、アクション指示３９の一例である。発話内容に応じて、アクションの開始位置とアクション指示３９は変更される。
【００３２】
図４の発話指示３１ａでは、日本語で
「この書類をご覧頂けますか？」
の会話文が指定される。また、紐づけ情報３２ａは、言語の種類、アクション指示３９の位置、アクション指示３９の内容等を指定し、元のスクリプト３０ａより、発話させる会話文は日本語であり、“この”の位置で“指差し”アクションを行うことが示される。
【００３３】
発話指示３１ａは、スクリプト翻訳処理Ｐ４３により、単語ごとに他の言語に変換され、変換後の言語の文構造に従い翻訳後の会話文に組み立てられる。
【００３４】
例えば、スクリプト翻訳処理Ｐ４３によって、“この”は“this”に変換され、“書類を”は“document”に変換される。また、“ご覧”は“see”に変換され、“頂けますか？”は“could  you”に変換される。変換された単語を用いて、
「Could  you  see  this  document?」
を組み立てることにより発話指示３１ｂが作成される。
【００３５】
第１実施例では、更に、紐づけ情報３２ａに加えて、紐づけ情報３２ａで示されるアクション指示３９の位置“この”の変換後の“this”で“指差し”アクションを行う指示を含む紐づけ情報３２ｂを作成する。この場合、“指差し”アクションが行われるのは会話文は英語であることが示される。
【００３６】
そして、発話指示３１ｂと紐づけ情報３２ｂとから、“this”の直後に“指差し”アクションを指定する“<Act:指差し>”が埋め込まれた調整後スクリプト３０ｂが作成される。作成された調整後スクリプト３０ｂによって、日本語から翻訳された英語の会話文を発話した場合でも、適切なタイミングでアクションが行われるため、聞き手にロボット９の動作をより自然に感じさせることができる。
【００３７】
以下の説明において、ロボット９に、日本語の会話文を発話させるスクリプトを日本語のスクリプトといい、英語の会話文を発話させるスクリプトを英語のスクリプトという場合がある。また、元のスクリプト３０ａ及び調整後スクリプト３０ｂを、総称してスクリプト３０という。
【００３８】
図５は、第１実施例における処理概要を説明するためのフローチャート図である。図５より、ロボット９は、日本語の元のスクリプト３０ａを読み込んで解析し（ステップＳ１１）、紐づけ情報３２ａを記憶部１３０に記憶する（ステップＳ１２）。言語の種類は日本語を示し、“この”でアクションが開始し、アクション内容は<Act:指差し>を示す紐づけ情報３２ａが、記憶部１３０に記憶される。
【００３９】
また、ロボット９は、元のスクリプト３０ａからアクション内容を削除することで発話指示３１ａを取得し、発話指示３１ａの日本語の会話文を英語に翻訳する日英翻訳処理を行う（ステップＳ１３）。
【００４０】
次に、ロボット９は、翻訳前後の単語の対応づけに基づいて、紐づけ情報３２ａを更新して紐づけ情報３２ｂを得る（ステップＳ１４）。そして、ロボット９は、翻訳結果となる発話指示３１ｂと、紐づけ情報３２ａに少なくとも翻訳後のアクションの位置を示す情報を加えて更新した紐づけ情報３２ｂとに基づいて、翻訳後スクリプト３０ｂを作成する（ステップＳ１５）。
【００４１】
即ち、ロボット９は、
「Could  you  see  this  <Act:指差し>  document?」
を示す翻訳後スクリプト３０ｂを記憶部１３０内の変換テーブル（後述）に記憶し、また、ＣＰＵ１１に翻訳後スクリプト３０ｂを実行させる。翻訳後スクリプト３０ｂは、実行後に記憶部１３０から削除されればよい。
【００４２】
生成された紐づけ情報３２ａは、図６に示すような変換テーブル８０に記憶され、上述した処理により紐づけ情報３２ｂへと更新される。日英翻訳の場合を例として、変換テーブル８０のデータ遷移について図６で説明する。
【００４３】
図６は、日英翻訳の場合の変換テーブルのデータ遷移例を示す図である。図６において、変換テーブル８０は、翻訳前後の単語に対応付けて、元のスクリプト３０ａで指定されたアクション指示３９を記憶するテーブルであり、翻訳前（Jpn）、翻訳後（Eng）、アクション等の項目を有する。変換テーブル８０では、初期状態のレコードに対して、新たに翻訳された単語を記憶する。
【００４４】
先ず、元のスクリプト３０ａから取得した発話指示３１ａが解析されると、“この”、“書類を”、“ご覧”、及び“頂けますか？”のそれぞれの単語ごとにレコードが作成され、翻訳前（Jpn）に設定される。
【００４５】
そして、元のスクリプト３０ａ内のアクション指示３９の位置の単語“この”のレコードのアクションに、アクション指示３９の内容“指差し”が設定される。単語“この”のレコードの、翻訳前（Jpn）及びアクションの内容が紐づけ情報３２ａに相当する。
【００４６】
次に、単語ごとに日英翻訳処理が行われると、各レコードの翻訳後（Eng）に、訳語が設定される。翻訳前（Jpn）が“この”のレコードには、翻訳後（Eng）に“this”が設定される。翻訳前（Jpn）、翻訳後（Eng）、及びアクションの内容が紐づけ情報３２ｂに相当する。
【００４７】
そして、全ての単語に対して訳語が設定された変換テーブル８０を参照して、発話指示３１ｂが作成される。更に、変換テーブル８０内の“this”に対して“指差し”アクションが対応付けられたレコードにより、作成された発話指示３１ｂ内の“this”の直後にアクション指示３９を挿入して記述され、調整後スクリプト３０ｂが生成される。
【００４８】
上述では、日本語の元のスクリプト３０ａに対して英語の調整後スクリプト３０ｂを作成する例を説明したが、第１実施例では、２以上の言語の調整後スクリプト３０ｂを作成することもできる。英語、独逸語、ロシア語等の３言語以上で日本語の元のスクリプト３０ａからそれぞれの言語の調整後スクリプト３０ｂを出力する例で説明する。
【００４９】
図７は、多言語に翻訳した場合の処理例を説明するための図である。図７より、日本語の元のスクリプト３０ａに対して、日本語の発話指示３１ａが作成されることは、上述した通りである。
【００５０】
一方、元のスクリプト３０ａからは、後述される図８に示すような単語ごとに多言語の訳語を対応付けた変換テーブル８０が作成される。この変換テーブル８０（図８）を参照することで、英語の発話指示３１ｂ−１、独逸語の発話指示３１ｂ−２、ロシア語の発話指示３１ｂ−３等が作成される。
【００５１】
発話指示３１ｂ−１から３１ｂ−３のそれぞれに対して、変換テーブル８０を参照し、アクションを行うタイミングとなる“この”に対するそれぞれの訳語の直後にアクション指示３９を挿入する。したがって、英語の調整後スクリプト３０ｂ−１、独逸語の調整後スクリプト３０ｂ−２、ロシア語の調整後スクリプト３０ｂ−３等が生成され、図８に示すようなスクリプトＤＢ８７に記憶される。
【００５２】
図８は、図７の処理例によるテーブル及びデータベースのデータ例を示す図である。図８より、多言語への翻訳用の変換テーブル８０では、単語ごとに２以上の言語による訳語が対応付けられ、図６同様にアクションを行うタイミングの“この”に対応付けてアクションの内容“指差し”が設定されている。
【００５３】
変換テーブル８０を参照することで、“この”に対応付けられた訳語“this”等の発話時が、“指差し”アクションのタイミングであることが分かる。
【００５４】
アクションのタイミングを特定して、アクション指示３９を各言語の発話指示３１ｂに埋め込んで作成した調整後スクリプト３０ｂは、スクリプトＤＢ８７に記憶され保存される。
【００５５】
上述した元のスクリプト３０ａが、聞き手に書類に記入を促す会話文である場合で、スクリプトＤＢ８７のデータ例について説明する。スクリプトＤＢ８７は、元のスクリプト３０ａと、各言語に翻訳した調整後スクリプト３０ｂとを記憶するデータベースであり、No.、Name、Language、出力スクリプト等の項目を有する。
【００５６】
No.は、レコード番号を示す。Nameは、スクリプト３０の名称を示す。スクリプト３０の名称は、スクリプト３０のヘッダ部から取得してもよいし、予め与えられていてもよい。Languageは、言語を特定する。言語は、スクリプト３０のヘッダ部から取得してもよいし、予め与えられていてもよい。出力スクリプトには、元のスクリプト３０ａ又は調整後スクリプト３０ｂが格納される。
【００５７】
このデータ例では、「書類記入」用として、日本語（Jpn）、英語（Eng）、独逸語（Deu）、ロシア語（Rus）等の各言語のスクリプト３０が出力スクリプトに記憶されている。日本語（Jpn）の出力スクリプトには、元のスクリプト３０ａが記憶され、英語（Eng）、独逸語（Deu）、ロシア語（Rus）等の調整後スクリプト３０ｂが記憶されている。
【００５８】
ロボット９は、言語指定に応じて出力スクリプトを切り替えて、日本語以外の他の言語で発話する場合であっても、適切な位置でアクションを行える。また、ロボット９が行う様々なアクションは、図９に示すようなアクション定義テーブル８８によって予め定義されている。
【００５９】
図９は、アクション定義テーブルのデータ例を示す図である。図９において、アクション定義テーブル８８は、アクションごとの内容を定義したテーブルであり、アクション名、開始姿勢、終了姿勢、動作指示等の項目を有する。
【００６０】
アクション名は、アクションを特定する名称を示す。開始姿勢は、アクション開始時のロボット９の姿勢を特定する名称を示す。終了姿勢は、アクション終了時のロボット９の姿勢を特定する名称を示す。
【００６１】
動作指示は、開始姿勢から終了姿勢までの間のロボット９の動きを指定し、動きの手順ごとにモータＩＤ、時間、及び角度を指定する情報を示す。モータＩＤは、モータ１６ｍのうち動かすモータ１６ｍを指定する。時間は、指定動作を保持する時間の長さを指定する。角度は、指定されたモータ１６ｍを回転させる大きさを示す。角度が０の場合、原点（正面）を示し、即ち、ニュートラルポジションを指定する。
【００６２】
この例では、“正面指差し”アクションは、ニュートラルポジションから開始して、動作指示の内容を実行した後、ニュートラルポジションに戻ることが指定されている。開始から終了までに、モータ制御装置１６によって、種々のモータ１６ｍが手順＜１＞から＜４＞に従って動くように制御される。
【００６３】
＜１＞モータＩＤ：全て、時間：１ｓ、角度：０度（原点）
全てのモータ１６ｍを、１秒の間、角度０度で維持させることを指定している。１秒後、手順＜２＞が行われる。
【００６４】
＜２＞モータＩＤ：右腕、時間：１ｓ、角度：９０度
右腕のモータ１６ｍを、１秒の間、角度９０度に回転させて維持させることを指定している。１秒後、手順＜３＞が行われる。  
＜３＞モータＩＤ：右腕、時間：２ｓ、角度：９０度
右腕のモータ１６ｍを、２秒の間、角度９０度に回転させて維持させることを指定している。２秒後、手順＜４＞が行われる。
【００６５】
＜４＞モータＩＤ：全て、時間：１ｓ、角度：０度
右腕のモータ１６ｍを、１秒の間、角度０度に回転させて維持させることを指定している。１秒後、このアクションは終了する。
【００６６】
また、“右を向く”アクションは、ニュートラルポジションから開始して、動作指示の内容を実行した後、右向きの状態で終了することが指定されている。開始から終了までに、モータ制御装置１６によって、種々のモータ１６ｍが手順＜１＞及び＜２＞に従って動くように制御される。
【００６７】
＜１＞モータＩＤ：全て、時間：１ｓ、角度：０度
全てのモータ１６ｍを、１秒の間、角度０度で維持させることを指定している。１秒後、手順＜２＞が行われる。
【００６８】
＜２＞モータＩＤ：首水平、時間：１ｓ、角度：５０度
水平方向で首を回転させるモータ１６ｍを、１秒の間に、角度５０度に回転させて停止させる。ロボット９の首を右方向に回転させた状態で、このアクションは終了する。
【００６９】
図１０は、第１実施例における機能構成例を示す図である。図１０において、ロボット９は、スクリプト入力部４１と、アクション位置決定部４２と、スクリプト翻訳部４３と、スクリプト解釈部４４と、ロボット制御部４５と、実行部４６とを有する。記憶部１３０には、変換テーブル８０、スクリプトＤＢ８７、アクション定義テーブル８８等が記憶される。
【００７０】
スクリプト入力部４１は、ロボット９の管理者、所有者等のユーザにより、入出力装置１４又は通信Ｉ／Ｆ１７を介してロボット９に入力された元のスクリプト３０ａを受け付けてスクリプトＤＢ８７に記憶する。元のスクリプト３０ａは、元のスクリプト３０ａの名称（Name）及び言語に対応付けてスクリプトＤＢ８７に記憶される。
【００７１】
アクション位置決定部４２は、元のスクリプト３０に対する解析処理により得られた単語を変換テーブル８０に記憶し、元のスクリプト３０ａにアクション指示３９が存在する場合、アクション位置となる単語にアクション指示３９を紐づけて記憶する。この紐づけによって、変換テーブル８０は、紐づけ情報３２ａを含む。
【００７２】
スクリプト翻訳部４３は、元のスクリプト３０で示される発話指示３１ａをＡ言語からＢ言語へと翻訳して発話指示３１ｂを取得し、かつ、アクション位置を特定して、調整後スクリプト３０ｂを作成し、翻訳部４３ａと、位置変更部４３ｆとを有する。
【００７３】
翻訳部４３ａは、スクリプト３０ａから得られる発話文（発話指示３１ａ相当）を翻訳する。翻訳部４３ａは、変換テーブル８０の翻訳後に訳語を設定し、翻訳後の発話文を作成する。
【００７４】
位置変更部４３ｆは、翻訳後の文構造に従ってアクション指示３９の位置を変更した調整後スクリプト３０ｂを作成し、スクリプトＤＢ８７に記憶する。調整後スクリプト３０ｂにより、適切なタイミングでアクションが実行される。
【００７５】
スクリプト解釈部４４は、調整後スクリプト３０ｂの通知又は指定に応じて、出力スクリプトとして指定された調整後スクリプト３０ｂを解釈し、発話指示３１ｂと、アクション指示３９と、アクション位置とをロボット制御部４５に通知する。調整後スクリプト３０ｂは、元のスクリプト３０ａの入力からの一連の処理として、スクリプト翻訳部４３によって通知されてもよいし、外部からスクリプトＤＢ８７のレコードが指定されることにより、スクリプト解釈部４４に対して行われても良い。
【００７６】
ロボット制御部４５は、スクリプト解釈部４４から通知された、発話指示３１ｂと、アクション指示３９と、アクション位置とを含む通知に応じて、入出力装置１４とモータ制御装置１６とを制御する。
【００７７】
ロボット制御部４５は、発話指示３１ｂに従って、入出力装置１４に対して、スピーカに翻訳後の単語を出力させる動作指示を送信する。一方、第１実施例では、ロボット制御部４５は、アクション定義テーブル８８からアクション指示３９に相当する動作指示を取得し、スピーカに出力させる翻訳後の単語がアクション位置になったとき、取得した動作指示をモータ制御装置１６に送信する。
【００７８】
実行部４６は、ロボット制御部４５が動作指示を送信する入出力装置１４及びモータ制御装置１６のそれぞれに相当する。入出力装置１４では、翻訳後の単語をスピーカから出力し、モータ制御装置１６では、動作指示に従って、１以上のモータ１６ｍの回転させる。
【００７９】
上述より、実行部４６以外の、スクリプト入力部４１と、アクション位置決定部４２と、スクリプト翻訳部４３と、スクリプト解釈部４４と、ロボット制御部４５とが、ロボット９にインストールされたプログラムがＣＰＵ１１に実行させる処理により実現される。以下に説明する第２〜第４実施例においても同様である。
【００８０】
図１１は、図１０の機能構成例における処理を説明するためのフローチャート図である。図１１より、スクリプト入力部４１は、元のスクリプト３０ａ（以下、スクリプト３０ａという）の入力に応じて、スクリプト３０ａを受け付けて記憶部１３０に記憶するスクリプト入力処理を行う（ステップＳ１００）。スクリプト入力処理では、スクリプト受付の通知がアクション位置決定部４２に送信される。
【００８１】
アクション位置決定部４２は、スクリプト受付の通知に応じて、スクリプト３０ａを解析した結果に基づいて、アクション指示３９が存在する場合にアクション位置を決定するアクション位置決定処理を行う（ステップＳ２００）。
【００８２】
アクション位置決定部４２は、スクリプト３０ａから、アクション位置直後のアクション指示３９を除外して発話指示３１ａを取得して解析し、変換テーブル８０に解析により得られた単語ごとにレコードを作成する。そして、アクション位置決定部４２は、変換テーブル８０に、アクション位置の単語に対応付けてアクション指示３９を記憶する。
【００８３】
アクション位置決定部４２によるスクリプト解析が終了すると、スクリプト翻訳部４３は、単語ごとに他の言語に翻訳し、文構造に従って発話指示３１ｂを作成することで、発話指示３１ａを翻訳するスクリプト翻訳処理Ｐ４３を行う（ステップＳ３００）。
【００８４】
スクリプト翻訳部４３は、変換テーブル８０に作成されたレコードごとに、翻訳前の単語の訳語を翻訳後の単語として設定する。これにより、アクション指示３９が翻訳後の単語に対応付けられる。スクリプト翻訳部４３は、作成した発話指示３１ｂにおいて、変換テーブル８０から特定できるアクション指示３９が対応付けられた翻訳後の単語の直後に、アクション指示３９を挿入して、調整後スクリプト３０ｂを作成する。調整後スクリプト３０ｂでは、入力されたスクリプト３０におけるアクション指示３９の位置から変更される。調整後スクリプト３０ｂは、スクリプトＤＢ８７に記憶される。
【００８５】
スクリプト解釈部４４は、スクリプト出力の指示が有るか否かを判断し（ステップＳ４００）、スクリプト出力の指示が有った場合に（ステップＳ４００のＹＥＳ）、調整後スクリプト３０ｂを解釈し、発話指示３１ｂと、アクション指示３９とを分離して、それぞれをロボット制御部４５に送信する（ステップＳ４００）。スクリプト出力の指示が無かった場合（ステップＳ４００のＮＯ）、スクリプト解釈部４４は、所定間隔でステップＳ４００を繰り返す。
【００８６】
発話指示３１ｂとアクション指示３９の受信に応じて、ロボット制御部４５は、入出力装置１４に発話させる動作指示を送信し、また、モータ制御部１６に１以上のモータ１６ｍを回転させる動作指示を送信するロボット制御処理を行う（ステップＳ５００）。モータ制御部１６への動作指示は、アクション位置に応じて行われる。
【００８７】
動作指示の受信に応じて、入出力装置１４とモータ制御部１６のそれぞれが、出力処理を行う（ステップＳ６００）。入出力装置１４では、スピーカが翻訳後の単語ごとに発話文を出力し、モータ制御部１６では、動作指示で指定されたモータ１６ｍが指定された角度まで回転させる。
【００８８】
上述したステップＳ１００〜Ｓ６００の処理を、スクリプト３０ａが入力されるごとに行われる。以下に、処理部４１〜４６の処理について説明する。
【００８９】
図１２は、スクリプト入力処理を説明するためのフローチャート図である。図１２において、スクリプト入力部４１は、スクリプト３０ａの入力があったか否かを判断する（ステップＳ１１１）。入力がない場合（ステップＳ１１１のＮＯ）、スクリプト入力部４１は、所定間隔でステップＳ１１１を繰り返す。
【００９０】
入力があった場合（ステップＳ１１１のＹＥＳ）、スクリプト入力部４１は、入力されたスクリプト３０ａを、スクリプトＤＢ８７に、名称と言語の組み合せに対応付けて記憶する（ステップＳ１１２）。
【００９１】
そして、スクリプト入力部４１は、アクション位置決定部４２に、スクリプト入力の通知を行って（ステップＳ１１３）、このスクリプト入力処理を終了する。スクリプト入力の通知は、元のスクリプト３０ａを含んでもよいし、スクリプトＤＢ８７のレコード番号を指定してもよい。
【００９２】
図１３は、アクション位置決定処理を説明するためのフローチャート図である。図１３において、アクション位置決定部４２は、スクリプト３０ａを読み込んで解析する（ステップＳ２１１）。アクション位置決定部４２は、スクリプト３０ａにアクション指示３９が有る場合、アクション指示３９を除いて発話指示３１ａを取得し、単語に分解する。各単語は、変換テーブル８０に記憶される。
【００９３】
そして、アクション位置決定部４２は、スクリプト３０ａにアクション指示３９が有るか否かを判断する（ステップＳ２１２）。アクション指示３９が無い場合（ステップＳ２１２のＮＯ）、アクション位置決定部４２は、ステップＳ２１４へと進む。
【００９４】
一方、アクション指示３９がある場合（ステップＳ２１２のＹＥＳ）、アクション位置決定部４２は、単語とアクション指示３９との紐づけを行う（ステップＳ２１３）。即ち、変換テーブル８０において、スクリプト３０ａ内のアクション指示３９の位置に基づいて、アクションのタイミングとなる単語に対して、アクション指示３９の内容を設定する。
【００９５】
次に、アクション位置決定部４２は、単語とアクションとの紐づけを行う（ステップＳ２１３）。アクション位置決定部４２は、変換テーブル８０において、スクリプト３０ａでアクション指示３９を検出した位置の単語に対応付けて、アクション指示３９の内容を設定する。
【００９６】
アクション位置決定部４２は、スクリプト翻訳部４３に、スクリプト３０ａと紐づけ情報３２ａとを通知する（ステップＳ２１４）。スクリプト３０ａにアクション指示３９が含まれていない場合、紐づけ情報３２ａは通知されず、スクリプト３０ａのみが通知される。紐づけ情報３２ａの通知により、変換テーブル８０におけるレコードを特定してもよいし、翻訳前の単語と、アクション内容とを通知してもよい。通知後、アクション位置決定部４２は、アクション位置決定処理を終了する。
【００９７】
図１４は、スクリプト翻訳処理を説明するためのフローチャート図である。図１４より、スクリプト翻訳部４３において、翻訳部４３ａは、スクリプト３０ａから得られる発話文（発話指示３１ａ相当）をＡ言語からＢ言語に翻訳する（ステップＳ３１１）。スクリプト翻訳部４３は、翻訳前後の単語の対応付けに従って訳語を変換テーブル８０に設定し、変換テーブル８０を更新する。
【００９８】
位置変更部４３ｆは、スクリプト３０ａに対して紐づけ情報３２ａが有るか否かを判断する（ステップＳ３１２）。アクション位置決定部４２から紐づけ情報３２ａが通知されたか否かを判断すればよい。紐づけ情報３２ａが無い場合（ステップＳ３１２のＮＯ）、位置変更部４３ｆによる位置変更処理は抑止され、スクリプト翻訳部４３−２によりステップＳ３２０へと進む。
【００９９】
一方、紐づけ情報３２ａが有る場合（ステップＳ３１２のＹＥＳ）、位置変更部４３ｆは、紐づけ情報３２ａに基づいて、アクション位置を変更する（ステップＳ３１６）。位置変更部４３ｆは、変換テーブル８０から、紐づけ情報３２ａで指定される翻訳前の単語の訳語を取得し、取得した訳語をアクション位置として特定する。そして、位置変更部４３ｆは、得られたＢ言語の発話指示３１ｂ内の特定したアクション位置に、紐づけ情報３２ａで指定されるアクション指示３９を挿入して、調整後スクリプト３０ｂを作成する。
【０１００】
そして、スクリプト翻訳部４３は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し（ステップＳ３２０）、このスクリプト翻訳処理を終了する。調整後スクリプト３０ｂは、スクリプトＤＢ８７に名称とＢ言語の組み合せに対応付けて記憶される。スクリプト翻訳部４３は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し、また、スクリプト出力の指示として、調整後スクリプト３０ｂをスクリプト解釈部４４へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部４４、ロボット制御部４５、及び実行部４６による発話・動作処理が実行される。
【０１０１】
図１５は、調整後スクリプトに基づく発話・動作処理について説明するためのフローチャート図である。発話・動作処理は、スクリプト出力の指示により実行される。スクリプト出力の指示は、スクリプト翻訳部４３からの調整後スクリプト３０ｂの通知、又は、外部から調整後スクリプト３０ｂの指定により行われる。調整後スクリプト３０ｂは、スクリプトＤＢ８７のレコードを特定する情報により指定されてもよい。
【０１０２】
先ず、スクリプト解釈部４４は、スクリプト出力の指示として受け付けた調整後スクリプト３０ｂを解釈する（ステップＳ４１１）。スクリプト解釈部４４は、調整後スクリプト３０ｂを解釈することによって、発話指示３１ｂと、アクション指示３９とを取得する。
【０１０３】
そして、スクリプト解釈部４４は、得られた発話指示３１ｂとアクション指示３９とを、ロボット制御部４５へと送信する（ステップＳ４１２）。アクション指示３９が存在しない場合、ロボット制御部４５へは発話指示３１ｂのみが送信される。アクション指示３９が存在する場合、スクリプト解釈部４４は、調整後スクリプト３０ｂ内のアクション指示３９が設定されている単語の発話タイミングで、ロボット制御部４５へアクション指示３９を送信する。
【０１０４】
発話指示３１ｂとアクション指示３９の受信に応じて、ロボット制御部４５は、実行部４６へ動作指示を送信する（ステップＳ４１３）。実行部４６は、入出力装置１４及び／又はモータ制御装置に相当する。発話指示３１ｂは、入出力装置１４へ動作指示として送信される。アクション指示３９に対しては、ロボット制御部４５は、アクション定義テーブル８８を参照して動作指示を取得し、取得した動作指示をモータ制御装置１６に送信する。
【０１０５】
実行部４６は、動作指示に従って動作を実行する（ステップＳ４１４）。入出力装置１４では、スピーカから発話文が出力され、アクション位置での発話と同期させて、モータ制御装置１６では、モータ１６ｍが回転する。
【０１０６】
上述では、身振り手振りの表現を例として説明したが、第１実施例では、ＬＥＤを用いた視覚表現、効果音などの聴覚表現等のアクションの場合でも適応できる。図１６は、視覚表現及び聴覚表現のアクションの場合の翻訳前後のスクリプトの例を示す図である。
【０１０７】
図１６において、元のスクリプト３０ａが、
「この<Act:指差し,  LED:赤,  Sound:A>書類をご覧頂けますか？」
の場合、アクション指示３９は、
<Act:指差し,  LED:赤,  Sound:A>
であり、複数のアクションが指定されている。
【０１０８】
上述した第１実施例における処理により、変換テーブル８０には、アクション位置決定部４２により、翻訳前が“この”のレコードにアクションの内容が記憶される。この場合、指差す身体動作を行い、ＬＥＤライトを赤に点灯し、効果音Ａを出力させるアクションが指定される。
【０１０９】
また、スクリプト翻訳部４３によるスクリプト翻訳処理Ｐ４３の結果に基づいて、“この”の翻訳後は“this”であることが、変換テーブル８０に記憶される。したがって、翻訳後において、アクション指示３９が“this”の発話タイミングでアクションが実行されるように調整後スクリプト３０ｂが作成される。調整後スクリプト３０ｂは、
「Could  you  see  this  <Act:指差し,  LED:赤,  Sound:A>  document?」
となる。
【０１１０】
この調整後スクリプト３０ｂが実行されると、ロボット９は、“this”を発話するタイミングで、書類８に対して指差しが行われ、ＬＥＤライト９Ｌが赤に点灯し、効果音Ａがスピーカから出力される。スピーカ出力において、効果音Ａが発話の妨げになる場合には、“this”を優先し、効果音Ａを出力するアクションを抑止してもよい。
【０１１１】
［第２実施例］
第２実施例では、２つのアクションを繋げて連続して実行する場合に無駄の無い、自然な動作を実現する。ある２つのアクションを繋げて連続したアクションシリーズにする場合には、その後のアクションが自然に行えるように、ニュートラルポジション（ＮＰ）から動作を開始して、ＮＰで動作を終了することが望ましい。そのために、予め補完動作を定めておくことが考えられる。
【０１１２】
図１７は、２つのアクションを繋げて連続したアクションの例を説明するための図である。図１７（Ａ）では、補完動作を設定したアクション定義テーブル８８の例を示す図である。アクション定義テーブル８８−２を参照すると、アクションＡは、ＮＰで開始し、右を向き、動作が補完されることなく、右を向いたまま停止するアクションである。アクションＢは、右向きの状態で頷いて、ＮＰに戻る動作で補完されることで、右を向いたままで停止するアクションである。
【０１１３】
図１７（Ｂ）は、アクションＡを行って、続けてアクションＢを行う場合の動作の流れを示している。アクション定義テーブル８８−２に基づいて、アクションＡにより、ロボット９は、ＮＰから右を向いて、右を向いたまま停止すると、アクションＢにより、右を向いた状態で頷いてＮＰに戻る動作を行う。この一連の動作は無駄なく行われる。ここで、動作の無駄について、図１７（Ｃ）で説明する。
【０１１４】
図１７（Ｃ）は、アクションＢを行って、続けてアクションＡを行う場合の動作の流れを示している。アクション定義テーブル８８−２に基づいて、アクションＢにより、ロボット９は、右を向いた状態で頷いて、ＮＰに戻ってそのまま終了してしまう。続けて行われるアクションＡにより、ロボット９は、再度、ＮＰから動作を開始し、右を向いて、そのまま停止してしまう。
【０１１５】
先ず、アクションシリーズは、ＮＰで開始しＮＰで終了することが好ましいところ、図１７（Ｃ）のアクションシリーズの場合、右向きで開始され、右向きで終了してしまう。アクションシリーズにおいて、右向きの開始姿勢が前のアクションとの繋がりを悪くしてしまう。同様に、右向きの終了姿勢が後のアクションとの繋がりを悪くしてしまう。
【０１１６】
また、図１７（Ｂ）の場合では、アクションＢに補完動作を加えることで、アクションシリーズがＮＰで終了するようにしている。そのように定義されたアクションＢを利用し、アクションＢに続いてアクションＡを行う図１７（Ｃ）の場合には、右向きの開始姿勢から一度ＮＰに戻って、再度、右を向くため、ロボット９は補完動作により無駄な動きを行ってしまう。
【０１１７】
したがって、第２実施例では、図１７（Ｃ）のようなアクションシリーズを、ＮＰで開始しＮＰで終了するようにし、かつ、無駄な動作を削除して、動作がスムーズになるように姿勢を調整する姿勢調整処理を行う。図１８は、第２実施例における姿勢調整の例を示す図である。
【０１１８】
図１８（Ａ）は、姿勢調整前のアクションシリーズを示し、図１７（Ｂ）の例に相当する。第２実施例では、アクションＢの開始姿勢を右向きからＮＰへと変更し、また、アクションＡの終了姿勢を右向きからＮＰへと変更する。更に、アクションＢの補完動作と終了姿勢、及び、アクションＡの開始姿勢は、無駄な動作であるため、省略する。このような姿勢調整を行うことで、図１８（Ｂ）のような姿勢調整後のアクションシリーズを示す。
【０１１９】
図１８（Ｂ）は、姿勢調整後のアクションシリーズを示している。図１８（Ｂ）より、新アクションＢの開始姿勢はＮＰであり、新アクションＡの終了姿勢はＮＰである。また、新アクションＢの終了姿勢は右向きであり、新アクションＡの開始姿勢も右向きであるため、新アクションＢから新アクションＡへの動作の流れは自然になっている。
【０１２０】
更に、新アクションＢにおいては、右を向いて頷く元の動作が損なわれないように、開始姿勢と実行動作との間に右向きの補完動作が追加されている。同様に、新アクションＡにおいては、右を向いた後にＮＰで終了するために、実行動作と終了姿勢との間にＮＰに戻る補完動作が追加されている。
【０１２１】
したがって、新アクションＢと新アクションＡとによる姿勢調整後のアクションシリーズは、新アクションＢは、ＮＰで開始され、右を向いて頷き、右向きのままで新アクションＡへと移行し、新アクションＡでは右を向いた状態からＮＰで終了する。
【０１２２】
このような姿勢調整処理を行う第２実施例の機能構成例について図１９で説明する。図１９は、第２実施例における機能構成例を示す図である。図１９では、第１実施例と同様の構成部には同様の符号を付しその詳細な説明を省略する。
【０１２３】
第２実施例における上述した姿勢調整処理は、スクリプト翻訳部４３−２にて行われるため、スクリプト翻訳部４３−２について詳述する。スクリプト翻訳部４３−２は、翻訳部４３ａと、位置変更部４３ｆと、姿勢解析部４３ｇと、姿勢調整部４３ｈとを有する。翻訳部４３ａと、位置変更部４３ｆとは、第１実施例と同様であるのでその説明を省略する。
【０１２４】
姿勢解析部４３ｇは、アクション指示３９から各アクションの開始姿勢及び終了姿勢を解析する。解析した結果、姿勢調整処理が必要である場合、姿勢解析部４３ｇは、姿勢調整部４３ｈに姿勢調整の要求を行う。
【０１２５】
姿勢調整部４３ｈは、姿勢調整部４３ｈからの姿勢調整の要求に応じて、２以上のアクションによるアクションシリーズの開始姿勢と終了姿勢とをＮＰになるように、開始姿勢の直後及び／又は終了姿勢の直前に補完動作を挿入する。また、姿勢調整部４３ｈは、アクション間で動作の重複による無駄を削除する。姿勢調整されたアクションの内容がアクション定義テーブル８８に記憶される。
【０１２６】
図２０は、第２実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。図２０中、第１実施例と同様の処理には同一のステップ番号を付与し、第２実施例に係る処理を主に説明する。
【０１２７】
図２０より、スクリプト翻訳部４３−２では、翻訳部４３ａが、スクリプト３０ａから得られる発話文をＡ言語からＢ言語に翻訳する（ステップＳ３１１）。スクリプト翻訳部４３−２は、翻訳前後の単語の対応付けに従って訳語を変換テーブル８０に設定し、変換テーブル８０を更新する。
【０１２８】
位置変更部４３ｆは、スクリプト３０ａに対して紐づけ情報３２ａが有るか否かを判断する（ステップＳ３１２）。アクション位置決定部４２から紐づけ情報３２ａが通知されたか否かを判断すればよい。紐づけ情報３２ａが無い場合（ステップＳ３１２のＮＯ）、位置変更部４３ｆ、姿勢解析部４３ｇ、及び姿勢調整部４３ｈによる処理は抑止され、スクリプト翻訳部４３−２によりステップＳ３２０へと進む。
【０１２９】
一方、紐づけ情報３２ａが有る場合（ステップＳ３１２のＹＥＳ）、位置変更部４３ｆは、紐づけ情報３２ａに基づいてアクション位置を変更する（ステップＳ３１６）。紐づけ情報３２ａによって、スクリプトＤＢ８７内のアクションの内容が設定されているレコードが特定されてもよい。
【０１３０】
位置変更部４３ｆは、変換テーブル８０から、紐づけ情報３２ａで指定される単語の訳語を取得し、取得した訳語をアクション位置として特定する。そして、位置変更部４３ｆは、得られたＢ言語の発話指示３１ｂ内の特定したアクション位置に、紐づけ情報３２ａで指定されるアクション指示３９を挿入して、調整後スクリプト３０ｂを作成する。
【０１３１】
その後、姿勢解析部４３ｇは、ロボット９の２以上をアクションを連続して行うことによって変化する姿勢を解析する姿勢解析処理を行う（ステップＳ３１７）。姿勢解析処理の結果に基づいて、姿勢解析部４３ｇは、各アクションの開始姿勢又は終了姿勢は調整要か否かを判断する（ステップＳ３１８）。全てのアクションにおいて調整不要の場合（ステップＳ３１８のＮＯ）、スクリプト翻訳部４３−２によって、Ｂ言語の調整後スクリプト３０ｂが出力される。
【０１３２】
一方、調整要のアクションが存在する場合（ステップＳ３１８のＹＥＳ）、姿勢解析部４３ｇは、紐づけ情報３２ｂを姿勢調整部４３ｈに通知することにより、姿勢調整部４３ｈに姿勢調整処理を行わせる（ステップＳ３１９）。姿勢調整部４３ｈは、スクリプトＤＢ８７からアクションの内容を取得して、ＮＰで開始しＮＰで終了するとともに、無駄の無い動作になるようにアクションの内容を調整する。
【０１３３】
そして、スクリプト翻訳部４３−２は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し（ステップＳ３２０）、このスクリプト翻訳処理を終了する。調整後スクリプト３０ｂは、スクリプトＤＢ８７に名称とＢ言語の組み合せに対応付けて記憶される。スクリプト翻訳部４３−２は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し、また、スクリプト出力の指示として、調整後スクリプト３０ｂをスクリプト解釈部４４へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部４４、ロボット制御部４５、及び実行部４６による発話・動作処理が実行される。
【０１３４】
図２１から図２４は、姿勢調整処理の例を説明するための図である。図２１は、姿勢調整前のアクションシリーズの例を示す図である。図２１のアクションシリーズ７１ａは、図１８（Ａ）のアクションンシリーズに相当する。
【０１３５】
図２１のアクションシリーズ７１ａでは、最初のアクションＢの開始姿勢が右向きでありＮＰではない。また、最後のアクションＡの終了姿勢も右向きでありＮＰではない。更に、ＮＰから右を向いて頷き右向きからＮＰで終了する動作が自然であるが、アクションＢにおけるＮＰに戻る補完動作及びＮＰの終了姿勢と、アクションＡにおけるＮＰの開始姿勢とは、無駄な動作である。一例として、最後のアクション以外のアクションの終了姿勢が補完動作によりＮＰになっている場合に、無駄の動作であると判定できる。
【０１３６】
先ず、姿勢調整部４３ｈは、アクションシリーズ７１ａに対して、アクションＢの開始姿勢の直前にＮＰの新開始姿勢を追加し、アクションＢの終了姿勢の直後にＮＰの新終了姿勢を追加して、図２２のようなアクションシリーズ７１ｂへと変更する。
【０１３７】
図２２は、開始及び終了姿勢の調整例（続く）を説明するための図である。図２２に示すアクションシリーズ７１ｂは、ＮＰの新開始姿勢が追加されたアクションＢ’と、ＮＰの新終了姿勢が追加されたアクションＡ’とによる一連のアクションである。
【０１３８】
更に、姿勢調整部４３ｈは、アクションシリーズ７１ｂに対して、アクションＢ’において右向きの開始姿勢を新終了姿勢として追加し、アクションＡ’において右向きの終了姿勢を新開始姿勢に追加する。アクションシリーズ７１ｂは、アクションＢ’’とアクションＡ’’とによるアクションシリーズ７１ｃに変化する。
【０１３９】
次に、姿勢調整部４３ｈは、アクションシリーズ７１ｃに対して、アクションＢ’’における右向きの開始姿勢と、アクションＡ’’における終了姿勢の調整を、図２３で示すように行う。具体的には、姿勢調整部４３ｈは、アクションシリーズ７１ｃに対して、アクションＢ’’において、新開始姿勢と開始姿勢との間に右向きの補完動作を挿入し、アクションＡ’’において、終了姿勢と新終了姿勢との間にＮＰに戻る補完動作を挿入する。
【０１４０】
図２３は、開始及び終了姿勢の調整例（続き）を説明するための図である。図２３では、図２２のアクションシリーズ７１ｃに対して、アクションＢ’’とアクションＡ’’とに対する補完動作の挿入により、アクションシリーズ７１ｄを得た状態を示している。アクションＢ’’は、補完動作によりアクションＢ’’’となり、アクションＡ’’は、補完動作によりアクションＡ’’’となっている。
【０１４１】
ここで、姿勢調整部４３ｈは、アクションアクションＢ’’’の無駄な動作７ｐであるＮＰに戻る補完動作とＮＰの終了姿勢を削除し、アクションＡ’’’の無駄な動作７ｑを削除する。
【０１４２】
また、姿勢調整部４３ｈは、アクションアクションＢ’’’において挿入した補完動作と重複する開始姿勢を削除し、アクションアクションＡ’’’において挿入した実行動作と重複する終了姿勢を削除する。この処理により、図２２に示すアクションシリーズ７１ｃにおいて、アクションアクションＢ’’’における開始姿勢が補完動作に置き換わり、アクションアクションＡ’’’における終了姿勢が補完動作に置き換わったことになる。従って、図２４に示すような姿勢調整後アクションシリーズ７１ｅを得る。
【０１４３】
図２４は、姿勢調整後アクションシリーズの例を示す図である。図２４より、姿勢調整後アクションシリーズ７１ｅでは、図２３のアクションシリーズ７１ｄにおいて、無駄な動作７１ｐ及び７１ｑが削除され、新開始姿勢は開始姿勢で示され、新終了姿勢は終了姿勢で示されている。
【０１４４】
したがって、図１８（Ｂ）の姿勢調整後のアクションシリーズが、姿勢調整後アクションシリーズ７１ｅにより実現される。姿勢調整後アクションシリーズ７１ｅにおける新アクションＢと新アクションＡとによりアクション定義テーブル８８−２が更新されるため、実行部４６において、改善された動作が実行される。
【０１４５】
［第３実施例］
調整後スクリプト３０ｂによるアクションの終了が翻訳後のアクション位置の変更により発話文の終了より遅く終了する場合がある。第３実施例では、アクションを分割して、分割ごとにアクション位置を定めることにより、翻訳後においても発話文の終了と略同時にアクションを終了させるようにする。
【０１４６】
図２５は、翻訳後のアクションの終了時刻が、発話文の終了時刻より遅くなる場合を説明するための図である。図２５にいて、元のスクリプト３０ａは、
「AAA  <Act:アクション（１）>  BBB  CCC」
であるとする。
【０１４７】
図２５（Ａ）は、翻訳前の発話文とアクションの開始時刻及び終了時刻を示している。図２５（Ａ）において、「AAA  BBB  CCC」が翻訳前の元のスクリプト３０ａで指定される発話文である。単語“AAA”の発話のタイミングでアクション（１）が開始される例が示されている。翻訳前では、発話文もアクション（１）も略同時に終了する。
【０１４８】
ここで、変換テーブル８０により、翻訳前後の単語の対応は、
AAA  ＝  aaa
BBB  ＝  bbb
CCC  ＝  ccc
であるとする。従って、翻訳後の調整後スクリプト３０ｂは、
「bbb  ccc  aaa  <Act:アクション（１）>」
となる。調整後スクリプト３０ｂの実行により、単語“aaa”の発話のタイミングでアクション（１）が開始される。
【０１４９】
図２５（Ｂ）は、翻訳後の発話文とアクションの開始時刻及び終了時刻を示している。アクション（１）の時間の長さは、翻訳前後と略同一である。しかしながら、発話文の後半の単語“aaa”でアクション（１）が実行されるため、発話文が終了した後もアクション（１）が継続して行われている。
【０１５０】
このような発話文の終了時刻Ｔｃｖよりアクション（１）の終了時刻Ｔａｃが遅くなる場合の一例として、アクション（１）が、翻訳前の発話文において文脈に応じてアクションが組み合わされていることがある。したがって、翻訳前後の単語の対応付けに合わせて、アクション（１）を分割し、訳語ごとに対応する分割したアクション（１）の指示を、調整後スクリプト３０ｂに行う。
【０１５１】
図２６は、アクションの分割例を説明するための図である。図２６において、翻訳前の発話文「AAA  BBB  CCC」は３つの単語“AAA”、“BBB”、及び“CCC”によるものとする。発話文の開始の「AAA」で始まるアクション（１）を、３つに分割し、単語“AAA”、“BBB”、及び“CCC”の３つに紐づける。
【０１５２】
図２６において、単語“AAA”にアクション（１−１）を割り当て、単語“BBB”にアクション（１−２）を割り当て、単語“CCC”にアクション（１−３）を割り当てる。その後、翻訳前の発話文から翻訳後の発話文「bbb  ccc  aaa」を得る。翻訳前後の単語の対応付けから訳語「bbb」にはアクション（１−２）が割り当てられ、訳語「ccc」にはアクション（１−３）が割り当てられ、訳語「aaa」にはアクション（１−１）が割り当てられる。
【０１５３】
このようなアクションの分割を行うロボット９は、例えば、図２７のような機能構成を有する。図２７は、第３実施例における機能構成例を示す図である。図２７において、第１実施例と同様の構成部には同様の符号を付しその詳細な説明を省略する。第３実施例における上述したようなアクション（１）の分割及び割り当ては、スクリプト翻訳部４３−３にて行われるため、スクリプト翻訳部４３−３について詳述する。スクリプト翻訳部４３−３は、翻訳部４３ａと、分割部４３ｂと、割当部４３ｃと、位置変更部４３ｆとを有する。
【０１５４】
分割部４３ｂは、翻訳後の発話文の開始時刻を０分０秒とし、当該発話文の終了時刻Ｔｃｖより、訳語に紐づけられたアクションの終了時刻Ｔａｃが後になる場合、アクション定義テーブル８８−３を参照してアクションを分割する。分割部４３ｂは、訳語に紐づけられたアクション指示３９を、翻訳前の発話文の単語からアクションが終了するまでの単語の個数で分割以下で分割して、部分指示を２以上得る。
【０１５５】
翻訳前の発話文の時間は、予め計測しておき、元のスクリプト３０ａのヘッダ部又は記憶部１３０から得られるようにしてもよい。翻訳後の発話文は、翻訳前の発話文に掛かる時間と略同一としてもよい。また、第３実施例では、アクションに掛かる時間は、アクション定義テーブル８８−３に記録しておくことにより、アクションの終了時刻Ｔａｃを求めることができる。
【０１５６】
割当部４３ｃは、アクション指示３９が紐づけられている訳語から、分割数に基づいて遡ってアクションを開始する訳語を特定し、翻訳後の発話文の発話順に従って、分割部４３ｂによって分割されたアクション指示３９の部分指示を特定した訳語から割り当てる。
【０１５７】
割当部４３ｃは、割り当てに従い部分指示を用いて変換テーブル８０を更新し、また、アクション定義テーブル８８−３を変更する。１つのアクション指示３９が２以上の部分指示で置き換えられる。
【０１５８】
位置変更部４３ｆは、変換テーブル８０−３を参照することで、翻訳後の発話文において、２以上の単語それぞれの直後にアクションの対応する部分指示を挿入し、調整後スプリクト３０ｂを作成する。第３実施例では、元のスクリプト３０ａでは、１カ所にアクション指示３９が指定されていたのに対して、調整後スクリプト３０ｂでは、２カ所以上に部分指示が指定され、全体としてアクション指示３９が実行され、会話文とアクションとを略同一に終了させることができる。
【０１５９】
図２８は、第３実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。図２８中、第１実施例と同様の処理には同一のステップ番号を付与し、第３実施例に係る処理を主に説明する。
【０１６０】
図２８より、スクリプト翻訳部４３−３では、翻訳部４３ａが、スクリプト３０ａから得られる発話文をＡ言語からＢ言語に翻訳する（ステップＳ３１１）。スクリプト翻訳部４３−３は、翻訳前後の単語の対応付けに従って訳語を変換テーブル８０に設定し、変換テーブル８０を更新する。
【０１６１】
翻訳部４３ａは、スクリプト３０ａに対して紐づけ情報３２ａが有るか否かを判断する（ステップＳ３１２）。翻訳部４３ａは、アクション位置決定部４２から紐づけ情報３２ａが通知されたか否かを判断すればよい。紐づけ情報３２ａが無い場合（ステップＳ３１２のＮＯ）、分割部４３ｂ、割当部４３ｃ、及び位置変更部４３ｆによる処理は抑止され、スクリプト翻訳部４３−２によりステップＳ３２０へと進む。
【０１６２】
一方、紐づけ情報３２ａが有る場合（ステップＳ３１２のＹＥＳ）、翻訳部４３ａは、分割部４３ｂに処理を渡す。分割部４３ｂは、発話終了後にアクションが終了するか否かを判定する（ステップＳ３１３）。発話終了と略同時又は発話終了前にアクション終了する場合（ステップＳ３１３のＮＯ）、分割部４３ｂによる分割処理は抑止され、スクリプト翻訳部４３−３によりステップＳ３２０へと進む。
【０１６３】
一方、発話終了後にアクションが終了するか否かを判定する場合（ステップＳ３１３のＹＥＳ）、分割部４３ｂは、アクション指示３９を分割する（ステップＳ３１４）。割当部４３ｃは、アクション指示３９を分割して得た部分指示を訳語に割り当てる（ステップＳ３１５）。変換テーブル８０が更新される。
【０１６４】
次に、位置変更部４３ｆは、変換テーブル８０を参照して得られる部分指示の紐づけ情報に基づいて、アクション位置を変更する（ステップＳ３１６−３）。位置変更部４３ｆは、変換テーブル８０から部分指示がアクションとして設定されている訳語を取得し、取得した訳語をアクション位置として特定する。そして、位置変更部４３ｆは、得られたＢ言語の発話指示３１ｂ内の特定した２以上のアクション位置に、部分指示を挿入して、調整後スクリプト３０ｂを作成する。
【０１６５】
そして、スクリプト翻訳部４３−３は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し（ステップＳ３２０）、このスクリプト翻訳処理を終了する。調整後スクリプト３０ｂは、スクリプトＤＢ８７に名称とＢ言語の組み合せに対応付けて記憶される。スクリプト翻訳部４３−３は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し、また、スクリプト出力の指示として、調整後スクリプト３０ｂをスクリプト解釈部４４へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部４４、ロボット制御部４５、及び実行部４６による発話・動作処理が実行される。
【０１６６】
第３実施例の変形例として、省略可能なアクションを予め定めておくことで、アクション指示３９を分割して得られた２以上の部分指示のうち１つ以上を省略し、発話文の終了時刻Ｔｃｖまでにアクションの終了時刻Ｔａｃが来るようにしてもよい。元のスクリプト３０ａに２以上のアクション指示３９が指定されている場合も同様である。
【０１６７】
また、予めアクションを補足するアクション（補足アクション）を関連付けておくことで、アクション指示３９で指定されたアクション、又は、分割後の部分指示が短時間で終了する場合には、当該アクションと関連付けられた補足アクションとを行い、アクションの間を補充してもよい。
【０１６８】
［第４実施例］
翻訳前の会話文において、翻訳後に訳語が対応付けられない単語が存在し、そのような単語にアクション指示３９が紐づけされている場合がある。第４実施例では、訳語が存在したい単語に紐づけられたアクション指示３９の、翻訳後における会話文に対する挿入位置を変更して、アクションが適切に実施されるようにする。
【０１６９】
図２９は、第４実施例における全体処理の概要を説明するための図である。図２９において、元のスクリプト３０ａは、
「AAA  BBB  CCC  <Act:指差し>  DDD.」
であるとする。この場合、翻訳前の会話文
「AAA  BBB  CCC  DDD.」
を含む発話指示３１ａが作成される。
【０１７０】
図２９において、ロボット９は、Ａ言語の元のスクリプト３０ａ（単に、スクリプト３０ａという）を読み込んで解析し（ステップＳ４５１）、紐づけ情報３２ａを記憶部１３０に記憶する（ステップＳ４５２）。アクションを開始するアクション位置がＡ言語の単語に対して、記憶部１３０の変換テーブル８０−４に記憶される。
【０１７１】
また、ロボット９は、元のスクリプト３０ａからアクション内容を削除することで発話指示３１ａを取得し、発話指示３１ａのＡ言語の会話文をＢ言語に翻訳する翻訳処理を行う（ステップＳ４５３）。そして、ロボット９は、翻訳前後の単語の対応付けに基づいて、変換テーブル８０−４を変更する（ステップＳ４５４）。ここでは、翻訳前の単語に訳語が対応付けられなかったレコードが変換テーブル８０−４に存在するものとする。その翻訳前の単語が、アクション指示３９が紐づけられる「CCC」であったとする。
【０１７２】
ロボット９は、翻訳前の単語“CCC”に対応する訳語が無い場合、翻訳前の会話文において位置関係が近い単語に紐づけを変更し（ステップＳ４５５）、翻訳結果と変換テーブル８０−４とに基づいて、調整後スクリプト３０ｂを作成する（ステップＳ４５６）。翻訳後の会話文
「bbb  aaa  ddd.」
を含む発話指示３１ｂを得られた場合、翻訳前の会話文の単語“CCC”の位置関係が近い単語は「ddd」である。従って、調整後スクリプト３０ｂとして、
「bbb  aaa  ddd  <Act:指差し>.」
を得る。
【０１７３】
図３０は、図２９の例における変換テーブルのデータ遷移例を示す図である。図３０において、変換テーブル８０−４では、初期状態のレコードに対して、新たに翻訳された単語を記憶する。
【０１７４】
先ず、元のスクリプト３０ａから取得した発話指示３１ａが解析されると、“AAA”、“BBB”、及び“CCC”のそれぞれの単語ごとにレコードが作成され、翻訳前に設定される。
【０１７５】
そして、元のスクリプト３０ａ内のアクション指示３９の位置の単語“CCC”のレコードのアクションに、アクション指示３９の内容“指差し”が設定される。単語“CCC”のレコードの、翻訳前及びアクションの内容が紐づけ情報３２ａに相当する。
【０１７６】
次に、単語ごとにＡ言語からＢ言語への翻訳処理が行われると、各レコードの翻訳後に、訳語が設定される。翻訳前が“AAA”のレコードには、翻訳後に“aaa”が設定され、翻訳前が“BBB”のレコードには、翻訳後に“bbb”が設定される。しかしながら、Ａ言語とＢ言語の文構造の違いから、翻訳前が“CCC”のレコードには、翻訳後の単語は設定されないが、翻訳前の単語に対応付けられない翻訳後の単語“ddd”が変換テーブル８０−４に追加されている。そして、この単語“ddd”が、翻訳前の“CCC”に近い単語であるため、単語“ddd”のレコードのアクションに“指差し”が設定されている。
【０１７７】
このようなアクション指示３９が対応付けられた単語の訳語の有無に応じて、訳語への再紐づけを行う第４実施例の機能構成例について図３１で説明する。図３１は、第４実施例における機能構成例を示す図である。図３１では、第４実施例と同様の構成部には同様の符号を付しその詳細な説明を省略する。
【０１７８】
第４実施例における上述した再紐づけ処理は、スクリプト翻訳部４３−４にて行われるため、スクリプト翻訳部４３−４について詳述する。スクリプト翻訳部４３−４は、翻訳部４３ａと、判定部４３ｄと、再紐づけ部４３ｅと、位置変更部４３ｆとを有する。翻訳部４３ａと、位置変更部４３ｆとは、第１実施例と同様であるのでその詳細な説明を省略する。
【０１７９】
判定部４３ｄは、翻訳部４３ａによる翻訳後、紐づけ情報３２ａが有る場合に、変換テーブル８０−４を参照して、アクションの内容が設定される翻訳前の単語に対して、翻訳後の単語が設定されているか否かを判断する。アクションの内容が設定される翻訳前の単語に対して、翻訳後の単語が設定されている場合、再紐づけ部４３ｅによる再紐づけ処理は抑止され、位置変更部４３ｆによる位置変更処理が行われる。
【０１８０】
再紐づけ部４３ｅは、判定部４３ｄにより、アクションの内容が設定される翻訳前の単語に対して翻訳後の単語が設定されていると判断された場合、翻訳前の単語の会話文内の位置関係に近い訳語に紐づけを変更する。変換テーブル８０−４が更新される。
【０１８１】
図３２は、第４実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。図３２中、第１実施例と同様の処理には同一のステップ番号を付与し、第４実施例に係る処理を主に説明する。
【０１８２】
図３２より、スクリプト翻訳部４３−４では、翻訳部４３ａが、スクリプト３０ａから得られる発話文をＡ言語からＢ言語に翻訳する（ステップＳ３１１）。スクリプト翻訳部４３−４は、翻訳前後の単語の対応付けに従って訳語を変換テーブル８０−４に設定し、変換テーブル８０−４を更新する。
【０１８３】
翻訳部４３ａは、スクリプト３０ａに対して紐づけ情報３２ａが有るか否かを判断する（ステップＳ３１２）。翻訳部４３ａは、アクション位置決定部４２から紐づけ情報３２ａが通知されたか否かを判断すればよい。紐づけ情報３２ａが無い場合（ステップＳ３１２のＮＯ）、判定部４３ｄ、再紐づけ部４３ｅ、及び位置変更部４３ｆによる位置変更処理は抑止され、スクリプト翻訳部４３−２によりステップＳ３２０へと進む。
【０１８４】
一方、紐づけ情報３２ａが有る場合（ステップＳ３１２のＹＥＳ）、翻訳部４３ａは、判定部４３ｄに処理を渡す。判定部４３ｄは、翻訳後の単語が対応付けられているか否かを判定する（ステップＳ３１３−４）。
【０１８５】
翻訳後の単語が対応付けらている場合（ステップＳ３１３−４のＹＥＳ）、再紐づけ部４３ｅによる処理は抑止され、位置変更部４３ｆにより、変換テーブル８０−４から得られる翻訳後の紐づけ情報３１ｂに基づいて、アクション位置が変更される（ステップＳ３１６）。
【０１８６】
一方、翻訳後の単語が対応付けらていない場合（ステップＳ３１３−４のＮＯ）、判定部４３ｄは、再紐づけ部４３ｅに処理を渡す。再紐づけ部４３ｅは、翻訳前の単語の会話文内の位置関係に近い訳語に紐づけを変更する（ステップＳ３１４−４）。そして、位置変更部４３ｆにより、変換テーブル８０−４から得られる翻訳後の紐づけ情報３１ｂに基づいて、アクション位置が変更される（ステップＳ３１６）。
【０１８７】
その後、スクリプト翻訳部４３−４は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し（ステップＳ３２０）、このスクリプト翻訳処理を終了する。調整後スクリプト３０ｂは、スクリプトＤＢ８７に名称とＢ言語の組み合せに対応付けて記憶される。スクリプト翻訳部４３−４は、Ｂ言語の調整後スクリプト３０ｂをスクリプトＤＢ８７に記憶し、また、スクリプト出力の指示として、調整後スクリプト３０ｂをスクリプト解釈部４４へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部４４、ロボット制御部４５、及び実行部４６による発話・動作処理が実行される。
【０１８８】
上述したように、第１〜第４実施例によれば、異なる言語間において、ロボット９が、発話中に行うアクションのタイミングを適切に変更することができる。翻訳後の言語の文構造に応じて、アクションのタイミングを動的に変更できる。したがって、ロボット９と対面する聞き手に対する、ロボット９の不自然な振る舞いを改善できる。また、種々の言語に対応可能であるため、設計者は、個々の言語に対応したスクリプトを作成する必要がなく、設計者の負担を軽減できる。
【０１８９】
近年の外国への旅行者の増加と相まって、複数の言語での接客や対応をさせる取り組みが盛んになっている。第１〜第４実施例に掛かるロボット９は、このような市場状況において需要が高まることが期待できる。
【０１９０】
ロボット９を聞き手とのインタフェースとして利用するコミュニケーションシステムでは、上述した第１〜第４実施例により、翻訳結果に合わせて、適切なタイミングでロボットにアクションを実行させることができる。様々な言語に対応可能であるため、言語が異なる外国人に対しても違和感を感じさせずに、コミュニケーションを円滑に行うことが可能である。
【０１９１】
第１〜第４実施例において、アクション位置決定部４２は取得部の一例である。また、翻訳部４３ａ及び位置変更部４３ｆは変更部の一例である。
【０１９２】
以上の第１乃至第４実施例では、ロボットが全ての機能有し処理を実行する例を説明した。しかしながら、第１乃至第４実施例の実施例で、例えば、翻訳機能は、通信回線を介してロボットと接続された別のコンピュータに実装されてもよい。ロボットが取得した翻訳対象の発話をネットワークを介して別のコンピュータに送信し、別のコンピュータにより翻訳されて返送された翻訳結果に応じた処理をロボットにて行わせる形態でもよい。
【０１９３】
更に、ロボットには音声の入出力やロボット自身の動作制御に関する構成を搭載し、入力された音声を翻訳する機能、翻訳結果に応じたアクションタイミングを設定する機能等の制御機能は、ロボットと通信回線を介して接続された別の装置で実現する形態でもよい。
【０１９４】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１９５】
以上の第１〜第４実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
ロボットに発話させる発話文と該発話に合わせたアクションとを指定するスクリプトに基づいて、前記発話文内で該アクションを開始させる第一の単語と前記アクションとの紐づけ情報を記憶部に記憶する取得部と、
前記第一の単語に対応する翻訳結果である第二の単語と、前記第二の単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する変更部と
を有するコミュニケーション装置。
（付記２）
前記変更部は、
前記スクリプトによって指定される前記アクションが、翻訳後の該アクションの紐づけにより開始位置が変更され翻訳後の発話文の終了後も該アクションが継続する場合、該アクションの終了時間を調整する
ことを特徴とする付記１記載のコミュニケーション装置。
（付記３）
前記変更部は、
前記アクションを分割し、翻訳後の発話文において、前記第二の単語が発話される前記開始位置より前の単語から開始し、翻訳後の各単語に対応する分割アクションを割り当てて、分割により取得した複数の分割アクションを実行させる
ことを特徴とする付記２記載のコミュニケーション装置。
（付記４）
前記変更部は、
前記スクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクション間の繋ぎに影響する動作が存在する場合、２以上のアクションの姿勢を補正する
ことを特徴とする付記１記載のコミュニケーション装置。
（付記５）
前記変更部は、
前記スクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクションのうち、最初のアクションの開始姿勢と、最後のアクションの終了姿勢とが定めた初期姿勢でない場合、該複数のアクションの動作を置き換えて該開始姿勢と該終了姿勢とが該定めた初期姿勢となるように前記ロボットの姿勢を補正する
ことを特徴とする付記４記載のコミュニケーション装置。
（付記６）
前記変更部は、
前記第一の単語を翻訳した単語が存在しない場合、翻訳前の前記発話文と翻訳後の発話文との間の単語の位置関係に基づいて、該翻訳後の発話文において、前記第一の単語の位置に近い位置に、前記紐づけ情報を変更する
ことを特徴とする付記１記載のコミュニケーション装置。
（付記７）
複数の言語への翻訳ごとに、前記第一の単語に対応する翻訳結果の単語と、該単語が発話される開始位置に前記アクションを紐づける
ことを特徴とする付記１乃至４のいずれか一項記載のコミュニケーション装置。
（付記８）
ロボットに発話させる発話文と該発話に合わせてアクションとを指定するスクリプトに基づいて、該発話文内で該アクションを開始させる第一の単語と該アクションとの紐づけ情報を取得し、記憶部に記憶し、
前記発話文の翻訳が行われる場合は、前記第一の単語に対応する翻訳結果の単語と、該単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する
処理をコンピュータが行うコミュニケーション方法。
（付記９）
ロボットに発話させる発話文と該発話に合わせてアクションとを指定するスクリプトに基づいて、該発話文内で該アクションを開始させる第一の単語と該アクションとの紐づけ情報を取得し、記憶部に記憶し、
前記発話文の翻訳が行われる場合は、前記第一の単語に対応する翻訳結果の単語と、該単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する
処理をコンピュータに行わせるコミュニケーションプログラム。
【符号の説明】
【０１９６】
９          ロボット
４１        スクリプト入力部
４２        アクション位置決定部
４３、４３−２、４３−３、４３−４    スクリプト翻訳部
８０、８０−４        変換テーブル
８７        スクリプトＤＢ
８８、８８−２、８８−４              アクション定義テーブル
【図１】
2020060805.tif 000003
【図２】
2020060805.tif 000004
【図３】
2020060805.tif 000005
【図４】
2020060805.tif 000006
【図５】
2020060805.tif 000007
【図６】
2020060805.tif 000008
【図７】
2020060805.tif 000009
【図８】
2020060805.tif 000010
【図９】
2020060805.tif 000011
【図１０】
2020060805.tif 000012
【図１１】
2020060805.tif 000013
【図１２】
2020060805.tif 000014
【図１３】
2020060805.tif 000015
【図１４】
2020060805.tif 000016
【図１５】
2020060805.tif 000017
【図１６】
2020060805.tif 000018
【図１７】
2020060805.tif 000019
【図１８】
2020060805.tif 000020
【図１９】
2020060805.tif 000021
【図２０】
2020060805.tif 000022
【図２１】
2020060805.tif 000023
【図２２】
2020060805.tif 000024
【図２３】
2020060805.tif 000025
【図２４】
2020060805.tif 000026
【図２５】
2020060805.tif 000027
【図２６】
2020060805.tif 000028
【図２７】
2020060805.tif 000029
【図２８】
2020060805.tif 000030
【図２９】
2020060805.tif 000031
【図３０】
2020060805.tif 000032
【図３１】
2020060805.tif 000033
【図３２】
2020060805.tif 000034